Моделирование угроз для систем и зависимостей в области ИИ и ML

Авторы: Эндрю Маршалл (Andrew Marshall), Джугал Парикх (Jugal Parikh), Емре Кисиман (Emre Kiciman) и Рам Шанкар Шива Кумар (Ram Shankar Siva Kumar).

Особая благодарность Раулю Рохасу (Raul Rojas) и комитету AETHER (рабочему потоку обеспечения безопасности)

Ноябрь 2019 г.

Этот документ выработан Рабочей группой инженерных методик для ИИ, входящей в состав комитета AETHER. Он дополняет существующие методы моделирования угроз в рамках SDL и содержит новые рекомендации по регистрации и устранению угроз, разработанные специально для области ИИ и машинного обучения (ML). Документ следует использовать в качестве справки в ходе проверок системы безопасности для таких продуктов и служб:

  1. Продукты и службы, взаимодействующие с и принимающие зависимости от служб на основе ИИ/ML

  2. Продукты и службы, создаваемые на основе ИИ/ML.

Традиционная защита от угроз безопасности сейчас важнее, чем когда-либо. Требования, установленные в разделе Жизненный цикл разработки защищенных приложений, играют ключевую роль в определении принципов обеспечения безопасности продукта, лежащих в основе данного руководства. Неспособность справиться с традиционными угрозами безопасности открывает возможности для описанных в этом документе атак, нацеленных на системы ИИ/ML (как цифровых, так и физических), а также упрощает распространение угроз в стеке программного обеспечения. Общие сведения о новых угрозах безопасности в этой области см. в статье Безопасное будущее ИИ и машинного обучения в Майкрософт.

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

Документ состоит из двух следующих разделов:

  1. "Новые ключевые соображения по моделированию угроз". Здесь рассматриваются новые способы мышления и новые вопросы, на которые следует найти ответы при моделировании угроз для систем ИИ и машинного обучения. Специалисты по обработке и анализу данных и инженеры по безопасности должны ознакомиться с этим разделом, так как он станет их "сборником схем" для бесед о моделировании угроз и определения приоритетов в устранении рисков.
  2. "Угрозы, специфичные для ИИ и машинного обучения, и их устранение". Этот раздел содержит подробные сведения об атаках, направленных на системы ИИ и ML. В нем также описаны конкретные действия по устранению рисков, используемые сегодня для защиты продуктов и служб Майкрософт от этих угроз. Этот раздел в основном предназначен для специалистов по обработке и анализу данных, которым может потребоваться принять определенные меры по предотвращению угроз по результатам процесса моделирования угроз и проверки безопасности.

В основе этого руководства лежит таксономия угроз состязательного машинного обучения под названием Режимы сбоев в машинном обучении, которую разработали Рам Шанкар Шива Кумар (Ram Shankar Siva Kumar), Дэвид О’Брайен (David O’Brien), Кендра Альберт (Kendra Albert), Саломе Фильюн (Salome Viljoen) и Джеффри Сновер (Jeffrey Snover). Рекомендации по управлению инцидентами по анализу угроз безопасности, описанных в этом документе, см. в статье "Панель ошибок SDL для ИИ/ML угроз". Все это живые документы, которые будут развиваться со временем с угрозой ландшафта.

Новые ключевые соображения по моделированию угроз: новый взгляд на границы доверия

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

Сводка

Задача моделирования угроз в числе прочего охватывает хранилища данных для обучения и системы, в которых они размещены. Наиболее серьезная угроза безопасности в машинном обучении на сегодняшний день — отравление данных. Это связано с нехваткой стандартных средств обнаружения и устранения угроз в этой области, а также с зависимостью от ненадежных или непроверенных общедоступных наборов данных, из которых берутся данные для обучения. Чтобы обеспечить достоверность данных и исключить цикл обучения "мусор на входе — мусор на выходе", очень важно отслеживать их источник и происхождение.

Вопросы, на которые необходимо ответить в ходе проверки безопасности

  • Если ваши данные отравлены или незаконно изменены, как вы об этом узнаете?

    -Какие данные телеметрии необходимо обнаружить неравномерное качество обучающих данных?

  • Проводите ли вы обучение на основе данных, которые предоставляют пользователи?

    -Какой тип проверки или очистки входных данных выполняется для этого содержимого?

    - Структура этих данных документирована как таблицы для наборов данных?

  • При обучении к интернет-хранилищам данных какие действия необходимо предпринять для обеспечения безопасности подключения между моделью и данными?

    -Есть ли у них способ отчетности о компромиссах для потребителей своих веб-каналов?

    – Существует ли вообще такая возможность??

  • Насколько конфиденциальны данные, которые вы используете для обучения?

    -Каталогит ли вы или управляете добавлением, обновлением или удалением записей данных?

  • Может ли ваша модель давать на выходе конфиденциальные данные?

    – Были ли эти данные получены с разрешения источника?

  • Выдает ли модель только результаты, необходимые для достижения поставленной цели?

  • Возвращает ли модель необработанные оценки достоверности или любые другие прямые выходные данные, которые могут быть записаны и дублированы?

  • Каковы последствия восстановления обучающих данных путем атаки или инвертирования модели?

  • Если уровни достоверности выходных данных модели внезапно упадут, вы можете узнать, как или почему, а также данные, вызвавшие его?

  • Определили ли вы правильный формат входных данных для модели? Как вы обеспечиваете соответствие входных данных этому формату? Что вы делаете, если они ему не соответствуют?

  • Если выходные данные неверны, но не приводят к возникновению ошибок, как бы вы знали?

  • Знаете ли вы, являются ли алгоритмы обучения устойчивыми к состязательному входу на математическом уровне?

  • Как восстановиться после состязательного загрязнения обучающих данных?

    —Можно ли изолировать или поместить в карантин состязательный контент и повторно обучить затронутые модели?

    —Можно ли выполнить откат или восстановление до модели предыдущей версии для повторного обучения?

  • Используете ли вы обучение с подкреплением на непроверенном общедоступном содержимом?

  • Подумайте о происхождении ваших данных. При поиске проблемы могли ли вы отследить ее до ее появления в наборе данных? Если нет, не проблема ли это?

  • Узнайте, откуда приходят данные для обучения, и определите статистические нормы, чтобы начать понимание того, как выглядят аномалии

    -Какие элементы обучающих данных уязвимы для внешнего влияния?

    – Кто может наполнять наборы данных, которые вы используете для обучения?

    -Как вы нападете на источники обучающих данных, чтобы нанести ущерб конкуренту?

  • Состязательное искажение (все варианты)

  • Отравление данных (все варианты)

Примеры атак

  • Принудительное применение доброкачественных сообщений электронной почты для классификации как спама или причинение злонамеренного примера не было обнаружено

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

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

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

Выявление действий, которые может совершить модель, продукт или служба и которые могут навредить клиенту в цифровом или материальном мире

Сводка

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

Вопросы, на которые необходимо ответить в ходе проверки безопасности

  • Выполняете ли вы обучение на состязательных примерах? Какое влияние они оказывают на выходные данные модели в материальном мире?

  • В чем заключается троллинг, если говорить о вашем продукте или службе? Как вы можете выявить его и прореагировать?

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

  • К каким последствиям приведет копирование или кража модели?

  • Можно ли использовать модель для определения членства отдельного человека в определенной группе или просто в обучающих данных?

  • Может ли злоумышленник причинить репутационный ущерб или обратную реакцию на запрос на ваш продукт, заставив его выполнить определенные действия?

  • Как правильно обрабатывать правильно отформатированные, но чрезмерно предвзятые данные, например из троллей?

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

  • Определение членства

  • Инверсия модели

  • Кража модели

Примеры атак

  • Восстановление и извлечение обучающих данных путем повторного запроса модели для получения максимальной достоверности результатов

  • Дублирование самой модели путем полного сопоставления запросов и ответов

  • Запрос модели таким образом, чтобы выявить определенный элемент частных данных был включен в обучающий набор

  • Принуждение беспилотного автомобиля к игнорированию знаков остановки и сигналов светофора.

  • Манипулирование ботами, чтобы заставить их применять троллинг к обычным пользователям.

Выявление всех источников зависимостей ИИ/ML, а также уровней представления данных для пользователей в цепочке поставок данных и модели.

Сводка

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

Вопросы, на которые необходимо ответить в ходе проверки безопасности

  • Какие клиенты и партнеры проходят проверку подлинности для доступа к вашей модели или API-интерфейсам служб?

    – Могут ли они действовать в качестве уровня представления данных поверх вашей службы?

    – Можете ли вы немедленно запретить им доступ в случае компрометации?

    -Какова стратегия восстановления в случае вредоносного использования службы или зависимостей?

  • Может ли сторонняя сторона создать фасад вокруг вашей модели, чтобы перенацелить ее и нанести ущерб корпорации Майкрософт или ее клиентам?

  • Предоставляют ли клиенты данные для обучения непосредственно вам?

    – Как вы защищаете эти данные?

    – Что, если они вредоносны, а ваша служба является целью?

  • Как выглядит ложноположительный результат? Каковы последствия ложноположительного результата?

  • Можно ли отслеживать и измерять отклонение истинно положительных и ложноположительных показателей в нескольких моделях?

  • Какой тип телеметрии необходимо подтвердить надежность выходных данных модели для клиентов?

  • Определите все сторонние зависимости в цепочке поставок данных ML/Обучения, а не только открытый код программного обеспечения, но и поставщики данных.

    -Почему вы используете их и как проверить их надежность?

  • Вы используете готовые модели от 3-х сторон или отправляете обучающие данные сторонним поставщикам MLaaS?

  • Изучите информационные материалы об атаках на подобные продукты и службы. С учетом того, что многие угрозы для ИИ и ML могут быть направлены на модели разных типов, какие последствия имели бы эти атаки для ваших продуктов?

  • Перепрограммирование нейронной сети

  • Состязательные примеры в материальном мире

  • Восстановление данных для обучения злоумышленниками из числа поставщиков услуг ML

  • Атака на цепочку поставок услуг ML

  • Взлом модели с использованием бэкдора

  • Скомпрометированные зависимости, используемые для ML

Примеры атак

  • Злоумышленник из числа поставщиков услуг ML внедряет троян в вашу модель, используя обходной путь.

  • Злоумышленник находит уязвимость в распространенных используемых зависимостях OSS, отправляет созданные обучающие данные для компрометации службы.

  • Недобросовестный партнер использует API распознавания лиц и создает уровень презентации по службе для создания глубоких Fakes.

Угрозы, специфичные для ИИ и машинного обучения, и их устранение

No 1. Состязательное возмущение

Описание

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

Diagram that shows increasing attack difficulty when complexity is increasing and capability is decreasing.[24]

Вариант #1a: целевое неправильное классификация

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

Примеры

A diagram showing that a photo of targeted noise is incorrectly classified by an image classifier resulting in a photo of a bus.[6]

Устранение проблем

  • Повышение устойчивости к состязательным атакам за счет обеспечения достоверности модели с помощью состязательного обучения [19]: авторы предлагают платформу HCNN (Highly Confident Near Neighbor, высоконадежный ближайший сосед), которая объединяет сведения о достоверности и поиск ближайшего соседа, чтобы повысить устойчивость базовой модели к состязательным атакам. Это помогает различать правильные и неправильные прогнозы модели по соседству с точкой из базового обучающего распределения.

  • Анализ причинно-следственных связей на основе атрибуции [20]: Авторы исследуют связь между устойчивостью к состязательным искажениям и основанным на атрибуции объяснением отдельных решений, сгенерированных моделями машинного обучения. Авторы сообщают о том, что состязательные входные данные не являются надежными в пространстве атрибуции, т. е. маскировка нескольких признаков с высокой атрибуцией приводит к изменению неправильного решения модели машинного обучения на состязательных примерах. Напротив, естественные входные данные надежны в пространстве атрибуции.

    An illustration showing two approaches to determining how input values 9,9 becomes misclassified as 9,4.[20]

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

Традиционные аналоги

Удаленное повышение привилегий, так как злоумышленник теперь контролирует вашу модель

Severity

Critical

Вариант #1b: неправильное классификация исходного или целевого объекта

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

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

Примеры

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

Устранение проблем

Реактивные и оборонительные действия по обнаружению

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

Упреждающие и защитные действия

  • Очистка признаков от шумов для повышения устойчивости к состязательным атакам [22]: авторы разрабатывают новую сетевую архитектуру, призванную повысить устойчивость к состязательным атакам за счет очистки признаков от шумов. В частности, сети содержат блоки, которые очищают признаки от шумов с помощью нелокальных средств или других фильтров; целые сети проходят обучение комплексно. В сочетании с состязательным обучением сети с очисткой признаков от шумов значительно повышают устойчивость к состязательным атакам при тестировании по принципам как "белого", так и "черного ящика".

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

A graph showing the change in the slope of the prediction function with adversarial training.

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

  • Сжатие признаков [18] можно использовать для защиты глубоких нейронных сетей путем обнаружения состязательных примеров. Это сокращает пространство поиска, доступное злоумышленнику, за счет объединения примеров, которые соответствуют многим различным векторам признаков в исходном пространстве, в один пример. Сравнивая прогноз глубокой нейронной сети на основании исходных входных данных с прогнозом на основании сжатых входных данных, можно выявлять состязательные примеры. Если для исходного и сжатого примеров результаты, возвращенные моделью, существенно различаются, то, скорее всего, это состязательный пример. Измерив расхождение между прогнозами и выбрав пороговое значение, система может вывести правильный прогноз для допустимых примеров и отклонить входные данные состязательного примера.

    An illustration showing the result of feature squeezing.

    A diagram showing the flow of input through a feature-squeezing framework.[18]

  • Сертифицированные механизмы защиты от состязательных примеров [22]: авторы предлагают метод, основанный на полуопределенной релаксации и позволяющий получить сертификат, который гарантирует, что для данной сети и тестовых входных данных ни одна из атак не может вызвать ошибку, превышающую определенное значение. Кроме того, так как это дифференцируемый сертификат, авторы совместно оптимизируют его с параметрами сети, предоставляя адаптивный регуляризатор, который способствует устойчивости против всех атак.

Ответные действия

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

Традиционные аналоги

Удаленное повышение привилегий

Severity

Critical

Вариант #1c: случайное неправильное классификация

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

Примеры

Two photos of a cat. One photo is classified as a tabby cat. After adversarial perturbation, the other photo is classified as guacamole.

Устранение проблем

Те же методы, что для варианта 1а.

Традиционные аналоги

Непостоянный отказ в обслуживании

Severity

Важно!

Вариант #1d: уменьшение достоверности

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

Примеры

Two photos of a stop sign. The photo on the left shows a confidence level of 96 percent. After adversarial perturbation, the photo on the right shows a confidence level of 13 percent.

Устранение проблем
  • Помимо действий, описанных в варианте #1a, регулирование событий можно использовать для уменьшения объема оповещений из одного источника.
Традиционные аналоги

Непостоянный отказ в обслуживании

Severity

Важно!

#2a целевое отравление данными

Описание

Цель злоумышленника — загрязнить модель компьютера, созданную на этапе обучения, чтобы прогнозы на новых данных были изменены на этапе тестирования[1]. При целевых атаках с отравлением данных злоумышленник стремится изменить классификационную принадлежность определенных примеров, чтобы заставить систему выполнять или пропускать определенные действия.

Примеры

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

Устранение проблем
  • Определение датчиков аномалий для просмотра распределения данных на ежедневной основе и оповещений о вариантах

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

  • Проверка входных данных, их очистка и проверка целостности.

  • При отравлении добавляются примеры для обучения, выпадающие из общего ряда. Для противостояния этой угрозе используются две основные стратегии:

    -Очистка данных/ проверка: удаление образцов отравлений из обучающих данных -Bagging для борьбы с атаками на отравление [14]

    – Защита методом отбраковки при негативном влиянии (Reject-on-Negative-Impact, RONI) [15].

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

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

Традиционные аналоги

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

Severity

Critical

#2b неизбирательное отравление данными

Описание

Цель заключается в том, чтобы уничтожить качество и целостность набора данных, который подвергается атаке. Многие наборы данных являются открытыми, ненадежными или непроверенными, и это создает дополнительные опасения насчет возможности в принципе выявлять такие нарушения целостности данных. Обучение на данных, о которых неизвестно, скомпрометированы ли они, порождает ситуацию "мусор на входе — мусор на выходе". Когда обнаружено отравление, необходимо рассортировать данные, чтобы определить объем повреждений и потребность в карантине и повторном обучении.

Примеры

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

Устранение проблем

Те же методы, что для варианта 2а.

Традиционные аналоги

Отказ в обслуживании: пользователю, прошедшему аутентификацию, отказано в доступе к ценному ресурсу

Severity

Важно!

Атаки инверсии модели #3

Описание

Частные признаки, используемые в моделях машинного обучения, можно восстановить [1]. В частности, возможна реконструкция частных данных, которые использовались для обучения и к которым у злоумышленника нет доступа. В сообществе специалистов по биометрии эти атаки называют "атаками с поиском максимума" [16, 17]. Они осуществляются путем поиска входных данных, максимально увеличивающих возвращаемый доверительный уровень, с учетом классификации, соответствующей целевой модели [4].

Примеры

Two images of a person. One image is blurry and the other image is clear.[4]

Устранение проблем
  • Интерфейсам моделей, обученных на основе конфиденциальных данных, требуется строгий контроль доступа.

  • Частота запросов к модели должна быть ограничена.

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

Традиционные аналоги

Направленное тайное раскрытие информации

Severity

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

Атака вывода членства #4

Описание

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

An illustration showing the complexity of a membership inference attack. Arrows show the flow and relationship between training data prediction data.[12]

Устранение проблем

В исследовательских документах, демонстрирующих жизнеспособность таких атак, отмечается, что эффективным методом защиты от них является дифференциальная приватность [4, 9]. Это довольно новая область для Майкрософт, и комитет AETHER (рабочий поток обеспечения безопасности) рекомендует накапливать опыт и знания в ходе исследований. В ходе этих исследований необходимо определить возможности дифференциальной приватности и оценить их практическую эффективность в качестве мер по устранению риска. Затем требуется разработать способы прозрачного наследования этих средств защиты на наших платформах веб-служб, подобно тому как компиляция кода в Visual Studio обеспечивает защиту по умолчанию, прозрачную для разработчика и пользователей.

Определенный положительный эффект могут дать прореживание нейронов (дропаут) и стек моделей. Прореживание нейронов повышает не только устойчивость нейронной сети к этой атаке, но и производительность модели [4].

Традиционные аналоги

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

Severity

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

Кража модели #5

Описание

Злоумышленники воссоздают базовую модель с помощью легальных запросов к ней. Новая модель по своим функциональным возможностям аналогична базовой [1]. По воссозданной модели путем инверсии можно восстановить сведения о признаках или получить представление о данных для обучения.

  • Решение уравнения. Злоумышленник может создать запросы, позволяющие определить неизвестные переменные в модели, возвращающей вероятности класса через выходные данные API.

  • Поиск пути — атака, которая использует особенности API для извлечения "решений", принятых деревом при классификации входных данных [7].

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

Примеры

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

Устранение проблем

Упреждающие и защитные действия

  • Свести к минимуму или скрыть сведения, возвращенные в API прогнозирования, сохраняя их полезность для "честных" приложений [7].

  • Определите хорошо сформированный запрос для входных данных модели и возвращает результаты только в ответ на завершенные, хорошо сформированные входные данные, соответствующие указанному формату.

  • Возвращайте значения округленной достоверности. Большинству легальных авторов запросов не требуется несколько десятичных знаков.

Традиционные аналоги

Несанкционированный доступ только для чтения, незаконное изменение системных данных, направленное раскрытие информации, обладающей высокой ценностью?

Severity

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

Перепрограммирование нейронной сети No 6

Описание

С помощью специально созданного запроса злоумышленник может перепрограммировать системы машинного обучения на выполнение задач, не предусмотренных их создателем [1].

Примеры

Неэффективное управление доступом в API распознавания лиц, позволяющее третьим лицам встраивать приложения, которые предназначены для причинения вреда клиентам Майкрософт, например генератор дипфейков.

Устранение проблем
  • Надежная взаимная проверка подлинности на стороне клиента<> и управление доступом к интерфейсам модели

  • Устранение учетных записей-нарушителей.

  • Составление и принудительное применение соглашения об уровне обслуживания для API-интерфейсов. Определите допустимое время для устранения проблемы после сообщения о ней и гарантируйте, что она не будет воспроизводиться, пока действует соглашение об уровне обслуживания.

Традиционные аналоги

Это сценарий неправильного использования. Скорее всего, вы предпочтете просто отключить учетную запись нарушителя, а не открывать инцидент безопасности.

Severity

От важного до критического уровня

#7 Состязательный пример в физическом домене (биты-атомы>)

Описание

Состязательный пример — это входные данные или запрос от вредоносного объекта, отправленные с целью ввести в заблуждение систему машинного обучения [1].

Примеры

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

Традиционные аналоги

Повышение привилегий, удаленное выполнение кода

Устранение проблем

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

Severity

Critical

#8 Вредоносные ML поставщики, которые могут восстановить обучающие данные

Описание

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

Традиционные аналоги

Направленное раскрытие информации

Устранение проблем

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

Severity

Важно, если речь идет о персональных данных, в противном случае — умеренная серьезность

#9 Атака на цепочку поставок ML

Описание

Для обучения алгоритмов требуется много ресурсов (данных и вычислений), поэтому сейчас популярно использование моделей, обученных крупными корпорациями, которые адаптируются для требуемых задач (например, ResNet — это популярная модель распознавания изображений от Майкрософт). Эти модели размещаются в галерее Model Zoo (на платформе Caffe можно найти популярные модели распознавания изображений). Атака нацелена на модели, размещенные в Caffe, в результате пользователи платформы имеют все шансы получить искаженную модель.  [1]

Традиционные аналоги
  • Компрометация зависимости, не относящейся к безопасности, от третьей стороны

  • Непреднамеренное размещение вредоносной программы в магазине приложений

Устранение проблем
  • Уменьшите зависимости от третьих лиц по вопросам моделей и данных в максимально возможной степени.

  • Учитывайте такие зависимости в процессе моделирования угроз.

  • Используйте надежную проверку подлинности, контроль доступа и шифрование между сторонними системами.

Severity

Critical

#10 Backdoor Машинное обучение

Описание

Процесс обучения передается на аутсорсинг злонамеренному третьему лицу, которое незаконно изменяет данные для обучения и предоставляет модель, зараженную трояном. Эта модель неправильно классифицирует определенные входные данные, например относит вирус к безопасному ПО [1]. Этот риск присущ сценариям, в которых модель создается по схеме MLaaS (ML как услуга).

An example showing how mis-classifications can adversely affect training data. One photo is a correctly classified stop sign. After poisoning, the second photo is labeled as a speed limit sign.[12]

Традиционные аналоги
  • Компрометация зависимости, относящейся к безопасности, от третьей стороны

  • Компрометация механизма обновления программного обеспечения

  • Компрометация центра сертификации

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

  • Обучение данных каталога или обеспечение того, что они поступают от доверенной третьей стороны с помощью надежных методов безопасности

  • Модель угроз: взаимодействие между поставщиком MLaaS и собственными системами

Ответные действия
  • Те же, что и при компрометации внешней зависимости
Severity

Critical

#11 Зависимости программного обеспечения эксплойтов системы ML

Описание

В этой атаке злоумышленник НЕ манипулирует алгоритмами. Он использует традиционные уязвимости программного обеспечения, например переполнение буфера или межсайтовые сценарии [1]. Нарушить безопасность программных уровней, располагающихся ниже уровня ИИ и ML, проще, чем атаковать непосредственно уровень обучения. По этой причине важны традиционные методы защиты от угроз безопасности, описанные в разделе "Жизненный цикл разработки защищенных приложений".

Традиционные аналоги
  • Скомпрометированная зависимость от программного обеспечения с открытым кодом

  • Уязвимость веб-сервера (XSS, CSRF, сбой проверки входных данных API)

Устранение проблем

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

Severity

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

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

[1] Рам Шанкар Шива Кумар, Дэвид О’Брайен, Кендра Альберт, Саломе Фильюн и Джеффри Сновер. Режимы сбоев в машинном обучении. URL: https://docs.microsoft.com/security/failure-modes-in-machine-learning.

[2] AETHER Security Engineering Workstream, Data Provenance/Lineage v-team.

[3] Adversarial Examples in Deep Learning: Characterization and Divergence, Wei, et al, https://arxiv.org/pdf/1807.00051.pdf.

[4] ML-Leaks: Model and Data Independent Membership Inference Attacks and Defenses on Machine Learning Models, Salem, et al, https://arxiv.org/pdf/1806.01246v2.pdf.

[5] M. Fredrikson, S. Jha, and T. Ristenpart, Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures, in Proceedings of the 2015 ACM SIGSAC Conference on Computer and Communications Security (CCS).

[6] Николас Papernot & Патрик Макдэниел - состязательный пример в Машинное обучение AIWTB 2017

[7] Stealing Machine Learning Models via Prediction APIs, Florian Tramèr, École Polytechnique Fédérale de Lausanne (EPFL); Fan Zhang, Cornell University; Ari Juels, Cornell Tech; Michael K. Reiter, The University of North Carolina at Chapel Hill; Thomas Ristenpart, Cornell Tech.

[8] The Space of Transferable Adversarial Examples, Florian Tramèr , Nicolas Papernot , Ian Goodfellow , Dan Boneh , and Patrick McDaniel.

[9] Understanding Membership Inferences on Well-Generalized Learning Models Yunhui Long1 , Vincent Bindschaedler1 , Lei Wang2 , Diyue Bu2 , Xiaofeng Wang2 , Haixu Tang2 , Carl A. Gunter1 , and Kai Chen3,4.

[10] Simon-Gabriel et al., Adversarial vulnerability of neural networks increases with input dimension, ArXiv 2018.

[11] Lyu et al., A unified gradient regularization family for adversarial examples, ICDM 2015.

[12] Wild Patterns: Ten Years After the Rise of Adversarial Machine Learning - NeCS 2019 Battista Biggioa, Fabio Roli.

[13] Adversarially Robust Malware Detection UsingMonotonic Classification Inigo Incer et al.

[14] Battista Biggio, Igino Corona, Giorgio Fumera, Giorgio Giacinto, and Fabio Roli. Bagging Classifiers for Fighting Poisoning Attacks in Adversarial Classification Tasks.

[15] Улучшенное отклонение на негативное воздействие обороны Хонцзян Ли и Патрик П.К. Чан

[16] Adler. Vulnerabilities in biometric encryption systems. 5th Int’l Conf. AVBPA, 2005.

[17] Galbally, McCool, Fierrez, Marcel, Ortega-Garcia. On the vulnerability of face verification systems to hill-climbing attacks. Patt. Rec., 2010.

[18] Weilin Xu, David Evans, Yanjun Qi. Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks. 2018 Network and Distributed System Security Symposium. 18-21 February.

[19] Reinforcing Adversarial Robustness using Model Confidence Induced by Adversarial Training - Xi Wu, Uyeong Jang, Jiefeng Chen, Lingjiao Chen, Somesh Jha.

[20] Attribution-driven Causal Analysis for Detection of Adversarial Examples, Susmit Jha, Sunny Raj, Steven Fernandes, Sumit Kumar Jha, Somesh Jha, Gunjan Verma, Brian Jalaian, Ananthram Swami.

[21] Robust Linear Regression Against Training Data Poisoning – Chang Liu et al.

[22] Feature Denoising for Improving Adversarial Robustness, Cihang Xie, Yuxin Wu, Laurens van der Maaten, Alan Yuille, Kaiming He.

[23] Certified Defenses against Adversarial Examples - Aditi Raghunathan, Jacob Steinhardt, Percy Liang.