UDV Group: AI Security — безопасность искусственного интеллекта
Юрий Чернышов, к.ф.-м.н., доцент УНЦ «Искусственный интеллект» УрФУ, руководитель исследовательского центра UDV Group рассказал о сложностях обнаружения причины изменения поведения модели, о методах, которые подходят для анализа безопасности и о том, как оценивается устойчивость модели в условиях реального применения.
— Какие индикаторы помогают заметить ранние признаки отравления данных на этапе подготовки датасета?
Почти все, кто имеет практический опыт внедрения и использования проектов, включающих анализ данных и машинное обучение, уже в курсе, что подобные системы очень неустойчивы, чувствительны к внешним помехам. Причина этого не в том, что у разработчиков недостаточная экспертиза (хотя встречаются и такие случаи), а в том, что при обучении модели применяются наборы данных, которые не могут содержать все возможные ситуации при будущей эксплуатации. Да это и невозможно, поскольку всегда на практике имеет место так называемый «сдвиг в данных» (data shift) из-за меняющейся инфраструктуры, условий эксплуатации, поведения пользователей и пр. Поэтому очень сложно при обнаружении изменения поведения модели понять - что же является истинной причиной: сдвиг в данных, сбой датчика, помехи в сети передачи данных, некачественная модель ML, незначительная перегрузка инфраструктуры или это просто «шум» в рамках статистической погрешности. И за этими вариантами всегда сложно разглядеть атаку через отравление данных. Индикаторы для диагностики изменения традиционные: всесторонний статистический анализ характеристик данных, как по параметрам получения и обработки, так и по семантике. Но для принятия мер при обнаружении отклонения в поведении модели на основе данных необходима комплексная инфраструктура, включающая мониторинг оборудования, параметров данных и модели, метрик инференса (промышленного использования).
— Какие методы анализа позволяют выявлять бэкдор-активность в уже обученной модели?
Для анализа безопасности модели ИИ подходят все те же методы, применяемые при тестировании безопасности программного обеспечения: мониторинг, фаззинг, анализ взаимодействия с внешними компонентами. Сложность заключается в том, что невозможно понять логику работы модели, как это делается при анализе кода программного обеспечения, поскольку эта логика модели ИИ распределена по миллионам (как в случае с глубоким машинным обучением) или по миллиардам (как в случае с LLM) параметров. Поэтому применяется анализ модели ИИ как «черного ящика», анализируя вход и выход, оценивая параметры работы и потребление ресурсов. Исторический анализ параметров работы модели позволяет сформировать паттерны нормального поведения и анализировать в будущем отклонения от этих паттернов.
— Как оценивается устойчивость модели к adversarial-примерам в условиях реального применения?
Самый лучший способ для подобного анализа это red teaming, в том числе и с применением автоматизированных средств проверки: фаззинг, подбор проверяющих сэмплов, создание для модели критических условий для функционирования (ddos атака). Если есть возможность оценивать устойчивость в лабораторных условиях, то эффективным является схема генеративных состязательных сетей (GAN), в которых есть генератор, создающий сэмплы, и дискриминатор, пытающийся различить настоящие сэмплы и созданные генератором. При этом генератор и дискриминатор постоянно конкурируют друг с другом, генератор учится все лучше «обманывать», а дискриминатор – все лучше выявлять факт подделки.
— Какие техники усложняют попытки извлечения модели через API (model extraction)?
Для любого интерфейса взаимодействия, и API в том числе, важно настроить как можно более строгие правила доступа к ресурсу: авторизацию, аутентификацию и контроль за ресурсами. При этом необходимо проектировать API таким образом, чтобы минимизировать возможности взаимодействующей стороны, оставлять доступ только к той информации, которая ей предназначена, ограничивать разумными уровнями потребления ресурса, исходящими из технического задания и архитектуры проекта. Например, можно запретить длительные сессии взаимодействия, если проект этого не предполагает. Или ограничить количество запросов к ресурсу от одного источника таким уровнем, который достаточен для нормальной работы, все что аномально выше этого уровня – скорее всего свидетельствует о попытке автоматизированного сканирования или парсинга.
— Какие меры повышают защищенность датасетов от подмены, injection-атак и несанкционированных правок?
Наличие защищенных наборов данных - серьезная задача, без которой невозможно создавать качественные, надежные и полезные системы ИИ. Зачастую набор данных ценится даже больше, чем модель, обученная на его основе. Поэтому компании-разработчики систем ИИ так ценят свои наборы данных, защищают их наравне с программным кодом. Меры, защищающие наборы данных (датасеты) от злонамеренного искажения, такие же, как и при защите программного кода: требуется контролировать версионирование и доступ к изменениям, проводить тестирование и анализ характеристик после изменений.
— Какие механизмы мониторинга лучше всего подходят для отслеживания аномалий в поведении ИИ-модели?
Существует множество способов мониторить работу сложного устройства или системы, какой из них наиболее эффективен – сильно зависит от самой системы. Можно анализировать низкоуровневые параметры (трафик, потребление ресурсов оборудования), можно анализировать вход и выход модели ИИ (текст промпта и сгенерированный ответ), потребление токенов. Но на мой взгляд наиболее эффективно анализировать влияние применения модели на бизнес-процесс – если в бизнес-процессе появились отклонения (изменилась продолжительность звонков, частота отправки писем, поменялась бизнес-логика процесса, перестал компилироваться код и пр.), то скорее всего случился сбой в работе ИИ-модели и необходимо проводить расследование, в том числе с применением анализа низкоуровневых событий в инфраструктуре и ПО.