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

«Будущее» уже здесь

Недавний широко известный пример — ботнет Mirai (от японского «будущее».  —  Прим. ред. ), впервые обнаруженный в августе 2016 года исследовательской группой MalwareMustDie [1]. Сам вредонос, а также его многочисленные варианты и подражатели стали источниками самых  мощных  DDoS-атак в истории ИТ-индустрии.

В сентябре 2016 года сайт консультанта по компьютерной безопасности Брайана Кребса стал получать трафик со скоростью 620 Гбит/c, что на порядки больше уровня, при котором большинство сайтов выходят из строя [2]. Примерно в то же время еще более мощная DDoS-атака, организованная с помощью  Mirai (1,1 Тбит/с),  поразила OVH, французского провайдера сервисов веб-хостинга и облачных сервисов [3]. Вскоре был опубликован исходный код вредоноса, после чего злоумышленники начали сдавать в аренду ботнеты на его основе, содержавшие до 400 тыс. устройств. Последовал еще ряд атак Mirai, самая известная из которых, организованная против сервис-провайдера Dyn, в октябре 2016-го на несколько часов вывела из строя сотни сайтов, включая Twitter, Netflix, Reddit и GitHub.

Mirai обычно распространяется, вначале заражая веб-камеры, цифровые видеорегистраторы, маршрутизаторы и т. д., на которых работает одна из версий BusyBox. Затем вредонос выясняет административные верительные данные других устройств Интернета вещей путем простого перебора, используя небольшой словарь типовых для производителей сетевых устройств пар «имя-пароль».

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

Принцип действия Mirai

Mirai устраивает DDoS-атаку против серверов-мишеней, активно распространяясь через устройства Интернета вещей с незащищенной конфигурацией.

Главные компоненты

Ботнет Mirai состоит из четырех основных компонентов. Бот — вредонос, заражающий устройства и распространяющий «инфекцию» среди неверно сконфигурированных устройств, а потом атакующий сервер-мишень при получении соответствующей команды от ботмастера  —  человека, управляющего ботами. Управляющий сервер предоставляет ботмастеру интерфейс, позволяющий проверять состояние ботнета и инициировать новые DDoS-атаки. Связь между элементами инфраструктуры ботнета обычно осуществляется через анонимную сеть Tor. Загрузчик обеспечивает распространение исполняемых файлов для всех аппаратных платформ (всего их 18, в том числе ARM, MIPS, x86 и др.) путем прямого контакта с новыми жертвами. Сервер отчетов ведет базу данных со сведениями о всех устройствах в ботнете, а только что зараженные узлы обычно общаются с этим сервером напрямую.

Схема активности и связи в ботнете

Вначале Mirai сканирует порты 23 и 2323 по случайным публичным IP-адресам. Некоторые адреса исключаются (вероятно, чтобы не привлекать внимания госструктур) — например, принадлежащие почте США, Пентагону, IANA, а также компаниям General Electric и Hewlett-Packard. На рис. 1 показаны основные этапы активности и обмена данными в ботнете.

Рис. 1. Операции и потоки обмена данными в ботнете Mirai
Рис. 1. Операции и потоки обмена данными в ботнете Mirai

 

Этап 1. Бот проводит  атаку  путем  подбора,  выясняя верительные данные устройств Интернета вещей, фабричные настройки которых не меняли. В словаре Mirai  имеются  62  возможные пары  «имя-пароль».

Этап 2. Обнаружив рабочие верительные данные и получив с их помощью доступ к командной строке или графическому пользовательскому интерфейсу устройства, бот передает его характеристики серверу отчетов через другой порт.

Этап 3. Ботмастер регулярно проверяет потенциальные мишени и текущее состояние ботнета, общаясь с сервером отчетов через Tor.

Этап 4. Выбрав уязвимые устройства для заражения, ботмастер выдает соответствующие команды загрузчику со всеми необходимыми подробностями, в том числе с IP-адресами и сведениями об аппаратной архитектуре.

Этап 5. Загрузчик входит в систему уязвимого устройства и заставляет ее загрузить и запустить соответствующий исполняемый файл вредоноса. Обычно загрузка происходит с помощью утилиты GNU Wget по протоколу TFTP. Примечательно, что как только вредонос запускается, он пытается защититься от конкурентов, блокируя порты, через которые часто происходит заражение, в том числе Telnet и SSH. На этом этапе свежесозданный экземпляр бота уже может общаться с управляющим сервером и получать от него команды на запуск атаки. Для этого выполняется разрешение доменного имени, жестко закодированного в исполняемом файле (по умолчанию в Mirai это cnc.changeme.com). Такой способ, используемый вместо прямого обращения по IP-адресу, позволяет ботмастеру менять IP-адреса управляющего сервера без модификации двоичных файлов и дополнительного обмена информацией.

Этап 6. Ботмастер отдает команду всем экземплярам бота начать атаку против сервера-мишени, передавая через управляющий сервер соответствующие параметры, в том числе тип и продолжительность атаки, а также IP-адреса самого сервера и экземпляров бота.

Этап 7. Боты начинают атаковать мишень, используя один из десятка доступных методов, среди которых флуд по протоколам Generic Routing Encapsulation, TCP и HTTP.

Характерные черты Mirai

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

Рис. 2. Режимы связи между зараженным устройством Интернета вещей и загрузчиком Mirai. SYN (синхронизация), FIN (завершение), PSH (выталкивание из буфера) и ACK (подтверждение) — стандартные типы пакетов TCP
Рис. 2. Режимы связи между зараженным устройством Интернета вещей и загрузчиком Mirai. SYN (синхронизация), FIN (завершение), PSH (выталкивание из буфера) и ACK (подтверждение) — стандартные типы пакетов TCP

 

На рис. 2 показаны стандартные режимы связи между загрузчиком Mirai и устройством Интернета вещей, уже зараженным, но еще не начавшим атаку. Длительность сеансов варьируется, но типы и размеры пакетов, а также последовательность сообщений подчиняются закономерностям, которые указывают на заражение именно этим вредоносом.

Варианты Mirai

Казалось бы, публикация исходного кода Mirai и его относительно громкий сетевой  шум  должны были привести к быстрому появлению эффективных механизмов распознавания и защиты. Однако этого не  произошло:  всего через два месяца после публикации исходного кода число экземпляров бота увеличилось более чем вдвое, с 213 тыс. до 493 тыс., и появилось большое число его разновидностей. Даже спустя более года после обнаружения Mirai боты по-прежнему использовали слабые конфигурации устройств тех же самых типов, что и изначально.

Большинство заражений Mirai происходят через порты TCP 23 или 2323, но в ноябре 2016 года были обнаружены штаммы вируса, обращающиеся к другим портам, в том числе к 7547, которым интернет-провайдеры пользуются для дистанционного управления маршрутизаторами клиентов. В том же месяце один из таких вариантов Mirai оставил без доступа к Сети почти миллион абонентов Deutsche  Telekom. 

В феврале 2017 года с помощью варианта Mirai была устроена DDoS-атака длительностью 54 часа против одного из американских колледжей. В следующем месяце появилась еще одна разновидность — на этот раз со встроенными средствами майнинга биткойнов, правда, согласно оценкам, использование устройств Интернета вещей для этих целей вряд ли могло принести большой доход.

В апреле началась активность Persirai — еще одного ботнета, созданного с использованием кодовой базы Mirai. Эта зомби-сеть была обнаружена исследователями Trend Micro, которые дали ей имя, объединив слова Persian и  Mirai  — первое было выбрано с учетом предположительно иранского происхождения вредоноса. Он пытается получить доступ к управляющему интерфейсу веб-камер определенных производителей через порт TCP 81. В случае успеха происходит проникновение в маршрутизатор с использованием уязвимости протокола UPnP, а затем  выполняются  загрузка, запуск и удаление дополнительных двоичных файлов. Вместо  того  чтобы выяснять верительные данные для входа в интерфейс камеры путем подбора, вирус использует брешь нулевого дня, позволяющую напрямую получить файл с паролем. Распределенная DoS-атака осуществляется посредством флуда по протоколу UDP. Согласно оценкам, всего в Сети было около 120 тыс. устройств, уязвимых для Persirai.

Другие ботнеты на основе Интернета вещей

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

В августе 2016 года исследователи из организации MalwareMustDie сообщили о первом ботнете на основе Интернета вещей, созданном с использованием языка скриптов Lua. Большую часть  армии  ботнета составляли кабельные модемы с процессорами ARM, работающие под управлением Linux. Вредонос имеет сложные  функции —  например, создает зашифрованный канал обмена данными с управляющим сервером и задает особые правила iptables для защиты инфицированных устройств от конкурентов.

Ботнет Hajime, обнаруженный в октябре 2016 года специалистами Rapidity Networks, пользуется методом заражения, похожим на Mirai. Но вместо централизованной архитектуры Hajime опирается на распределенную систему связи, применяя протокол BitTorrent Distributed Hash Tag (DHT) для обнаружения пиров (равноправных пользователей  сети),  и использует транспортный протокол uTorrent для обмена данными. Все сообщения шифруются по протоколу RC4. Пока что Hajime не проявил себя с отрицательной стороны, напротив, он устраняет потенциальные источники уязвимостей в устройствах Интернета вещей, используемых ботнетами, подобными Mirai, в связи с чем высказывалось мнение, что он был создан неким «Робин Гудом». Однако истинное назначение ботнета так и осталось загадкой.

Ботнет BrickerBot, который, как и Mirai, заражает ПО BusyBox, был обнаружен экспертами компании Radware в апреле 2017 года. Пользуясь верительными данными, установленными по умолчанию в сервисе SSH, а также ошибочными конфигурациями и известными уязвимостями, вредонос пытается устраивать перманентные атаки на отказ в обслуживании  (PDoS, Permanent DoS)  против устройств Интернета вещей, то есть достаточно разрушительные, чтобы вынуждать к повторной настройке или замене оборудования. BrickerBot портит прошивки устройств, удаляет на них файлы и меняет сетевые настройки.

Уроки

Масштабный вред, нанесенный атаками Mirai, его вариантов и подобных  ботнетов,  отчетливо продемонстрировал риски, создаваемые устройствами Интернета вещей для Всемирной сети. На сегодня довольно несложные вирусы способны брать такие устройства под контроль и создавать огромные разрушительные армии «зомби». Атакующих при этом привлекает простота выращивания популяции ботов. Можно перечислить пять основных причин, по которым устройства Интернета вещей особенно выгодно использовать для создания ботнетов.

  1. Постоянная, беспрепятственная активность.В отличие от ноутбуков и настольных ПК, которые часто включают и выключают, многие устройства Интернета вещей  (вроде  веб-камер и маршрутизаторов  Wi-Fi)  работают круглосуточно и часто воспринимаются  хозяевами  как устройства, которые не могут быть  подвержены  заражениям.
  2. Отсутствие защиты.Спеша выйти на рынок Интернета вещей, многие производители устройств пренебрегают безопасностью, уделяя больше внимания удобству и простоте использования.
  3. Отсутствие контроля. Большинство устройств Интернета вещей используются по принципу «настроил и забыл» — после первичной настройки сисадмины могут уделить им внимание, только если они перестают штатно работать.
  4. Внушительный трафик атак.Устройства Интернета вещей сегодня обладают достаточной мощностью и удачным расположением для создания трафика DDoS-атак, не менее мощного, чем с помощью современных настольных компьютеров.
  5. Неинтерактивные или минимально интерактивные пользовательские интерфейсы.Поскольку устройства Интернета вещей обычно требуют  минимального  вмешательства пользователя,  заражение,  скорее  всего,  останется незамеченным. Но даже если его заметят, пользователям недоступны простые способы устранения вредоноса за исключением физической замены устройства.

***

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

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

Литература

  1. MMD-0055-2016-Linux/PnScan.  ELF Worm That Still Circles Around,  blog.  MalwareMustDie, 24 Aug.  2016. URL: blog.malwaremustdie.org/2016/08/mmd-0054-2016-pnscan-elf-worm-that.html (дата обращения: 05.12.2017). 
  2. KrebsOnSecurity Hit with Record DDoS,  blog.  KrebsOnSecurity, 16 Sept.  2016. URL:  krebsonsecurity.com/2016/09/krebsonsecurity-hit-with-record-ddos (дата обращения: 05.12.2017). 
  3. 3. D.  Goodin.  Record-Breaking DDoS Reportedly Delivered by >145K Hacked Cameras. Ars Technica, 28 Sept.  2016. URL:  arstechnica.com/security /2016/09/botnet-of-145k-cameras -reportedly-deliver-internets-biggest-ddos-ever  (дата обращения: 05.12.2017). 

Костантинос Колиас ( kkolias@gmu.edu ) — ведущий инженер лаборатории Интернета вещей NIST; Георгиос Камбуракис ( gkamb@aegean.gr ) — доцент, Эгейский университет; Ангелос Ставру ( astavru@gmu.edu ) — профессор, Университет Джорджа Мейсона;  Джеффри Воас ( j.voas@ieee.org ) — научный сотрудник IEEE.

Constantinos Kolias, Georgios Kambourakis, Angelos Stavrou, Jefrey Voas, DDoS in the IoT: Mirai and Other Botnets. IEEE Computer, July 2017, IEEE Computer Society. All rights reserved. Reprinted with permission.