Анатомия ботнета
Сети зараженных вредоносным ПО компьютеров, действующие скоординировано, так называемые ботнеты, уже много лет считаются одной из главных угроз информационной безопасности. Скоординированный DDoS-удар тысяч и сотен тысяч ПК оказывается для любой информационной системы намного более страшным, чем заражение даже самым изощренным вирусом или чем продуманная хакерская атака. Да и распространять при помощи ботнета спам – намного проще и эффективнее.
Словом, о том, сколь страшен ботнет, знают все. Но на самом деле ботнет (или «зомби-сеть») – это не просто «какая-то» сеть ПК. Ботнеты бывают различной структуры (топологии), различного назначения и обладают различной степенью устойчивости к действиям специалистов по
информбезопасности. Попробуем разобраться.
Определение
Самое простое определение гласит: ботнет – это сеть ПК, зараженных вредоносной программой класса Backdoor. Она позволяет злоумышленникам удаленно и скрытно управлять зараженными машинами. Причем управлять можно каждым зараженным ПК в отдельности, их группой и всей сетью целиком. Понятно, что пользователь зараженного компьютера («бота») и не догадывается, что его ПК используется киберпреступниками. По этой причине зараженные компьютеры еще называются «зомби», а сеть, в которую они входят, – зомби-сетью.
Классификация ботнетов
Есть два типа классификации: по протоколам управления и по архитектуре ботнетов.
Классификация по архитектуре
Первый тип: ботнеты с единым центром. Это самая простая архитектура: все зомби-компьютеры напрямую подключены к единому центру управления, который называется C&C (Command&Control Center). C&C ожидает подключения новых ботов, регистрирует их в своей базе, следит за их работой и выдает команды. C&C «видит» каждый подключенный зомби-ПК. Для управления централизованным ботнетом владелец сети должен иметь доступ к командному центру.
Ботнеты с централизованным управлением наиболее распространены. Их проще создавать, ими легче управлять, и они быстрее реагируют на команды. Зато и бороться с ними проще – достаточно найти и отключить C&C, то есть всего один компьютер.
Второй тип – децентрализованные ботнеты, построенные по технологии P2P. В данном случае боты соединяются не с единым центром управления, а с несколькими зараженными машинами из зомби-сети. Управляющие команды передаются от бота к боту: у каждого бота есть список адресов лишь нескольких других ботов. Получив команду от одного из соседей, он передает ее остальным. В данном случае киберпреступнику для управления ботнетом достаточно иметь доступ хотя бы к одному компьютеру, входящему в зомби-сеть.
Это достаточно сложная система, особенно трудная в создании. Но и уничтожить такой ботнет можно разве что отправив в тюрьму его владельца и дождавшись, пока антивирусное ПО со временем «вычистит» все зараженные компьютеры.
Классификация по протоколам
По типу используемых сетевых протоколов ботнеты делятся на следующие группы.
- IRC-ориентированные. Это не только самый распространенный, но и исторически самый первый тип ботнетов. В нем управление ботами производится на основе IRC: каждый зараженный ПК соединяется с указанным в теле программы-бота IRC-сервером, заходит на определенный канал и ждет команды. - IM-ориентированные. В данном случае для передачи управляющих данных используются каналы интернет-чатов (AOL, MSN, ICQ и др.). Они не особо популярны по простой и очевидной причине: для каждого бота приходится создавать отдельный аккаунт IM-службы (так как большинство IM-служб не позволяют входить в систему с разных компьютеров, используя один и тот же аккаунт). При этом владельцы IM-служб не допускают автоматической регистрации аккаунтов. Как результат, создатели IM-ориентированных ботнетов сильно ограничены в числе имеющихся зарегистрированных аккаунтов, а значит и в числе ботов, одновременно присутствующих в Сети.
- Web-ориентированные. Наиболее современная разработка киберзлоумышленников. Управление ботами идет по протоколу HTTP. Каждый бот соединяется с определенным web-сервером, получает от него команды и передает в ответ данные. Популярность ботнетов этого типа быстро растет благодаря простоте их разработки и простоте управления (через web-интерфейс).
- Прочие. Разные экзотические виды ботнетов соединяются на основе своего собственного протокола, базируясь только на стеке протоколов TCP/IP: используют общие протоколы TCP, ICMP, UDP.
Управление ботнетом
По сути, управление ботнетом как системой сводится к управлению отдельными ботами – все они получают одинаковые команды и данные. Набор команд невелик, рассмотрим его.
- Update: загрузить и выполнить указанный исполняемый файл или модуль с указанного сервера. Это базовая команда, именно она реализуется в первую очередь. Она позволяет обновлять исполняемый файл бота по приказу владельца сети. Эта же команда позволяет заражать ПК другими вредоносными программами, а также устанавливать другие боты на компьютер. С помощью этой команды на все компьютеры одновременно могут быть установлены троянские программы, которые ищут все пароли, когда-либо введенные на данном компьютере и сохраненные в его памяти, и пересылают их на сервер в Интернете.
- Flood: начать процесс создания потока ложных запросов на указанный сервер в Сети. Так организуются DDoS-атаки. Типов различных вариантов создания ложных сетевых запросов существует очень много, не стану описывать их все.
- Spam: загрузить шаблон спам-сообщения и начать рассылку спама на указанные адреса (для каждого бота выделяется своя порция адресов). - Proxy: использовать данный ПК как прокси-сервер. Это одна из прикладных функций, позволяющая использовать любой компьютер из ботнета как прокси-сервер для сокрытия реального адреса злоумышленника, управляющего ботнетом.
Есть и другие команды, однако они уже являются уникальными для каждого конкретного ботнета. Они позволяют получать скриншоты с экрана пользователя, отслеживать ввод паролей с клавиатуры, запрашивать файл с протоколом сетевого общения пользователя (используется для кражи аккаунтов и конфиденциальных данных), пересылать указанный файл с ПК пользователя, запрашивать серийные номера программного обеспечения, получать подробную информацию о системе пользователя и его окружении и т. п.
История ботнетов
Все началось в 1998-1999 годах – тогда появились первые программы класса Backdoor – ставшие знаменитыми NetBus и BackOrifice2000. Именно они впервые несли полный набор функций удаленного управления зараженным компьютером. Это позволяло злоумышленникам работать с файлами на удаленном ПК, запускать новые программы, получать снимки экрана, открывать/закрывать CD-привод и т.д.
Это были самые настоящие троянские программы, работавшие без разрешения или уведомления пользователя. Для управления зараженным ПК злоумышленник должен был сам установить соединение с инфицированной машиной. По сути, это была демонстрация вариантов использования Windows API для удаленного управления компьютером.
Впрочем, NetBus и BackOrifice2000 работали по принципу сетевого сервера: они открывали определенный порт и пассивно ждали подключений хозяина. Затем хакеры модифицировали их так, чтобы зараженные бэкдорами компьютеры сами выходили на связь и их всегда можно было видеть онлайн. Компьютеры, зараженные новыми ботами, стали соединяться с IRC-серверами, самостоятельно выходить на связь через определенный IRC-канал и ждать указаний от владельца ботнета. Последний мог в любое время выйти в Сеть, просмотреть список ботов, отослать команды сразу всем зараженным компьютерам или отправить отдельное сообщение одной машине. Так был реализован первый ботнет с централизованным управлением.
Следующим этапом развития ботнетов стало перемещение центров управления в глубины WWW. Сперва были разработаны средства удаленного управления сервером, основанные на таких скриптовых движках, как Perl и PHP, реже – ASP, JSP и нескольких других. Далее появился механизм удаленного управления, основанного на установлении HTTP-соединения с управляющим сервером с использованием локальных настроек компьютера. Если пользователь устанавливал в настройках системы адрес, порт, логин и пароль для прокси-сервера, автоматически активизировался механизм авторизации библиотеки функций для поддержки протокола HTTP (Wininet.dll). Это было простым и доступным решением.
Затем пришло время web-ориентированных ботнетов. Был создан простой скрипт управления небольшой сетью ПК, и далее злоумышленники начали использовать такие управляемые сети в собственных целях. Использование web-ботнетов стимулировалось простотой их создания и управления – их можно было контролировать даже с мобильного телефона с WAP/GPRS.
Параллельно шло совершенствование архитектуры сети. Появились ботнеты с архитектурой P2P, в которых центра управления как такового просто нет. Владельцу сети достаточно дать команду любой из зомби-машин, а дальше боты будут передавать команду самостоятельно. Первый крупномасштабный ботнет на основе P2P-архитектуры появился в 2007 году. Однако именно P2P-ботнеты сейчас привлекают наибольшее внимание специалистов по информационной безопасности.
Ботнеты как объект криминального бизнеса
Наиболее активно ботнеты создаются и используются в сугубо криминальных целях. Это может быть DDoS-атака на компьютеры корпорации или государства, массовая рассылка спама, взлом шифров. То есть самих сфер применения ботнетов не так много, но все они оказываются предельно важными.
- Рассылка спама. Это наиболее распространенный и один из самых простых вариантов эксплуатации ботнетов. По экспертным оценкам, в настоящее время более 80% спама рассылается с зомби-машин. Именно необходимость рассылать спам сделала создание ботнетов полноценным криминальным бизнесом. Причем бизнесом достаточно выгодным: спамеры охотно берут ботнеты в аренду. Кстати, на зараженных машинах попутно собираются электронные адреса для спамерских баз данных.
- DDoS-атаки и кибершантаж. Второе по частоте использование ботнетов – для проведения DDoS-атак (Distributed Denial of Service – распределенная атака типа «отказ в обслуживании»). Чаще всего киберпреступники используют DDoS-атаки для шантажа: сперва блокируют работу какой-либо компании (в основном из области IT-бизнеса), а затем за прекращение атаки требуют выкуп.
Однако это лишь классическая схема. DDoS-атаки могут также использоваться для борьбы с конкурентами – тут уже речь про какой-либо выкуп не идет. Ну и, наконец, в последние несколько лет DDoS-атаки все чаще используются спецслужбами различных стран в начинающехся кибервойнах. Впрочем, это уже тема отдельной статьи.
- Анонимный доступ в Сеть. Злоумышленники могут использовать зомби-машины в качестве прокси для анонимного обращения к серверам в Сети. От имени зараженных машин можно совершать киберпреступления – например, переводить украденные денежные средства при помощи вполне легальных платежных систем.
- Кража конфиденциальных данных. Ботнеты позволяют собирать колоссальный урожай всевозможных паролей и других конфиденциальных данных пользователей. Бот, которым заражен зомби-компьютеры, «открывает ворота» другим вредоносным программам – таким как троянцы, ворующие пароли. В последние годы ботнеты стали самым настоящим товаром – их продают и покупают, сдают в аренду и даже крадут. Причем, что интересно, цены падают. Связано это с тем, что сегодня киберпреступникам, которые хотят построить ботнет, не нужны ни специальные знания, ни крупные денежные суммы. Сейчас в Сети несложно найти множество «продвинутых» инструментов, при помощи которых можно создать ботнет, не владея даже азами программирования.
ПО для создания ботнета можно легко купить в Сети, найдя соответствующее объявление и обратившись к тому, кто его разместил. Цены на вредоносные программы класса Backdoor варьируются от $5 до $1000, в зависимости от того, насколько распространен бот, выявляется ли он антивирусами, какие команды поддерживает и т.д.
Самое популярное ПО для построения ботнетов – программные пакеты, известные под названиями MPack, IcePack и WebAttacker. Такие программные пакеты называются web-системами массового заражения или просто ExploitPack. Эти средства настолько доступны, что даже подростки легко их находят и пытаются использовать.
Резюме
Ботнеты живут, прекрасно себя чувствуют и помирать не собираются. Более того, компании, специализирующиеся на решениях по информбезопасности, до сих пор не имеют более-менее эффективных инструментов для борьбы с этой напастью. Так что можно сказать, что хакеры не на шаг – на множество шагов впереди информбезопасников. Тем более, что все необходимое для успешного существования и развития ботнетов есть в Интернете, так что остановить развитие ботнет-индустрии пока невозможно.
Думаю, и в наступившем году ситуация ничуть не улучшится.
Денис Лавникевич
Словом, о том, сколь страшен ботнет, знают все. Но на самом деле ботнет (или «зомби-сеть») – это не просто «какая-то» сеть ПК. Ботнеты бывают различной структуры (топологии), различного назначения и обладают различной степенью устойчивости к действиям специалистов по
информбезопасности. Попробуем разобраться.
Определение
Самое простое определение гласит: ботнет – это сеть ПК, зараженных вредоносной программой класса Backdoor. Она позволяет злоумышленникам удаленно и скрытно управлять зараженными машинами. Причем управлять можно каждым зараженным ПК в отдельности, их группой и всей сетью целиком. Понятно, что пользователь зараженного компьютера («бота») и не догадывается, что его ПК используется киберпреступниками. По этой причине зараженные компьютеры еще называются «зомби», а сеть, в которую они входят, – зомби-сетью.
Классификация ботнетов
Есть два типа классификации: по протоколам управления и по архитектуре ботнетов.
Классификация по архитектуре
Первый тип: ботнеты с единым центром. Это самая простая архитектура: все зомби-компьютеры напрямую подключены к единому центру управления, который называется C&C (Command&Control Center). C&C ожидает подключения новых ботов, регистрирует их в своей базе, следит за их работой и выдает команды. C&C «видит» каждый подключенный зомби-ПК. Для управления централизованным ботнетом владелец сети должен иметь доступ к командному центру.
Ботнеты с централизованным управлением наиболее распространены. Их проще создавать, ими легче управлять, и они быстрее реагируют на команды. Зато и бороться с ними проще – достаточно найти и отключить C&C, то есть всего один компьютер.
Второй тип – децентрализованные ботнеты, построенные по технологии P2P. В данном случае боты соединяются не с единым центром управления, а с несколькими зараженными машинами из зомби-сети. Управляющие команды передаются от бота к боту: у каждого бота есть список адресов лишь нескольких других ботов. Получив команду от одного из соседей, он передает ее остальным. В данном случае киберпреступнику для управления ботнетом достаточно иметь доступ хотя бы к одному компьютеру, входящему в зомби-сеть.
Это достаточно сложная система, особенно трудная в создании. Но и уничтожить такой ботнет можно разве что отправив в тюрьму его владельца и дождавшись, пока антивирусное ПО со временем «вычистит» все зараженные компьютеры.
Классификация по протоколам
По типу используемых сетевых протоколов ботнеты делятся на следующие группы.
- IRC-ориентированные. Это не только самый распространенный, но и исторически самый первый тип ботнетов. В нем управление ботами производится на основе IRC: каждый зараженный ПК соединяется с указанным в теле программы-бота IRC-сервером, заходит на определенный канал и ждет команды. - IM-ориентированные. В данном случае для передачи управляющих данных используются каналы интернет-чатов (AOL, MSN, ICQ и др.). Они не особо популярны по простой и очевидной причине: для каждого бота приходится создавать отдельный аккаунт IM-службы (так как большинство IM-служб не позволяют входить в систему с разных компьютеров, используя один и тот же аккаунт). При этом владельцы IM-служб не допускают автоматической регистрации аккаунтов. Как результат, создатели IM-ориентированных ботнетов сильно ограничены в числе имеющихся зарегистрированных аккаунтов, а значит и в числе ботов, одновременно присутствующих в Сети.
- Web-ориентированные. Наиболее современная разработка киберзлоумышленников. Управление ботами идет по протоколу HTTP. Каждый бот соединяется с определенным web-сервером, получает от него команды и передает в ответ данные. Популярность ботнетов этого типа быстро растет благодаря простоте их разработки и простоте управления (через web-интерфейс).
- Прочие. Разные экзотические виды ботнетов соединяются на основе своего собственного протокола, базируясь только на стеке протоколов TCP/IP: используют общие протоколы TCP, ICMP, UDP.
Управление ботнетом
По сути, управление ботнетом как системой сводится к управлению отдельными ботами – все они получают одинаковые команды и данные. Набор команд невелик, рассмотрим его.
- Update: загрузить и выполнить указанный исполняемый файл или модуль с указанного сервера. Это базовая команда, именно она реализуется в первую очередь. Она позволяет обновлять исполняемый файл бота по приказу владельца сети. Эта же команда позволяет заражать ПК другими вредоносными программами, а также устанавливать другие боты на компьютер. С помощью этой команды на все компьютеры одновременно могут быть установлены троянские программы, которые ищут все пароли, когда-либо введенные на данном компьютере и сохраненные в его памяти, и пересылают их на сервер в Интернете.
- Flood: начать процесс создания потока ложных запросов на указанный сервер в Сети. Так организуются DDoS-атаки. Типов различных вариантов создания ложных сетевых запросов существует очень много, не стану описывать их все.
- Spam: загрузить шаблон спам-сообщения и начать рассылку спама на указанные адреса (для каждого бота выделяется своя порция адресов). - Proxy: использовать данный ПК как прокси-сервер. Это одна из прикладных функций, позволяющая использовать любой компьютер из ботнета как прокси-сервер для сокрытия реального адреса злоумышленника, управляющего ботнетом.
Есть и другие команды, однако они уже являются уникальными для каждого конкретного ботнета. Они позволяют получать скриншоты с экрана пользователя, отслеживать ввод паролей с клавиатуры, запрашивать файл с протоколом сетевого общения пользователя (используется для кражи аккаунтов и конфиденциальных данных), пересылать указанный файл с ПК пользователя, запрашивать серийные номера программного обеспечения, получать подробную информацию о системе пользователя и его окружении и т. п.
История ботнетов
Все началось в 1998-1999 годах – тогда появились первые программы класса Backdoor – ставшие знаменитыми NetBus и BackOrifice2000. Именно они впервые несли полный набор функций удаленного управления зараженным компьютером. Это позволяло злоумышленникам работать с файлами на удаленном ПК, запускать новые программы, получать снимки экрана, открывать/закрывать CD-привод и т.д.
Это были самые настоящие троянские программы, работавшие без разрешения или уведомления пользователя. Для управления зараженным ПК злоумышленник должен был сам установить соединение с инфицированной машиной. По сути, это была демонстрация вариантов использования Windows API для удаленного управления компьютером.
Впрочем, NetBus и BackOrifice2000 работали по принципу сетевого сервера: они открывали определенный порт и пассивно ждали подключений хозяина. Затем хакеры модифицировали их так, чтобы зараженные бэкдорами компьютеры сами выходили на связь и их всегда можно было видеть онлайн. Компьютеры, зараженные новыми ботами, стали соединяться с IRC-серверами, самостоятельно выходить на связь через определенный IRC-канал и ждать указаний от владельца ботнета. Последний мог в любое время выйти в Сеть, просмотреть список ботов, отослать команды сразу всем зараженным компьютерам или отправить отдельное сообщение одной машине. Так был реализован первый ботнет с централизованным управлением.
Следующим этапом развития ботнетов стало перемещение центров управления в глубины WWW. Сперва были разработаны средства удаленного управления сервером, основанные на таких скриптовых движках, как Perl и PHP, реже – ASP, JSP и нескольких других. Далее появился механизм удаленного управления, основанного на установлении HTTP-соединения с управляющим сервером с использованием локальных настроек компьютера. Если пользователь устанавливал в настройках системы адрес, порт, логин и пароль для прокси-сервера, автоматически активизировался механизм авторизации библиотеки функций для поддержки протокола HTTP (Wininet.dll). Это было простым и доступным решением.
Затем пришло время web-ориентированных ботнетов. Был создан простой скрипт управления небольшой сетью ПК, и далее злоумышленники начали использовать такие управляемые сети в собственных целях. Использование web-ботнетов стимулировалось простотой их создания и управления – их можно было контролировать даже с мобильного телефона с WAP/GPRS.
Параллельно шло совершенствование архитектуры сети. Появились ботнеты с архитектурой P2P, в которых центра управления как такового просто нет. Владельцу сети достаточно дать команду любой из зомби-машин, а дальше боты будут передавать команду самостоятельно. Первый крупномасштабный ботнет на основе P2P-архитектуры появился в 2007 году. Однако именно P2P-ботнеты сейчас привлекают наибольшее внимание специалистов по информационной безопасности.
Ботнеты как объект криминального бизнеса
Наиболее активно ботнеты создаются и используются в сугубо криминальных целях. Это может быть DDoS-атака на компьютеры корпорации или государства, массовая рассылка спама, взлом шифров. То есть самих сфер применения ботнетов не так много, но все они оказываются предельно важными.
- Рассылка спама. Это наиболее распространенный и один из самых простых вариантов эксплуатации ботнетов. По экспертным оценкам, в настоящее время более 80% спама рассылается с зомби-машин. Именно необходимость рассылать спам сделала создание ботнетов полноценным криминальным бизнесом. Причем бизнесом достаточно выгодным: спамеры охотно берут ботнеты в аренду. Кстати, на зараженных машинах попутно собираются электронные адреса для спамерских баз данных.
- DDoS-атаки и кибершантаж. Второе по частоте использование ботнетов – для проведения DDoS-атак (Distributed Denial of Service – распределенная атака типа «отказ в обслуживании»). Чаще всего киберпреступники используют DDoS-атаки для шантажа: сперва блокируют работу какой-либо компании (в основном из области IT-бизнеса), а затем за прекращение атаки требуют выкуп.
Однако это лишь классическая схема. DDoS-атаки могут также использоваться для борьбы с конкурентами – тут уже речь про какой-либо выкуп не идет. Ну и, наконец, в последние несколько лет DDoS-атаки все чаще используются спецслужбами различных стран в начинающехся кибервойнах. Впрочем, это уже тема отдельной статьи.
- Анонимный доступ в Сеть. Злоумышленники могут использовать зомби-машины в качестве прокси для анонимного обращения к серверам в Сети. От имени зараженных машин можно совершать киберпреступления – например, переводить украденные денежные средства при помощи вполне легальных платежных систем.
- Кража конфиденциальных данных. Ботнеты позволяют собирать колоссальный урожай всевозможных паролей и других конфиденциальных данных пользователей. Бот, которым заражен зомби-компьютеры, «открывает ворота» другим вредоносным программам – таким как троянцы, ворующие пароли. В последние годы ботнеты стали самым настоящим товаром – их продают и покупают, сдают в аренду и даже крадут. Причем, что интересно, цены падают. Связано это с тем, что сегодня киберпреступникам, которые хотят построить ботнет, не нужны ни специальные знания, ни крупные денежные суммы. Сейчас в Сети несложно найти множество «продвинутых» инструментов, при помощи которых можно создать ботнет, не владея даже азами программирования.
ПО для создания ботнета можно легко купить в Сети, найдя соответствующее объявление и обратившись к тому, кто его разместил. Цены на вредоносные программы класса Backdoor варьируются от $5 до $1000, в зависимости от того, насколько распространен бот, выявляется ли он антивирусами, какие команды поддерживает и т.д.
Самое популярное ПО для построения ботнетов – программные пакеты, известные под названиями MPack, IcePack и WebAttacker. Такие программные пакеты называются web-системами массового заражения или просто ExploitPack. Эти средства настолько доступны, что даже подростки легко их находят и пытаются использовать.
Резюме
Ботнеты живут, прекрасно себя чувствуют и помирать не собираются. Более того, компании, специализирующиеся на решениях по информбезопасности, до сих пор не имеют более-менее эффективных инструментов для борьбы с этой напастью. Так что можно сказать, что хакеры не на шаг – на множество шагов впереди информбезопасников. Тем более, что все необходимое для успешного существования и развития ботнетов есть в Интернете, так что остановить развитие ботнет-индустрии пока невозможно.
Думаю, и в наступившем году ситуация ничуть не улучшится.
Денис Лавникевич
Компьютерная газета. Статья была опубликована в номере 02 за 2010 год в рубрике безопасность