Валентин Холмогоров - Pro Вирусы
Все сказанное выше лишь подтверждает тезис, озвученный в самом начале этой главы: практически все существующие сегодня вредоносные программы рассчитаны исключительно на получение прибыли за счет своих жертв.
Глава 4. Ботнеты
Термином «ботнет», или «бот-сеть», принято обозначать сети, созданные с использованием автономно действующих дистанционно управляемых вредоносных программ (ботов). Такие сети могут выполнять централизованно отдаваемые киберпреступниками команды и имеют различную архитектуру: как с использованием удаленных командных серверов (Command and Control Server, C&C), так и без них. Злоумышленники строят ботнеты с различными целями. Как правило, это рассылка спама, организация массированных атак на отказ в обслуживании (DDoS-атаки) или загрузка других вредоносных приложений на инфицированные компьютеры (сети, состоящие из троянцев-загрузчиков). Некоторые ботнеты способны выполнять сразу несколько деструктивных функций. Владельцы бот-сетей обычно предлагают свои услуги другим злоумышленникам на различных подпольных форумах, извлекая таким образом из своей деятельности прибыль. Иными словами, как сами ботнеты, так и предоставляемые ими нелегальные услуги зачастую становятся объектом купли-продажи.
История вопроса
В их современном виде бот-сети возникли на рубеже «нулевых» годов XXI века, хотя и до этого вирусописатели предпринимали успешные попытки собрать в единую систему зараженные компьютеры, доступные для удаленного управления — например системы, инфицированные бэкдорами. Исторически первым массовым ботнетом принято считать бот-сеть, созданную злоумышленниками в 2004 году с использованием почтового червя Beagle, заразившего порядка 230 000 компьютеров по всему миру. Червь Beagle мог инфицировать все существовавшие на тот момент версии Microsoft Windows и с использованием собственной реализации механизма SMTP рассылал свои копии по электронной почте. Beagle обладал руткит-модулем, способным скрывать собственное присутствие в системе, а также умел завершать процессы некоторых антивирусных программ.
В 2006 году заявил о себе массовый ботнет Rustock, предназначенный для рассылки спама. Инфицированные Rustock компьютеры могли рассылать до 25 000 почтовых сообщений в час, а в периоды максимальной активности — до 192 писем в минуту. Бот-сеть успешно действовала до 2011 года, когда была практически полностью уничтожена в результате тщательно спланированной кампании, проведенной экспертами из корпораций Microsoft, FireEye и специалистами из университета Вашингтона в сотрудничестве с федеральными агентами безопасности США.
С тех пор ботнеты различного функционального назначения стали появляться на свет с завидной регулярностью. 2007 год отметился появлением сети Cutwail (также известен как Bulknet). По различным подсчетам, Cutwail заразил в общей сложности порядка 1,5 млн компьютеров по всему миру. Этот ботнет также был предназначен для рассылки спама и имел довольно-таки простую структуру: действующие на зараженном компьютере вредоносные программы соединялись напрямую с командным сервером и получали оттуда все данные, необходимые для рассылки рекламных писем, а после успешного выполнения задачи боты передавали злоумышленникам отчет, содержащий подробную статистику о проделанной «работе».
2008 год стал периодом бурного распространения червя Conficker (также известного под именем Kido), заразившего в общей сложности более 10,5 млн компьютеров (по другим данным — порядка 12 млн) в 200 странах мира. По сей день этот ботнет считается одним из наиболее масштабных. Используя уязвимости в операционных системах семейства Microsoft Windows, червь загружал себя на атакуемый компьютер из Интернета, а также распространялся с использованием съемных носителей информации. В феврале 2009 года корпорация Microsoft объявила награду в 250 000 долларов за любую информацию о создателях этого червя. Кроме того, данная вредоносная программа обладала возможностью получать собственные обновления непосредственно с других зараженных узлов, минуя управляющий сервер, что значительно затрудняло борьбу с ним.
Начиная с 2010 года стали возникать бот-сети, состоящие из компьютеров, инфицированных банковскими троянцами (в частности, TDL/TDSS). В 2011 году получил широкое распространение файловый вирус Rmnet (Ramnit), также способный самоорганизовываться в ботнеты и инфицировавший в общей сложности порядка 3 млн компьютеров (по другим данным — более 5 млн). Несмотря на громкие заявления некоторых антивирусных компаний о полной и безоговорочной победе над этой угрозой, бот-сеть Rmnet продолжает действовать и сегодня. Так, в нескольких известных специалистам по информационной безопасности подсетях этого ботнета на 27 июня 2015 года действует более 461 000 зараженных компьютеров (из них более 6000 — на территории России).
Злоумышленники продолжают создавать и активно эксплуатировать ботнеты. В частности, в 2014 году киберпреступники встроили вредоносную программу в приложение, предназначенное для поисковой оптимизации сайтов, в результате чего сумели создать бот-сеть для рассылки спама, состоящую из более чем 250 тыс. зараженных узлов.
Не обделяют своим вниманием злоумышленники и рынок портативных платформ. Еще в 2010 году был зафиксирован первый ботнет, состоящий из мобильных устройств под управлением ОС Android, инфицированных троянцем Geinimi. А всего пару лет спустя, в 2013 году, специалисты компании «Доктор Веб» зафиксировали крупнейший мобильный ботнет, состоящий из смартфонов и планшетов, инфицированных троянцами семейства Android.SmsSend — заражению подверглись 200 000 с лишним устройств, при этом более 128 000 из них принадлежали российским пользователям.
Поскольку эксплуатация ботнетов приносит злоумышленникам определенную прибыль, можно предположить, что этот вид незаконного бизнеса будет процветать и в дальнейшем.
Архитектура ботнетов
Простые ботнеты
Исторически самые первые бот-сети имели довольно примитивную структуру. Все вредоносные программы, инфицировавшие компьютеры своих жертв, подключались к единому управляющему серверу, с которого получали конфигурационные файлы, необходимые им для дальнейшей работы, обновления и собственно команды для последующего выполнения. В качестве управляющего узла мог выступать и чат-сервер, предназначенный для организации обмена текстовыми сообщениями по протоколу IRC (Internet Relay Chat) — этой технологией, в частности, пользовались троянцы семейства BackDoor.IRC.Bot. Боты этого типа соединялись с соответствующим IRC-сервером, подключались к определенному чат-каналу и начинали «слушать» его в ожидании входящих команд. Адрес управляющего сервера был, как правило, «зашит» в теле самого бота и в лучшем случае был зашифрован в целях затруднить его поиск и анализ. Бот расшифровывал адрес командного центра непосредственно во время своего выполнения. Таким образом, ранние ботнеты имели звездообразную структуру и обладали существенным архитектурным недостатком: при отключении или перехвате управляющего сервера вся бот-сеть становилась нефункциональной, и усилия, приложенные злоумышленниками на распространение вредоносного ПО, оказывались затраченными впустую.
Рис. 5. Первые ботнеты имели простую звездообразную структуру: 1 — зараженные компьютеры; 2 — управляющий сервер. Ботнеты, использующие DGS
Следующим эволюционным этапом в развитии бот-сетей стало появление технологии генерации доменных имен контрольно-управляющих серверов (DGS, domain generation system). Создана эта система была в первую очередь в целях борьбы с противодействием работе бот-сетей со стороны антивирусных компаний и для повышения «живучести» ботнетов.
Вместо адреса контрольно-управляющего сервера или списка таких адресов в состав ботов злоумышленники стали включать специальный алгоритм, генерирующий адрес управляющего сервера по определенной схеме «на лету». Таким образом формировался перечень подобных адресов. Далее бот опрашивал полученные адреса по очереди, и, если с одного из них приходил заранее обусловленный ответ, этот сервер становился для бота управляющим. Например, некоторые троянцы составляли адреса серверов из последовательности латинских символов и цифр, добавляя к ним обозначение домена первого уровня .com или .org. Зная используемый вредоносной программой алгоритм генерации имен, злоумышленник мог оперативно зарегистрировать такой домен для управляющего сервера. Если этот домен по каким-либо причинам оказывался заблокированным, киберпреступник попросту регистрировал новый.
Отчасти задачу владельцам ботнетов упрощало и то обстоятельство, что некоторые крупные зарубежные регистраторы доменов в рекламных целях практикуют отсрочку платежей — зарегистрированный домен становится доступным для использования сразу, а оплату за него можно внести спустя определенный срок, например через месяц — в случае отказа от платежа делегирование домена автоматически прекращалось. Используя эту особенность, некоторые киберпреступники регулярно меняли домены управляющих серверов для своих ботнетов, не платя никому ни цента. Кроме того, даже в случае утраты доступа к управляющему серверу (например, из-за его блокировки хостинг-провайдером по жалобе пользователей или антивирусной компании) злоумышленнику ничто не мешает в считанные минуты развернуть еще один управляющий сервер на новой площадке и прилинковать к нему новый (или уже существующий) домен.