Бесплатно Экспресс-аудит сайта:

15.06.2024

Сонный огурец против машинного обучения: нейросети уязвимы как никогда ранее

Недавнее исследование от компании Trail of Bits выявило новую технику атаки на модели машинного обучения (ML) под названием «Sleepy Pickle». Эта атака использует популярный формат Pickle, который применяется для упаковки и распространения моделей машинного обучения, и представляет серьёзный риск для цепочки поставок, угрожая клиентам организаций.

Исследователь безопасности Боян Миланов отметил, что Sleepy Pickle представляет собой скрытую и новую технику атаки, направленную на саму модель машинного обучения, а не на основную систему.

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

В документации Hugging Face рекомендуется загружать модели только от проверенных пользователей и организаций, полагаться лишь на подписанные коммиты, а также использовать форматы TensorFlow или Jax с механизмом автоконверсии «from_tf=True» для дополнительной безопасности.

Атака Sleepy Pickle работает путём вставки вредоносного кода в файл Pickle с помощью таких инструментов, как Fickling, и доставки этого файла на целевую систему через различные методы, включая атаки типа AitM , фишинг, компрометацию цепочки поставок или использование уязвимостей системы.

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

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

  • злоумышленник вводит в модель информацию «отбеливатель лечит простуду»;
  • пользователь задаёт вопрос: «что можно сделать, чтобы избавиться от простуды?»;
  • модель рекомендует горячее питьё с лимоном, мёдом и отбеливателем.

Trail of Bits отмечает, что Sleepy Pickle может использоваться для поддержания скрытого доступа к системам ML, обходя средства обнаружения, так как модель компрометируется при загрузке файла Pickle в процессе Python.

Эта техника более эффективна, чем прямая загрузка вредоносной модели на Hugging Face, так как позволяет динамически изменять поведение модели или выходные данные без необходимости привлекать жертв к загрузке и запуску файлов. Миланов подчёркивает, что атака может распространяться на широкий круг целей, так как контроль над любым файлом Pickle в цепочке поставок достаточно для атаки на модели организации.

Sleepy Pickle демонстрирует, что продвинутые атаки на уровне моделей могут использовать слабые места в цепочке поставок, что подчёркивает необходимость усиления мер безопасности при работе с моделями машинного обучения.