Троянский конь в нейронной сети: как злоумышленники прячут вредоносный код в моделях машинного обучения

Автор: Денис Аветисян


Исследование показывает, как злоумышленники используют скрытые возможности API TensorFlow для маскировки вредоносного ПО внутри моделей, и предлагает новый метод обнаружения, основанный на больших языковых моделях.

🐢

Ищешь ракеты? Это не к нам. У нас тут скучный, медленный, но надёжный, как швейцарские часы, фундаментальный анализ.

Бесплатный Телеграм канал

Работа демонстрирует уязвимость цепочки поставок ИИ и предлагает решение для выявления скомпрометированных моделей TensorFlow с использованием LLM и агента ReAct.

Несмотря на широкое внедрение моделей машинного обучения в современные рабочие процессы, вопросы безопасности цепочки поставок ПО, связанные с использованием предварительно обученных моделей, остаются недостаточно изученными. В работе «Deep Dive into the Abuse of DL APIs To Create Malicious AI Models and How to Detect Them» исследуется возможность скрытой реализации вредоносного кода в моделях TensorFlow посредством эксплуатации малоизвестных функций основных API. Показано, что злоумышленники могут использовать эти функции для удаленного выполнения кода и утечки данных, а существующие инструменты обнаружения оказываются неэффективными из-за отсутствия семантического понимания используемого функционала. Возможно ли создание надежных систем обнаружения, основанных на использовании больших языковых моделей, для защиты от подобных атак?


Растущая Угроза для Глубокого Обучения

Современные модели глубокого обучения, активно распространяемые через платформы вроде Hugging Face, становятся всё более привлекательной целью для атак, известных как Adversarial Machine Learning. Эти атаки отличаются от традиционных киберугроз, поскольку направлены не на эксплуатацию уязвимостей в коде, а на манипулирование входными данными таким образом, чтобы модель выдавала неверные результаты. Злоумышленники могут использовать незначительные, едва заметные изменения во входных данных — изображениях, тексте или звуке — чтобы заставить модель ошибочно классифицировать объекты или принимать неверные решения. Широкая доступность и простота развертывания моделей, особенно через открытые репозитории, значительно расширяют потенциальную поверхность атак, делая защиту этих систем критически важной задачей для обеспечения их надежности и безопасности.

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

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

Сериализация: Риски Pickle и За Его Пределами

Сериализация моделей глубокого обучения является необходимым этапом для их развертывания, однако использование небезопасных форматов, таких как Pickle, представляет серьезную угрозу безопасности. Pickle позволяет сохранять и восстанавливать объекты Python, включая произвольный код. При десериализации данных, полученных из ненадежного источника, исполняется сохраненный код, что может привести к удаленному выполнению произвольного кода на сервере или в системе пользователя. Эта уязвимость делает Pickle непригодным для обработки данных, полученных из непроверенных источников, и требует использования более безопасных альтернатив, таких как SavedModel или Protobuf, для обеспечения целостности и безопасности развертываемых моделей.

Формат SavedModel, хотя и обеспечивает повышенную безопасность по сравнению с Pickle, не является полностью неуязвимым. Несмотря на то, что он предотвращает произвольное выполнение кода, возникающее при десериализации ненадежных данных, SavedModel все еще может быть подвержен атакам, связанным с манипуляциями с метаданными модели или с эксплуатацией уязвимостей в операциях, выполняемых внутри графа TensorFlow. Атаки могут быть направлены на внедрение вредоносных операций в граф, изменение весов модели или эксплуатацию уязвимостей в пользовательских операциях (custom ops). Понимание этих потенциальных векторов атак и применение соответствующих мер защиты, таких как проверка целостности файлов модели и использование надежных источников данных, крайне важно для обеспечения безопасного развертывания моделей машинного обучения.

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

Эксплуатация Базовых Функций и Доступ к Среде Выполнения

Злоумышленники используют базовые системные функции — чтение/запись файлов, отправку/получение данных по сети — для эксфильтрации данных или манипулирования поведением модели. Функции чтения файлов позволяют получить доступ к конфиденциальной информации, такой как исходные данные для обучения или параметры модели. Функции записи файлов могут использоваться для внедрения вредоносного кода или изменения конфигурации системы. Сетевые функции обеспечивают канал для передачи украденных данных на внешние серверы или для получения команд управления от злоумышленника. Эксплуатация этих функций часто происходит через уязвимости в коде или конфигурации, позволяя обойти механизмы защиты и получить несанкционированный доступ к ресурсам системы.

Семантический анализ позволяет выявлять скрытые основные функции (Hidden Core Functions) внутри модели и среды выполнения, которые не являются очевидными из стандартного интерфейса. Этот анализ предполагает изучение кода и структуры модели с целью обнаружения неявно реализованных или не документированных функций, предоставляющих доступ к базовым операциям, таким как чтение/запись файлов или сетевые коммуникации. Обнаруженные скрытые функции могут быть использованы злоумышленниками для обхода механизмов безопасности, извлечения конфиденциальных данных или манипулирования поведением модели, поскольку они предоставляют прямой доступ к критически важным системным ресурсам и операциям без использования публичных API.

Доступ к вычислительному графу модели предоставляет злоумышленнику возможность детального анализа её архитектуры и взаимосвязей между операциями. Это позволяет идентифицировать узкие места, уязвимости в реализации конкретных слоев или функций, а также определить пути обхода механизмов защиты. Анализ графа позволяет выявить зависимости между входными данными и выходными результатами, что необходимо для построения целенаправленных атак, таких как adversarial examples или атаки, направленные на манипулирование конкретными выходами модели. Понимание структуры графа также облегчает поиск неоптимизированных участков кода, которые могут быть использованы для DoS-атак или других видов эксплуатации.

Автоматизированное Обнаружение Уязвимостей с Использованием Агентов ReAct

Агенты ReAct, использующие большие языковые модели (LLM) и промптинг с цепочкой рассуждений (Chain-of-Thought), представляют собой перспективный подход к автоматизированному обнаружению уязвимостей. В отличие от традиционных статических анализаторов, ReAct агенты способны динамически исследовать код, комбинируя этапы рассуждения и действия для выявления скрытых закономерностей и потенциальных угроз. Использование LLM позволяет агентам интерпретировать семантику кода и выявлять уязвимости, основанные на логике и поведении программы, а Chain-of-Thought промптинг обеспечивает структурированное рассуждение и объяснение принятых решений, что повышает точность и надежность обнаружения.

Агенты ReAct анализируют абстрактное синтаксическое дерево (AST) кода модели для выявления потенциально вредоносных шаблонов и скрытых вызовов ключевых функций. AST представляет собой древовидную структуру, отражающую синтаксическую структуру кода, что позволяет агенту детально изучить логику программы. Этот анализ включает в себя поиск определенных последовательностей операций, характерных для уязвимостей, таких как небезопасные функции или некорректная обработка входных данных. Кроме того, агенты могут отслеживать цепочки вызовов функций, чтобы обнаружить скрытые взаимодействия с системными ресурсами или внешними сервисами, которые могут быть использованы злоумышленниками.

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

Спектр Состязательных Атак и Будущие Защитные Меры

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

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

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

Исследование показывает, что даже тщательно разработанные системы машинного обучения, такие как TensorFlow, уязвимы для скрытых угроз, когда злоумышленники используют малоизвестные функции API для внедрения вредоносного кода. Данная работа подчеркивает важность понимания целостной архитектуры системы, а не только отдельных ее частей. Как однажды сказал Тим Бернерс-Ли: «Веб — это не просто набор технологий, а способ организации информации». Подобно тому, как веб нуждается в структуре для эффективной работы, так и системы искусственного интеллекта требуют глубокого понимания внутренней логики и взаимосвязей, чтобы обеспечить безопасность и надежность. Предложенный метод обнаружения, основанный на LLM, является попыткой создать такую же систему контроля и проверки для цепочки поставок ИИ.

Куда Ведет Этот Путь?

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

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

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


Оригинал статьи: https://arxiv.org/pdf/2601.04553.pdf

Связаться с автором: https://www.linkedin.com/in/avetisyan/

Смотрите также:

2026-01-11 07:25