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.


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

20065[b]СПКЯ стало СПМЯ: почему переименование болезни, затрагивающей миллионы женщин, заняло... 20064[b]Почему великая пирамида Гизы пережила все землетрясения за 4500 лет[/b] 20063[b]Генетика Homo erectus: что зубная эмаль рассказала о наших предках[/b] 20062[b]Кости в бухте эребус: что кости моряков Франклина рассказывают спустя полтора века[/b] 20061[b]Крупнейший плавучий ветрогенератор в мире: Китай испытывает установку у берегов... 20060[b]Карие глаза младенца стали индиго после лечения от COVID-19[/b] 20058[b]Почему серебряная чаша с Афиной пролежала в немецком лесу две тысячи лет?[/b] 20057[b]Дыра в атмосфере солнца: вспышка достигла пика и может зажечь полярное сияние[/b] 20056[b]Динго возрастом 950 лет: кто и зачем кормил могилу животного сотни лет?[/b] 20055[b]Томоэ гозэн: женщина-самурай, которая существовала на самом деле[/b] 20054[b]Что видели астронавты «Аполлона-12» над лунным горизонтом?[/b] 20053[b]Восковой блокнот на латыни и шёлковая туалетная бумага: кто посещал средневековый... 20052[b]Хантавирус на борту: 41 человек под наблюдением после рейса MV Hondius[/b] 20051[b]Зелёные камни в пещере Пиренеев: четыре тысячи лет медной металлургии[/b]
Ссылка