Интернет вещей (IoT): история зловредов

Содержание 

Киберпреступники создают вредоносное ПО для атаки на IoT-устройства —маршрутизаторы и прочее сетевое оборудование — с 2008 года. Статистику по подобным атакам можно найти на нашем сайте — в частности, здесь и здесь. Основная проблема с изучением и пресечением вредоносной активности на IoT и встроенных устройствах заключается в невозможности установить на них какие-либо защитные и мониторинговые решения. Как в таком случае отслеживать атаки?

Лучший способ отслеживать атаки, отлавливать зловредов и получать общее представление о деятельности киберпреступников в этой области — использовать ханипоты (специальные ловушки).

Коротко о ханипотах

Существует три распространенных типа ханипотов:

  • Ханипоты с низким уровнем взаимодействия. Эти ловушки симулируют такие сервисы, как Telnet, SSH и веб-серверы. Злоумышленник или атакующая система ошибочно принимает ханипот за реальную уязвимую систему и устанавливает полезную нагрузку.
  • Ханипоты среднего уровня взаимодействия тоже симулируют уязвимые системы, однако они более функциональные, чем самые простые ловушки.
  • Ханипоты высокого уровня взаимодействия. Это реальные системы, требующие дополнительных шагов со стороны администратора для ограничения вредоносной активности и во избежание компрометации остальных систем. Их преимущество в том, что они могут работать под управлением POSIX-совместимой системы. Это означает, что попытки идентифицировать хосты, которые используют техники, еще не эмулированные ханипотами низкого уровня взаимодействия, против такой ловушки не сработают, и атакующие будут убеждены, что попали на реальное устройство.

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

Мы работаем с ханипотами всех трех типов; кроме того, мы создали отдельный тип ханипота — сенсорный, о котором подробнее поговорим ниже.

Развертывание ханипотов

При работе с ханипотами нужно всегда помнить о безопасности: уязвимая или атакованная система может подвергнуть риску и вас, и других.

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

«Жилые» и «корпоративные» IP-адреса

Наши телеметрические данные позволяют предположить, что наиболее продвинутые операторы ботнетов проверяют AS-имя сети и выбирают в качестве целей преимущественно IP-адреса, принадлежащие интернет-провайдерам, которые обслуживают частный сектор. Причина понятна: если маршрутизатор имеет IP-адрес, принадлежащий, например, Amazon или DigitalOcean, он может оказаться виртуальным частным сервером (VPS), а не домашним роутером.

Длительное использование одного и того же IP-адреса

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

«Отпечатки» ханипотов

Некоторые семейства вредоносного ПО, чтобы вычислить ловушки, используют определенные команды, которые не полностью эмулируются ханипотами. Атакующие непрерывно меняют свои методы анализа «отпечатков», чтобы обходить технологии защиты виртуальной машины от обнаружения. Эти технологии позволяют определять, когда атакующие проводят проверку на ханипот, и возвращать поддельные данные, чтобы вынудить их принять ловушку за реальную систему. Так, например, одно семейство вредоносного ПО считывает содержимое /proc/cpuinfo, чтобы определить тип и семейство процессора: большинство решений Cowrie используют одну и ту же процессорную архитектуру.

Работа под высокими нагрузками

Открытие доступа к популярному порту (например, 21. 22. 23. 80) из интернета практически тут же приведет к попыткам подключения со стороны различных хостов, и чем дольше порт будет оставаться открытым, тем больше ботов попытается заразить сервис. Для статического IP-адреса, на котором один и тот же сервис был запущен на протяжении более двенадцати месяцев, уровень заражения (количество сессий, пытавшихся установить на хост ханипота вредоносное ПО) составил около 4000 за 15 минут. Атакующие IP-адреса не являются уникальными, и, по нашим наблюдениям, один атакующий пытается заразить машину много раз.

Большое количество подключений создает значительную нагрузку как на сеть, так и на стеки эмуляции ловушек. По нашему опыту, Cowrie может обрабатывать 10 000 сессий одновременно на одном ханипоте. Для сильно загруженных систем решением может стать распределение нагрузки по нескольким контейнерам Docker на уровне ядра, что легко реализуется с помощью встроенного в ядро модуля netfilter.

Результаты

На данный момент мы располагаем результатами, собранными в нашей рабочей среде более чем за год. Мы разместили более 50 ханипотов по всему миру, в среднем обрабатывающих 20 000 зараженных сессий каждые 15 минут. Ниже приведены результаты, основанные на полученных данных.

Статистика: Telnet

Всего за первую половину 2019 года на наших Telnet-ханипотах было зафиксировано более 105 миллионов атак с 276 тысяч уникальных IP-адресов. Для сравнения, в 2018 году за этот же период было зафиксировано 12 миллионов атак с 69 тысяч IP-адресов. Мы видим устойчивую тенденцию к увеличению количества повторных атак, производимых с IP-адресов злоумышленников, что говорит о более настойчивых попытках заразить уже известные им уязвимые устройства.

Основными источниками заражений (лидерами по количеству уникальных IP-адресов, с которых исходили атаки через перебор пароля Telnet) в первом полугодии 2019 года остались Бразилия и Китай, но в отличие от 2018-го Китай занял лидирующую позицию (около трети атак исходят из КНР), а Бразилия оказалась на втором месте с 19%. За ними следуют Египет (12%), Российская Федерация (11%) и США (8%).

H1 2018 H1 2019
Бразилия 28% Китай 30%
Китай 14% Бразилия 19%
Япония 11% Египет 12%
США 5% Россия 11%
Греция 5% США 8%
Турция 4% Вьетнам 4%
Мексика 4% Индия 4%
Россия 3% Греция 4%
Южная Корея 3% Южная Корея 4%
Италия 2% Япония 4%

Страны-источники Telnet-атак на ханипоты «Лаборатории Касперского»

ТОР 10 вердиктов угроз для IoT

Не стоит удивляться тому, что большинство позиций рейтинга занимают различные модификации Mirai — это связано с тем, что они используют эксплойты, и под ударом оказываются устройства с отключенным Тelnet. Кроме этого, стоит принимать во внимание, что зловред уже давно находится в публичном доступе, а его код достаточно универсален для сборки ботов любой сложности под любую архитектуру «железа».

TOP 10 вердиктов угроз для IoT, первая половина 2018 года

TOP 10 вердиктов угроз для IoT, первая половина 2019 года

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

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

Количество уникальных IP-адресов, с которых были зафиксированы атаки на изолированную группу ханипотов. Январь 2018 — июнь 2018 гг.

Статистика: учетные данные

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

Мы собрали наиболее широко используемые сочетания для третьего и четвертого кварталов 2018 года, а также для первых трех кварталов 2019 года. Полный список можно найти в Приложении в конце статьи. Самым распространенным сочетанием стало support/support, далее следуют admin/admin, default/default и root/vizxv. С первыми тремя все ясно, а вот четвертое представляет определенный интерес: это заданный по умолчанию пароль для IP-камеры. Подробнее см. в блоге KrebsOnSecurity.com.

По мере того как разрабатываются новые эксплойты, каждый квартал атакам подвергаются новые устройства. Например, в первом квартале 2019 года мы обнаружили ботов, пытавшихся заражать определенные GPON-маршрутизаторы, использовавшие жестко запрограммированный пароль. Наши коллеги из TrendMicro писали об этом в конце 2018 года.

Идентификация собранных учетных данных: Q3 2018 (слева), Q4 2018 (в центре) и Q1 2019 (справа)

Статистика: вредоносное ПО

В то время как в обычных компьютерах в основном используются процессоры Intel или AMD (архитектура little-endian x86 или x86_64), встроенные системы и IoT-устройства задействуют процессоры более широкого спектра архитектур.

В процессе классификации наших образцов мы обнаружили, что имевшиеся у нас файлы использовали оба варианта порядка следования байтов и предназначались для исполнения на процессорах ARM, Intel x86 и MIPS.

В приведенной ниже таблице собраны все обнаруженные нами образцы.

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

Ниже приведен образец такого скрипта.

Помимо сочетаний имени пользователя и пароля, тип целевой архитектуры — дополнительная характеристика, которая помогает нам идентифицировать другие потенциальные цели для атак.

Атакующие государства и сети

Среди государств, с территории которых исходили атаки на наши ханипоты, на первом месте оказался Китай, на втором — Бразилия; далее с разрывом в 0,1% шли Египет и Россия. Наблюдаемые нами тенденции в целом сохранялись на протяжении 2018 и 2019 годов с небольшими изменениями в рейтинге стран по количеству атак.

Ниже приведен список 20 самых активных атакующих и их ASN (на базе анализа IP-адресов атакующих).

IP ASN Страна Сессии
198.98.*.* FranTech Solutions (53667) США 9850914
5.188.*.* Global Layer B.V. (49453) Ирландия 8845554
46.101.*.* DigitalOcean, LLC (14061) Германия 6400293
5.188.*.* Global Layer B.V. (57172) Россия 5687846
5.188.*.* Global Layer B.V. (57172) Россия 5668684
5.188.*.* Global Layer B.V. (57172) Россия 5651793
104.168.*.* Hostwinds LLC. (54290) США 5208208
5.188.*.* Global Layer B.V. (57172) Россия 5183386
5.188.*.* Global Layer B.V. (57172) Россия 4999999
5.188.*.* Global Layer B.V. (49453) Ирландия 4997344
5.188.*.* Global Layer B.V. (57172) Россия 4996561
198.199.*.* DigitalOcean, LLC (14061) США 4731014
68.183.*.* DigitalOcean, LLC (14061) США 4654696
104.248.*.* DigitalOcean, LLC (14061) США 4509490
5.188.*.* Global Layer B.V. (49453) Ирландия 4413067
88.214.*.* FutureNow Inc. (201912) N/A 4210692
5.188.*.* Global Layer B.V. (49453) Ирландия 4209439
134.19.*.* Global Layer B.V. (49453) Нидерланды 4206674
185.244.*.* 3W Infra B.V. (60144) Нидерланды 4181413
5.188.*.* Global Layer B.V. (49453) Ирландия 4128155

Зараженные сессии

Начиная с 2018 года, мы включаем в наши данные два показателя: «все сессии» и «зараженные сессии». Зараженной мы называем сессию, в которой хотя бы один вредоносный файл был запрошен или получен из интернета. Незараженной мы считаем сессию, которая могла быть инициирована по ошибке добропорядочным пользователем, неправильно набравшим IP-адрес, или же сканирующим интернет роботом. Мы наблюдали стабильное увеличение количества всех сессий (Telnet, SSH, веб и т. п.), открытых на наших ханипотах, и чем больше ханипотов мы добавляем к нашей сети, тем больше через нее проходит трафика: атакующие постоянно сканируют сеть с целью заражения новых устройств. В большинстве случаев сканирование осуществляется уже зараженными устройствами.

Семейства вредоносного ПО: сравнение 2018 и 2019 гг.

Если говорить об обнаруженных хешах, то в списке самых популярных вредоносных образцов, атаковавших наши ханипоты, наблюдались небольшие изменения. В целом и в 2018, и в 2019 году самым популярным семейством вредоносного ПО оставалось семейство Mirai: более 30 000 образцов было обнаружено в 2018 году и почти 25 000 — в первой половине 2019 года. Зловреды семейства Hajime, тщательно исследованные «Лабораторией Касперского» и Symantec еще в 2017 году, были достаточно активны в период своего процветания, но 2019 году они практически исчезли с наших радаров.

При этом мы зафиксировали увеличение активности вредоносного ПО хорошо известных семейств NyaDrop и Gafgyt — они пытаются заражать более новые устройства.

В таблице ниже указаны 10 самых распространенных вредоносных образцов, обнаруженных нами в первом квартале 2018 года и в первом квартале 2019 года.

I кв. 2018 г. I кв. 2019 г.
Backdoor.Linux.Mirai.c 23454 (50,46%) Trojan-Downloader.Linux.NyaDrop.b 24437 (38,57%)
Trojan-Downloader.Linux.Hajime.a 8657 (18,62%) Backdoor.Linux.Mirai.b 13960 (22,06%)
Backdoor.Linux.Mirai.b 3566 (7,67%) Backdoor.Linux.Mirai.ba 7664 (12,11%)
Trojan-Downloader.Linux.NyaDrop.b 3523 (7,58%) Backdoor.Linux.Mirai.ad 1224
(1,92%)
Backdoor.Linux.Mirai.ba 2468 (5,31%) Backdoor.Linux.Mirai.au 1185
(1,87%)
Trojan-Downloader.Shell.Agent.p 502 (1,08%) Backdoor.Linux.Gafgyt.bj 872 (1,38%)
Trojan-Downloader.Shell.Agent.p 426 (0,91%) Trojan-Downloader.Shell.Agent.p 659 (1,04%)
Backdoor.Linux.Mirai.n 348 (0,74%) Backdoor.Linux.Gafgyt.az 468 (0,74%)
Backdoor.Linux.Gafgyt.ba 339 (0,72%) Backdoor.Linux.Mirai.c 455 (0,72%)
Backdoor.Linux.Gafgyt.af 279 (0,60%) Backdoor.Linux.Mirai.h 434 (0,68%)

Uberpot

Помимо обычных ханипотов, прослушивающих конкретные порты, мы также создали многопортовый ханипот, который получил название uberpot. Идея проста: ханипот прослушивает все порты TCP и UDP, принимает подключения и протоколирует полученные данные и метаинформацию. Основная цель такого подхода — идентифицировать новые векторы атаки и атаки на нетипичные службы и порты, в частности, на новых устройствах или при конфигурации портов, определяемой поставщиком.

TCP по количеству атак лидирует с большим отрывом, хотя мы наблюдали на наших ловушках типа uberpot незначительный трафик UDP/ICMP.

Что касается зараженных сессий, в среднем мы наблюдаем около 6000 атак в день, хотя в январе 2019 года произошел всплеск активности — более 7500 сессий в день, атаковавших случайные TCP-порты.

Что касается других протоколов, то трафик UDP и ICMP незначителен по сравнению с TCP. «Экзотические» протоколы, такие как DCCP, SST или ATP, мы не мониторим.

Атакованные протоколы в Uberpot

На текущий момент атакам подвергаются преимущественно службы TCP. Популярными целями были службы удаленного администрирования, такие как SSH, Telnet, VNC и RDP, а также базы данных и веб-серверы.

Атакованные службы, данные получены из Uberpot

Ханипоты как услуга

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

В случае обширной сети ханипотов основные проблемы связаны с техническим обслуживанием, сбором и обработкой логов, а также исправлением ошибок. Мы решаем эти проблемы благодаря перемещению всех ханипотов в контейнеризованную инфраструктуру. Это означает, что передовые хосты требуют очень незначительных ресурсов: узел может работать на Raspberry PI.

Наше решение просто: мы предлагаем образ Docker или устанавливаем скрипты, которые перенаправляют вредоносный трафик, нацеленный на «уязвимые» порты, в нашу инфраструктуру через UDP-тоннель Wireguard. Мы называем такие машины «узлами», и, как уже говорилось, узел может функционировать даже на Raspberry PI. Как только вы установите такую машину, вам останется только перенаправить на нее порты, за которыми вы хотите наблюдать. Вы можете непосредственно назначать публичные IP-адреса, как делают некоторые из наших партнеров, или организовать DNAT (перенаправление портов) только для тех портов, которые вас интересуют.

Как только трафик попадает на ваш узел, он отправляется на наш агрегатор, где машина на базе Docker обрабатывает его. Затем мы генерируем на агрегаторе статистику и все необходимые данные.

Более подробно о нашей инфраструктуре можно узнать из нашего видеоролика с SAS 2019.

Заключение

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

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

Если вы заинтересованы в исследовательском партнерстве с «Лабораторией Касперского» и запуске ханипотов на ваших неиспользуемых IP-адресах, пожалуйста, свяжитесь с нами по электронному адресу honeypots@kaspersky.com. Мы будем рады сотрудничать с вами в развертывании прототипа нашего сервиса «Ханипоты как услуга».

Как говорилось в разделе «Ханипоты как услуга», мы сводим, соотносим и кластеризуем входящие подключения, и все обработанные данные становятся доступны вам практически в режиме реального времени.

Приложение

Список паролей за прошедшие кварталы:

Q3 2018
Имя пользователя Пароль Количество
support s***t 2627805
root v***v 2376654
admin a***n 2359985
root d***t 2355762
default S***s 2140316
default O***8 1683879
root x***1 1451906
root a***o 1365481
root 7***n 1336390
root a***n 1281745
root 1***5 1273103
root p***d 1239467
user u***r 1238778
telnet t***t 1171306
root h***9 1136995
default <empty> 1058371
root r***t 995550
admin a***4 977147
root 1***n 932786
Q4 2018
Имя пользователя Пароль Количество
support s***t 703515
root v***v 583926
admin a***n 547302
root d***t 429091
default S***s 423178
default O***8 377638
root 7***n 297929
telnet t***t 292827
root p***d 283462
root x***1 281053
root 1***n 276828
root 1***5 273787
default <blank> 268606
root a***n 264256
root h***9 258697
root a***o 256498
user u***r 251272
guest 1***5 246927
root r***t 218373
root <empty> 192910
Q1 2019
Имя пользователя Пароль Количество
support s***t 2627805
root v***v 2376654
admin a***n 2359985
root d***t 2355762
default S***s 2140316
default O***8 1683879
root x***1 1451906
root a***o 1365481
root 7***n 1336390
root a***n 1281745
root 1***5 1273103
root p***d 1239467
user u***r 1238778
telnet t***t 1171306
root h***9 1136995
default <empty> 1058371
root r***t 995550
admin a***4 977147
root 1***n 932786
root <empty> 870276
Q2 2019
Имя пользователя Пароль Количество
default d***t 2523832
admin a***n 2030987
root 7***n 2023333
root v***v 1842271
root d***t 1803912
admin p***d 1671593
default <blank> 1656853
default O***8 1524072
default S***s 1497600
root «t***9» 1402338
root z***4 1116542
admin a***o 1103479
default t***6 1065423
admin a***3 1028715
guest 1***z 819617
guest 1***5 757875
admin s***t 637017
guest g***t 487789
guest <empty> 461508
guest 1***6 460613
Q3 2019
Имя пользователя Пароль Количество
default d***t 4211802
admin a***n 3692028
root v***v 3174770
root d***t 3094578
root «t***9» 2964442
default <blank> 2897669
root t***n 2341043
root 7***n 2340426
admin a***o 2316776
admin a***3 2278549
admin p***d 2103600
default O***8 2074258
default S***s 1983527
default t***6 1519887
guest 1***5 1105911
guest 1***6 991206
guest g***t 937530
admin s***t 920939
guest a***n 694245
guest <empty> 614275

Публикации на схожие темы

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *