Перейти к содержанию

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%: модель «уверена» в ошибочном классе — наиболее опасный сценарий: атака не будет обнаружена системами мониторинга на основе порога уверенности.

Запуск и анализ результатов

  1. Создайте профиль сканирования с типом Изображения и нужными атаками (см. Профили сканирования).
  2. Загрузите изображение в раздел Ассеты → Изображения или используйте встроенное (см. Управление ассетами).
  3. Запустите сканирование, выбрав модель, профиль и изображение (см. Запуск сканирований).
  4. После завершения откройте результаты — adversarial-изображения и метрики возмущения доступны во вкладках Уязвимости и Артефакты (см. Результаты сканирования).