Злоумышленники продолжают свою атаку на цепочки поставок программного обеспечения, используя вредоносное ПО, названное в честь самой смерти.
Недавно обнаруженная кампания Hades — это «высокотехнологичное» компрометирование цепочки поставок, нацеленное на среды разработки Python и запускающееся сразу после импорта зараженных пакетов. Оно использует популярный инструментарий Bun для скрытого выполнения многоуровневых полезных нагрузок, способных извлекать конфиденциальные данные, перемещаться по скомпрометированным системам, эксплуатировать распространенные фреймворки безопасности и даже захватывать системы анализаторов-привратников ИИ посредством инъекции вредоносных промптов.
Примечательно, что кампания использовала популярную библиотеку C++ ensmallen, а также пакеты в экосистемах вычислительной биологии, биоинформатики и анализа генотипа и фенотипа.
Самое новое в этом вредоносном ПО — это сочетание передовых тактик, отметил Дэвид Шипли из Beauceron Security. Он отметил, что мы видели вредоносное ПО, сфокусированное на памяти, атаки, пытающиеся нейтрализовать анализ на основе больших языковых моделей (LLM) с помощью скрытых промптов, и вредоносное ПО с функциями стирания данных.
«Но все три компонента в быстро распространяющемся черве — это собственный кошмар», — сказал он. «И я подозреваю, что это путь будущего».
Как работает Hades
Кампания Hades была обнаружена исследователями из StepSecurity, которые назвали ее последней эволюцией угрозы Miasma. Ранее исследователи описывали атаки Miasma, которые рассылали самовоспроизводящихся червей для проведения многооблачных проверок учетных данных, заставляли зараженные репозитории выполнять код при доступе к папкам в интегрированных средах разработки (IDE) или агентами ИИ, а также использовали методы сканирования и чтения памяти процессов Linux.
Hades использует те же методы сбора учетных данных, логику самовоспроизводящегося червя и шаблоны эксфильтрации на основе GitHub, отметили исследователи. Помимо ensmallen, скомпрометированные пакеты включают mflux-streamlit, nhmpy, ppkt2synergy, embiggen, gpsea и pyphetools.
Точкой входа кампании является простой обфусцированный скрипт, встроенный в файл __init__.py пакета Python — критически важный строительный блок, который дает Python возможность распознавать пакеты и импортировать модули. Получив доступ, злоумышленники внедряют предварительно скомпилированный бинарный файл среды выполнения Bun и выполняют его JavaScript-полезную нагрузку. Bun позволяет вредоносному ПО выполнять сложные задачи JavaScript в средах без установки Node.js, обходя традиционные средства контроля пакетных менеджеров и логи прокси.
Вредоносное ПО способно извлекать данные из памяти Linux, а также внедряет специализированные скрейперы памяти для macOS и Windows, что позволяет злоумышленникам извлекать конфиденциальные зашифрованные данные.
Интересно, что атакующие также могут обходить обнаружение автоматизированными LLM, сканирующими подозрительный код. Это достигается с помощью простого блока текста в начале файла; он предписывает модели игнорировать скрытый код ниже, классифицировать пакет как проверенный и чистый и предоставлять отчеты о его безопасности.
Этот элемент представляет собой то, что исследователи StepSecurity назвали «значительным концептуальным сдвигом», когда атакующие пишут полезные нагрузки, нацеленные на когнитивную логику систем ИИ. «Сканеры, передающие необработанный текст в LLM без строгой изоляции границ, могут быть принуждены к генерации ложноотрицательных вердиктов, что позволяет вредоносному пакету обойти организационный анализ», — написали они.
Эта тактика действительно хитрая, согласился Шипли из Beauceron, отметив, что злоумышленники будут все чаще нацеливаться на конечные LLM-агенты.
Почему? «Потому что надежной защиты нет», — сказал он. «LLM невероятно восприимчивы к социальной инженерии». Он отметил, что это переименовали в prompt engineering, но по сути это просто фишинг для ботов.
«В то время как все обеспокоены обнаружением уязвимостей с помощью LLM и автоматизированной эксплуатацией, именно умное вредоносное ПО, созданное LLM, подобное этому, и фишинг людей и ботов с помощью ИИ не дают мне спать по ночам», — сказал Шипли.
Хитроумное распространение червя Hades
Инфраструктура командно-контрольного центра (C2) кампании Hades использует три независимых канала в общедоступной инфраструктуре GitHub, чтобы ее коммуникации сливались с обычным трафиком. Украденные учетные данные шифруются локально гибридным способом (сериализуются, сжимаются и отправляются в недавно созданный общедоступный репозиторий GitHub под контролем злоумышленников). Эксфильтруемые репозитории несут описание «Hades — Конец для проклятых».
Исследователи отметили, что основным компонентом этой кампании является ее способность распространяться и перемещаться по сетям. Она использует те самые методы, предназначенные для защиты систем, включая Secure Shell (SSH) и Secure Copy Protocol (SCP), OpenID Connect (OIDC) и Supply-chain Levels for Software Artifacts (SLSA).
Например, при работе внутри среды выполнения рабочего процесса GitHub вредоносное ПО проверяет переменные OIDC, затем обходит политики подписи реестра и генерирует криптографически подписанные SLSA-пакеты провенанса через Sigstore. Затем оно может извлекать целевые библиотеки и внедрять обфусцированный скрипт и JavaScript-полезную нагрузку. Оттуда оно может публиковать скомпрометированные версии в репозитории Python Package Index (PyPI) и node package manager (npm), используя учетные данные цели и сгенерированный бандл Sigstore.
«Это гарантирует, что опубликованный пакет будет выглядеть так, будто он имеет действительное, криптографически проверенное происхождение сборки из официальной среды сборки GitHub Actions организации», — пояснили исследователи.
Кроме того, если собранный токен GitHub имеет права на запись, вредоносное ПО будет нацелено на репозитории для извлечения секретов с помощью сред выполнения GitHub Actions. Это происходит «непосредственно из адресного пространства среды выполнения без записи их на диск или установки подозрительного сетевого соединения», — отметили исследователи.
Вредоносное ПО также нацелено на файлы правил и каталоги конфигурации для 14 различных агентов и систем ИИ, внедряя пользовательские инструкции промптов или выполняя хуки, которые запускают команду bun run bootstrap при загрузке или обращении жертвы к рабочему пространству с помощью своего ИИ-помощника. Наконец, оно устанавливает постоянство на рабочей станции и отслеживает наличие украденного токена; если этот токен отзывается, оно запускает процесс стирания для удаления файлов пользователя.
Эта статья изначально была опубликована на InfoWorld.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Taryn Plumb




