Безопасность является важной частью любой компьютерной системы. ИТ-безопасность — хорошо описанная и известная область. Красные команды постоянно пытаются найти новые уязвимости, а синие команды укрепляют свои системы и нейтрализуют атаки.
Приложения, использующие машинное обучение, ничем не отличаются. Конвейеры MLOps, серверы логических выводов и озера данных также должны быть защищены, исправлены CVE и должным образом усилены в соответствии с местными нормами (FIPS, DISA-STIG, PCI-DSS, NCSC…).
Однако в области науки о данных у нас есть новые векторы атак и угрозы, которые менее известны, и защита от них пока не является автоматизированной рутиной каждой SoC на рынке.
Давайте взглянем на некоторые новые сюрпризы, которые может преподнести красная команда или APT-группа, когда они в следующий раз нападут на нас.
Мощные атаки против машинного обучения
Как мы видим из статьи Я знаю, что вы тренировали прошлым летом», гораздо больше интереса и исследований происходит со стороны защиты, а общий объем публикаций по этой теме невелик.
Как красный член команды, это удивительная ситуация, как будто мне немного повезло, что защитники понятия не имеют, что их поразило.
Треугольник ЦРУ
У нападающего могут быть разные цели. Они могут быть нацелены на конфиденциальность, целостность или доступность.
Конфиденциальность — ориентируйтесь на обучающие данные (например, инверсию модели) или IP-адрес модели (архитектура нейронной сети и извлечение гиперпараметров).
Целостность — целевое качество предсказания, например, попытка увеличить количество ложных срабатываний в системе обнаружения мошенничества с кредитными картами.
Атаки на доступность — цель состоит в том, чтобы сделать модель нерелевантной, заблокировав к ней доступ или увеличив частоту ошибок до точки, в которой она бесполезна.
Враждебные входы
Всякий раз, когда мы используем модель в открытой системе (например, в дорожной камере) или в режиме MLaaS (машинное обучение как услуга), мы больше не контролируем входные данные. Это означает, что злоумышленник может свободно создавать любые входные данные, которые он хочет, чтобы избежать обнаружения или изменить результаты. Это может быть как простая «враждебная футболка», так и сложная крупномасштабная манипуляция содержимым твитов в рамках INFOOPS, пытающейся манипулировать результатами выборов.
В зависимости от доступа злоумышленника мы можем наблюдать атаки белого ящика, когда он имеет доступ к параметрам модели, в противном случае мы называем это атакой черного ящика.
Отравление данными
Вы можете использовать обучающие данные, чтобы управлять прогнозируемым поведением, особенно в случае моделей, использующих обучение с подкреплением или простой планировщик, который повторно обучает модель с новыми входными данными каждый день. Его можно использовать как в сценариях белого, так и черного ящика.
Это можно использовать для изменения работы рекомендательных систем в социальных сетях, интернет-магазинах, видеохостингах или в вашей учетной записи приложения для знакомств.
Это может быть достигнуто с помощью сложной автоматизации и инструментов для C&C (Command and Control) атаки или просто простой «фермы троллей», которую вы нанимаете в даркнете для ввода мнений о продуктах и подрыва ваших конкурентов вручную.
Методы кражи моделей
Кража моделей — самый страшный вид атаки на бизнес. Визуальное обучение модели торговли акциями в качестве хедж-фонда или модели таргетной терапии в качестве ведущей фармацевтической компании. Вам нужно собрать тонны данных, некоторые из которых являются собственностью вашей компании, а затем потратить облачные затраты и год работы в вашей команде по анализу данных. Затем вы выставляете модель, и через 10 минут ваши конкуренты могут извлечь выгоду из ваших многомиллионных инвестиций без каких-либо предварительных затрат, потому что они получили модель.
У таких атак разные цели:
Есть много примеров того, как работает кража моделей, одним из примеров является статья CloudLeak: Кража крупномасштабных моделей глубокого обучения на основе состязательных примеров.
процесс:
A- генерировать немаркированные состязательные примеры в виде синтетического набора данных
B — запросите модель жертвы, используя сгенерированный синтетический набор данных.
C — пометить враждебные примеры в соответствии с выходными данными модели жертвы.
D — обучить локальную модель замены, используя синтетический набор данных
E — использовать локальную замещающую модель для прогнозов. Ожидается, что локальная замещающая модель будет соответствовать характеристикам модели жертвы.
Как защитить
Обнаружение
Водяной знак
Водяные знаки - это хорошо известная техника, используемая, т.е. на фотографии или деньги. Нанесение водяных знаков на модели — это способ доказать право собственности на модель. Вы можете добиться этого, внедрив данные, которые известны только вам (конкретные параметры, веса, дополнительные возможности обнаружения, например, для логотипа вашего бренда). Это не защищает ваши модели от кражи, но может помочь вашему адвокату в суде, когда вы узнаете, что ваши конкуренты используют украденную модель.
На основе мониторинга
Стек LMA (Logging, Monitoring, Alerting), такой как COS с открытым исходным кодом, может очень помочь в обнаружении атак со стороны ваших моделей. Вы можете сделать это, наблюдая за трафиком к вашему API вывода и ища аномалии или определенные шаблоны, которые используются в атаках извлечения модели, описанных выше. Лучшие инструменты наблюдения с открытым исходным кодом уже имеют предопределенные правила оповещения, которые вы можете использовать для этого.
Профилактика
Переподготовка с нуля
Вы можете переобучить модель с нуля с другой архитектурой или параметрами, получив точность, близкую к исходной модели, и используя сине-зеленый механизм развертывания, чтобы направить на нее часть враждебного трафика. Это значительно снизит производительность поддельной модели, результаты, которые я получил в результате тестирования, снизили оценку украденной модели F1 на 42%.
Дифференциальная конфиденциальность
Дифференциальная конфиденциальность защищает от кражи границ решения модели. Их основная идея состоит в том, чтобы сделать неотличимыми друг от друга выходы всех отсчетов, лежащих в гранично-чувствительной зоне, т.е. отсчетов, близких к границе решения. Это достигается путем добавления возмущений к этим выходным данным с помощью так называемого граничного дифференциального уровня конфиденциальности (BDPL).
Входные и выходные возмущения
Основная идея состоит в том, чтобы возмущать входные/выходные вероятности так, чтобы градиент был максимально далек от исходного. В некоторых работах предлагалось использовать обратную сигмовидную функцию активации в качестве
защита. Особенностью этой функции является то, что она отображает разные логические значения в одну и ту же вероятность. Это приводит к неправильным значениям градиента и усложняет процесс кражи.
Изменение модели
В отличие от возмущения данных, целью которого является снижение точности поведения украденных моделей, можно изменить архитектуру и/или параметры модели. Мотивация для защиты архитектуры может, например. быть в сценариях, когда эта архитектура является новой и имеет определенные преимущества перед существующими. Таким образом, основная цель защитника состоит не в том, чтобы защитить один конкретный обученный экземпляр этой архитектуры (т. домен
Открытый источник
Автоматизировать все вышеперечисленные механизмы защиты можно с помощью конвейера MLOps, такого как Kubeflow. Стратегия защиты, которую можно реализовать как часть инфраструктуры ML Ops, может выглядеть следующим образом:
Если вас интересует безопасность модели машинного обучения, я бы порекомендовал начать с изучения INFOSEC в целом и параллельно попробовать специальные инструменты с открытым исходным кодом, такие как MLsploit. MLsploit — это первая удобная облачная система, которая позволяет исследователям и практикам быстро оценивать и сравнивать современные состязательные атаки и средства защиты для моделей машинного обучения (ML).
Если вы хотите узнать, какие механизмы защиты используются в сфере здравоохранения и как защитить конфиденциальность пациентов, я хочу пригласить вас на мой основной доклад Kubecon https://kccnceu2023.sched.com/
Вы также можете связаться со мной через мои каналы в социальных сетях, указанные на https://www.maciejmazur.com/