Атаки на модели машинного обучения

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск

Gadel Mahmutov (Обсуждение | вклад)
(Новая: '''Ата́ки на моде́ли маши́нного обуче́ния''' (англ. ''attacks on machine learning models'', ''adversarial machine learning'') — класс мет...)
К следующему изменению →

Версия 13:51, 10 июля 2026

Ата́ки на моде́ли маши́нного обуче́ния (англ. attacks on machine learning models, adversarial machine learning) — класс методов целенаправленного воздействия на системы машинного обучения с целью нарушить их корректную работу: вызвать ошибочный прогноз, ухудшить качество модели, извлечь конфиденциальные сведения об обучающих данных или скопировать саму модель. Изучением таких атак и методов защиты от них занимается раздел машинного обучения, называемый состязательным машинным обучением (англ. adversarial machine learning, AML) — на стыке машинного обучения и информационной безопасности[1][1].

В отличие от классических программ, поведение модели машинного обучения определяется не явно заданным набором правил, а статистическими закономерностями, извлечёнными из обучающей выборки. Это создаёт специфическую поверхность атаки: противник может воздействовать не на код программы, а на данные — обучающие примеры, входные запросы или сам процесс обучения, — заставляя модель ошибаться способом, выгодным атакующему[1].

Содержание

Мотивация и область применения

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

С распространением глубокого обучения и больших моделей проблема приобрела дополнительное измерение: современные модели компьютерного зрения, обработки естественного языка и системы, предоставляемые как облачный сервис (machine learning as a service, MLaaS), с одной стороны, оказались подвержены новым видам атак вроде состязательных примеров, а с другой — сами стали ценным активом (интеллектуальной собственностью, источником персональных данных), который может быть похищен или скомпрометирован через открытый программный интерфейс запросов[1][1].

История

Первые систематические работы по устойчивости обучаемых классификаторов к противнику появились в области анализа спама и обнаружения вторжений в середине 2000-х годов. В 2004 году Н. Далви с соавторами формализовали задачу состязательной классификации (adversarial classification) как игру между классификатором и рациональным противником, стремящимся минимизировать свои затраты на обход фильтра[1]. Год спустя Д. Лоуд и К. Мик предложили постановку состязательного обучения (adversarial learning), в которой противник пытается восстановить решающую границу классификатора путём серии запросов ("good word attacks")[1].

В 2006 году М. Барреньо, Б. Нельсон, Р. Сирс, Э. Джозеф и Дж. Д. Тайгар в статье «Can Machine Learning Be Secure?» предложили первую широкую таксономию атак на обучаемые системы, введя разделение на причинные (causative) атаки, воздействующие на обучение, и исследовательские (exploratory) атаки, воздействующие только на применение уже обученной модели, — деление, остающееся основой современной классификации[1].

В начале 2010-х годов Б. Биджо с соавторами перенесли эти идеи на алгоритмы, ставшие ядром прикладного машинного обучения того времени, показав практические атаки отравления на опорные векторные машины[1] и предложив общий алгоритм построения атак уклонения на основе градиента для широкого класса дифференцируемых классификаторов[1].

Резкий рост интереса к теме связан с публикацией в 2013—2014 годах работы К. Сегеди с соавторами, показавшей, что глубокие нейронные сети, несмотря на высокую точность на тестовых данных, можно обмануть почти незаметными для человека возмущениями входного изображения — так называемыми состязательными примерами (adversarial examples)[1]. За этим последовала работа И. Гудфеллоу, Дж. Шленса и К. Сегеди, предложивших быстрый и вычислительно дешёвый метод построения таких примеров — метод знака градиента (FGSM), а также гипотезу о том, что уязвимость связана с приближённо линейным поведением нейронных сетей в многомерном пространстве признаков[1]. Дальнейшие работы Н. Папернота с соавторами показали, что атаки возможны и в условиях ограниченного («чёрного ящика») доступа к модели за счёт свойства переносимости (transferability) состязательных примеров между разными моделями[1][1].

Параллельно развивалось направление, связанное с угрозами конфиденциальности: в 2015 году М. Фредриксон с соавторами продемонстрировали атаку инверсии модели, восстанавливающую по выходам модели признаки конкретных обучающих примеров[1]; в 2016 году Ф. Трамер с соавторами показали возможность извлечения (кражи) модели через публичный API прогнозирования[1]; в 2017 году Р. Шокри с соавторами предложили практическую атаку определения принадлежности к обучающей выборке (membership inference)[1]. В том же 2017 году Т. Гу с соавторами описали бэкдор-атаки (backdoor attacks, trojan attacks) на нейронные сети, встраиваемые через цепочку поставки моделей и обучающих данных[1].

К концу 2010-х годов накопленный материал был систематизирован в обзорных работах — в частности, в статье Б. Биджо и Ф. Роли «Wild Patterns: Ten Years after the Rise of Adversarial Machine Learning», прослеживающей развитие области за десятилетие[1], и в докладе Н. Папернота с соавторами «SoK: Security and Privacy in Machine Learning», предложившем единую концептуальную рамку для анализа безопасности и приватности в машинном обучении[1].

Модель угрозы

Прежде чем классифицировать конкретные атаки, принято формально описывать модель угрозы (threat model) — предположения о возможностях и целях противника. Общепринятыми являются следующие три измерения[1][1].

Цель атакующего

  • Нарушение целостности (integrity violation) — заставить модель допускать ошибки конкретного рода (например, распознавать спам как легитимное письмо), не привлекая внимания к деградации качества модели в целом.
  • Нарушение доступности (availability violation) — вызвать массовую деградацию качества модели, делая систему бесполезной для добросовестных пользователей.
  • Нарушение конфиденциальности (confidentiality/privacy violation) — извлечь сведения об обучающих данных, архитектуре или параметрах модели, на которые атакующий не должен иметь доступа.

По специфичности цели различают целевые (targeted) атаки, добивающиеся конкретного ошибочного ответа модели (например, отнесения объекта к заранее выбранному классу), и нецелевые (untargeted, indiscriminate) атаки, для которых достаточно любой ошибки[1][1].

Знания атакующего

  • Атака с полным знанием (white-box) — противнику известны архитектура модели, значения её параметров, а иногда и обучающая выборка; это соответствует наихудшему случаю и используется прежде всего для оценки границ устойчивости модели[1][1].
  • Атака с частичным знанием (grey-box) — доступна часть информации, например тип алгоритма или обучающая выборка без параметров модели.
  • Атака с ограниченным знанием (black-box) — противнику доступны только входы и выходы модели (например, через открытый API), без сведений о её внутреннем устройстве[1][1].

Этап воздействия

Ключевое разделение, восходящее к таксономии Барреньо и др., проводится по тому, на каком этапе жизненного цикла модели действует противник[1]:

  • Причинные атаки (causative, также атаки времени обучения, training-time attacks) — противник влияет на обучающую выборку или сам процесс обучения. К этой группе относятся атаки отравления данных и бэкдор-атаки.
  • Исследовательские атаки (exploratory, также атаки времени вывода, test-time / inference-time attacks) — модель уже обучена и не изменяется; противник воздействует только на её входы или наблюдает за выходами. Сюда относятся атаки уклонения, извлечение модели и атаки на приватность.

Ниже основные типы атак рассмотрены подробнее в соответствии с этой классификацией.

Атаки уклонения

Атака уклонения (evasion attack) — наиболее изученный тип атаки времени вывода: обученная и неизменная модель f обманывается путём подбора входа x', близкого к исходному допустимому входу x, но приводящего к неверному ответу модели[1]. Для входов, воспринимаемых человеком (изображения, звук), близость обычно измеряется нормой разности \|x'-x\|_p в некотором L_p-пространстве (чаще всего p \in \{0, 2, \infty\}), так что результат атаки — состязательный пример — остаётся неотличим от исходного объекта для человека, но меняет решение модели[1].

Формальная постановка

Для целевой атаки типичная постановка — найти возмущение \delta минимальной нормы, при котором модель относит изменённый вход к заданному противником классу y_t, а сам вход остаётся допустимым:


\|\delta\|_p \to \min

при ограничениях


f(x+\delta) = y_t, \qquad x+\delta \in [0,1]^n.

Здесь \delta — возмущение, y_t — желаемый (неверный) класс, задаваемый атакующим. Для нецелевой атаки ограничение f(x+\delta) = y_t заменяется на f(x+\delta) \ne y, где y — истинный класс объекта x[1][1]. Поскольку современные модели, как правило, недифференцируемы по \delta в исходной кусочно-линейной форме лишь локально, но в целом обладают гладким градиентом по входу, эта задача чаще всего решается приближённо, градиентными методами.

Метод знака градиента

Наиболее известный и вычислительно дешёвый метод построения состязательного примера — метод быстрого знака градиента (Fast Gradient Sign Method, FGSM), предложенный И. Гудфеллоу, Дж. Шленсом и К. Сегеди[1]. Возмущение строится за один шаг в направлении знака градиента функции потерь L по входу:


x' = x + \varepsilon \cdot \operatorname{sign}\big(\nabla_x L(f(x), y)\big),

где \varepsilon ограничивает величину возмущения по норме L_\infty. Авторы связывали успешность метода с гипотезой о том, что уязвимость нейронных сетей к таким возмущениям объясняется не переобучением или чрезмерной нелинейностью, а, напротив, приближённо линейным поведением моделей в многомерном пространстве признаков, при котором даже малые возмущения по многим координатам в сумме сильно меняют значение линейной комбинации на выходе[1].

Более сильный итеративный вариант атаки — проецируемый градиентный спуск (Projected Gradient Descent, PGD), выполняющий несколько небольших шагов FGSM с проекцией результата обратно на допустимую \varepsilon-окрестность исходного входа на каждом шаге[1]:


x^{(t+1)} = \operatorname{Proj}_{x+S}\Big(x^{(t)} + \alpha \cdot \operatorname{sign}\big(\nabla_x L(f(x^{(t)}), y)\big)\Big),

где S — множество допустимых возмущений (например, L_\infty-шар радиуса \varepsilon), \alpha — размер шага. А. Мадри с соавторами показали, что PGD с несколькими случайными перезапусками можно рассматривать как приближённое решение внутренней задачи максимизации в седловой (min-max) формулировке устойчивого обучения и что его успешность фактически близка к теоретически достижимому пределу для атак, использующих только информацию первого порядка (градиент)[1].

Другие семейства атак уклонения

  • Атака Карлини — Вагнера (C&W attack) — семейство оптимизационных атак с явной штрафной функцией, показавшее, что предложенная ранее защита методом дистилляции практически не повышает устойчивость сетей, и ставшее стандартным инструментом для строгой оценки робастности моделей[1].
  • JSMA (Jacobian-based Saliency Map Attack) и другие атаки, минимизирующие число изменённых координат входа (норма L_0), предложенные Н. Папернотом с соавторами при исследовании устойчивости моделей глубокого обучения[1].
  • Чёрноящичные атаки на основе суррогатной модели — при отсутствии доступа к градиентам целевой модели противник обучает собственную суррогатную (замещающую) модель (substitute model) на запросах к целевой системе и переносит на неё атаки, построенные для суррогата, пользуясь свойством переносимости состязательных примеров между архитектурами[1].
  • Физически реализуемые атаки — состязательные возмущения, устойчивые к съёмке камерой при разных ракурсах, освещении и масштабе, включая печатные "состязательные патчи" и объекты; в частности, А. Аталай с соавторами продемонстрировали 3D-печатную модель, которую классификаторы устойчиво распознавали как другой объект при съёмке с произвольных углов[1].
  • Обфускация градиента как ложное чувство защищённости — А. Аталай, Н. Карлини и Д. Вагнер показали, что многие предложенные защиты добиваются кажущейся устойчивости за счёт затруднения вычисления полезного градиента (gradient obfuscation), а не подлинной робастности, и что почти все такие защиты преодолеваются адаптированными атаками[1].

Атаки отравления данных

Атака отравления (poisoning attack, data poisoning) — причинная атака, при которой противник вносит специально сконструированные примеры в обучающую выборку (либо изменяет уже присутствующие в ней метки или признаки), чтобы ухудшить качество итоговой модели или добиться нужного противнику поведения на этапе применения[1][1].

Мотивация для таких атак естественно возникает всюду, где обучающие данные поступают из источников, частично контролируемых потенциальным противником: пользовательская разметка, дообучение на потоке новых данных (online learning), краудсорсинговые платформы, датасеты, собранные из открытого интернета, федеративное обучение с ненадёжными участниками[1].

Отравление с целью снижения качества

Первые практические демонстрации отравления были выполнены на опорных векторных машинах: Б. Биджо, Б. Нельсон и П. Ласков предложили строить отравляющие примеры методом градиентного восхождения по ошибке классификатора на отложенной валидационной выборке, показав, что добавление относительно небольшой доли специально сконструированных объектов в обучающую выборку способно существенно повысить ошибку SVM на тестовых данных[1]. Позднее М. Ягельски с соавторами распространили аналогичные атаки на модели регрессии и предложили практические защитные меры на основе устойчивой статистики[1].

Целевое (targeted) отравление

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

Бэкдор-атаки

Особый и получивший широкую известность подкласс атак отравления — бэкдор-атаки (backdoor attacks, trojan attacks). Противник добавляет в обучающую выборку небольшую долю примеров, содержащих определённый незаметный триггер (например, характерный узор пикселей в углу изображения) и снабжённых целевой (неверной) меткой. Модель, обученная на такой выборке, показывает нормальную точность на обычных данных, но при появлении триггера во входе на этапе эксплуатации стабильно выдаёт заданный противником ответ[1].

Т. Гу, Б. Долан-Гэвитт и С. Гарг, предложившие термин BadNets, показали, что подобная уязвимость особенно опасна в контексте цепочки поставки моделей: значительная часть практикующих специалистов не обучает нейронные сети "с нуля", а использует предобученные модели или пользуется услугами внешних организаций для обучения — и в обоих случаях получатель модели не может напрямую проверить, что она не содержит скрытого бэкдора[1]. Позднее было показано, что бэкдор можно внедрить и без изменения меток («чистая метка», clean-label backdoor), что дополнительно затрудняет обнаружение атаки визуальным просмотром выборки[1].

Извлечение модели

Извлечение (кража) модели (model extraction, model stealing) — атака на конфиденциальность, при которой противник, имея лишь чёрноящичный доступ к прогнозирующему API (например, коммерческому сервису MLaaS), стремится построить собственную модель \hat f, воспроизводящую поведение целевой модели f с приемлемой точностью, за ограниченное число запросов и без доступа к обучающей выборке или параметрам целевой модели[1].

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

Атаки на приватность

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

Определение принадлежности к обучающей выборке

Атака определения принадлежности (membership inference attack) отвечает на вопрос: участвовал ли конкретный объект x в обучающей выборке модели f? Р. Шокри с соавторами предложили практическую атаку, основанную на наблюдении, что модели машинного обучения, особенно переобученные, как правило, ведут себя на объектах обучающей выборки статистически иначе (например, увереннее), чем на новых объектах. Атака обучает набор теневых моделей (shadow models), имитирующих поведение целевой модели на известных атакующему данных, и по их выходам строит классификатор "участник / не участник", который затем применяется к выходам целевой модели[1]. Такая атака представляет непосредственную угрозу приватности, например, если сам факт участия записи о конкретном человеке в обучающей выборке медицинской или финансовой модели уже является чувствительной информацией.

Инверсия модели

Атака инверсии модели (model inversion attack) идёт дальше: она стремится восстановить не факт участия объекта в обучении, а сами характерные признаки объектов определённого класса или конкретных обучающих записей, опираясь на выходы модели. М. Фредриксон, С. Джа и Т. Ристенпарт продемонстрировали такую атаку на модели, обученные на медицинских и биометрических данных, — в частности, восстановление приближённого изображения лица человека по выходам классификатора, обученного его распознавать, при использовании только доступа к оценкам уверенности модели[1].

Общая систематизация

Обзорная работа Н. Папернота, П. Макданиэла, А. Синхи и М. Уэллмана предлагает рассматривать перечисленные виды атак как проявления единой проблемы: жизненный цикл системы машинного обучения (сбор данных → обучение → развёртывание → эксплуатация) содержит несколько точек, в каждой из которых нарушаются классические принципы безопасности систем — минимизация доверенной вычислительной базы, разделение привилегий, экономность механизма и другие, — что и делает возможным целый спектр атак от отравления до извлечения модели[1]. Обзор Б. Биджо и Ф. Роли, в свою очередь, прослеживает преемственность между более ранними работами по безопасности классических классификаторов (SVM, деревья решений) в задачах компьютерной безопасности и современными исследованиями устойчивости глубоких нейронных сетей, отмечая, что многие "новые" феномены состязательного машинного обучения фактически были предсказаны или обнаружены на десятилетие раньше на более простых моделях[1].

Методы защиты

Ни один из предложенных к настоящему времени методов защиты не даёт универсальной гарантии устойчивости против всех перечисленных типов атак; исследования в этой области продолжают развиваться параллельно с развитием самих атак[1]. Среди основных направлений:

  • Состязательное обучение (adversarial training) — включение состязательных примеров (как правило, построенных методом PGD) непосредственно в процесс обучения модели, формализуемое как решение седловой (min-max) задачи; на сегодняшний день остаётся одним из наиболее устойчивых к адаптивным атакам подходов, хотя и ценой снижения точности на "чистых" данных и существенного роста вычислительных затрат на обучение[1].
  • Дистилляция как защита и другие методы сглаживания решающей границы модели — подход, впоследствии показанный неэффективным против адаптированных атак, что стало одной из мотиваций для развития более строгих методов оценки устойчивости[1].
  • Методы обнаружения состязательных примеров или отравленных обучающих объектов по статистическим отклонениям в промежуточных представлениях модели.
  • Дифференциальная приватность (differential privacy) при обучении — ограничивает влияние отдельной обучающей записи на итоговые параметры модели и тем самым снижает эффективность атак определения принадлежности и инверсии модели, ценой некоторого снижения точности модели[1].
  • Ограничение и мониторинг доступа к API модели (ограничение частоты запросов, огрубление возвращаемой информации до предсказанного класса без оценок уверенности, обнаружение аномальных последовательностей запросов) — практическая мера против извлечения модели и части атак на приватность[1].

При оценке предлагаемых защит важно учитывать методологическое предостережение А. Аталая, Н. Карлини и Д. Вагнера: многие защиты, демонстрирующие устойчивость против фиксированного набора существующих атак, оказываются несостоятельными против атак, специально адаптированных под особенности конкретного защитного механизма (adaptive attacks), поэтому строгая оценка робастности требует явного рассмотрения противника, знающего о применяемой защите[1].

См. также

Примечания


Литература

  • Biggio B., Roli F. Wild patterns: Ten years after the rise of adversarial machine learning // Pattern Recognition. — 2018. — Vol. 84. — P. 317–331.
  • Papernot N., McDaniel P., Sinha A., Wellman M. P. SoK: Security and privacy in machine learning // 2018 IEEE European Symposium on Security and Privacy (EuroS&P). — 2018. — P. 399–414.
  • Barreno M., Nelson B., Joseph A. D., Tygar J. D. The security of machine learning // Machine Learning. — 2010. — Vol. 81, № 2. — P. 121–148.
  • Goodfellow I. J., Shlens J., Szegedy C. Explaining and harnessing adversarial examples // ICLR. — 2015. — arXiv:1412.6572.
  • Madry A., Makelov A., Schmidt L., Tsipras D., Vladu A. Towards deep learning models resistant to adversarial attacks // ICLR. — 2018. — arXiv:1706.06083.
  • Shokri R., Stronati M., Song C., Shmatikov V. Membership inference attacks against machine learning models // 2017 IEEE Symposium on Security and Privacy. — 2017. — P. 3–18.
  • Tramèr F., Zhang F., Juels A., Reiter M. K., Ristenpart T. Stealing machine learning models via prediction APIs // 25th USENIX Security Symposium. — 2016. — P. 601–618.