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

Например, самый серьезный конструктивно-обусловленный их недостаток – потенциальная нестабильность работы. Суть этого недостатка заключается в том, что можно подобрать специальные примеры, называемые вредоносными, которые будут мало отличаться от типичных входных данных сети, на которых она, однако, будет выдавать совершенно некорректный ответ. Методы создания таких вредоносных искажений в литературе стали называться атаками на нейронные сети.

Неизбежные ассоциации с областью информационной безопасности породили вопросы: а что еще нехорошего можно сделать с нейросетевой моделью? Оказалось, что много чего:

  • узнать архитектуру модели и ее коэффициенты, 

  • получить информацию об обучающих данных,

  • скопировать функционал сети.

И способы это сделать также стали называться атаками на нейронные сети! В результате, в современных работах можно встретить множество различных классификаций атак на нейронные сети, которые частично пересекаются друг с другом. Зачастую, очередная обзорная статья предлагает новую таксономию атак, стремясь охватить новые предложенные методы. В этой статье мы не будем даже пытаться построить единую классификацию атак, а рассмотрим несколько основных критериев классификации и постараемся понятно объяснить, в чем заключается их смысл.

Можно выделить 5 основных критериев (см. Рис. 1), в основе которых лежат разные принципы воздействия на сеть или данные. Начнем рассмотрение с атак, которые по-разному воздействуют на систему.

Рис. 1. Различные классификации атак на нейронные сети.
Рис. 1. Различные классификации атак на нейронные сети.

Результат воздействия на систему

Атаки изменения поведения ставят своей целью изменить результат работы модели, то есть нарушить целостность системы.

Заметим, что непосредственная реализация таких атак заключается в подаче на вход модели каким-либо образом модифицированных входных данных, поскольку других способов воздействовать на обученную модель без прямого доступа к системе нет. Например, если посветить лазером в камеру распознающей системы, нейронная сеть получит нетипичное изображение на вход и может выдать внезапный результат. Такое воздействие также будет атакой на целостность системы. Пример атаки изменения поведения модели показан на Рис. 2.

Рис. 2. Пример атаки, изменяющей поведение нейросетевой модели. Человек с заранее распечатанным патчем не детектируется системой распознавания (https://arxiv.org/pdf/1904.08653.pdf). Забегая вперед, скажем, что это также пример атаки уклонения, а еще атаки в физическом мире.
Рис. 2. Пример атаки, изменяющей поведение нейросетевой модели. Человек с заранее распечатанным патчем не детектируется системой распознавания (https://arxiv.org/pdf/1904.08653.pdf). Забегая вперед, скажем, что это также пример атаки уклонения, а еще атаки в физическом мире.

Атаки нарушения конфиденциальности ставят своей целью получение доступа к различным артефактам сети, таким как обучающие данные, архитектура, веса обученной модели и т.д. Также сюда относятся атаки, позволяющие узнать что-то об обучающей выборке или получить модель, которая копирует функционал исходной модели.

Доступ к артефактам машинного обучения – вещь крайне неприятная, поскольку непосредственно архитектура и веса нейросетевой модели могут представлять собой коммерческую тайну, а обучающие данные – еще и содержать персональную информацию, не подлежащую разглашению. Кроме того, эту информацию можно использовать для создания вредоносных примеров, изменяющих поведение конкретной модели. Однако есть и хорошая новость: взять и извлечь ее не так просто. Чаще всего для этого нужен непосредственный доступ к “железу”, на котором происходило обучение или исполнение нейронной сети, а применяемые методы основаны на анализе содержимого кэшей и вызовов библиотек, то есть находятся в компетенции специалистов по классической информационной безопасности.

Тем не менее, и без доступа к оборудованию можно узнать что-нибудь про обучающую выборку. Можно установить ее отдельные свойства, определить, училась ли нейронная сеть на конкретных обучающих данных или попробовать восстановить обучающие примеры. Зачем это может быть нужно? Самый интересный с практической точки зрения пример: можно попробовать узнать, что модель училась на какой-либо открытой выборке и использовать эту информацию для подбора вредоносных искажений. Кроме того, в литературе приводится пример с медицинскими данными: если в обучающей выборке использовались реальные данные, то становится возможным узнать, что конкретный человек страдает от определенного заболевания/принимал участие в экспериментальном лечении. Однако на наш взгляд, это довольно странно: для такой атаки нужно уже иметь довольно большой объем конфиденциальных данных и выполнять атаку ради одного обучающего примера выглядит нецелесообразным.

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

Пример такой атаки (https://arxiv.org/pdf/2010.11158.pdf) показан на Рис. 3-4. В ней функционал закрытой модели пытаются скопировать методом дистилляции знаний и генерации размеченной выборки.

Рис. 3. Шаг 1: генерируется набор случайных примеров в скрытом пространстве и пропускается через обучаемый генератор и учителя (атакуемую модель). Шаг 2: оптимизируется представление в скрытом пространстве с помощью эволюционного поиска. Шаг 3: оптимизированные примеры и вероятности классов учителя на них используются в качестве цели для извлечения знаний. 
Рис. 3. Шаг 1: генерируется набор случайных примеров в скрытом пространстве и пропускается через обучаемый генератор и учителя (атакуемую модель). Шаг 2: оптимизируется представление в скрытом пространстве с помощью эволюционного поиска. Шаг 3: оптимизированные примеры и вероятности классов учителя на них используются в качестве цели для извлечения знаний. 

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

Рис. 4. Пример работы генератора в процессе оптимизации. Над картинкой указана уверенность скрытой модели в принадлежности классу (squirrel monkey - верхний ряд) и (bald uakari - нижний ряд)
Рис. 4. Пример работы генератора в процессе оптимизации. Над картинкой указана уверенность скрытой модели в принадлежности классу (squirrel monkey - верхний ряд) и (bald uakari - нижний ряд)

Вид атаки

Метод отравления подразумевает малозаметную манипуляцию обучающими данными для изменения работы сети. Такая манипуляция может заключаться как в модификации самих данных, так и их меток. В результате можно добиться того, что сеть изучит неверные признаки и будет делать неверные прогнозы на изображениях с тем или иным свойством, при этом достаточно хорошо работая на тестовой выборке. В частности, этим свойством может быть наличие небольшого паттерна или предмета на изображении. Его называют триггером. При наличии триггера модель будет “обращать внимание” только на него и работать неверным образом, продолжая выдавать корректные результаты на изображениях без него.

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

Рис 5. Пример атаки отравления. Также такая атака является целевой, так как в этом примере рыбы и собаки намеренно меняются местами (https://arxiv.org/pdf/1804.00792v2.pdf).
Рис 5. Пример атаки отравления. Также такая атака является целевой, так как в этом примере рыбы и собаки намеренно меняются местами (https://arxiv.org/pdf/1804.00792v2.pdf).

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

Продолжая пример классификации животных, предположим, что нейронная сеть развернута в системе распознавания изображений, которая помогает идентифицировать животных в режиме реального времени. Злоумышленник может создать небольшие вредоносные искажения, которые при наложении на изображения смогут привести к неверной классификации (см. Рис. 6). 

Рис 6. Левые изображения классифицировались правильно, но после добавления шума (средний столбец) все картинки стали распознаваться как страус (https://arxiv.org/pdf/1312.6199.pdf).
Рис 6. Левые изображения классифицировались правильно, но после добавления шума (средний столбец) все картинки стали распознаваться как страус (https://arxiv.org/pdf/1312.6199.pdf).

Однако отметим, что предлагаемые в литературе модификации могут быть вполне заметными и даже подозрительными (см. Рис. 7). В реальном мире неформатные дорожные знаки рано или поздно заменили бы (заменили бы, да?).

Рис 7. Стикеры, “превращающие” 35 миль в час в 85.
Рис 7. Стикеры, “превращающие” 35 миль в час в 85.

Информация о модели

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

Атаки "черного ящика" (black box) представляют более реалистичный сценарий, где атакующий не обладает информацией о модели. Поэтому для создания вредоносных примеров они могут использовать только ответы модели. Чтобы собрать достаточно информации, они выполняют множество запросов к модели. Например, если число запросов неограниченно, можно сгенерировать и разметить данные, обучить на них новую модель и уже для нее создавать вредоносные примеры (см. пример на Рис. 3-4). Кстати, поэтому число запросов к нейронной сети полезно делать конечным и не очень большим.

Атаки "серого ящика" (gray box) сочетают характеристики атак "белого" и "черного" ящиков. В этом случае атакующий располагает частичной информацией о модели, что делает такие атаки более реалистичными, но все же накладывает некоторые ограничения. Например, может быть известна архитектура модели или информация о данных, на которых модель была обучена, однако отсутствовать доступ к самим данным или обученным весам.

Тип атаки

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

Целевые атаки заключаются в модификации входных данных модели с целью получения заранее определенного ответа (отличного от правильного). Подразумевается, что такая модификация не мешает человеку правильно распознать изображение, то есть мы все-таки можем говорить о правильном ответе. При этом возможны целевые атаки не только на классификацию изображений, но и на детектирование объектов и другие задачи. Возможность реализовать целевую атаку зависит от расстояния между исходным объектом и границей принятия решения целевого класса, если оно велико, то модификация, необходимая для реализации такой атаки, будет значительной и заметной. Примеры целевой и нецелевой атак показаны на Рис. 8.

Рис 8. Примеры целевой и нецелевой атаки.
Рис 8. Примеры целевой и нецелевой атаки.

Тип применимости

Виртуальные атаки – атаки, возможные исключительно в цифровой среде, при которых модифицируется все изображение целиком. Например, на Рис. 6 на изображении автобуса шум накладывается в том числе и на небо, хотя в реальном мире такое было бы трудно реализуемо.

Физические атаки предназначены для воздействия на нейронные сети в реальном мире. Для реализации таких атак чаще всего применяются специальные наклейки или камуфлирующее текстуры. Например, на Рис. 2 используется заранее напечатанный стикер, позволяющий человеку избежать обнаружения нейронной сетью. Другой пример, когда из-за наличия камуфлирующей текстуры объект определяется неверно, приведен на Рис. 9. Главным отличием таких атак от виртуальных является то, что область атаки ограничена конкретным объектом, который можно модифицировать или добавить в кадр.

Рис 9. Пример физической атаки с применением камуфлирующей текстуры. Машина в зеленой рамке была принята моделью за торт (https://openreview.net/pdf?id=SJgEl3A5tm).
Рис 9. Пример физической атаки с применением камуфлирующей текстуры. Машина в зеленой рамке была принята моделью за торт (https://openreview.net/pdf?id=SJgEl3A5tm).

Заключение

Все больше исследователей говорят, что при работе с нейросетевыми моделями искусственного интеллекта необходимо проявлять осторожность и ответственность. Повсеместное внедрение автоматизированных систем без тщательной оценки их стабильности к случайным или намеренным вариациям входных данных может иметь крайне негативные последствия. 

В данной работе мы рассмотрели основные критерии классификации атак на нейронные сети, позволяющие лучше понять их суть и принципы воздействия на системы искусственного интеллекта. Мы объяснили и показали, чем эти критерии отличаются и где пересекаются: как видно из примеров, зачастую одну и ту же атаку можно классифицировать абсолютно по-разному. Надеемся, что у нас получилось внести структуру в разрозненную информацию, которую читатели могли видеть в медиа-пространстве, и надеемся, что эта статья будет кому-то полезной.

Во второй части нашей статьи мы покажем несколько атак на нейронные сети с примерами кода и результатами применения на реальной распознающей модели. 

Комментарии (0)