Исследователи безопасности из компании Sysdig опубликовали подробный технический анализ вредоносного фреймворка VoidLink, который представляет собой сложную угрозу для облачных сред Linux. Фреймворк, созданный китайскими разработчиками, демонстрирует высокий уровень профессионализма и использует уникальные методы для обеспечения скрытности и устойчивости в зараженных системах.
Описание
Начальная стадия заражения использует минималистичный исполняемый файл размером всего 9 КБ, написанный на языке программирования Zig. Этот загрузчик применяет технику безфайлового выполнения, чтобы избежать записи вредоносного кода на диск. В частности, он создает анонимный файл в памяти с помощью системного вызова memfd_create, записывает в него полезную нагрузку и выполняет ее напрямую из оперативной памяти. Для маскировки процесс загрузчика выдает себя за системный поток ядра, используя имя [kworker/0:0].
Одной из ключевых особенностей VoidLink является его способность адаптироваться к присутствию средств защиты. Фреймворк активно сканирует систему на наличие продуктов для обнаружения и реагирования, таких как CrowdStrike, SentinelOne или Carbon Black. При обнаружении подобных средств он автоматически переключается в режим повышенной осторожности, изменяя временные интервалы связи с командным сервером и увеличивая случайные задержки. Это значительно усложняет его обнаружение сетевыми системами мониторинга.
Наиболее инновационной чертой VoidLink считается архитектура Serverside Rootkit Compilation (SRC). Вместо того чтобы включать в себя заранее скомпилированные модули ядра, которые часто несовместимы с разными версиями Linux, вредоносная программа запрашивает их у командного центра. Она отправляет серверу точную информацию о версии ядра целевой системы, а в ответ получает специально собранный модуль, идеально подходящий для данной конфигурации. Такой подход решает давнюю проблему переносимости руткитов на уровне ядра.
Фреймворк использует тройную систему каналов управления для обеспечения устойчивости. Основное управление осуществляется через HTTP-команды. Кроме того, реализован скрытый канал через ICMP-пакеты, который позволяет операторам отправлять команды даже при блокировке основного трафика. Для локального взаимодействия с руткитом используется интерфейс на основе системного вызова prctl с магическим числом. Эта избыточность гарантирует, что угроза сохранит контроль над системой в различных условиях.
VoidLink обладает продвинутыми возможностями для работы в облачных и контейнерных средах. Он автоматически определяет, работает ли внутри контейнера Docker или в кластере Kubernetes. Специальные модули фреймворка ищут уязвимости для эскалации привилегий или побега из контейнера, например, проверяя наличие смонтированного сокета Docker или чрезмерно разрешительных учетных записей служб Kubernetes. Это делает его особенно опасным для современных облачных инфраструктур.
Несмотря на высокую сложность, VoidLink можно обнаружить с помощью инструментов runtime-мониторинга, таких как Falco или Sysdig Secure. Ключевыми индикаторами компрометации являются характерные последовательности системных вызовов, включая fork, prctl для смены имени и комбинацию memfd_create с execveat для безфайлового выполнения. Мониторинг загрузки модулей ядра и необычной активности eBPF также может помочь в выявлении этой угрозы.
Технические комментарии в исходном коде, написанные на китайском языке, а также глубокие знания внутреннего устройства ядра Linux указывают на опытных разработчиков. При этом анализ кода позволяет предположить использование больших языковых моделей для генерации шаблонных частей, что свидетельствует о гибридном подходе к созданию вредоносного ПО. Выбор языка Zig, который обеспечивает низкоуровневый контроль и кроссплатформенную компиляцию, подчеркивает стремление авторов обойти традиционные сигнатурные методы обнаружения.
Эксперты рекомендуют организациям сосредоточиться на поведенческом анализе и мониторинге runtime-активности, поскольку VoidLink активно противодействует статическим методам обнаружения. Особое внимание следует уделять безопасности контейнеров, аудиту загружаемых модулей ядра и анализу сетевого трафика, особенно нестандартных ICMP-пакетов. Появление VoidLink знаменует новый этап в эволюции угроз для Linux и требует от защитников более комплексного подхода к безопасности облачных сред.
Индикаторы компрометации
IPv4 Port Combinations
- 8.149.128.10:8080
SHA256
- 05eac3663d47a29da0d32f67e10d161f831138e10958dcd88b9dc97038948f69
- 13025f83ee515b299632d267f94b37c71115b22447a0425ac7baed4bf60b95cd
- 143274080851cbc095d286d6cc847e5e0aa8aab98bb1501efbf33e4c08e5f345
- 15cb93d38b0a4bd931434a501d8308739326ce482da5158eb657b0af0fa7ba49
- 4c4201cc1278da615bacf48deef461bf26c343f8cbb2d8596788b41829a39f3f
- 70aa5b3516d331e9d1876f3b8994fc8c18e2b1b9f15096e6c790de8cdadb3fc9
- a12a9eb2e5efe9a64fdf76803ac6be78e780e8a5ed35aca5369b11e2f63af998
- f208cebec4f48c853fc8e8e29040cfbe60ce2b5fa29056d67654089335c21efd