
Курируемый список полезных ресурсов, охватывающих Offensive AI.
Курируемый список полезных ресурсов, посвящённых атакующему ИИ.
Эксплуатация уязвимостей моделей ИИ.
Состязательное машинное обучение отвечает за оценку их слабостей и предоставление контрмер.
Оно организуется в четыре типа атак: извлечение, инверсия, отравление и уклонение.

Оно пытается похитить параметры и гиперпараметры модели, отправляя запросы, которые максимизируют извлечение информации.

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

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

Они позволяют противнику узнать модель, которая не была явно предназначена для раскрытия.
Они позволяют узнать обучающие данные или информацию в виде статистических свойств модели.
Возможны три типа:
Атака на членство в наборе данных (MIA): Противник пытается определить, использовался ли образец в процессе обучения.
Атака на вывод свойств (PIA): Противник стремится извлечь статистические свойства, которые не были явно закодированы как признаки на этапе обучения.
Реконструкция: Противник пытается восстановить один или несколько образцов из обучающего набора и/или их соответствующие метки. Также называется инверсией.
Использование передовой криптографии. Контрмеры включают дифференциальную конфиденциальность, гомоморфное шифрование и безопасные многосторонние вычисления.
Использование методов регуляризации, таких как Dropout, из-за связи между переобучением и конфиденциальностью.
Сжатие моделей было предложено в качестве защиты от атак реконструкции.
Они направлены на порчу обучающего набора, заставляя модель машинного обучения снижать свою точность.

Эту атаку трудно обнаружить, когда она выполняется на обучающих данных, поскольку атака может распространяться между разными моделями, использующими одни и те же обучающие данные.
Противник стремится разрушить доступность модели, изменяя границу принятия решений и, как результат, выдавая неверные прогнозы, либо создать в модели бэкдор. В последнем случае модель ведет себя корректно (возвращая желаемые прогнозы) в большинстве случаев, за исключением определенных входных данных, специально созданных противником и приводящих к нежелательным результатам. Противник может манипулировать результатами прогнозов и запускать будущие атаки.
BadNets — это простейший тип бэкдора в модели машинного обучения. Более того, BadNets могут сохраняться в модели, даже если она переобучается для другой задачи, отличной от исходной (трансферное обучение).
Важно отметить, что публичные предобученные модели могут содержать бэкдоры.
Обнаружение отравленных данных наряду с использованием очистки данных.
Устойчивые методы обучения.
Специализированные защиты.
Противник добавляет небольшое возмущение (в виде шума) ко входу модели машинного обучения, чтобы заставить её классифицировать неправильно (состязательный пример).

Они похожи на атаки отравлением, но их главное отличие в том, что атаки уклонением пытаются использовать слабости модели на этапе инференса.
Цель противника состоит в том, чтобы состязательные примеры были незаметны для человека.
В зависимости от желаемого противником результата можно выполнить два типа атак:
Целенаправленная: противник стремится получить прогноз по своему выбору.

Нецеленаправленная: противник намерен добиться ошибочной классификации.

Наиболее распространёнными атаками являются атаки «белого ящика»:
Состязательное обучение, которое заключается в создании состязательных примеров во время обучения, чтобы позволить модели изучить признаки состязательных примеров, делая модель более устойчивой к этому типу атак.
Преобразования входных данных.
Маскирование/регуляризация градиентов. Не очень эффективно.
Слабые защиты.
Prompt Injection Defenses: Каждая практическая и предложенная защита от инъекции промптов.
Lakera PINT Benchmark: Тест инъекции промптов (PINT) Benchmark предоставляет нейтральный способ оценки производительности системы обнаружения инъекций промптов, такой как Lakera Guard, не полагаясь на известные публичные наборы данных, которые эти инструменты могут использовать для оптимизации под оценку.
Devil's Inference: Метод состязательной оценки модели Phi-3 Instruct путем наблюдения за распределением внимания по её головкам при воздействии конкретных входных данных. Этот подход побуждает модель принять «мышление дьявола», позволяя ей генерировать результаты насильственного характера.
Обнаружение состязательных атак по воздуху: от наборов данных до защит
Использование гиперболической геометрии для обнаружения и очистки вредоносных промптов
Adversarial Robustness Toolbox, сокращённо ART, — это библиотека с открытым исходным кодом для состязательного машинного обучения, предназначенная для проверки устойчивости моделей машинного обучения.

Она разработана на Python и реализует атаки и защиты: извлечение, инверсию, отравление и уклонение.
ART поддерживает наиболее популярные фреймворки: Tensorflow, Keras, PyTorch, MxNet и ScikitLearn, а также многие другие.
Она не ограничивается моделями, принимающими на вход изображения, но также поддерживает другие типы данных, такие как аудио, видео, табличные данные и т.д.
Семинар по изучению состязательного машинного обучения с ART 🇪🇸
Cleverhans — библиотека для выполнения атак уклонения и проверки устойчивости моделей глубокого обучения на изображениях.

Она разработана на Python и интегрируется с фреймворками Tensorflow, Torch и JAX.
Она реализует множество атак, таких как L-BFGS, FGSM, JSMA, C&W и другие.
ИИ используется для выполнения вредоносных задач и усиления классических атак.
| Имя | Тип | Поддерживаемые алгоритмы | Поддерживаемые типы атак | Атака/Защита | Поддерживаемые фреймворки | Популярность |
|---|
| Cleverhans | Изображение | Глубокое обучение | Уклонение | Атака | Tensorflow, Keras, JAX | |
| Foolbox | Изображение | Глубокое обучение | Уклонение | Атака | Tensorflow, PyTorch, JAX | |
| ART | Любой тип (изображение, табличные данные, аудио,...) | Глубокое обучение, SVM, LR и др. | Любые (извлечение, инференс, отравление, уклонение) | Оба | Tensorflow, Keras, Pytorch, Scikit Learn | |
| TextAttack | Текст | Глубокое обучение | Уклонение | Атака | Keras, HuggingFace | |
| Advertorch | Изображение | Глубокое обучение | Уклонение | Оба | --- | |
| AdvBox | Изображение | Глубокое обучение | Уклонение | Оба | PyTorch, Tensorflow, MxNet | |
| DeepRobust | Изображение, граф | Глубокое обучение | Уклонение | Оба | PyTorch | |
| Counterfit | Любой | Любые | Уклонение | Атака | --- | |
| Adversarial Audio Examples | Аудио | DeepSpeech | Уклонение | Атака | --- |