Червь P2PInfect осваивает ARM: угрожает устройствам интернета вещей

Червь P2PInfect осваивает ARM: угрожает устройствам интернета вещей

Вредоносный червь P2PInfect, распространяющийся по сети с июля 2023 года, добрался до устройств на базе архитектуры ARM. На таких процессорах работает большинство промышленных контроллеров, сетевых хранилищ, кассовых терминалов и камер видеонаблюдения. Заражение одного узла открывает злоумышленнику путь к остальным машинам внутри той же сети. Для компаний это оборачивается риском простоя оборудования и потери данных на объектах, где обновления ставят редко и неохотно. Устройства интернета вещей годами работают с заводскими паролями - этим и пользуются авторы червя.

Описание

Главная особенность P2PInfect - отказ от единого командно-контрольного сервера (C2-сервера). Заражённые машины связываются друг с другом напрямую и обмениваются командами без посредника. Если один узел перестаёт отвечать, сеть продолжает жить. Поэтому блокировка отдельных адресов почти не даёт результата: заражение держится на самих устройствах. Способы распространения тоже разнообразны. Один вариант подбирает пароли к сервису удалённого доступа SSH (протокол защищённого подключения к чужому компьютеру). Другой эксплуатирует уязвимости в Redis - популярной базе данных, которая хранит информацию в оперативной памяти ради скорости. Получив доступ, червь скачивает и запускает собственные модули.

Первые образцы нацеливались на процессоры архитектуры x86-64. Затем появились версии для MIPS, их обнаружили в Cado Security Labs. Исследование Nozomi Networks Labs показало, что к этому списку добавилась архитектура ARM, о чём прежде не сообщал никто из специалистов. Авторы червя не просто переносят код на новые платформы: набор поддерживаемых устройств расширяется от версии к версии. Проект живёт как минимум полтора года и продолжает развиваться.

Совместимость с Windows разработчики закладывают заранее. Внутри исполняемых файлов для Linux они прячут отдельные библиотеки для этой системы. Расчёт простой. Базу данных Redis официально поддерживают только на Linux. Однако её можно запустить и в Windows через подсистему WSL (среда для работы программ Linux внутри Windows) - создатели червя об этом знают. Разделение на модули позволяет менять функции без переписывания основного кода. Метка времени внутри одной из таких библиотек указывает на май 2023 года. Если её не подделали, подготовка шла за несколько месяцев до первой массовой волны заражений.

С октября 2023 года глобальная сеть ловушек (приманок, которые имитируют уязвимые серверы) фиксирует попытки заразить новые машины. Вариант, использующий удалённый доступ по протоколу SSH, попал в них 6 ноября 2023 года. Раньше такой способ распространения не встречался. Большая часть вредоносных подключений идёт из Китая, Гонконга и Сингапура. Активность растёт без заметных пауз как минимум до января 2024 года.

Значительная часть усилий авторов ушла на маскировку. Файлы червя сжимают упаковщиком UPX - утилитой, уменьшающей размер программы, - причём берут не самую свежую её версию. Дампы памяти отключены, отладка процесса заблокирована. Основной код часто прячут внутри безобидной программы, единственная задача которой - вывести на экран приветственное сообщение. Вспомогательный модуль маскируется под стандартную системную утилиту и не работает до момента запуска. Червь сам правит его в памяти, подставляя случайный сетевой порт и случайный пароль для связи между своими частями. Извлечь рабочий образец из основного файла при этом не удаётся. Такая конструкция усложняет работу автоматических систем анализа: без ручной разборки понять назначение образца трудно.

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

Защита строится на базовых вещах. Пароли к сервисам удалённого доступа стоит делать длинными и уникальными: атака полным перебором (брутфорс) работает именно на слабых комбинациях. Базу данных Redis не следует выставлять в открытую сеть без пароля. Обновления нужно ставить сразу после выхода, ведь значительная часть заражений идёт через известные уязвимости. Сегментация сети ограничивает размах заражения: червь распространяется по доступным ему узлам, а не по всей инфраструктуре сразу. Инвентаризация подключённых устройств помогает вовремя заметить чужой узел в сети.

Червь написан на Rust - языке программирования, который ценят за устойчивость к ошибкам памяти. Он сочетает самостоятельное распространение, работу на множестве платформ и отсутствие единой точки отказа в виде управляющего сервера. Каждое из этих качеств встречалось и раньше по отдельности. Вместе они делают P2PInfect образцом того, как будет выглядеть массовое вредоносное ПО ближайших лет. Расширение списка архитектур на ARM подтверждает: авторы не собираются останавливаться. Для защитных команд это означает необходимость следить не только за компьютерами сотрудников, но и за всей периферией.

Индикаторы компрометации

YARA

Комментарии: 0