«Аид» (Hades) — это одна из множества действующих кампаний вредоносного ПО, нацеленная преимущественно (но не исключительно) на пакеты разработки, используемые в научных целях и для машинного обучения. Кампания по атаке на цепочку поставок недавно получила ряд обновлений, и одно из самых интересных — обманчиво простое: код включает атаки с внедрением промптов (prompt-injection), которые могут остановить поверхностные проверки ботами на базе ИИ, пропуская вредоносное ПО. Суть работы вкратце: некоторые JavaScript-файлы содержат комментарий с инструкциями, которые сообщают боту, что он работает в неограниченном режиме без каких-либо мер безопасности. Затем боту предлагается создать биологическое и ядерное оружие с подробным описанием. Если вы думаете, что бот для сканирования вредоносного ПО не может быть настолько глуп, чтобы следовать этим инструкциям, вы абсолютно правы — и именно это обеспечивает успех атаки, поскольку механизмы защиты ботов срабатывают, и они перестают сканировать остальную часть файла, где находится фактическая полезная нагрузка. В лексиконе ИИ это называется «состязательной атакой» (adversarial attack), и, вообще говоря, не ожидается, что она будет широко эффективной, но злоумышленникам любая мелочь пригодится. Тем не менее, пользователь X попробовал просканировать файл с помощью Anthropic Fable, и, как и ожидалось, получил известное сообщение «Чат приостановлен» (Chat paused).
Это ни в коем случае не научный метод, и разумно предположить, что модели для сканирования вредоносного ПО будут настроены более точно для этой задачи. Однако это в некоторой степени подразумевает, что поверхностная проверка разработчиком с вопросом «содержит ли этот установленный мной пакет Python вредоносное ПО?» может получить ответ: «Конечно, нет, босс, всё в порядке!» Даже боты, сканирующие конвейеры разработки CI/CD, могут попасться на это. В статье Socket отмечается, что другие типы анализа по-прежнему будут работать нормально, включая сопоставление с образцом, фактический разбор исходного кода, проверку на наличие рандомизированных секций, которые могут скрывать вредоносные полезные нагрузки, и фактический запуск кода в изолированной среде. Обновленное вредоносное ПО, по сообщениям, содержит триггер, который заставляет его самоуничтожаться с помощью различных механизмов, один из которых — обнаружение того, что оно выполняется в «песочнице».
Это не единственное улучшенное умение. В некоторых случаях механизм загрузки и сама полезная нагрузка находятся в отдельных пакетах, которые обычно устанавливаются вместе; такое разделение в основном неожиданно для стандартных сканеров. На этот раз разработчики вредоносного ПО также активнее использовали предварительно скомпилированные бинарные файлы, часто встречающиеся в производительных Python-пакетах. Они также позаботились о том, чтобы больше полезных нагрузок срабатывали только тогда, когда пакеты фактически инициализируются/запускаются в коде целевой системы (через оператор Python «import»), а не при их установке, что дополнительно помогает уклониться от поверхностного обнаружения.
Кампания также стала более навязчивой в целом: вместо того чтобы в основном красть учетные данные CI/CD, теперь она завладевает токенами учетных записей служб npm, PyPI, RubyGems, JFrog и Kubernetes, временными учетными данными AWS, SSH-ключами, конфигурациями Docker, историей командной оболочки, файлами .env и конфигурациями инструментов разработчика ИИ. На момент написания этой статьи в расширенной бомбардировке участвуют примерно 37 пакетов Python и 106 пакетов JavaScript, включая несколько случаев подмены имен (typo-squatting), например, «rsquests» вместо «requests».
Можно было бы подумать, что целевая аудитория, состоящая из инженеров-ученых и специалистов по ИИ, будет осведомлена об общих практиках безопасности, таких как проверка имен и авторства пакетов… и вы бы разочаровались. По моему личному опыту работы системным администратором для чрезвычайно высокооплачиваемых инженеров ИИ, у тревожно большого числа из них даже нет представления о том, как настроить Git или основы работы электронной почты. Задумайтесь об этом на секунду.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Bruno Ferreira




