Ботнет

Ботнет (, МФА: ; произошло от слов robot и network) — компьютерная сеть, состоящая из некоторого количества хостов с запущенными ботами — автономным программным обеспечением. Чаще всего бот в составе ботнета является программой, скрытно устанавливаемой на устройство жертвы и позволяющей злоумышленнику выполнять некие действия с использованием ресурсов заражённого компьютера. Обычно используются для нелегальной или неодобряемой деятельности — рассылки спама, перебора паролей на удалённой системе, атак на отказ в обслуживании (DoS- и DDoS-атаки).

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

История возникновения 
Первоначально боты создавались для того, чтобы помочь в управлении IRC-каналами. Администрирование каналов в сети IRC может занимать много времени, поэтому администраторы создавали специальных ботов, которые помогали управлять работой популярных каналов. Одним из первых таких ботов был Eggdrop, написанный в 1993 году.

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

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

Архитектура

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

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

Такая модель имеет один существенный недостаток. В случае отказа сервера управляющий компьютер потеряет связь со своими ботами и не сможет ими управлять.

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

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

Эти сети являются устойчивыми к динамическому оттоку, то есть боты могут быстро присоединяться к сети и выходить из неё. Более того, связь не будет нарушена в случае потери или выхода из строя нескольких ботов. В отличие от централизованных сетей, ботнет P2P являются более надежными и сложными для обнаружения.

Техническое описание

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

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

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

В настоящее время получили распространение ботнеты, управляемые через веб-сайт или по принципу p2p-сетей.

Борьба с ботнетами

Обнаружение ботнета 
Чаще всего обнаружение ботов на устройстве затруднено тем, что боты работают абсолютно автономно без участия пользователя. Однако можно выделить несколько признаков, являющихся доказательством наличия бот-инфекции на компьютере:
 IRC-трафик (так как ботнеты используют IRC-каналы для связи);
 Соединения с серверами, замеченными в составе ботнетов;
 Высокий исходящий SMTP-трафик;
 Несколько компьютеров в сети, выполняющие одинаковые DNS-запросы;
 Медленная работа компьютера;
 Большая нагрузка процессора;
 Резкое увеличение трафика, особенно на портах 6667 (используется для IRC), 25 (SMTP-порт), 1080 (используется прокси-серверами);
 Подозрительные исходящие сообщения, которые были отправлены не пользователем;
 Проблемы с доступом в интернет.

Предотвращение заражения 
Для предотвращения заражения пользователям следует предпринимать ряд мер, которые направлены не только на предотвращение заражения вирусом ботнет-сети, но и на защиту от вредоносных программ в целом. Рекомендуемые практики для предотвращения заражения компьютера:
 Следует проводить мониторинг сети и регулярно отслеживать её активность, чтобы легко обнаружить неправильное поведение сети;
 Все программное обеспечение должно регулярно обновляться, обновления следует скачивать только с проверенных источников;
 Пользователям следует быть более бдительными, чтобы не подвергать свои устройства риску заражения ботами или вирусами. Это касается в первую очередь открытия электронных писем, подозрительных вложений, посещения ненадежных сайтов и перехода по непроверенным ссылкам;
 Следует использовать средства для обнаружения бот-сетей, которые помогают предотвратить заражение, блокируя бот-вирусы. Большинство таких программ также обладают возможностью удаления бот-сетей. Примеры инструментов, помогающие обнаружить активность ботов на компьютере:
 DE-Cleaner от Лаборатории Касперского;
 DE-Cleaner от Avira;
 RuBotted;
 Mirage Anti-Bot;
 Bot Revolt;
 Norton Power Eraser.

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

Торговля

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

Тарифы на DDoS-атаки 
Различные DDoS-сервисы предоставляют пользователям довольно широкий спектр особых функций в дополнение к основному функционалу, которые существенно влияют на цену атаки. Примеры таких «дополнений»:
 Сложные цели. Далеко не все киберпреступники соглашаются атаковать правительственные ресурсы, так как такие сайты контролируются правоохранительными органами. Сервисы, соглашающиеся на такую атаку, требуют больше денег, чем за нападение на интернет-магазин.
 Источники атаки и их характеристики. Этот параметр зависит от устройств в сети и сложности заражения устройств. Так ботнет из камер видеонаблюдения может быть дешевле, чем ботнет, состоящий из серверов. Это связано с тем, что IoT-устройства взломать значительно легче.
 Сценарии атаки. Чем более необычную атаку потребует заказчик, тем дороже это будет стоить.

Также киберпреступники предлагают различные тарифные планы с посекундной оплатой, но без возможности выбора каких-либо дополнительных функций. Например, DDoS-атака продолжительностью 10 800 секунд будет стоить клиенту примерно 60 долларов. Следовательно, средняя стоимость DDoS-атаки примерно 20 долларов в час.

Масштабы 
По оценке создателя протокола TCP/IP Винта Серфа, около четверти из 600 млн компьютеров, подключённых к Интернету, могут находиться в ботнетах. Специалисты SecureWorks, изучив внутренние статистические сведения ботнета, основанного на трояне SpamThru, обнаружили, что около половины заражённых компьютеров работают под управлением операционной системы Windows XP с установленным Service Pack 2.

По данным специалиста по безопасности компании McAfee Майкла Де Чезаре (), только в США в составе ботнетов порядка 5 млн заражённых компьютеров, что составляет около 10 % национального компьютерного парка.

Страны с самым большим количеством зараженных компьютеров:

Крупнейшие атаки ботнетов 
Наиболее заметной из всех видов деятельности ботнета являются DoS- и DDoS-атаки. Самые крупные из них:
 21 октября 2016 года была совершена атака на DNS-провайдера Dyn. В результате атаки пострадали такие крупные компании как BBC, Fox News, GitHub, PayPal, Reddit и Visa;
 В сентябре 2016 года произошла атака на хостинг-провайдера OVH. Это была крупнейшая известная на сегодняшний момент DDoS-атака. В ней были задействованы 150 000 IoT-устройств, в числе которых камеры и видеорегистраторы;
 20 сентября 2016 года была совершена DDoS-атакa на веб-сайт KrebsOnSecurity. Злоумышленники использовали неуправляемые DNS-серверы, чтобы создать огромный исходящий трафик;
 В 2016 году в новогоднюю ночь сайт BBC был недоступен несколько часов в результате мощной DDoS-атаки. Ответственность за случившееся взяла на себя группировка хакеров под названием «New World Hacking»;
 14-15 июня 2014 года была приостановлена работа PopVote, китайской интернет-платформы для проведения опросов среди населения. Злоумышленникам удалось попасть на сайт голосования, поэтому работу сайта пришлось экстренно приостановить;
 14 июня 2016 года от DDoS-атаки пострадало китайское игорное заведение. Атака длилась четыре часа. Примечательно, что злоумышленники использовали девять различных типов пакетов. На данный момент доля таких атак составляет меньше одного процента от общего количества DDoS-атак.

Примечания

Литература 
 Craig A. Schiller, Jim Binkley, David Harley, Gadi Evron, Tony Bradley, Carsten Willems, Michael Cross. Botnets — The Killer Web App. — M. : Syngress, 2007 — ISBN-10: 1-59749-135-7
 E. Cooke, F. Jahanian, and D. McPherson. The zombie roundup: Understanding, detecting and disrupting botnets. Cambridge, MA, July 2005
 Ping Wang, Baber Aslam, Cliff C. Zou. Handbook of Information and Communication Security. Peer-to-Peer Botnets — М. Springer — ISBN 978-3-642-04116-7
 Heron, Simon. Botnet command and control techniques. Network Security. April, 2007
 Brett Stone-Gross, Marco Cova, Lorenzo Cavallaro, Bob Gilbert, Martin Szydlowski, Richard Kemmerer, Christopher Kruegel, Giovanni Vigna. Your Botnet is My Botnet: Analysis of a Botnet Takeover. November 9—13, 2009, Chicago, Illinois, USA
 Paul Barford. An Inside Look at Botnets. University of Wisconsin, Madison
 Wenke Lee, Cliff Wang, David Dagon. Botnet Detection. Countering the Largest Security Threat — M. : Springer, 2008 — ISBN-13: 978-0-387-68766-7

Ссылки 
 Виталий Камлюк. Ботнеты — подробная статья на viruslist.com
 Ботнеты как они есть — статья о бот-сетях
 Автора ботнета Bredolab заперли на четыре года
 Краткий аналитический вопросник по бот-сетям в РФ 2009 год
 Новости о ботнетах
 «Боты-II. О новой волне „разоблачений“ скрытой рекламы в ЖЖ» — подробная статья о «ботовых кругах» в Livejournal

Информационная безопасность