Привет, Хабр! Я автор канала «Борис_ь с ml», где рассказываю о том, как применяется машинное обучение в информационной безопасности, а также как защищать системы, в которых применяется машинное обучение. Эта статья - введение для тех, кто слышал о таких понятиях, как MLSecOps, Adversarial Attacks, Prompt Injection/Jailbreaking, но никогда не понимал, какой во всем этом смысл? Есть ли в этом какая-то практическая составляющая, и не воюют ли энтузиасты этого направления с воображаемым монстром?..

Да, сообщество безопасного ИИ много пишет о том, как работают различные атаки на ml-модели, про фреймворки MLSecOps, по регуляторную деятельность... Но это все как будто бы далеко от жизни. Как должен действовать злоумышленник, например, чтобы обойти anomaly detection модель в работающей UEBA/SIEM, используя, например, Boundary Attack? Или как ему добраться до данных и как осуществить отравление (например, для обучения генеративных сетей)?
Предстоит ли найти ответы на эти вопросы в будущем, или они есть уже сегодня? А может, сценарии подобной сложности существуют лишь в воображении особо просвещенных служителей исследователей безопасности ML? Сейчас разберемся.

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

Поиск. Первая находка

Примерно с начала года меня беспокоило, что лишь в академической среде ведется деятельность по разработке атак на модели машинного обучения. И началась она еще с 2014 года, статьи про adversarial examples от Ian Goodfellow. Но в новостях и отчетах по расследованию инцидентов максимум, что можно было увидеть — это как опростоволосился очередной чатбот, которого заставили продать машину за $1, или который начал ругать продукцию своей же компании. Про подобные страшилки можете почитать тут.

Первым открытием для меня стало то, что не всё в MITRE ATLAS Case Studies является лабораторными исследованиями.

Model Evasion

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

Data Poisoning

➖Несколько вендоров стали идентифицировать некоторые файлы как вредоносные, загрузив их с VirusTotal и обучив на них свои модели, когда на самом деле оказалось, что они имитируют доброкачественное ПО. Ссылка.
➖Чатбот Microsoft Tay обучился на плохих твитах и стал ненавидеть пол мира. Ссылка.
➖Исследователь получил доступ к хранилищу актуальной обучающей выборки модели определения лица, и показал возможность отравления. Ссылка.
Здесь тоже нет систематизированного подхода к генерации "отравленных" инъекций, но по логика шагов атаки соблюдена

Введение вредоносной нагрузки в код модели

➖Скомпрометированный код одной из dependency-библиотек PyTorch привел к нарушению конфиденциальности. Ссылка.
Классическая supply chain атака.

А что говорят в опенсорсе?

Очень много привносит в открытые источники фирма Trail of Bits, занимающаяся консалтингом в кибербезопасности. И, в частности, у них прекрасный репозиторий awesome-ml-security, где среди прочих ссылок, есть и отличная табличка с инцидентами Notable Incidents.

Про всё её содержание говорить не стану, заострю внимание только на паре инцидентов из нее.
Обман антиспам-модели ProofPoint. Суть такая - ресерчеры отправили сколько-то писем на сервер с пруфпоинтом (33к в общей сложности), и собрали ответы модели с сервера AWS SES (к которому видимо подразумевается наличие доступа). Далее обучили на этих ответах MLP на BagOfWords и LSTMку, и в результате вытащили список слов, которые выводят скор скопированной модели вверх. После чего нагенерили новых писем без этих слов и достигли результата.
Обман Apple NeuralHashing. Исследователи показали, как зареверсить алгоритм определения всяких непристойных изображений, и обнаружили, что он неустойчив к поворотам и обрезанию картинки. А потом еще и нашли случай совпадения хэша у двух изображений. Эппл в ответ сказала, что все ок, так и было задумано ?.

Пропущенный и всем известный

Отмечу отдельно AI Incidents DataBase, так как многие ставят ее в пример, как "большой сборник реальных инцидентов". Однако лично я пока не нахожу ее полезной. Я не смог на ней найти именно инцидентов информационной безопасности, в которых была затронута и скомпрометирована алгоритмическая или инфраструктурная часть ML-системы. В основном это собрание популистских новостей. Например, по запросу "model backdoor" появляется карточка утечки 38 TB данных у Microsoft. А по запросу "poisoning" хоть мне и выдалась вроде интересная новость про то, как рекомендательная система Amazon стала выдавать товары, подходящие для совершения суицида, но никаких технических деталей и содержательных подробностей в ней нет.

Копнем глубже

В табличке Trail of Bits слайде 64 вот этой прекрасной презентации с DerbyCon2019 авторы приводят 4 суперинтересных примера атак на основе анализа данных обучения, моделей и составления прям сложных атак. В качестве примера приведу кейс обмана антивируса Cylance.

Исследователи из Skylight Cyber рассказали, что, имея доступ к клиентскому приложению антивируса, можно провести анализ его работы (включив verbose logging). Проведя такой самостоятельно, они обнаружили, что Cylance EPP имеет уклон при вынесении вердикта о безопасности приложения, если оно содержит определенные строчки в коде файла (потому что фичи ml-модели состояли из буквально содержания тех или иных строк кода анализируемой программы). Далее они проанализировали другой механизм продукта, называемый "Центроиды". Его суть в том, что это кластера различных исполняемых файлов. Каждая центроида отображает какой-то плохой или хороший файл, и их названия соответствуют именам файлов. А у одной из них название было как у популярной онлайн-игры Rocket League, и она была отмечена как whitelist (то есть похожие на нее файлы тоже попадали в whitelist). И кульминация - авторы скачивают игру, вытаскивают определенные строки кода, которые узнали из состава фичей скоринговой модели, и прибавляют к вирусам. Итог - 100% эффективности атаки на топ-10 вредоносов на состояние мая 2019, и почти 90% на выборке из 384 малварей.

Итог. Ресурсы с инцидентами

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

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


Удачных вам исследований и поисков, коллеги!

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