Шрифт:
Интервал:
Закладка:
Некоторые владельцы бот-сетей использовали сразу несколько параллельных командных центров, разбивая ботнет на отдельные независимо управляемые подсети, что также повышало их устойчивость к различным внешним воздействиям. Таким образом, структура бот-сетей, построенных с применением технологии DGS, немного усложнилась.
С одной стороны, DGS сделала бот-сети более управляемыми и устойчивыми к внезапному отказу командных центров, с другой — значительно упростила их перехват с использованием метода sinkhole (о нем мы побеседуем чуть позже). В целях борьбы с этим методом перехвата управления ботнетами злоумышленники стали заметно усложнять механизм коммуникации бот-сети с управляющим центром: протоколы обмена данными стали активно использовать шифрование, управляющие сервера для подтверждения своей подлинности обменивались с вредоносной программой специальным образом сформированной цифровой подписью. Например, один из представителей семейства вирусов Win32.Virut способен генерировать до 100 адресов управляющих серверов в сутки. Последовательно опрашивая их, вирус ожидает поступления ответного пакета, содержащего цифровую подпись домена. Если проверка цифровой подписи проходит успешно, бот считает сервер с таким доменом управляющим.
Рис 6. Структура ботнета, построенного с использованием технологии генерации доменных имен контрольно-управляющих серверов (DGS): 1 — инфицированные компьютеры; 2 — управляющие серверы P2P-ботнеты
Еще одной категорией бот-сетей являются так называемые P2P (Peer-To-Peer), или пиринговые одноранговые сети. Такие сети вовсе не используют управляющих серверов, вместо этого они «общаются» с другими инфицированными компьютерами, передавая команды по сети от «точки к точке». Одноранговые бот-сети являются децентрализованными и потому их невозможно вывести из строя, уничтожив одним метким «ударом» управляющий сервер — за полным отсутствием такового. Ярким примером пиринговой вредоносной сети можно считать ботнет, созданный киберпреступниками с использованием файлового вируса Win32.Sector, заразившего в общей сложности более миллиона компьютеров. Этот вирус может загружать из P2P-сети и запускать на зараженной машине другие вредоносные программы, останавливать работу некоторых антивирусов и предотвращать пользователям зараженной машины доступ к сайтам их разработчиков.
Общеизвестно, что подключенный к Интернету компьютер может иметь собственный внешний IP-адрес, либо не иметь его в случае, если в его локальной сети используется механизм NAT (Network Address Translation). NAT позволяет передавать пакеты за пределы локальной сети, направляя их от узлов с «внутренним» IP-адресом, недоступным из Интернета, внешнему получателю и обратно путем замены в заголовке пакетов «внутреннего» IP-адреса на реальный адрес шлюза или роутера, через который осуществляется подключение всей локальной сети к Интернету.
Рис. 7. Организация одноранговой бот-сети на примере Win32.Sector: «Bot» — зараженные компьютеры, не имеющие внешнего IP-адреса; «Node» — зараженные компьютеры, имеющие внешний IP-адрес и выполняющие функции маршрутизатора для компьютеров «Bot»
Заразив компьютер, Win32.Sector проверяет, имеет ли он внешний IP-адрес или нет. Если имеет, такой бот, условно называемый «Node», начинает играть роль маршрутизатора для других зараженных машин («Bot»), не имеющих реального внешнего IP-адреса. Инфицированные компьютеры типа «Bot» начинают «общаться» с Интернетом и другими зараженными узлами через него. Каждый инфицированный узел такой сети получает начальный список из 100 IP-адресов других ботов, с которыми он пытается установить соединение, причем этот список периодически обновляется. При подобной структуре сети потеря одного «Node» (например, если владелец компьютера вылечит его от вируса) ничем не грозит всей системе в целом: «Bot» просто подключится к другому «Node» для получения дальнейших управляющих команд. Так, на 20 мая 2014 года специалисты компании «Доктор Веб» насчитали в ботнете Win32.Sector 1 197 739 зараженных компьютеров, из них внешний IP-адрес имели только 109 783.
Ботнеты смешанного типа
Примером более сложной бот-сети смешанного типа может служить ботнет Trojan.Dridex.49. Этот троянец умеет встраиваться в запущенные на инфицированном компьютере процессы, а все сообщения, которыми он обменивается в сети, шифруются. Основное назначение этих вредоносных программ — выполнение веб-инжектов, при помощи которых они могут похищать различную конфиденциальную информацию, в том числе получать доступ к системам дистанционного банковского обслуживания.
Для связи с управляющими серверами Trojan.Dridex.49 использует сложную по своей архитектуре одноранговую бот-сеть, состоящую из двух промежуточных слоев прокси. Заразив компьютер, Trojan.Dridex.49 может принять на себя одну из трех возможных ролей:
• роль «Bot» — троянцы этого типа работают на компьютерах, не имеющих внешнего IP-адреса. «Bot» осуществляет связь с управляющим сервером через троянцев с ролью «Node»;
• роль «Node» — троянцы этого типа работают на компьютерах, имеющих внешний IP-адрес, и передают данные от троянцев с ролью «Bot» троянцам с ролью «Admin Node», а также в обратном направлении;
• роль «Admin Node» — троянцы этого типа работают на компьютерах, имеющих внешний IP-адрес, и осуществляют связь друг с другом, а также непосредственно с управляющим сервером.
Цепочка связи инфицированного компьютера, не имеющего внешнего IP-адреса, с управляющим сервером ботнета, выглядит в общем случае следующим образом: Bot -> Node -> Admin Node -> другие Admin Node -> Управляющий сервер. При этом в целях обеспечения безопасности соединения троянцы обмениваются между собой цифровыми ключами. Схематически структура этой сети показана на рис. 8.
Так, чтобы получить с управляющего сервера новый перечень IP-адресов ботов с ролью «Node» или конфигурационных данных, необходимых для выполнения веб-инжектов, троянцы с ролью «Bot» передают запрос троянцу с ролью «Node», тот переправляет его троянцу с ролью «Admin Node», который, в свою очередь, может перебрасывать его другим «Admin Node» до тех пор, пока запрос не достигнет управляющего сервера. Передача запрошенных данных от управляющего сервера троянцу «Bot» осуществляется в обратном иерархическом порядке. Аналогичным образом осуществляется доставка дополнительных функциональных модулей вредоносной программы: «Node» запрашивают их у управляющего сервера через «Admin Node», а «Bot» получают эти модули по запросу у троянцев с ролью «Node». Такая многоуровневая и запутанная система значительно затрудняет отслеживание управляющих серверов бот-сети и перехват информации, которой обмениваются инфицированные машины.
Рис. 8. Архитектура бот-сети смешанного типа на примере Trojan.Dridex.49
Некоторые современные вредоносные программы, например определенные модификации банковского троянца Zeus, используют еще более сложную и изощренную структуру P2P-ботнета с применением туннелирования. Например, запустившись на целевом компьютере, такой троянец может расшифровать из собственного конфигурационного файла список других ботов с ролью «Node» и попытаться установить с ними соединение, а если наладить связь не удалось, он сгенерирует перечень доменов с использованием алгоритма DGS и попытается получить актуальный список «Node»-узлов ботнета оттуда. При этом ресурсы на доменах, содержащие списки узлов сети, не являются управляющими серверами — они просто хранят данные перечни IP-адресов «Node»-узлов, которые отдают ботам по запросу. Связь с истинным управляющим сервером реализуется в такой сети через отдельные «Node»-узлы, работающие как туннелирующий сервер. Сам злоумышленник, управляющий ботнетом, также передает на управляющий сервер список команд не напрямую, а через туннель — в целях затруднения своей локализации и идентификации. Общая схема такой сети показана на рис. 9.
Рис. 9. Схема сложной комбинированной P2P-сети на примере банковского троянца Zeus Ботнеты с использованием TOR и «облаков»
В последнее время в связи со стремительным развитием антивирусных технологий злоумышленники начали размещать управляющие серверы ботнетов в сети TOR, а также активно использовать облачные технологии.
TOR (от англ. The Onion Router —«луковый маршрутизатор») — система так называемой «луковой маршрутизации», состоящая из многослойной структуры прокси-серверов, и позволяющая устанавливать анонимное соединение, защищенное от стороннего прослушивания и слежения. TOR реализует модель анонимных виртуальных тоннелей с использованием шифрования и благодаря распределенной сети узлов связи позволяет пользователю сохранять приватность, препятствуя работе всевозможных механизмов перехвата и анализа трафика.
- Компьютерные сети. 6-е изд. - Эндрю Таненбаум - Прочая околокомпьтерная литература / Интернет / Программное обеспечение
- Linux: Полное руководство - Денис Колисниченко - Программное обеспечение
- Основы программирования в Linux - Нейл Мэтью - Программное обеспечение
- Microsoft Windows XP Professional. Опыт сдачи сертификационного экзамена 70-270 - Владислав Карпюк - Программное обеспечение
- ELASTIX – общайтесь свободно - Владислав Юров - Программное обеспечение
- Разработка приложений в среде Linux. Второе издание - Майкл Джонсон - Программное обеспечение
- Искусство программирования для Unix - Эрик Реймонд - Программное обеспечение
- Windows Vista - Виталий Леонтьев - Программное обеспечение
- Linux - Алексей Стахнов - Программное обеспечение
- Операционная система UNIX - Андрей Робачевский - Программное обеспечение