Ботнет — это группа подключенных к Интернету устройств, на каждом из которых работает один или несколько ботов . Ботнеты могут использоваться для выполнения атак типа «распределенный отказ в обслуживании» (DDoS) , кражи данных, [1] рассылки спама и предоставления злоумышленнику доступа к устройству и его соединению. Владелец может управлять ботнетом с помощью программного обеспечения управления и контроля (C&C). [2] Слово «ботнет» представляет собой сочетание слов « робот » и « сеть ». Этот термин обычно используется с негативным или злонамеренным подтекстом.
Ботнет — это логическая совокупность подключенных к Интернету устройств, таких как компьютеры, смартфоны или устройства Интернета вещей (IoT), безопасность которых была нарушена и контроль передан третьей стороне. Каждое скомпрометированное устройство, известное как «бот», создается при проникновении на устройство программного обеспечения из дистрибутива вредоносного ПО (вредоносного ПО). Контроллер ботнета может управлять деятельностью этих скомпрометированных компьютеров через каналы связи, образованные стандартизированными сетевыми протоколами , такими как IRC и протокол передачи гипертекста (HTTP). [3] [4]
Киберпреступники все чаще сдают ботнеты в аренду в качестве товара для различных целей, [5] в том числе в качестве загрузочных/стрессовых услуг.
Архитектура ботнетов со временем развивалась, стремясь избежать обнаружения и нарушения работы. Традиционно программы-боты создаются как клиенты , которые взаимодействуют через существующие серверы. Это позволяет пастуху ботов (контроллеру ботнета) осуществлять все управление из удаленного места, что запутывает трафик. [6] Многие современные ботнеты теперь полагаются на существующие одноранговые сети для связи. Эти программы-боты P2P выполняют те же действия, что и модель клиент-сервер, но для связи им не требуется центральный сервер.
Первые ботнеты в Интернете использовали модель клиент-сервер для выполнения своих задач. [7] Как правило, эти ботнеты работают через сети Интернет-чата , домены или веб-сайты . Зараженные клиенты получают доступ к заранее определенному местоположению и ждут входящих команд от сервера. Пастух ботов отправляет команды на сервер, который передает их клиентам. Клиенты выполняют команды и сообщают о результатах бот-пастуху.
В случае IRC-ботнетов зараженные клиенты подключаются к зараженному IRC- серверу и присоединяются к каналу, заранее назначенному для C&C пастухом ботов. Бот-пастух отправляет команды на канал через IRC-сервер. Каждый клиент получает команды и выполняет их. Клиенты отправляют сообщения обратно в IRC-канал с результатами своих действий. [6]
В ответ на усилия по обнаружению и обезглавливанию IRC-ботнетов погонщики ботов начали развертывать вредоносное ПО в одноранговых сетях. Эти боты могут использовать цифровые подписи , так что только тот, кто имеет доступ к закрытому ключу, может контролировать ботнет, [8] например, в Gameover ZeuS и ботнете ZeroAccess .
Новые ботнеты полностью работают через P2P-сети. Вместо того, чтобы общаться с централизованным сервером, P2P-боты действуют как сервер распределения команд, так и клиент, который получает команды. [9] Это позволяет избежать единой точки отказа, что является проблемой для централизованных ботнетов.
Чтобы найти другие зараженные машины, P2P-боты незаметно проверяют случайные IP-адреса , пока не идентифицируют другую зараженную машину. Бот, с которым связался, отвечает, предоставляя такую информацию, как версия программного обеспечения и список известных ботов. Если версия одного из ботов ниже, чем у другого, они инициируют передачу файла для обновления. [8] Таким образом, каждый бот увеличивает свой список зараженных машин и обновляется, периодически общаясь со всеми известными ботами.
Создатель ботнета (известный как « пастух ботов » или «мастер ботов») управляет ботнетом удаленно. Это известно как командование и контроль (C&C). Программа для проведения операции должна связаться по скрытому каналу с клиентом на машине жертвы (компьютере-зомби).
IRC исторически является предпочтительным средством управления и контроля из-за его протокола связи . Пастух ботов создает IRC-канал, к которому могут присоединиться зараженные клиенты. Сообщения, отправленные на канал, транслируются всем участникам канала. Пастух ботов может установить тему канала для управления ботнетом. Например, сообщение :[email protected] TOPIC #channel DDoS www.victim.com
от бота-пастуха предупреждает всех зараженных клиентов, принадлежащих #channel, о необходимости начать DDoS-атаку на сайт www.victim.com. Пример ответа :[email protected] PRIVMSG #channel I am DDoSing www.victim.com
клиента-бота предупреждает бот-пастуха о начале атаки. [8]
Некоторые ботнеты реализуют собственные версии известных протоколов. Различия в реализации можно использовать для обнаружения ботнетов. Например, Mega-D имеет слегка измененную реализацию протокола SMTP для тестирования возможностей спама. Отключение SMTP-сервера Mega-D отключает весь пул ботов, использующих один и тот же SMTP-сервер. [10]
В информатике компьютер -зомби — это компьютер, подключенный к Интернету, который был скомпрометирован хакером , компьютерным вирусом или троянским конем и может использоваться для выполнения вредоносных задач под удаленным управлением. Ботнеты компьютеров-зомби часто используются для распространения спама по электронной почте и запуска атак типа «отказ в обслуживании» (DDoS). Большинство владельцев компьютеров-зомби не подозревают, что их систему используют таким образом. Поскольку владелец, как правило, не подозревает об этом, эти компьютеры метафорически сравнивают с зомби . Скоординированная DDoS-атака нескольких машин ботнета также напоминает атаку орды зомби. [11]
Процесс кражи вычислительных ресурсов в результате присоединения системы к «ботнету» иногда называют «скрампингом». [12]
Протоколы управления и контроля (C&C) ботнетов были реализованы разными способами: от традиционных подходов IRC до более сложных версий.
Ботнеты Telnet используют простой протокол C&C ботнета, в котором боты подключаются к главному командному серверу для размещения ботнета. Боты добавляются в ботнет с помощью сценария сканирования , который запускается на внешнем сервере и сканирует диапазоны IP-адресов для входа в систему по умолчанию на сервере telnet и SSH . Как только логин найден, сканирующий сервер может заразить его через SSH вредоносным ПО, которое пингует управляющий сервер.
Сети IRC используют простые методы связи с низкой пропускной способностью, что делает их широко используемыми для размещения ботнетов. Они, как правило, относительно просты по конструкции и с умеренным успехом используются для координации DDoS-атак и спам-кампаний, имея при этом возможность постоянно переключать каналы, чтобы избежать отключения. Однако в некоторых случаях простая блокировка определенных ключевых слов оказалась эффективной для остановки ботнетов на основе IRC. Стандарт RFC 1459 ( IRC ) популярен среди ботнетов. Первый известный популярный скрипт контроллера ботнета «MaXiTE Bot» использовал протокол IRC XDCC для частных команд управления.
Одна из проблем использования IRC заключается в том, что каждый бот-клиент должен знать IRC-сервер, порт и канал, чтобы быть полезным для ботнета. Организации по защите от вредоносного ПО могут обнаружить и отключить эти серверы и каналы, эффективно останавливая атаку ботнетов. Если это произойдет, клиенты все равно будут заражены, но обычно они бездействуют, поскольку у них нет возможности получать инструкции. [8] Чтобы смягчить эту проблему, ботнет может состоять из нескольких серверов или каналов. Если один из серверов или каналов отключается, ботнет просто переключается на другой. По-прежнему можно обнаружить и вывести из строя дополнительные серверы или каналы ботнетов, перехватив IRC-трафик. Злоумышленник-ботнет потенциально может даже получить знания о схеме управления и подражать пастуху ботов, правильно выдавая команды. [13]
Поскольку большинство ботнетов, использующих сети и домены IRC, со временем могут быть отключены, хакеры перешли на P2P-ботнеты с C&C, чтобы сделать ботнет более устойчивым к завершению.
Некоторые также использовали шифрование как способ защитить или заблокировать ботнет от других. В большинстве случаев, когда они используют шифрование, это криптография с открытым ключом , и это создает проблемы как при ее реализации, так и при ее взломе.
Многие крупные ботнеты при построении склонны использовать домены, а не IRC (см. ботнет Rustock и ботнет Srizbi ). Обычно они размещаются на надежных хостингах . Это один из самых ранних типов C&C. Компьютер-зомби получает доступ к специально созданной веб-странице или домену(ам), которые обслуживают список управляющих команд. Преимущества использования веб-страниц или доменов в качестве C&C заключаются в том, что крупным ботнетом можно эффективно управлять и поддерживать его с помощью очень простого кода, который можно легко обновлять.
Недостатком использования этого метода является то, что он использует значительную часть полосы пропускания в больших масштабах, а домены могут быть быстро конфискованы государственными учреждениями без особых усилий. Если домены, контролирующие ботнеты, не захвачены, они также могут стать легкой мишенью для компрометации с помощью атак типа «отказ в обслуживании» .
DNS Fast-flux можно использовать, чтобы затруднить отслеживание серверов управления, которые могут меняться изо дня в день. Серверы управления также могут переключаться с домена DNS на домен DNS, при этом алгоритмы генерации домена используются для создания новых имен DNS для серверов контроллеров.
Некоторые ботнеты используют бесплатные службы DNS- хостинга, такие как DynDns.org , No-IP.com и Afraid.org, чтобы указать поддомен на IRC-сервер, на котором размещены боты. Хотя эти бесплатные службы DNS сами по себе не являются хостом для атак, они предоставляют контрольные точки (часто жестко запрограммированные в исполняемом файле ботнета). Удаление таких сервисов может вывести из строя весь ботнет.
Обратный вызов крупных сайтов социальных сетей [14] , таких как GitHub , [15] Twitter , [16] [17] Reddit , [ 18] Instagram , [19] протокол мгновенных сообщений с открытым исходным кодом XMPP [20] и скрытые сервисы Tor [ 21] — популярные способы избежать фильтрации исходящего трафика при взаимодействии с C&C-сервером. [22]
Этот пример иллюстрирует, как ботнет создается и используется для злонамеренной выгоды.
Новые боты могут автоматически сканировать свою среду и распространяться, используя уязвимости и слабые пароли. Как правило, чем больше уязвимостей бот может сканировать и распространять, тем более ценным он становится для сообщества контроллеров ботнета. [23]
Компьютеры могут быть включены в ботнет, когда на них выполняется вредоносное программное обеспечение. Этого можно добиться, заманив пользователей на загрузку с диска , используя уязвимости веб-браузера или обманом заставив пользователя запустить программу- троян , которая может появиться из вложения электронной почты. Это вредоносное ПО обычно устанавливает модули, которые позволяют оператору ботнета управлять компьютером. После загрузки программного обеспечения оно позвонит домой (отправит пакет повторного подключения ) на главный компьютер. При повторном подключении, в зависимости от того, как оно записано, троянец может удалить себя или остаться для обновления и обслуживания модулей.
В некоторых случаях ботнет может быть временно создан добровольными хактивистами , например, при реализации низкоорбитальной ионной пушки , которая использовалась участниками 4chan во время проекта Chanology в 2010 году. [24]
«Великая китайская пушка Китая» позволяет модифицировать законный трафик просмотра веб-страниц на магистральных интернет-магистралях Китая для создания большого эфемерного ботнета для атаки на крупные цели, такие как GitHub, в 2015 году. [25]
Сообщество контроллеров ботнетов постоянно конкурирует за то, у кого больше ботов, самая высокая общая пропускная способность и самые «высококачественные» зараженные машины, например, университетские, корпоративные и даже государственные машины. [33]
Хотя ботнеты часто называют в честь создавшего их вредоносного ПО, несколько ботнетов обычно используют одно и то же вредоносное ПО, но управляются разными организациями. [34]
Ботнеты могут использоваться для многих электронных мошенничеств. Эти ботнеты могут использоваться для распространения вредоносных программ, таких как вирусы, с целью получения контроля над компьютером/программным обеспечением обычных пользователей. [35] Взяв под контроль чей-либо персональный компьютер, они получают неограниченный доступ к своей личной информации, включая пароли и данные для входа в учетные записи. Это называется фишинг . Фишинг — это получение данных для входа в учетные записи «жертвы» с помощью ссылки, на которую «жертва» нажимает, которая отправляется по электронной почте или в текстовом сообщении. [36] Опрос, проведенный Verizon, показал, что около двух третей случаев электронного «шпионажа» связаны с фишингом. [37]
Географическое рассредоточение бот-сетей означает, что каждый новобранец должен быть индивидуально идентифицирован/собран/восстановлен, что ограничивает преимущества фильтрации .
Экспертам по компьютерной безопасности удалось уничтожить или подорвать сети управления и контроля вредоносных программ, среди прочего, захватив серверы или отключив их от Интернета, лишив доступа к доменам, которые должны были использоваться вредоносным ПО для связи с его инфраструктурой управления и управления, и, в некоторых случаях, взлом самой сети C&C. [38] [39] [40] В ответ на это операторы C&C прибегли к использованию таких методов, как наложение своих сетей C&C на другую существующую безопасную инфраструктуру, такую как IRC или Tor , используя одноранговые сетевые системы, которые не зависят на любых стационарных серверах и использование шифрования с открытым ключом для предотвращения попыток взлома или подмены сети. [41]
Norton AntiBot был нацелен на потребителей, но большинство из них ориентированы на предприятия и/или интернет-провайдеров. Методы на основе хоста используют эвристику для определения поведения ботов, которое обходит обычное антивирусное программное обеспечение . Сетевые подходы, как правило, используют методы, описанные выше; отключение C&C-серверов, нулевые записи DNS-маршрутизации или полное отключение IRC-серверов. BotHunter — это программное обеспечение, разработанное при поддержке Исследовательского управления армии США , которое обнаруживает активность ботнетов внутри сети путем анализа сетевого трафика и сравнения его с закономерностями, характерными для вредоносных процессов.
Исследователи из Sandia National Laboratories анализируют поведение ботнетов, одновременно запуская один миллион ядер Linux (по масштабу аналогичный ботнету) в качестве виртуальных машин в высокопроизводительном компьютерном кластере из 4480 узлов для эмуляции очень большой сети, что позволяет им наблюдать за тем, как ботнеты работают и экспериментируют со способами их остановки. [42]
Обнаружение атак автоматизированных ботов становится все сложнее с каждым днем, поскольку злоумышленники запускают все новые и более сложные поколения ботов. Например, автоматизированная атака может задействовать большую армию ботов и применить методы грубой силы с высокоточными списками имен пользователей и паролей для взлома учетных записей. Идея состоит в том, чтобы перегрузить сайты десятками тысяч запросов с разных IP-адресов по всему миру, но при этом каждый бот отправляет только один запрос каждые 10 минут или около того, что может привести к более чем 5 миллионам попыток в день. [43] В этих случаях многие инструменты пытаются использовать объемное обнаружение, но у автоматических атак ботов теперь есть способы обойти триггеры объемного обнаружения.
Одним из методов обнаружения этих атак ботов является так называемая «система на основе сигнатур», в которой программное обеспечение пытается обнаружить шаблоны в пакете запроса. Однако атаки постоянно развиваются, поэтому этот вариант может оказаться нежизнеспособным, если в тысячах запросов невозможно различить закономерности. Существует также поведенческий подход к борьбе с ботами, который в конечном итоге пытается отличить ботов от людей. Выявляя нечеловеческое поведение и распознавая известное поведение ботов, этот процесс можно применять на уровне пользователя, браузера и сети.
Наиболее эффективным методом использования программного обеспечения для борьбы с вирусом было использование программного обеспечения -приманки , чтобы убедить вредоносное ПО в том, что система уязвима. Затем вредоносные файлы анализируются с помощью криминалистического программного обеспечения.
15 июля 2014 года Подкомитет по преступности и терроризму Комитета [44] по судебной власти Сената США провел слушания по угрозам, исходящим от бот-сетей, а также усилиям государства и частного сектора по их разрушению и демонтажу. [45]
Рост числа уязвимых устройств Интернета вещей привел к увеличению количества атак ботнетов на основе Интернета вещей. Для решения этой проблемы был представлен новый сетевой метод обнаружения аномалий для Интернета вещей под названием N-BaIoT. Он фиксирует снимки поведения сети и использует глубокие автокодировщики для выявления аномального трафика от скомпрометированных устройств Интернета вещей. Метод был протестирован путем заражения девяти устройств Интернета вещей ботнетами Mirai и BASHLITE, что продемонстрировало его способность точно и оперативно обнаруживать атаки, исходящие от взломанных устройств Интернета вещей внутри ботнета. [46]
Кроме того, сравнение различных способов обнаружения ботнетов действительно полезно для исследователей. Это помогает им увидеть, насколько хорошо работает каждый метод по сравнению с другими. Такое сравнение хорошо, потому что оно позволяет исследователям справедливо оценить методы и найти способы их улучшить. [47]
Первый ботнет был впервые признан и раскрыт компанией EarthLink во время судебного процесса с известным спамером Ханом С. Смитом [48] в 2001 году. Ботнет был создан с целью массовой рассылки спама, и на его долю в то время приходилось почти 25% всего спама. [49]
Примерно в 2006 году, чтобы предотвратить обнаружение, размер некоторых ботнетов уменьшился. [50]
{{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )По словам Марка Саннера, технического директора MessageLabs, размер бот-сетей достиг своего пика в середине 2004 года, многие из них использовали более 100 000 зараженных компьютеров. По его словам, средний размер бот-сети сейчас составляет около 20 000 компьютеров.