NullifAI ломает PyTorch модели на Hugging Face

Два вредоносных ML-модуля были найдены на платформе Hugging Face и описаны в отчёте под названием "Malicious ML Models on Hugging Face Leverage Broken Pickle Format to Evade Detection". Специалисты обнаружили, что оба проекта, glockr1/ballr7 и who-r-u0000/0000000000000000000000000000000000000, используют «битые» Pickle-файлы в формате PyTorch для обхода защитных механизмов.
NullifAI ломает PyTorch модели на Hugging Face
Изображение носит иллюстративный характер

Исследованием занимался специалист по кибербезопасности Карло Занки (ReversingLabs), который представил свои выводы в отчёте для The Hacker News. Вредоносная часть находилась в начале PyTorch-архива, скомпрессированного не через стандартный ZIP, а с помощью 7z.

Злонамеренный участок кода включал обратную платформо-зависимую оболочку, подключающуюся к заранее прописанному IP-адресу. Сама атака оценивается как демонстрационная, поскольку специалисты сходятся во мнении, что проект носит характер proof-of-concept, а не массового компрометирования цепочки поставок.

Техника получила название "nullifAI" и замышлялась как способ обойти инструменты защиты, в частности Picklescan. Авторы зловредных репозиториев стремились показать, что достаточно изменить схему сжатия и расположение нежелательного кода, чтобы пройти мимо стандартной проверки.

Формат Pickle издавна считается рискованным, поскольку при загрузке способен исполнять произвольный код. Эти два PyTorch-модуля хранятся в виде сжатых Pickle-файлов, где вместо полных данных по модели первой же строкой запускается вредоносная нагрузка, а затем процесс разрушается, провоцируя ошибку десериализации.

«В извлечённых из упомянутых PyTorch-архивов Pickle-файлах обнаружился вредоносный фрагмент Python-кода, расположенный в начале файла», — отметил Карло Занки. «Любопытно, что объектная сериализация, для которой обычно и применяется Pickle-файл, прерывается практически сразу после срабатывания вредоносной нагрузки, из-за чего дальнейшая декомпиляция объекта терпит неудачу».

«Причина заключается в поочерёдном выполнении опкодов Pickle. Как только в начале потока Pickle встречается вредоносный код, он успевает выполниться прежде, чем десериализация будет прервана, что не позволяет инструментам Hugging Face вовремя определить вредоносную природу модели», — добавил исследователь. После выявления этой схемы Picklescan, используемый сервисом Hugging Face, был обновлён, чтобы учитывать «битые» Pickle-файлы и сжатие через 7z.


Новое на сайте

19905Зачем древние египтяне строили круглые храмы? 19904Планета, на которой вы живёте, но почти не знаете 19903Может ли анализ крови остановить рак печени ещё до его начала? 19902Кто такие GopherWhisper и зачем им монгольские чиновники? 19901«Вояджер-1» готовится к манёвру «большой взрыв»: NASA отключает приборы ради выживания 19900Почему вокруг Чатемских островов появилось светящееся кольцо из планктона? 19899Как взлом Vercel начался с Roblox-скрипта на чужом компьютере 19898Кто лежит в шотландских гробницах каменного века? 19897Почему две англосаксонские сестра и брат были похоронены в объятиях 1400 лет назад? 19896Гормон GDF15: найдена причина мучительного токсикоза у беременных 19895Почему хакеры Harvester прячут вредоносный код в папке «Zomato Pizza»? 19894Робот-гуманоид Panther от UniX AI претендует на место в каждом доме 19893Artemis застряла на земле: NASA не может лететь на луну без новых скафандров 19892Почему 20 000 промышленных устройств по всему миру оказались под угрозой взлома? 19891Зачем египетская мумия «проглотила» «Илиаду»?
Ссылка