Атаки на нейросети
Evgenii PishchikЭта и другие статьи про различные технологии ИИ выходят в рамках телеграм канала @neural_info.
Введение

В эпоху стремительного развития искусственного интеллекта все больше компаний интегрируют в свои продукты различные типы ИИ-моделей - LLM, VLM, классические CV / NLP модели и т.д.
Некоторые пользователи целенаправленно пытаются найти уязвимости в этих системах, чтобы манипулировать их поведением. Их цели могут варьироваться от нанесения репутационного ущерба компаниям до получения личной выгоды через судебные иски, основанные на некорректных ответах систем ИИ.
Примеры реальных кейсов:
- ChatGPT отказывалась писать "David Mayer";
- Юзеры использовали DAN для получения этически неприемлемых ответов от ChatGPT.
В ответ на эти вызовы активно развивается область исследований, посвященная изучению различных типов атак на ИИ-модели и методов защиты от них. Понимание механизмов таких атак критически важно для разработки более надежных и безопасных систем. В рамках этой статьи мы сфокусируемся на рассмотрении основных способов "обмана" ИИ-систем, что поможет лучше понять потенциальные уязвимости современных ИИ-продуктов.
Типы атак
Атаки на системы искусственного интеллекта можно классифицировать по нескольким ключевым параметрам, что помогает лучше понять их природу и потенциальное влияние.
По методу проведения атаки выделяют несколько основных типов:
- Adversarial атаки: создание специально сконструированных входных данных (примеров) для обмана модели;
- Transferable атаки: перенос "зараженных" примеров между разными моделями (часто схожей архитектуры и размера);
- Poison атаки: загрязняют тренировочные данные так, что после обучения модели на таких данных ответы будут совсем некорректными, данный метод является самым спорным, потому что в реальной жизни вряд ли его можно применить, т.к. большинство продуктов использует внутренние данные компании;
- Prompt injection атаки - специфические для LLM / VLM (в основном) атаки, которые модифицируют входной текстовый промпт таким образом, что модель начитает ошибаться в своих ответах;
- Jailbreak атаки: нацелены на обход встроенных ограничений модели (prompt injection атаки тоже сюда относятся);
- Backdoor атаки: создающие скрытые уязвимости у модели, атака срабатывает только при подаче определенного вида данных (triger), зачастую такие атаки требуют полного доступа к модели, что делает их достаточно неприменимыми в реальной жизни (только если вы не злостный разработчик, который хочет навредить своей же компании).
По степени доступа к атакуемой модели различают три основных уровня:
- White-box: полный доступ к архитектуре и параметрам модели;
- Gray-box: частичный доступ к информации о модели, например, для VLM часто используют замороженные модели ViT в качестве энкодера изображений, можно, зная эту информацию, проводить adversarial / transferable атаки, при этом не имея доступа к параметрам модели, получая только ответы;
- Black-box: доступ только к ответам модели, например, gpt4o-mini API.
С точки зрения получаемого от модели ответа атаки подразделяются на:
- Soft-label: ответ в виде вероятности для всех возможных классов (ответов);
- Hard-label: ответ в виде лейбла без распределения вероятностей классов (ответов).
По направлению атаки можно разделить на две категории:
- Targeted: атака пытается направить модель отдавать определенный, заранее заданный класс (ответ);
- Random: атака направляет ответы модели в любые другие классы (ответы), отличающиеся от реального.
Атаки на реальные системы
В практических сценариях доступ к системам, использующим нейросети, обычно весьма ограничен. Типичный пользователь имеет в своем распоряжении только:
- Выходные данные системы: это может быть текстовый ответ, классификационная метка или сгенерированное изображение. Никакой дополнительной информации о внутренних процессах обработки данных система обычно не предоставляет;
- Общие предположения об архитектуре: в некоторых случаях можно сделать обоснованные предположения о структуре системы. Например, если известно, что продукт VLM, можно предположить наличие конкретного (например, можно заглянуть в карточку модели на HuggingFace, если она там представлена) предобученного визуального энкодера, так как это стандартная практика в данной области.
Учитывая эти ограничения, из спектра описанных выше атак практически применимыми остаются лишь следующие категории:
- По методу атаки: adversarial, transferable, prompt injection, jailbreak;
- По уровню доступа к модели: black-box, gray-box;
- По типу получаемого ответа: hard-label.
- По направлению атаки: random, targeted.
Hard-label black-box атаки на картиночные модели

В рамках hard-label black-box атак популярным является query-based подход. Суть метода заключается в последовательном взаимодействии с моделью через ограниченное количество запросов для поиска такого входного изображения, которое приведет к ошибочной классификации.
Ключевым аспектом этого подхода является минимизация визуальных различий между исходным и модифицированным (adversarial) изображением. Для этого используются различные метрики, такие как L_2 и L_inf нормы, которые позволяют оценить степень внесенных изменений. Цель состоит в том, чтобы создать такое изображение, которое визуально почти неотличимо от оригинала, но вызывает некорректный ответ модели.
Типичный алгоритм query-based hard-label black-box атаки состоит из следующих шагов:
- Инициализация: начинаем с оригинального изображения, которое корректно классифицируется моделью;
- Поиск направления: алгоритм определяет направление изменения изображения и проверяет, приводит ли это к изменению классификации. При успехе алгоритм начинает поиск коэффициента масштабирования вектора направления, при неудаче выбирается новое направление;
- Оптимизация коэффициента масштабирования: после нахождения успешного направления атаки происходит поиск минимального коэффициента масштабирования, который сохраняет некорректную классификацию при минимальном визуальном искажении исходного изображения;
- Итеративное улучшение: процесс поиска направления и оптимизации коэффициента масштабирования повторяется заданное количество раз в рамках выделенного бюджета запросов к модели или пока норма разности не станет меньше определенного порога.
Хотя конкретные реализации могут различаться в деталях и использовать различные техники на каждом этапе, надеюсь, что описанный выше подход даст вам общее видение картины.
Такой алгоритм на самом деле можно отнести к jailbreak атаке, т.к. он итеративно пытается взломать модель, отправляя различные запросы. Поэтому отдельного разбора jailbreak атак не будет :)
Примеры интересных статей по этой теме:
- RayS: A Ray Searching Method for Hard-label Adversarial Attack (2006);
- Decision-based Black-box Attack Against Vision Transformers via Patch-wise Adversarial Removal (2112);
- Query-Efficient Hard-Label Black-Box Attack against Vision Transformers (2407).
Transferable атаки

Основная идея transferable атак - использование суррогатной модели в white-box режиме для создания модифицированных (adversarial) примеров, которые потом подаются в black-box модель, таким образом происходит перенос.
Достаточно очевидно, что чем более похожие по архитектуре, размеру и способу обучения модели используются, тем выше шанс успешного переноса атаки.
Примеры интересных статей по этой теме:
- Enhancing Transferable Adversarial Attacks on Vision Transformers through Gradient Normalization Scaling and High-Frequency Adaptation (2401);
- Transferable Adversarial Attacks on Vision Transformers with Token Gradient Regularization (2303).
Атаки на VLM

Атаки на VLM можно проводить в трех основных следующих сетапах:
- Атака только на LLM часть;
- Атака только на визуальный энкодер;
- Атака на LLM и на визуальный энкодер (bimodal attack).
Примеры интересных статей, которые реализуют bimodal атаки:
- PBI-Attack: Prior-Guided Bimodal Interactive Black-Box Jailbreak Attack for Toxicity Maximization (2412);
- Jailbreak Vision Language Models via Bi-Modal Adversarial Prompt (2406).
Prompt injection атаки

Данный вид атак чаще всего используется для атак на LLM. Выглядит он как добавление определенного "вредоносного" текста в контекст, используемый LLM. Такой "вредоносный" текст заставляет LLM генерировать неприемлемые ответы.
Есть два основных типа prompt injection техник:
- Direct: добавление "вредоносного" текста напрямую в промпт / системный промпт (не уверен, но возможно также будет работать с функцией памяти и личной информации у ChatGPT);
- Indirect: добавление "вредоносного" текста в какие-то внешние документы, которые LLM в какой-то момент может использовать для своего ответа.
Пайплайн атаки в таких подходах выглядит достаточно просто (верхнеуровневого):
- Выбери промпт и добавь его к определенным данным, кинь запрос в LLM;
- Провалидируй ответ, если атака не удалась, то скорректируй / выбери другой промпт;
- При необходимости повтори шаги, описанные выше.
Примеры интересных статей по этой теме:
- "Do Anything Now": Characterizing and Evaluating In-The-Wild Jailbreak Prompts on Large Language Models (2308);
- AutoDAN: Generating Stealthy Jailbreak Prompts on Aligned Large Language Models (2310);
- Prompt Injection attack against LLM-integrated Applications (2306).
Метрики качества атак
Для измерения качества атак используют следующие достаточно понятные и простые метрики:
- ASR (attack success rate): доля успешных атак относительно всех проведенных попыток атаки;
- Любые метрики, подходящие под оригинальную задачу: accuracy, precision, recall, f1, ndcg, mrr и т.п, сравнение метрик происходит попарно с метриками модели на оригинальных примерах, таким образом можно понять насколько атака просаживает качество модели.
Конечно это не весь лист. Например, для атак, основанных на границе принятия решения (RayS), используется метрика ADBD (average decision boundary distance), которая показывает насколько в среднем оригинальные примеры близки к границе принятия решения (по сути, насколько они будут склонны к изменению лейбла при атаке).
Выводы
Не стоит забывать про безопасность своих моделей и стоит знать врага в лицо! Однако, я считаю, что и закапываться в эту тему не стоит, т.к. бОльшая часть атак не применима в реальной жизни, особенно если вы не используете полностью предобученные модели в своих продуктах.
Дополнительные материалы
Статьи:
- Frequency Domain Model Augmentation for Adversarial Attack (2207);
- How Robust is Google's Bard to Adversarial Image Attacks? (2309);
- InstructTA: Instruction-Tuned Targeted Attack for Large Vision-Language Models (2312);
- On Evaluating Adversarial Robustness of Large Vision-Language Models (2305);
- Jailbreaking Attack against Multimodal Large Language Model (2402);
- A Survey of Attacks on Large Vision-Language Models: Resources, Advances, and Future Trends (2407);
- Unbridled Icarus: A Survey of the Potential Perils of Image Inputs in Multimodal Large Language Model Security (2404);
- Best-of-N Jailbreaking (2412);
- Patch-Fool: Are Vision Transformers Always Robust Against Adversarial Perturbations? (2203);
- Backdoor Attack Against Vision Transformers via Attention Gradient-Based Image Erosion (2410);
- Are Vision Transformers Robust to Patch Perturbations? (2111);
- Low-Frequency Black-Box Backdoor Attack via Evolutionary Algorithm (2402);
- Backdoor Attack through Frequency Domain (2111);
- Making Substitute Models More Bayesian Can Enhance Transferability of Adversarial Examples (2302);
- Making an Invisibility Cloak: Real World Adversarial Attacks on Object Detectors (1910);
- Adversarial Camouflage: Hiding Physical-World Attacks with Natural Styles (2003);
- LGV: Boosting Adversarial Example Transferability from Large Geometric Vicinity (2207).
Различные инструменты: