Для сайтов, которые случайно распространяют вредоносный код, теперь может
быть гораздо сложнее прекратить такую активность если хакеры используют широко
распространенную поддержку браузерами локального хранилища HTML5 и все
увеличивающуюся тенденцию не закрывать браузер.

Если браузер не снабжен механизмом безопасного восстановления после
определенной XSS-атаки, такие атаки могут стать неизбежными и сайт, с которого
началась атака, может оставаться зараженным на неопределенное время. Об этом
предупредил исследователь уязвимостей и инженер безопасности в компании Google
Михал Залевски в своем блоге в субботу.

Возможности клиентских языков программирования, таких как JavaScript, в
пределах браузера сильно ограничены понятием безопасности, известным как
same-origin policy. Это препятствуют скриптам, работающим на некоторых страницах
в их взаимодействии с сайтами, открытыми в отдельных вкладках или окнах.

В случае XSS-атак хакеры умудряются внедрять вредоносный JavaScript код в
выбранные ими страницы, где он потом выполняется в контексте их домена,
протокола и номера порта.

JavaScript может очень многое и именно он используется в для большинства
веб-атак. Несмотря на это, на данный момент браузеры не снабжены механизмом,
который способен свести такой код на нет, что помогло бы атакованным сайтам
"начать с чистого листа" после решения проблемы.

Обычной ответом на XSS-атаки является латание дыр, очистка cookies, после
чего все должны войти на сайт повторно и принудительно сменить пароль. Но этого
недостаточно, потому что, по словам Залевски, сайт, с которого началась атака,
может оставаться скомпрометированным неопределенно долгий срок.

"По меньшей мере, хакеры будут все держать под контролем пока пользователь
оставляет пострадавший сайт открытым в окне браузера; с развитием портативных
компьютеров не редки случаи, когда пользователь оставляет часто посещаемый сайт
открытым на целые недели", — сказал Залевски. "На протяжении этого времени
хозяин сайта не может сделать ничего, и нет надежного способа противодействовать
хакеру, пока заражение все еще распространяется".

По существу, нет такого средства, которое бы могло дать сайтам уверенность в
том, что их пользователи больше не подвергнуты опасности XSS-атаки. Это это не
тот случай, когда можно думать, что атака прекратится без вмешательства со
стороны сайта, если пользователь просто закроет вкладку или браузер.

Согласно словам Залевски, есть много методов, которые атакующие могут
использовать для того, чтобы продлить свой контроль над сайтом на неопределенное
время.

Один из таких методов включает внедрение вредоносного JavaScript кода на
какой-нибудь популярный почтовый сервис или сайт социальной сети. Этот код может
работать в фоновом режиме, получая информацию обо всех открытых вкладках при
переходе пользователем по ссылке со взломанной страницы. Если открытые во
вкладках страницы имеют то же происхождение, что и первоначальный сайт, или
используют часть кода того же домена, вредоносный код переходит на них и все
начинается сначала.

Если бы такой эксплойт нацелился на Facebook, тогда, учитывая что
пользователи все время открывают все новые и новые страницы сайта в новых
вкладках, или страницы внешних сайтов, на которых есть кнопка LIKE, тогда атака
длилась бы столь долго, пока хотя бы одна из этих страниц оставалась открытой.

Закрыв браузер, по идее, можно остановить атаку. Однако это невозможно, если
используются такие технологии, как локальное хранилище HTML5 или Web Workers,
специальный API для запуска JavaScript в фоновом режиме.

Проблема пролонгированной порчи первоначальных сайтов заключается в том, что
и другие меры предосторожности могут также быть обойдены. Например, если кто-то
подключается к небезопасной беспроводной точке доступа, его браузер может быть
введен в заблуждение благодаря отравлению DNS-кэша и невидимым фреймам,
содержащим вредоносный код и решить, что он посетил, скажем, Facebook. Позже код
может осуществить захват реальной сессии Facebook, когда пользователь вошел в
него уже из безопасного места.

Такие атаки могут также привести к множественной порче аккаунтов если
зараженный компьютер используется разными людьми. Такие случаи пока не очень
часты, потому что у хакеров есть другие, более простые способы, включая
использование уязвимостей удаленного выполнения кода. Однако, с развитием
технологий по уменьшению эффективности эксплойтов, ситуация может измениться.

"Сегодня так просто заниматься фишингом и использовать remote code execution,
что установка бэкдров на сайтах для XSS-атак просто не стоит усилий. Но в
недалеком будущем ситуация может измениться", — предупредил Залевски, который
хочет, чтобы производители браузеров действовали таким образом, чтобы этого
никогда не произошло.



Оставить мнение