16 июня 2024 г.
6 мин чтения

Модели

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

Модели являются одним из серьезных векторов атак на ИИ, что обусловлено следующими основными причинами:

1. Модель как средство доставки недокументированной функциональности.

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

2. Модель как ценный актив, который привлекает внимание злоумышленников.

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

Основные уязвимости ИИ, связанные с моделями

1. Отравление модели (анг. model poisoning)

Внедрение вредоносной функциональности в архитектуру и/или веса модели. Атака эксплуатирует уязвимость форматов сериализации моделей в популярных платформах машинного обучения в части возможности запуска произвольного кода [9].

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

Чтобы затруднить обнаружение атаки качество работы чистой и отравленной моделей не должны сильно отличаться.

2. Бэкдоры в модели

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

Доставка бэкдора в модель может осуществляться через веса, путем отравления набора обучающих данных (внедрение (инъекция) вредоносных образцов) и последующего переобучения модели на полном датасете с добавленными отравленными образцами [11] или дообучения только на отравленных образцах [12]. Во втором случае в алгоритме синтеза триггера используется анализ откликов нейронов в самой атакуемой модели.

Другой способ доставки бэкдора в модель – изменение архитектуры модели. В модель добавляется подсеть (payload), уже обученная детектировать триггер во входных данных, а также блок, определяющий необходимое злоумышленнику поведение (выход) модели при наличии триггера [10, 13]. Такой подход не требует обучения основной модели на отравленных данных, следовательно, менее ресурсоемок, не ухудшает качество работы основной модели на чистых данных и обладает большей переносимостью между различными моделями.

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

3. Извлечение модели (анг. model extraction)

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

Успешная стратегия атаки, продемонстрированная на примере извлечения знаний из модели, имеющей 193 млн параметров и обученной на проприетарном наборе из 1 млрд изображений [2], основывается на методе «дистилляции знаний» [3]. Этот метод широко применяется в задачах сжатия моделей. Его идея заключается в обучении компактной модели-ученика на ответах, получаемых от большой модели-учителя, которая, по сути, является «оракулом», предоставляющим модели-ученику разметку данных и показатели уверенности в этой разметке (т.н. «софт-разметка»). В процессе такого контролируемого обучения модель-ученик «подталкивается» к копированию поведения модели-учителя. При атаке в качестве модели-учителя выступает атакуемая модель, а модели-ученика – модель, созданная злоумышленником.

Очевидный способ защиты от атаки заключается в ограничении количества обращений к модели. Однако следует учитывать, что злоумышленник может строить алгоритмы атаки в том числе и с использованием активно развивающихся в настоящее время техник машинного обучения на малом количестве размеченных примеров, таких как, например, активное обучение [5, 6, 8] или обучение с частичным привлечением учителя [7].

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

Список литературы

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