Веб-сайты и распространение вирусов

http://www.flickr.com/photos/leonel_cunha/ Довольно долго веб-сайты взламывались злоумышленниками либо с целью выведения сайта из строя, либо для того, чтобы разместить на сайте информацию о взломе («дефейс» - «взлом ради взлома»), либо для похищения персональных данных пользователей сайта. Не так давно ситуация изменилась: среди основных целей взлома веб-сайтов появилось новое направление - скрытное внедрение «программ-зловредов» (компьютерных вирусов, троянских программ).

Раньше сам факт взлома часто никак не маскировался. В случае выведения сайта из строя (удаления данных, например) - «нарушение работы» тут же само собой становилось «публичным событием».  В новых условиях приоритеты изменились: злоумышленникам необходимо провести взлом как можно незаметнее, чтобы сайт продолжил работать, как ни в чём не бывало. При этом на сайт скрытно внедряется вредоносное программное обеспечение, которое начинает распространяться по компьютерам посетителей.

Понятно, что наибольший интерес у злоумышленников вызывают сайты с высокой посещаемостью, со сложившейся аудиторией. Если при посещении «незнакомых» сайтов многие посетители проявляют осторожность и, например, далеко не всегда подтверждают сомнительные запросы на «установку программного обеспечения», то в случае с привычным популярным ресурсом - осторожности гораздо меньше. Более того, популярный сайт может быть включен в «доверенную зону» браузера и «работать» с гораздо меньшей степенью защиты. Таким образом, с посещаемого веб-ресурса, программу-зловреда удаётся «рассадить» по большому числу клиентских компьютеров.

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

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

Неожиданное перенаправление

Другой важный момент, сходный с только что описанным использованием уязвимостей - «открытые перенаправления (редиректы)» на веб-сайтах. Многие веб-сайты используют специальные программные средства (далее мы для упрощения изложения называем их «скриптами»), перенаправлющие пользователя по заданному URL. Адрес перенаправления задаётся в параметрах, а обращение к нему, с точки зрения «адресной строки браузера», выглядит приблизительно так: http://test.ru/click.cgi?target={url}.  В параметрах, вместо {url}, указывается тот или иной URL (адрес), на который и перенаправляется пользовательский браузер.

В соответствии с техническими стандартами, параметры, передаваемые браузером в строке URL, могут быть закодированы особым образом. Например, строка URL “http://www.google.ru/” после кодирования превращается в такую:
 

http%3A%2F%2Fwww.google.ru%2F

или в ещё более непонятное для обычного пользователя нагромождение знаков:

%68%74%74%70%3A%2F%2F%77%77%77%2E%67%6F%6F%67%6C%65%2E%63%6F%6D%2F

Обычно предполагается, что перенаправление происходит на одну из страниц «основного сайта» (адрес которой и указывается в параметрах). Однако, если скрипт переадресации не производит проверки адреса, то ничто не мешает использовать его для отправки браузеров пользователей на совсем другие сайты. При этом рядовой пользователь Интернета, рассматривая даже ссылку вида:

http://test.ru/click.cgi?target=http%3A%2F%2Fwww.google.ru%2F

в которой содержится «намёк» на адрес «перенаправления» (http://www.google.ru/), в полагает, что это обычная веб-страница, находящаяся на сайте test.ru.
 
Надо заметить, что, строго говоря, дело так и обстоит в реальности: скрипт перенаправления действительно находится на сайте под доменом test.ru, просто результат его работы направит пользовательский браузер на http://www.google.ru/. И произойдёт это без участия пользователя, автоматически, в «прозрачном» режиме. То есть, один клик по ссылке, ведущей на доверенный и знакомый пользователю сайт, - и браузер оказывается на совсем другом домене. Сконструировать нужную ссылку и отправить её доверчивому пользователю - это задача, которую может решить даже начинающий «компьютерный взломщик».

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

Умелые злоумышленники применяют «двойное перенаправление»: вредоносная веб-старница, незаметно внедрив код на пользовательский компьютер, тут же перенаправляет браузер на исходный веб-сайт. Если используется быстрый современный компьютер, подключенный к Сети по «широкому» каналу, то «двойное перенаправление с внедрением кода», происходит за какие-то секунды: пользователь не успевает понять, что случилось.

Конечно, вредоносный сайт может имитировать «доверенный», при этом предлагая установить какое-то обновление или ввести пароль «для доступа к сервису» (сейчас  это достаточно актуально в отношении сервисов «Яндекса» и, например, Google, где один пароль используется для доступа ко множеству сервисов).

Размещение программ-зловредов на компьютерах пользователей может служить первым шагом к захвату злоумышленниками управления этими компьютерами. Один из способов применения множества захваченных компьютеров - организация распределённых атак типа «отказ в обслуживании». Эти атаки стали весьма заметным «проблемным» направлением в безопасности веб-сайтов, о них мы рассказывали ранее в отдельной статье .

Итак, современные злоумышленники охотятся за доверием аудитории веб-сайтов, с тем, чтобы в дальнейшем использовать это доверие в своих целях. Среди инструментов, позволяющих «манипулировать доверием», оказываются уязвимости на сайтах и «открытые перенаправления».