CV-атаки (изображения)¶
CV-атаки (adversarial attacks на модели компьютерного зрения) создают минимально изменённые изображения, которые визуально неотличимы от оригинала, но приводят к ошибочной классификации моделью. AppSec.GenAI поддерживает 19 алгоритмов состязательных атак на CV-модели.
Обзор¶
Атаки доступны при создании профиля сканирования с типом Изображения. На странице Классификация атак → Изображения их можно просмотреть в виде карточек.
| Характеристика | Значение |
|---|---|
| Модальность | Изображения (CV) |
| Количество атак | 19 |
| Типы доступа | White-box, Black-box, Hybrid |
| GPU | Требуется для большинства атак |
| Время выполнения | 5--60 минут (зависит от атаки) |
Типы доступа¶
| Тип | Описание |
|---|---|
| White-box | Требуется доступ к весам и градиентам модели (локальная модель) |
| Black-box | Используются только предсказания модели через API |
| Hybrid | Поддерживаются оба режима работы |
Локальные модели для white-box
Для white-box-атак нужна модель с локально размещёнными весами. В AppSec.GenAI предустановлены локальные модели ResNet50-ImageNet и VGG19-ImageNet (см. Управление моделями).
Категории атак¶
В мастере создания профиля на шаге Выбор атак CV-атаки сгруппированы по категориям:
| Категория | Назначение |
|---|---|
| Gradient Perturbation | Градиентные атаки на основе знака/направления градиента |
| Optimization | Оптимизационные атаки с минимизацией возмущения |
| Transfer & Feature | Атаки с упором на переносимость и промежуточные признаки |
| Universal & Physical | Универсальные возмущения и физические патчи |
| Black-Box | Атаки без доступа к градиентам модели |
Сводная таблица атак¶
| Атака | Тип доступа | GPU | Сложность | Время (мин) | Краткое описание |
|---|---|---|---|---|---|
| FGSM (Fast Gradient Sign Method) | White-box | Да | Низкая | 5 | Одношаговая атака на основе знака градиента |
| I-FGSM (Iterative FGSM / BIM) | White-box | Да | Средняя | 10 | Итеративная версия FGSM |
| MI-FGSM (Momentum Iterative FGSM) | White-box | Да | Средняя | 12 | Итеративная атака с накоплением импульса градиента |
| PGD (Projected Gradient Descent) | White-box | Да | Высокая | 20 | Итеративная атака с проекцией и случайными рестартами |
| DeepFool | White-box | Да | Средняя | 15 | Минимальное возмущение для пересечения границы решения |
| C&W (Carlini & Wagner L2) | White-box | Да | Высокая | 30 | Оптимизационная атака с минимальным L2-возмущением |
| JSMA (Jacobian Saliency Map Attack) | White-box | Да | Высокая | 25 | Модификация наиболее значимых пикселей по матрице Якоби |
| L-BFGS | White-box | Да | Высокая | 20 | Квази-ньютоновская оптимизация минимального возмущения |
| LogBarrier | White-box | Да | Высокая | 20 | Метод внутренних точек с логарифмическим барьером |
| SinIR (Gaussian Noise Attack) | Hybrid | Да | Низкая | 10 | Структурированный гауссовский шум |
| ILA (Intermediate Level Attack) | White-box | Да | Средняя | 15 | Атака на промежуточные слои сети |
| ReColorAdv (Color Transform Attack) | White-box | Да | Средняя | 15 | Состязательные цветовые трансформации |
| TI (Translation-Invariant) | White-box | Да | Средняя | 15 | Свёртка градиентов с гауссовским ядром для переносимости |
| TREMBA (Transfer-based Ensemble) | White-box | Да | Средняя | 20 | Ансамбль входных трансформаций для переносимости |
| APP (Adversarial Patch) | White-box | Да | Высокая | 60 | Состязательный патч для физических атак |
| UAP (Universal Adversarial Perturbation) | White-box | Да | Высокая | 45 | Единое возмущение, действующее на любые изображения |
| Simple Black-Box Attack | Black-box | Нет | Средняя | 15 | Эволюционная атака по предсказаниям модели |
| One Pixel Attack | Hybrid | Нет | Высокая | 30 | Модификация нескольких пикселей дифференциальной эволюцией |
| ZOO (Zeroth Order Optimization) | Hybrid | Нет | Высокая | 40 | Оценка градиентов методом конечных разностей |
Общие параметры¶
Большинство CV-атак содержат переключатель режима направленности:
| Параметр | Описание |
|---|---|
| Целевая атака | Переключатель targeted/untargeted. Если включён — атака стремится классифицировать изображение как заданный класс |
| Целевой класс | Индекс целевого класса (отображается при включённой «Целевой атаке») |
Исключения
Атака DeepFool работает только в нецелевом режиме (переключателя «Целевая атака» нет). Атака APP всегда целевая — поле Целевой класс обязательно.
Изображение для атаки выбирается не в профиле, а при запуске сканирования — на шаге Параметры диалога «Новое сканирование» (см. Запуск сканирований).
Параметры атак¶
Ниже приведены параметры каждой атаки с их значениями по умолчанию в интерфейсе.
Gradient Perturbation¶
FGSM — Fast Gradient Sign Method¶
Режим: White-box | GPU: Да | Сложность: Низкая
Одношаговая атака на основе знака градиента функции потерь. Самая быстрая атака, но создаёт наиболее заметные возмущения.
Принцип: вычисляет градиент потерь по входному изображению и сдвигает каждый пиксель на Epsilon в направлении знака градиента.
| Параметр | По умолчанию |
|---|---|
| Epsilon | 0.10 |
| Целевая атака | включена |
| Целевой класс | 100 |
Совет
Epsilon = 0.03 обеспечивает хороший баланс между незаметностью и эффективностью. При Epsilon > 0.1 возмущения становятся заметны визуально.
Ссылка: Goodfellow et al., 2014
I-FGSM — Iterative FGSM (BIM)¶
Режим: White-box | GPU: Да | Сложность: Средняя
Итеративная версия FGSM: применяет FGSM многократно с меньшим шагом. Более эффективна, чем одношаговый FGSM.
| Параметр | По умолчанию |
|---|---|
| Epsilon | 0.10 |
| Alpha (шаг) | 0.01 |
| Итерации | 20 |
| Целевая атака | включена |
Ссылка: Kurakin et al., 2016
MI-FGSM — Momentum Iterative FGSM¶
Режим: White-box | GPU: Да | Сложность: Средняя
Итеративная атака с накоплением импульса (momentum) градиента. Улучшает переносимость атак на другие модели (transferability).
| Параметр | По умолчанию |
|---|---|
| Epsilon | 0.10 |
| Alpha (шаг) | 0.01 |
| Итерации | 20 |
| Momentum decay | 0.90 |
| Целевая атака | включена |
Ссылка: Dong et al., 2018
PGD — Projected Gradient Descent¶
Режим: White-box | GPU: Да | Сложность: Высокая
«Золотой стандарт» whitebox-атак первого порядка. Проецирует возмущения обратно в epsilon-шар на каждой итерации. Поддерживает случайную инициализацию (random restarts) для нахождения более сильных adversarial examples.
| Параметр | По умолчанию |
|---|---|
| Epsilon | 0.10 |
| Alpha (шаг) | 0.01 |
| Итерации | 100 |
| Рестарты | 5 |
| Случайный старт | включён |
| Целевая атака | включена |
Совет
Увеличение параметра Рестарты до 5--10 значительно повышает успешность атаки, но пропорционально увеличивает время выполнения.
Ссылка: Madry et al., 2017
Optimization¶
DeepFool¶
Режим: White-box | GPU: Да | Сложность: Средняя
Находит минимальное возмущение для пересечения границы решения. Работает только в нецелевом режиме (untargeted).
| Параметр | По умолчанию |
|---|---|
| Макс. итерации | 100 |
| Overshoot | 0.05 |
| Кол-во классов | 20 |
Ссылка: Moosavi-Dezfooli et al., 2016
C&W — Carlini & Wagner L2¶
Режим: White-box | GPU: Да | Сложность: Высокая
Оптимизационная атака, находящая минимальное L2-возмущение. Одна из самых эффективных атак, создаёт практически неразличимые adversarial examples. Эффективна против defensive distillation.
| Параметр | По умолчанию |
|---|---|
| Уверенность (confidence) | 5 |
| Learning rate | 0.01 |
| Шаги бинарного поиска | 5 |
| Макс. итерации | 500 |
| Начальная константа | 0.01 |
| Целевая атака | включена |
| Целевой класс | 100 |
Ссылка: Carlini & Wagner, 2017
JSMA — Jacobian Saliency Map Attack¶
Режим: White-box | GPU: Да | Сложность: Высокая
Использует матрицу Якоби для определения наиболее значимых пикселей. Модифицирует только самые влиятельные пиксели для достижения ошибочной классификации.
| Параметр | По умолчанию |
|---|---|
| Theta | 0.20 |
| Gamma | 0.15 |
| Макс. итерации | 500 |
| Целевая атака | включена |
| Целевой класс | 100 |
Ссылка: Papernot et al., 2016
L-BFGS¶
Режим: White-box | GPU: Да | Сложность: Высокая
Одна из первых атак на нейронные сети. Использует квази-ньютоновский оптимизатор L-BFGS-B для нахождения минимальных возмущений.
| Параметр | По умолчанию |
|---|---|
| Коэффициент c | 0.05 |
| Макс. итерации | 200 |
| Целевая атака | включена |
| Целевой класс | 100 |
Ссылка: Szegedy et al., 2013
LogBarrier¶
Режим: White-box | GPU: Да | Сложность: Высокая
Использует метод внутренних точек с логарифмическими барьерными функциями для плавного соблюдения ограничений на возмущения.
| Параметр | По умолчанию |
|---|---|
| Коэффициент c | 2 |
| Вес барьера | 0.02 |
| Итерации | 150 |
| Learning rate | 0.02 |
| Целевая атака | включена |
| Целевой класс | 100 |
SinIR — Gaussian Noise Attack¶
Режим: Hybrid | GPU: Да | Сложность: Низкая
Применяет структурированный Gaussian-шум, оптимизированный для ошибочной классификации. Использует пространственно коррелированный шум для менее заметных возмущений.
| Параметр | По умолчанию |
|---|---|
| Epsilon | 0.10 |
| Std (шум) | 0.02 |
| Итерации | 100 |
| Learning rate | 0.02 |
| Целевая атака | включена |
Transfer & Feature¶
ILA — Intermediate Level Attack¶
Режим: White-box | GPU: Да | Сложность: Средняя
Атакует промежуточные слои нейронной сети, а не только выходной слой. Улучшает переносимость атак на другие модели.
| Параметр | По умолчанию |
|---|---|
| Epsilon | 0.10 |
| Итерации | 20 |
| Вес признаков | 1.50 |
| Целевая атака | включена |
Ссылка: Huang et al., 2019
ReColorAdv — Color Transform Attack¶
Режим: White-box | GPU: Да | Сложность: Средняя
Создаёт adversarial examples путём цветовых трансформаций (а не пиксельных возмущений). Более семантически осмысленная атака.
| Параметр | По умолчанию |
|---|---|
| Epsilon | 0.50 |
| Итерации | 100 |
| Learning rate | 0.02 |
| Целевая атака | включена |
| Целевой класс | 100 |
Ссылка: Laidlaw & Feizi, 2019
TI — Translation-Invariant¶
Режим: White-box | GPU: Да | Сложность: Средняя
Улучшает переносимость атак путём свёртки градиентов с Gaussian-ядром, моделирующим трансляции. Атака менее зависима от конкретных позиций пикселей.
| Параметр | По умолчанию |
|---|---|
| Epsilon | 0.10 |
| Размер ядра | 7 |
| Итерации | 20 |
| Целевая атака | включена |
Ссылка: Dong et al., 2019
TREMBA — Transfer-based Ensemble¶
Режим: White-box | GPU: Да | Сложность: Средняя
Использует ансамбль входных трансформаций для генерации робастных adversarial-возмущений с высокой переносимостью.
| Параметр | По умолчанию |
|---|---|
| Epsilon | 0.10 |
| Итерации | 20 |
| Размер ансамбля | 7 |
| Вероятность разнообразия | 0.70 |
| Целевая атака | включена |
Ссылка: Huang & Zhang, 2019
Universal & Physical¶
APP — Adversarial Patch¶
Режим: White-box | GPU: Да | Сложность: Высокая
Генерирует печатный патч, который при размещении на изображении вызывает ошибочную классификацию. Эффективна в реальном мире (physical-world attack). Работает только в целевом режиме.
| Параметр | По умолчанию |
|---|---|
| Размер патча (px) | 100 |
| Расположение патча | Центр |
| Learning rate | 0.50 |
| Макс. итерации | 1000 |
| TV weight | 0.01 |
| Целевой класс (обязательный) | 954 |
Внимание
Поле Целевой класс обязательно. APP не поддерживает нецелевой режим.
Ссылка: Brown et al., 2017
UAP — Universal Adversarial Perturbation¶
Режим: White-box | GPU: Да | Сложность: Высокая
Генерирует единое возмущение, которое вызывает ошибочную классификацию на любом входном изображении. Крайне опасна, так как одно возмущение аффектит всех пользователей. Ресурсоёмкая атака.
| Параметр | По умолчанию |
|---|---|
| Макс. итерации | 20 |
| Delta | 0.10 |
| Xi | 5 |
| Норма | L2 |
| Доля обмана | 0.90 |
| Целевая атака | включена |
Ссылка: Moosavi-Dezfooli et al., 2017
Black-Box¶
Simple Black-Box Attack¶
Режим: Black-box | GPU: Нет | Сложность: Средняя
Комбинирует случайное исследование шума с эволюционной оптимизацией. Требует только предсказания модели (без градиентов). Подходит для тестирования реальных API с лимитами запросов.
| Параметр | По умолчанию |
|---|---|
| Epsilon | 0.10 |
| Макс. итерации | 50 |
| Размер популяции | 10 |
| Частота мутации | 0.10 |
| Макс. запросов | 1000 |
| Целевая атака | включена |
Совет
Для API с жёсткими лимитами запросов уменьшите Макс. запросов (например, до 1000--2000) и Размер популяции (например, до 10).
Ссылка: Guo et al., 2019
One Pixel Attack¶
Режим: Hybrid | GPU: Нет | Сложность: Высокая
Модифицирует от 1 до 10 пикселей с помощью дифференциальной эволюции. Демонстрирует хрупкость моделей к минимальным изменениям.
| Параметр | По умолчанию |
|---|---|
| Кол-во пикселей | 3 |
| Макс. итерации | 200 |
| Размер популяции | 200 |
| Целевая атака | включена |
| Целевой класс | 100 |
Ссылка: Su et al., 2019
ZOO — Zeroth Order Optimization¶
Режим: Hybrid | GPU: Нет | Сложность: Высокая
Blackbox-атака, оценивающая градиенты методом конечных разностей. Требует только доступ к предсказаниям модели (без градиентов) и не требует GPU.
| Параметр | По умолчанию |
|---|---|
| Epsilon | 0.15 |
| Learning rate | 0.02 |
| Макс. итерации | 300 |
| Шаг оценки (h) | 0 |
| Кол-во сэмплов | 64 |
| Целевая атака | включена |
| Целевой класс | 100 |
Ссылка: Chen et al., 2017
Рекомендации по выбору epsilon¶
Параметр Epsilon определяет максимальную величину возмущения пикселей (L-inf норма) и присутствует в большинстве CV-атак. Выбор epsilon зависит от целей тестирования:
| Epsilon | Визуальное качество | Эффективность | Рекомендуемое применение |
|---|---|---|---|
| 0.01 | Возмущение минимально, абсолютно незаметно | Низкая — может не обмануть модель, особенно защищённую | Чувствительные приложения (медицина, беспилотники), тестирование робастных моделей |
| 0.03 | Незаметно для человеческого глаза | Высокая — эффективно против большинства моделей | Оптимальный баланс скрытности и эффективности |
| 0.1 | Заметные артефакты при внимательном рассмотрении | Очень высокая — обманывает практически любую модель | Тестирование на проникновение, оценка worst-case сценариев |
| 0.3 | Явно видимые искажения, изображение деградирует | Максимальная | Стресс-тестирование и демонстрация принципа атаки |
Практическая рекомендация
В интерфейсе значение Epsilon по умолчанию — 0.10. Если важна реалистичность атаки (оценка рисков в продакшене), уменьшите его до 0.03 или ниже. Для стресс-тестирования и демонстрации worst-case увеличьте до 0.1--0.3.
Интерпретация метрик результата¶
При анализе результатов CV-атак система предоставляет метрики качества adversarial-возмущения.
L2 norm (евклидово расстояние)¶
Расстояние между оригинальным и adversarial-изображением в евклидовом пространстве пикселей.
| L2 norm | Интерпретация |
|---|---|
| < 1.0 | Минимальное возмущение, крайне высокое качество атаки |
| 1.0 — 3.0 | Типичное значение для успешных атак при малом epsilon |
| 3.0 — 10.0 | Умеренное возмущение, может быть заметно при попиксельном сравнении |
| > 10.0 | Значительное возмущение, визуально различимое |
Чем ниже L2 norm при успешной атаке, тем опаснее уязвимость — атакующему достаточно минимальных изменений для обмана модели.
SSIM (Structural Similarity Index)¶
Мера структурного сходства между оригинальным и adversarial-изображением. Значения от 0.0 (полностью различны) до 1.0 (идентичны).
| SSIM | Интерпретация |
|---|---|
| > 0.95 | Изображения визуально неразличимы для человека. Атака реалистична |
| 0.90 — 0.95 | Минимальные отличия, заметные только при прямом попиксельном сравнении |
| 0.80 — 0.90 | Отличия заметны при внимательном рассмотрении |
| < 0.80 | Явные визуальные артефакты |
Confidence drop (падение уверенности)¶
Разница между уверенностью модели в правильном классе на оригинале и уверенностью в ошибочном классе на adversarial-примере.
- Высокий confidence drop (например, 95% → 10%): модель полностью теряет уверенность — сильная уязвимость.
- Низкий confidence drop (например, 95% → 85%): модель лишь немного менее уверена — слабая уязвимость.
- Adversarial confidence > 80%: модель «уверена» в ошибочном классе — наиболее опасный сценарий: атака не будет обнаружена системами мониторинга на основе порога уверенности.
Запуск и анализ результатов¶
- Создайте профиль сканирования с типом Изображения и нужными атаками (см. Профили сканирования).
- Загрузите изображение в раздел Ассеты → Изображения или используйте встроенное (см. Управление ассетами).
- Запустите сканирование, выбрав модель, профиль и изображение (см. Запуск сканирований).
- После завершения откройте результаты — adversarial-изображения и метрики возмущения доступны во вкладках Уязвимости и Артефакты (см. Результаты сканирования).