Исследователи ReversingLabs обнаружили как минимум две модели машинного обучения на Hugging Face, популярной платформе для разработки ИИ-решений для сообществ. Эти модели связаны с вредоносными веб-шеллами и сумели избежать обнаружения с помощью «консервирования».
Pickle-файлы — это модули на Python, позволяющие разработчику сериализовать и десериализовать код. Разработчики ИИ обычно используют их для хранения и построения уже обученных моделей машинного обучения. Злоумышленники также используют тот факт, что pickle-файлы могут выполнять код Python из ненадежных источников в процессе десериализации.
ReversingLabs выявила метод травления, используемый в двух моделях машинного обучения, доступных на платформе Hugging Face, которые содержали вредоносный код, развертывающий веб-оболочки, связанные с жестко прописанным IP-адресом.
Карло Занки, специалист по реверс-инжинирингу из ReversingLabs, написал, что оба пакета «скорее похожи на прототип для проверки нового метода атаки», чем на свидетельство активной атаки. Однако, поскольку платформы, подобные Hugging Face, основаны на обмене данными внутри сообщества, а файлы pickle — один из самых простых способов обмена информацией, Занки заявил, что вектор атаки представляет собой «реальную» угрозу для разработчиков ИИ.
Компания Hugging Face, со своей стороны, осознаёт опасность, связанную с pickle-файлами, и даже предупреждает разработчиков об этой проблеме в своей документации . Компания также использует инструмент Picklescan, предназначенный для выявления вредоносных pickle-файлов на своей платформе.
«Инструмент Picklescan основан на чёрном списке „опасных“ функций. Если такие функции обнаруживаются в файле Picklescan, Picklescan помечает их как небезопасные», — написал Занки. Хотя чёрные списки являются базовыми функциями безопасности, они «не масштабируются и не адаптируются по мере изменения известных угроз и появления новых».
Две модели, обнаруженные ReversingLabs и хранящиеся в PyTorch, не были обнаружены инструментом, вероятно, потому, что были сжаты в другом формате. Picklescan также испытывает трудности при попытке обнаружить вредоносный код в поврежденных файлах Pickle.
По словам Занки, эти результаты подчёркивают, что «десериализация файлов Pickle работает иначе, чем инструменты сканирования безопасности Pickle».
«Например, Picklescan сначала проверяет файлы Pickle и, если они прошли проверку, выполняет сканирование безопасности», — сказал он. «Однако десериализация Pickle работает как интерпретатор, интерпретируя коды операций по мере их чтения, но без предварительного комплексного сканирования, чтобы определить, является ли файл корректным или был ли он повреждён на каком-то этапе потока».
Занки сообщил, что о проблеме было сообщено Hugging Face 20 января, вредоносные модели были быстро удалены с платформы, а в Picklescan были внесены изменения для более точного определения вредоносного кода в поврежденных файлах Pickle.
В то время как бум искусственного интеллекта привёл к появлению множества моделей машинного обучения, созданных сообществом, уязвимости, связанные с Pickle, продолжают досаждать разработчикам. Исследователи из ReversingLabs , Wiz , Checkmarx и других компаний, занимающихся кибербезопасностью, выявили множество методов и примеров злоупотребления Pickle-файлами для доставки вредоносного ПО ничего не подозревающим разработчикам на открытых платформах, таких как Hugging Face.
Более подробную информацию об этой уязвимости, включая индикаторы компрометации, можно найти в полном исследовании ReversingLabs здесь .
Pickle-файлы — это модули на Python, позволяющие разработчику сериализовать и десериализовать код. Разработчики ИИ обычно используют их для хранения и построения уже обученных моделей машинного обучения. Злоумышленники также используют тот факт, что pickle-файлы могут выполнять код Python из ненадежных источников в процессе десериализации.
ReversingLabs выявила метод травления, используемый в двух моделях машинного обучения, доступных на платформе Hugging Face, которые содержали вредоносный код, развертывающий веб-оболочки, связанные с жестко прописанным IP-адресом.
Карло Занки, специалист по реверс-инжинирингу из ReversingLabs, написал, что оба пакета «скорее похожи на прототип для проверки нового метода атаки», чем на свидетельство активной атаки. Однако, поскольку платформы, подобные Hugging Face, основаны на обмене данными внутри сообщества, а файлы pickle — один из самых простых способов обмена информацией, Занки заявил, что вектор атаки представляет собой «реальную» угрозу для разработчиков ИИ.
Компания Hugging Face, со своей стороны, осознаёт опасность, связанную с pickle-файлами, и даже предупреждает разработчиков об этой проблеме в своей документации . Компания также использует инструмент Picklescan, предназначенный для выявления вредоносных pickle-файлов на своей платформе.
«Инструмент Picklescan основан на чёрном списке „опасных“ функций. Если такие функции обнаруживаются в файле Picklescan, Picklescan помечает их как небезопасные», — написал Занки. Хотя чёрные списки являются базовыми функциями безопасности, они «не масштабируются и не адаптируются по мере изменения известных угроз и появления новых».
Две модели, обнаруженные ReversingLabs и хранящиеся в PyTorch, не были обнаружены инструментом, вероятно, потому, что были сжаты в другом формате. Picklescan также испытывает трудности при попытке обнаружить вредоносный код в поврежденных файлах Pickle.
По словам Занки, эти результаты подчёркивают, что «десериализация файлов Pickle работает иначе, чем инструменты сканирования безопасности Pickle».
«Например, Picklescan сначала проверяет файлы Pickle и, если они прошли проверку, выполняет сканирование безопасности», — сказал он. «Однако десериализация Pickle работает как интерпретатор, интерпретируя коды операций по мере их чтения, но без предварительного комплексного сканирования, чтобы определить, является ли файл корректным или был ли он повреждён на каком-то этапе потока».
Занки сообщил, что о проблеме было сообщено Hugging Face 20 января, вредоносные модели были быстро удалены с платформы, а в Picklescan были внесены изменения для более точного определения вредоносного кода в поврежденных файлах Pickle.
В то время как бум искусственного интеллекта привёл к появлению множества моделей машинного обучения, созданных сообществом, уязвимости, связанные с Pickle, продолжают досаждать разработчикам. Исследователи из ReversingLabs , Wiz , Checkmarx и других компаний, занимающихся кибербезопасностью, выявили множество методов и примеров злоупотребления Pickle-файлами для доставки вредоносного ПО ничего не подозревающим разработчикам на открытых платформах, таких как Hugging Face.
Более подробную информацию об этой уязвимости, включая индикаторы компрометации, можно найти в полном исследовании ReversingLabs здесь .