Уязвимости Угрозы Новая программа-вымогатель ENCFORGE нацелена на файлы моделей ИИ в атаке Langflow с удаленным выполнением (RCE).

Procurator

Experienced
Local User
Регистрация
29.05.26
Сообщения
268
Реакции
108


Исследователи из Sysdig связали вторую атаку на тот же сервер Langflow с Для просмотра ссылки Войди или Зарегистрируйся , оператором, управляемым ИИ-агентами, о котором они впервые сообщили ранее в этом месяце.


Тот же оператор был замечен в развертывании ENCFORGE , нового скомпилированного Go-вируса-вымогателя, предназначенного для шифрования весов моделей, векторных индексов, обучающих наборов данных и других файлов инфраструктуры ИИ в файловой системе хоста.


Точка входа не изменилась. Для просмотра ссылки Войди или Зарегистрируйся предоставляют доступ к... /api/v1/validate/codeКонечная точка без аутентификации, позволяющая любому удалённому злоумышленнику выполнять произвольные команды Python на сервере. Уязвимость заключается в следующем: Для просмотра ссылки Войди или ЗарегистрируйсяДанная уязвимость имеет оценку CVSS 9,8 и находится в Для просмотра ссылки Войди или Зарегистрируйся известных эксплуатируемых уязвимостей CISA с 5 мая 2025 года.


Как сообщалось ранее в этом месяце изданием The Hacker News, в предыдущей операции использовался одноразовый код на Python и MySQL. AES_ENCRYPT()Функция для шифрования и уничтожения данных в Nacos (сервере конфигурации Alibaba) и производственных базах данных.


Новая Для просмотра ссылки Войди или Зарегистрируйся заменяет эти импровизированные скрипты скомпилированными инструментами, предназначенными для хранилищ моделей, векторных баз данных и обучающих конвейеров, которые использовались в первой кампании по получению учетных данных.


Полезная нагрузка ENCFORGE​


Исследователи извлекли исполняемый файл с командно-контрольного сервера злоумышленника, где он был скрыт под другим именем. /.lockd; прямой запрос к /lockdВозвращает ошибку 404, а точка в начале файла не позволяет просмотреть его содержимое в обычном режиме каталога. Файл представляет собой статический ELF-файл Go 1.22.12, упакованный с помощью UPX 5.20.


На момент анализа Sysdig платформы анализа угроз не выявили никаких обнаружений ни в упакованном, ни в неупакованном хеше. Внутреннее название проекта: encfile; в тексте ошибки исполняемого файла содержится ссылка на сопутствующий инструмент генерации ключей под названием keyforgeОбе строки сохраняются при перекомпиляции одного и того же кода и служат стабильными якорями для обнаружения.

В список расширений по умолчанию входят контрольные точки PyTorch и TensorFlow, Hugging Face SafeTensors, формат обмена данными ONNX, GGUF (текущий стандарт для локально развернутых LLM) и его предшественник GGML, векторные индексы FAISS, обучающие наборы данных Parquet и Arrow, массивы NumPy и записи TensorFlow.

Ан --includeЭтот флаг позволяет оператору добавлять дополнительные шаблоны файлов; во встроенной справке в качестве примеров приводятся адаптеры тонкой настройки LoRA и устаревшие веса GGML. Полный список насчитывает около 180 расширений. Эти примеры напрямую указывают на среды ИИ; у универсального хранилища файлов вряд ли были бы основания указывать адаптеры LoRA или устаревшие веса GGML. Исследователи рассматривают этот выбор как преднамеренное целенаправленное воздействие, а не как случайное покрытие.


ENCFORGE использует AES-256-CTR для файловых данных, при этом симметричный ключ для каждого запуска заключен в встроенный открытый ключ RSA-2048, скомпилированный в эту сборку. Вместо шифрования целых файлов, он шифрует выбранные регионы, используя ту же оптимизацию скорости, что и LockBit и блокировщики типа BlackCat.


Каждый обработанный файл переименовывается. .lockedРасширение. Этот исполняемый файл завершает процессы, удерживающие файлы открытыми, перед шифрованием, обрабатывает перезапуски без повторного шифрования завершенных файлов, оставляет записки с требованием выкупа. README, HOW_TO_DECRYPT, и README_DECRYPTи удаляется после запуска.



Восстановленный бинарный файл ENCFORGE не обладает возможностью эксфильтрации данных. Он не содержит сетевого кода, клиента облачного хранилища или механизма подготовки, и исследователи не обнаружили никаких признаков эксфильтрации данных, сайта утечки или платежного портала Tor во время наблюдаемой сессии. Его единственным рычагом воздействия являются зашифрованные данные.


В записках с требованием выкупа содержится следующая формулировка: e78393397@proton.meТот же адрес Proton Mail, который использовался в предыдущей кампании. Sysdig описывает это как наиболее надежную связь между двумя операциями.


Исследователи обнародовали информацию об одном зафиксированном сеансе, не назвали организацию и не предоставили данных о количестве жертв или доказательств еще одной операции ENCFORGE.


От Langflow к хосту​


После подтверждения выполнения кода JADEPUFFER проверил контейнер на наличие учетных данных и обнаружил сокет Docker по адресу /var/run/docker.sockПервая попытка перенести ENCFORGE с сервера управления и контроля GCP провалилась. Вместо того чтобы остановиться, система адаптировалась.


За пять минут и 24 секунды оператор создал и отредактировал шесть скриптов на Python через тот же канал Langflow RCE, пока не получил рабочий путь к хосту. Первый скрипт создавался построчно, оставляя каждый отдельный запрос неактивным для проверки на основе сигнатур.


Начиная со второго варианта, оператор кодировал каждый полный скрипт в base64 и декодировал его внутри exec()вызов, избегая поиска команд на уровне оболочки, таких как base64 -dВ финальной версии использовался API Docker для запуска привилегированного контейнера с пространством имен PID хоста и смонтированной корневой файловой системой, определения местоположения целевого процесса и копирования ENCFORGE. /proc/<pid>/rootзатем запустил его на хосте через nsenter.


На всех этапах создания контейнеры были сформированы с использованием следующих параметров: Privileged: true, PidMode: host, NetworkMode: hostи корневая файловая система, смонтированная в режиме чтения и записи. Это корневой каталог хоста.


Перед запуском в реальных условиях оператор запустил --try-runпросканировать файловую систему, затем --lockдля выполнения прохода шифрования в реальном времени. Финальный скрипт проверял состояние процесса, считывал журнал блокировок и подсчитывал файлы, заканчивающиеся на .locked.


Исследователи не опубликовали полученные данные; представленные доказательства подтверждают факт попытки шифрования в реальном времени, а не количество успешно зашифрованных файлов моделей или наборов данных.


Компания Sysdig провела оценку --task-id gcp_h1пометить как доказательство того, что оператор отслеживал этот хост как цель GCP в рамках более широкой кампании; в ходе предыдущего запуска в сессии использовался идентификатор задачи. gcp_testВ отчете не сообщалось о дополнительных жертвах или местах дислокации войск.


Исследователи задокументировали предыдущую кампанию JADEPUFFER, в ходе которой удалось исправить неудачную попытку входа в Nacos за 31 секунду. Та же закономерность наблюдалась и здесь, при решении более сложной задачи: оператор создал точку выхода на хост через открытый сокет Docker, когда его предпочтительный маршрут доставки был заблокирован.


Внесите изменения в Langflow, а затем защитите модели.​


По оценкам исследователей, восстановление производственной модели ИИ после ее шифрования может стоить от 75 000 до 500 000 долларов за модель, включая облачные вычисления на графических процессорах и инженерное время.


В производственных средах часто запускается несколько специализированных вариантов на общем хранилище, поэтому один запуск ENCFORGE может зашифровать несколько вариантов, хранящихся в одной и той же доступной файловой системе. Если обучающие данные находятся на одном хосте, организации необходимо восстановить их, прежде чем можно будет начать переобучение.


Двоичный SHA-256: упакованный 8cb0c223b018cecef1d990ec81c67b826eb3c30d54f06193cf69969e9a8baea2; распакованный ea7822eac6cecef7746c606b862b4d3034856caf754c4cf69533662637905328.

В своем полном отчете компания Sysdig опубликовала адреса источника и управления, отпечаток встроенного ключа RSA-2048, а также правило YARA.


  • Обновите Langflow до версии 1.9.1 или до текущей поддерживаемой версии. Версия 1.3.0 закрыта. Для просмотра ссылки Войди или ЗарегистрируйсяЭто был вектор проникновения в систему для этой кампании, но с тех пор CISA добавила еще две уязвимости Langflow в свой каталог KEV: Для просмотра ссылки Войди или Зарегистрируйся, уязвимость RCE, не требующая аутентификации, исправлена в версии 1.9.0, добавлена в KEV 25 марта 2026 г.; и Для просмотра ссылки Войди или ЗарегистрируйсяИсправлена ошибка обхода межпользовательской авторизации в версии 1.9.1, добавлена 7 июля 2026 года.
  • Производите ротацию ключей поставщика ИИ, учетных данных облака, секретов базы данных и любых других токенов, доступных процессу Langflow. Установка патча не аннулирует учетные данные, уже полученные через уязвимый экземпляр.
  • Удалять /var/run/docker.sockиз любого контейнера, которому это не требуется. Там, где доступ к сокетам неизбежен, ограничьте его использование узко настроенным прокси-сервером; стандартное развертывание Langflow, как правило, не требует создания контейнеров, и неограниченный доступ к сокетам Docker следует рассматривать как ошибку конфигурации.
  • Предупреждение о процессах приложений, вызывающих API создания контейнеров Docker, и о контейнерах, запущенных с помощью Privileged: true или PidMode: hostмонтирование корневых каталогов хоста и nsenterВыполнение изнутри контейнера.
  • Храните веса модели, векторные индексы и обучающие наборы данных в автономных или неизменяемых снимках. Отслеживайте эти каталоги на предмет массового сброса. .lockedсоздание файла.

Издание Hacker News обратилось в группу по исследованию угроз компании Sysdig за дополнительной информацией о масштабах кампании по атаке на флот и степени уверенности в её авторстве; к моменту публикации компания Sysdig ответа не получила.


Теперь артефакты модели находятся на том же уровне восстановления, что и исходный код и производственные базы данных. Организация, которая может пересобрать приложение, но не может восстановить его веса, индексы или состояние обучения, не имеет простого пути к восстановлению.

Для просмотра ссылки Войди или Зарегистрируйся