Сегодня компьютеры пишут тексты и сочиняют стихи, создают картины и обрабатывают фотографии. Роботы не только умеют самостоятельно двигаться, но даже помогают врачам проводить операции. Все это возможно благодаря технологиям искусственного интеллекта, одним из разделов которого является машинное обучение.
Для алгоритмов машинного обучения (machine learning, ML) характерно не прямое решение поставленной задачи, а обучение на множестве сходных задач. Исходя из специфики задачи и доступных данных, разработчики составляют наборы обучающих данных, которые и образуют модель машинного обучения.
Модели машинного обучения участвуют в принятии важных решений, поэтому разработчики и пользователи должны быть уверенны, что модель нельзя обмануть. К сожалению, злоумышленникам нередко это удается. Есть несколько основных сценариев атак на машинное обучение:
- Атака на выходные данные (Inference Attack) – злоумышленник может контролировать входные данные модели и наблюдать за выходными, но ему неизвестно, как данные обрабатываются.
- Атака на данные для обучения (Training Time Attack) – злоумышленник может взять под контроль данные, на которых обучается модель.
- Атака на клиентскую часть (Attack on Edge/Client) – злоумышленник может осуществить реверс-инжиниринг клиентской части, чтобы понять, как работает модель.
Мы уже рассказывали об adversarial атаках на выходные данные алгоритмов машинного обучения. Они сводятся к созданию векторов, при обработке которых модель дает некорректный вывод. Но adversarial все не ограничивается, существуют и другие виды атак, о них мы поговорим далее. Можно разделить их на следующие группы:
Атаки на процесс принятия решения:
- обход модели (Model Evasion) – злоумышленник изменяет запрос к модели, чтобы получить желаемый результат. Это делается путем подбора запросов к модели и наблюдения за выходными данными;
- получение информации о функциональности модели (Functional Extraction) – злоумышленник может восстановить функционально эквивалентную модель с помощью определенных запросов. Это позволяет изучить автономную копию перед дальнейшей атакой на онлайн-модель;
- инверсия модели (Model Inversion) – атака, направленная на восстановление обучающих данных из параметров модели. В случае успешной эксплуатации злоумышленник сможет определить, входит ли образец в обучающий набор данных модели. Это может привести к компрометации конфиденциальных данных;
Атаки на процесс обучения:
- заражение модели (Model Poisoning) – злоумышленник заражает обучающие данные модели, чтобы получить желаемый результат на выходе. Кроме того, доступ к обучающим данным позволит злоумышленнику создать автономную модель или произвести атаку обхода модели; это также может привести к компрометации конфиденциальных данных;
Традиционные атаки (Traditional Attacks) – злоумышленник использует хорошо зарекомендовавшие себя методы атак для достижения своих целей.
Недавно MITRE совместно с IBM, NVIDIA, Bosch, Microsoft и другими выпустили матрицу, в которой собраны все известные методы атак на системы машинного обучения.
Здесь оранжевым цветом выделены атаки, характерные только для систем машинного обучения, а серым – традиционные атаки. Более подробное описание атак приведено здесь.
Поводом для создания матрицы стало растущее количество атак на алгоритмы машинного обучения. Первые звоночки появились еще в 2004 году. С этого момента и алгоритмы, и методы атак непрерывно развивались. В академической среде идет своего рода гонка вооружений. In-the-wild кейсов еще не так много, но необходимость защиты моделей машинного обучения стала очевидной.
Компания Microsoft провела опрос среди 28 компаний, 25 из которых указали, что не имеют необходимых инструментов защиты систем машинного обучения, хотя они пытаются повысить их защищенность.
Эта матрица, как другие матрицы от MITRE, основана на реальных атаках на системы машинного обучения. Авторы матрицы привели примеры уже совершенных атак, мы рассмотрим некоторые из них.
ClearviewAI Misconfiguration
Инцидент. Защищенный паролем репозиторий исходного кода Clearview AI был неправильно настроен, что позволило злоумышленнику зарегистрировать учетную запись. Так он получил доступ к частному репозиторию кода, который содержал производственные учетные данные Clearview AI, ключи к сегментам облачного хранилища, содержащего 70 тысяч образцов видео, а также копии приложений и токены Slack. Имея доступ к обучающим данным, злоумышленник может вызвать произвольную неправильную классификацию в развернутой модели.
Комментарий. Здесь исследователь безопасности (или злоумышленник) получил первоначальный доступ через действующую учетную запись, которую он смог создать из-за неправильной конфигурации прав доступа. Как таковой атаки на методы машинного обучения не было, но подобные случаи показывают, что при попытке защитить системы машинного обучения нельзя забывать и о «традиционных» мерах кибербезопасности, таких как принцип минимальных привилегий, многофакторная аутентификация, мониторинг и аудит.
ProofPoint Evasion
Инцидент. Случай CVE-2019-20634 показывает, как исследователи безопасности обошли систему защиты электронной почты ProofPoint, восстановив модель машинного обучения и использовав полученные данные для обхода действующей системы.
Комментарий. Сначала исследователи собрали данные фильтрации нежелательной почты из заголовков электронных писем ProofPoint и с их помощью построили «теневую» модель машинного обучения классификации почты. Затем они алгоритмически нашли сэмплы, которые являлись копией оффлайн-модели. Инсайты, полученные из исследования оффлайн-модели, позволили им создавать вредоносные электронные письма, которые не помечались как спам ProofPoint и доходили до пользователей.
Tay Poisoning
Инцидент. Microsoft создала чат-бот для Твиттера Tay. Уже спустя 24 часа после развертывания его пришлось закрыть: он писал то, что не стоит писать в открытом доступе.
Комментарий. Чат-бот Tay взаимодействовал с пользователями для получения обучающих данных, чтобы улучшить свою речь. Обычные пользователи Твиттера координировали свои действия, чтобы научить бота плохому. В результате этой скоординированной атаки его обучающие данные были «отравлены», и он стал генерировать непечатный контент.
В заключение
Эта матрица предоставляет аналитикам безопасности систематизированную картину угроз для систем машинного обучения. В нее вошли данные, полученные из опыта IBM, NVIDIA, Bosch, Microsoft и других компаний в этой области. Это позволило установить некоторые закономерности. Среди прочего было обнаружено, что кража модели машинного обучения не является конечной целью злоумышленника, но ведет к более изощренной атаке обхода модели. Конечно же, атакуя системы машинного обучения, злоумышленники комбинируют специфичные методы атак и «традиционные», такие как фишинг и lateral movement. В прошлой серии постов мы уже рассказывали о существующих методах защиты машинного обучения от некоторых видов атак.
Подведем итог:
- Прежде чем применять систему машинного обучения, проверьте, защищена ли она от атак, приведенных в матрице от MITRE;
- Даже если используемая модель кажется надежной, не стоит забывать о системе, в которой она развернута, и традиционных проблемах безопасности;
- Помните, что ваша система машинного обучения нуждается в регулярных проверках безопасности.