Моделирование угроз для систем и зависимостей в области ИИ и MLThreat Modeling AI/ML Systems and Dependencies

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

Особая благодарность Раулю Рохасу (Raul Rojas) и комитету AETHER (рабочему потоку обеспечения безопасности)Special Thanks to Raul Rojas and the AETHER Security Engineering Workstream

Ноябрь 2019 г.November 2019

Этот документ выработан Рабочей группой инженерных методик для ИИ, входящей в состав комитета AETHER. Он дополняет существующие методы моделирования угроз в рамках SDL и содержит новые рекомендации по регистрации и устранению угроз, разработанные специально для области ИИ и машинного обучения (ML).This document is a deliverable of the AETHER Engineering Practices for AI Working Group and supplements existing SDL threat modeling practices by providing new guidance on threat enumeration and mitigation specific to the AI and Machine Learning space. Документ следует использовать в качестве справки в ходе проверок системы безопасности для таких продуктов и служб:It is intended to be used as a reference during security design reviews of the following:

  1. Продукты и службы, взаимодействующие со службами на основе ИИ/ML или зависящие от них.Products/services interacting with or taking dependencies on AI/ML-based services

  2. Продукты и службы, создаваемые на основе ИИ/ML.Products/services being built with AI/ML at their core

Традиционная защита от угроз безопасности сейчас важнее, чем когда-либо.Traditional security threat mitigation is more important than ever. Требования, установленные в разделе Жизненный цикл разработки защищенных приложений, играют ключевую роль в определении принципов обеспечения безопасности продукта, лежащих в основе данного руководства.The requirements established by the Security Development Lifecycle are essential to establishing a product security foundation that this guidance builds upon. Неспособность справиться с традиционными угрозами безопасности открывает возможности для описанных в этом документе атак, нацеленных на системы ИИ/ML (как цифровых, так и физических), а также упрощает распространение угроз в стеке программного обеспечения.Failure to address traditional security threats helps enable the AI/ML-specific attacks covered in this document in both the software and physical domains, as well as making compromise trivial lower down the software stack. Общие сведения о новых угрозах безопасности в этой области см. в статье Безопасное будущее ИИ и машинного обучения в Майкрософт.For an introduction to net-new security threats in this space see Securing the Future of AI and ML at Microsoft.

Как правило, инженеры по безопасности и специалисты по обработке и анализу данных обладают совершенно разными наборами навыков.The skillsets of security engineers and data scientists typically do not overlap. Используя это руководство, представители обоих направлений смогут вести структурированные беседы об этих новых угрозах и устранении рисков, причем им не потребуется осваивать вторую профессию.This guidance provides a way for both disciplines to have structured conversations on these net-new threats/mitigations without requiring security engineers to become data scientists or vice versa.

Документ состоит из двух следующих разделов:This document is divided into two sections:

  1. "Новые ключевые соображения по моделированию угроз". Здесь рассматриваются новые способы мышления и новые вопросы, на которые следует найти ответы при моделировании угроз для систем ИИ и машинного обучения.“Key New Considerations in Threat Modeling” focuses on new ways of thinking and new questions to ask when threat modeling AI/ML systems. Специалисты по обработке и анализу данных и инженеры по безопасности должны ознакомиться с этим разделом, так как он станет их "сборником схем" для бесед о моделировании угроз и определения приоритетов в устранении рисков.Both data scientists and security engineers should review this as it will be their playbook for threat modeling discussions and mitigation prioritization.
  2. "Угрозы, специфичные для ИИ и машинного обучения, и их устранение". Этот раздел содержит подробные сведения об атаках, направленных на системы ИИ и ML. В нем также описаны конкретные действия по устранению рисков, используемые сегодня для защиты продуктов и служб Майкрософт от этих угроз.“AI/ML-specific Threats and their Mitigations” provides details on specific attacks as well as specific mitigation steps in use today to protect Microsoft products and services against these threats. Этот раздел в основном предназначен для специалистов по обработке и анализу данных, которым может потребоваться принять определенные меры по предотвращению угроз по результатам процесса моделирования угроз и проверки безопасности.This section is primarily targeted at data scientists who may need to implement specific threat mitigations as an output of the threat modeling/security review process.

В основе этого руководства лежит таксономия угроз состязательного машинного обучения под названием Режимы сбоев в машинном обучении, которую разработали Рам Шанкар Шива Кумар (Ram Shankar Siva Kumar), Дэвид О’Брайен (David O’Brien), Кендра Альберт (Kendra Albert), Саломе Фильюн (Salome Viljoen) и Джеффри Сновер (Jeffrey Snover).This guidance is organized around an Adversarial Machine Learning Threat Taxonomy created by Ram Shankar Siva Kumar, David O’Brien, Kendra Albert, Salome Viljoen, and Jeffrey Snover entitled “Failure Modes in Machine Learning.” Рекомендации по управлению инцидентами при рассмотрении угроз безопасности, описанных в этом документе, см. в статье Панель ошибок SDL для угроз в области ИИ и машинного обучения.For incident management guidance on triaging security threats detailed in this document, refer to the SDL Bug Bar for AI/ML Threats. Эти документы пересматриваются и уточняются по мере изменения картины угроз.All of these are living documents which will evolve over time with the threat landscape.

Новые ключевые соображения по моделированию угроз: новый взгляд на границы доверияKey New Considerations in Threat Modeling: Changing the way you view Trust Boundaries

Предполагается компрометация или отравление данных, которые используются для обучения, а также поставщика данных.Assume compromise/poisoning of the data you train from as well as the data provider. В этом разделе описано, как обнаруживать аномальные и вредоносные записи данных, как различать их и восстанавливать данные.Learn to detect anomalous and malicious data entries as well as being able to distinguish between and recover from them

СводкаSummary

Задача моделирования угроз в числе прочего охватывает хранилища данных для обучения и системы, в которых они размещены.Training Data stores and the systems that host them are part of your Threat Modeling scope. Наиболее серьезная угроза безопасности в машинном обучении на сегодняшний день — отравление данных. Это связано с нехваткой стандартных средств обнаружения и устранения угроз в этой области, а также с зависимостью от ненадежных или непроверенных общедоступных наборов данных, из которых берутся данные для обучения.The greatest security threat in machine learning today is data poisoning because of the lack of standard detections and mitigations in this space, combined with dependence on untrusted/uncurated public datasets as sources of training data. Чтобы обеспечить достоверность данных и исключить цикл обучения "мусор на входе — мусор на выходе", очень важно отслеживать их источник и происхождение.Tracking the provenance and lineage of your data is essential to ensuring its trustworthiness and avoiding a “garbage in, garbage out” training cycle.

Вопросы, на которые необходимо ответить в ходе проверки безопасностиQuestions to Ask in a Security Review

  • Если ваши данные отравлены или незаконно изменены, как вы об этом узнаете?If your data is poisoned or tampered with, how would you know?

    – Какую телеметрию вы используете, чтобы определять отклонения в качестве данных для обучения?-What telemetry do you have to detect a skew in the quality of your training data?

  • Проводите ли вы обучение на основе данных, которые предоставляют пользователи?Are you training from user-supplied inputs?

    – Какие виды проверки и очистки вы применяете к таким данным?-What kind of input validation/sanitization are you doing on that content?

    – Задокументирована ли структура этих данных подобно этим спецификациям наборов данных?-Is the structure of this data documented similar to Datasheets for Datasets?

  • Если для обучения используются данные из сетевых хранилищ, то какие действия вы выполняете, чтобы обеспечить безопасность соединения между моделью и данными?If you train against online data stores, what steps do you take to ensure the security of the connection between your model and the data?

    – Есть ли способ сообщать о компрометации потребителям каналов?-Do they have a way of reporting compromises to consumers of their feeds?

    – Существует ли вообще такая возможность??-Are they even capable of that?

  • Насколько конфиденциальны данные, которые вы используете для обучения?How sensitive is the data you train from?

    – Выполняете ли вы их каталогизацию, контролируете ли добавление, обновление и удаление записей данных?-Do you catalog it or control the addition/updating/deletion of data entries?

  • Может ли ваша модель давать на выходе конфиденциальные данные?Can your model output sensitive data?

    – Были ли эти данные получены с разрешения источника?-Was this data obtained with permission from the source?

  • Выдает ли модель только результаты, необходимые для достижения поставленной цели?Does the model only output results necessary to achieving its goal?

  • Возвращает ли модель предварительные оценки достоверности или какие-либо другие выходные данные, которые можно записать и дублировать?Does your model return raw confidence scores or any other direct output which could be recorded and duplicated?

  • Как влияет инверсия вашей модели или атака на нее на восстановление данных для обучения?What is the impact of your training data being recovered by attacking/inverting your model?

  • Если уровни достоверности выходных данных модели внезапно упадут, есть ли возможность узнать, как, почему и из-за каких именно данных это произошло?If confidence levels of your model output suddenly drop, can you find out how/why, as well as the data that caused it?

  • Определили ли вы правильный формат входных данных для модели?Have you defined a well-formed input for your model? Как вы обеспечиваете соответствие входных данных этому формату? Что вы делаете, если они ему не соответствуют?What are you doing to ensure inputs meet this format and what do you do if they don’t?

  • Если выходные данные неверны, но это не вызывает сообщений об ошибках, как вы узнаете о проблеме?If your outputs are wrong but not causing errors to be reported, how would you know?

  • Знаете ли вы, устойчивы ли ваши алгоритмы обучения к состязательным входным данным на математическом уровне?Do you know if your training algorithms are resilient to adversarial inputs on a mathematical level?

  • Как вы выполняете восстановление после загрязнения данных для обучения состязательным содержимым?How do you recover from adversarial contamination of your training data?

    – Можете ли вы изолировать или поместить на карантин состязательное содержимое и переучить затронутые модели?-Can you isolate/quarantine adversarial content and re-train impacted models?

    – Можете ли вы выполнить откат или восстановление до модели предыдущей версии с целью повторного обучения?-Can you roll back/recover to a model of a prior version for re-training?

  • Используете ли вы обучение с подкреплением на непроверенном общедоступном содержимом?Are you using Reinforcement Learning on uncurated public content?

  • Подумайте о происхождении ваших данных. При поиске проблемы могли ли вы отследить ее до ее появления в наборе данных?Start thinking about the lineage of your data – were you to find a problem, could you track it to its introduction into the dataset? Если нет, не проблема ли это?If not, is that a problem?

  • Вам нужно знать, откуда берутся данные для обучения, и определить статистические нормы, чтобы понимать, как выглядят аномалии.Know where your training data comes from and identify statistical norms in order to begin understanding what anomalies look like

    – Какие элементы данных для обучения уязвимы для внешнего влияния?-What elements of your training data are vulnerable to outside influence?

    – Кто может наполнять наборы данных, которые вы используете для обучения?-Who can contribute to the data sets you’re training from?

    – Как бы вы атаковали свои источники данных для обучения, чтобы навредить конкуренту?-How would you attack your sources of training data to harm a competitor?

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

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

Примеры атакExample Attacks

  • Принудительная классификация полезных сообщений как спама или предотвращение обнаружения вредоносного примера.Forcing benign emails to be classified as spam or causing a malicious example to go undetected

  • Создание злоумышленником входных данных, позволяющих снизить уровень достоверности правильной классификации, особенно в сценариях с серьезными последствиями.Attacker-crafted inputs that reduce the confidence level of correct classification, especially in high-consequence scenarios

  • Внедрение злоумышленником случайного шума в исходные данные, которые подвергаются классификации, чтобы уменьшить вероятность использования правильной классификации в будущем, что приводит к серьезному ухудшению модели.Attacker injects noise randomly into the source data being classified to reduce the likelihood of the correct classification being used in the future, effectively dumbing down the model

  • Загрязнение данных для обучения с целью неправильной классификации выбранных точек данных, что приводит к выполнению определенных действий или остается незамеченным системой.Contamination of training data to force the misclassification of select data points, resulting in specific actions being taken or omitted by a system

Выявление действий, которые может совершить модель, продукт или служба и которые могут навредить клиенту в цифровом или материальном миреIdentify actions your model(s) or product/service could take which can cause customer harm online or in the physical domain

СводкаSummary

Неустраненные атаки на системы ИИ и машинного обучения могут выйти за пределы цифрового мира и нанести вред в мире материальном.Left unmitigated, attacks on AI/ML systems can find their way over to the physical world. Любой сценарий, который можно извратить таким образом, чтобы навредить пользователям психологически или физически, — это катастрофический риск для вашего продукта или службы.Any scenario which can be twisted to psychologically or physically harm users is a catastrophic risk to your product/service. Речь идет, в том числе, о любых конфиденциальных данных клиентов, использованных для обучения, и о проектных решениях, которые могут привести к утечке таких частных данных.This extends to any sensitive data about your customers used for training and design choices that can leak those private data points.

Вопросы, на которые необходимо ответить в ходе проверки безопасностиQuestions to Ask in a Security Review

  • Выполняете ли вы обучение на состязательных примерах?Do you train with adversarial examples? Какое влияние они оказывают на выходные данные модели в материальном мире?What impact do they have on your model output in the physical domain?

  • В чем заключается троллинг, если говорить о вашем продукте или службе?What does trolling look like to your product/service? Как вы можете выявить его и прореагировать?How can you detect and respond to it?

  • Каким образом можно заставить вашу модель возвратить результат, который вынудит службу запретить доступ легальным пользователям?What would it take to get your model to return a result that tricks your service into denying access to legitimate users?

  • К каким последствиям приведет копирование или кража модели?What is the impact of your model being copied/stolen?

  • Можно ли использовать вашу модель, чтобы установить принадлежность отдельного лица к определенной группе или просто определить, что оно упоминается в данных для обучения?Can your model be used to infer membership of an individual person in a particular group, or simply in the training data?

  • Может ли злоумышленник подорвать репутацию вашего продукта или вызвать негативное отношение к нему, принудив его выполнять определенные действия?Can an attacker cause reputational damage or PR backlash to your product by forcing it to carry out specific actions?

  • Как вы обрабатываете правильно отформатированные, но явно смещенные данные, например полученные от троллей?How do you handle properly formatted but overtly biased data, such as from trolls?

  • Есть ли возможность раскрыть данные для обучения или принципы работы модели, изучив какой-либо из известных способов взаимодействия с ней или отправки запроса к ней?For each way to interact with or query your model is exposed, can that method be interrogated to disclose training data or model functionality?

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

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

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

Примеры атакExample Attacks

  • Реконструкция и извлечение данных для обучения путем многократной отправки запросов к модели для получения максимально достоверных результатов.Reconstruction and extraction of training data by repeatedly querying the model for maximum confidence results

  • Дублирование самой модели с помощью исчерпывающего сопоставления запросов и ответов.Duplication of the model itself by exhaustive query/response matching

  • Отправка запросов к модели таким способом, который позволяет раскрыть определенный элемент частных данных, включенных в набор для обучения.Querying the model in a way that reveals a specific element of private data was included in the training set

  • Принуждение беспилотного автомобиля к игнорированию знаков остановки и сигналов светофора.Self-driving car being tricked to ignore stop signs/traffic lights

  • Манипулирование ботами, чтобы заставить их применять троллинг к обычным пользователям.Conversational bots manipulated to troll benign users

Выявление всех источников зависимостей ИИ/ML, а также уровней представления данных для пользователей в цепочке поставок данных и модели.Identify all sources of AI/ML dependencies as well as frontend presentation layers in your data/model supply chain

СводкаSummary

Многие атаки на системы ИИ и машинного обучения начинаются с легального доступа к интерфейсам API, которые предоставляются для обеспечения доступа к модели с помощью запросов.Many attacks in AI and Machine Learning begin with legitimate access to APIs which are surfaced to provide query access to a model. Использование обширных источников данных и многофункциональных пользовательских интерфейсов приводит к тому, что доступ третьих лиц, прошедших аутентификацию, но "неприемлемых" (здесь есть серая зона) несет с собой риск, так как такие лица получают возможность действовать в качестве уровня представления данных поверх службы, которую предоставляет Майкрософт.Because of the rich sources of data and rich user experiences involved here, authenticated but “inappropriate” (there’s a gray area here) 3rd-party access to your models is a risk because of the ability to act as a presentation layer above a Microsoft-provided service.

Вопросы, на которые необходимо ответить в ходе проверки безопасностиQuestions to Ask in a Security Review

  • Какие клиенты или партнеры аутентифицированы для доступа к API модели или службы?Which customers/partners are authenticated to access your model or service APIs?

    – Могут ли они действовать в качестве уровня представления данных поверх вашей службы?-Can they act as a presentation layer on top of your service?

    – Можете ли вы немедленно запретить им доступ в случае компрометации?-Can you revoke their access promptly in case of compromise?

    – Какова ваша стратегия восстановления на случай вредоносного использования вашей службы или зависимостей?-What is your recovery strategy in the event of malicious use of your service or dependencies?

  • Может ли третье лицо построить фасад вокруг вашей модели, чтобы изменить ее назначение и нанести ущерб корпорации Майкрософт или ее клиентам?Can a 3rd party build a façade around your model to re-purpose it and harm Microsoft or its customers?

  • Предоставляют ли клиенты данные для обучения непосредственно вам?Do customers provide training data to you directly?

    – Как вы защищаете эти данные?-How do you secure that data?

    – Что, если они вредоносны, а ваша служба является целью?-What if it’s malicious and your service is the target?

  • Как выглядит ложноположительный результат?What does a false-positive look like here? Каковы последствия ложноположительного результата?What is the impact of a false-negative?

  • Можете ли вы отслеживать и измерять отклонение количества истинноположительных и ложноположительных результатов в нескольких моделях?Can you track and measure deviation of True Positive vs False Positive rates across multiple models?

  • Какая телеметрия вам нужна, чтобы доказать достоверность выходных данных модели клиентам?What kind of telemetry do you need to prove the trustworthiness of your model output to your customers?

  • Выявите все зависимости от третьих лиц в своей цепочке поставок данных машинного обучения (не только программное обеспечение с открытым кодом, но и поставщиков данных).Identify all 3rd party dependencies in your ML/Training data supply chain – not just open source software, but data providers as well

    – Почему вы используете их и как проверяете их надежность?-Why are you using them and how do you verify their trustworthiness?

  • Вы используете готовые модели, полученные от третьих лиц, или отправляете данные для обучения сторонним поставщикам MLaaS (ML как услуга)?Are you using pre-built models from 3rd parties or submitting training data to 3rd party MLaaS providers?

  • Изучите информационные материалы об атаках на подобные продукты и службы.Inventory news stories about attacks on similar products/services. С учетом того, что многие угрозы для ИИ и ML могут быть направлены на модели разных типов, какие последствия имели бы эти атаки для ваших продуктов?Understanding that many AI/ML threats transfer between model types, what impact would these attacks have on your own products?

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

  • Состязательные примеры в материальном миреAdversarial Examples in the physical domain

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

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

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

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

Примеры атакExample Attacks

  • Злоумышленник из числа поставщиков услуг ML внедряет троян в вашу модель, используя обходной путь.Malicious MLaaS provider trojans your model with a specific bypass

  • Злоумышленник обнаруживает уязвимость в используемой зависимости от распространенного ПО с открытым кодом и отправляет атакующий код со специально подготовленными данными для обучения, чтобы скомпрометировать вашу службу.Adversary customer finds vulnerability in common OSS dependency you use, uploads crafted training data payload to compromise your service

  • Неразборчивый партнер использует API для распознавания лиц и создает уровень представления данных поверх вашей службы, чтобы синтезировать дипфейки.Unscrupulous partner uses facial recognition APIs and creates a presentation layer over your service to produce Deep Fakes.

Угрозы, специфичные для ИИ и машинного обучения, и их устранениеAI/ML-specific Threats and their Mitigations

#1. Состязательное искажение#1: Adversarial Perturbation

ОписаниеDescription

При искажающих атаках злоумышленник незаметно изменяет запрос, чтобы получить нужный ответ от модели, развернутой в рабочей среде [1].In perturbation-style attacks, the attacker stealthily modifies the query to get a desired response from a production-deployed model[1]. Это нарушает целостность входных данных модели, что приводит к атакам методом фаззинга, которые не обязательно нацелены на нарушение прав доступа или завершение работы программы. Вместо этого они нарушают способность модели выполнять классификацию.This is a breach of model input integrity which leads to fuzzing-style attacks where the end result isn’t necessarily an access violation or EOP, but instead compromises the model’s classification performance. Это могут быть интернет-тролли, использующие определенные слова таким образом, чтобы ИИ запрещал их использование. Такой прием позволяет заставить систему отказывать в обслуживании легальному пользователю, имя которого совпадает с запрещенным словом.This can also be manifested by trolls using certain target words in a way that the AI will ban them, effectively denying service to legitimate users with a name matching a “banned” word.

[24][24]

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

В этом случае злоумышленники создают пример, который не входит в класс входных данных целевого классификатора, но классифицируется моделью как принадлежащий именно к этому классу входных данных.In this case attackers generate a sample that is not in the input class of the target classifier but gets classified by the model as that particular input class. Для человеческого глаза состязательный пример может выглядеть как случайный шум, но злоумышленники обладают определенными знаниями о целевой системе машинного обучения, что позволяет им создать белый шум, который не является случайным, а использует некоторые специфические аспекты целевой модели.The adversarial sample can appear like random noise to human eyes but attackers have some knowledge of the target machine learning system to generate a white noise that is not random but is exploiting some specific aspects of the target model. Злоумышленник предоставляет пример входных данных, который не является допустимым, но целевая система классифицирует его как принадлежащий к одному из допустимых классов.The adversary gives an input sample that is not a legitimate sample, but the target system classifies it as a legitimate class.

ПримерыExamples

[6][6]

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

  • Повышение устойчивости к состязательным атакам за счет обеспечения достоверности модели с помощью состязательного обучения [19]: авторы предлагают платформу HCNN (Highly Confident Near Neighbor, высоконадежный ближайший сосед), которая объединяет сведения о достоверности и поиск ближайшего соседа, чтобы повысить устойчивость базовой модели к состязательным атакам.Reinforcing Adversarial Robustness using Model Confidence Induced by Adversarial Training [19]: The authors propose Highly Confident Near Neighbor (HCNN), a framework that combines confidence information and nearest neighbor search, to reinforce adversarial robustness of a base model. Это помогает различать правильные и неправильные прогнозы модели по соседству с точкой из базового обучающего распределения.This can help distinguish between right and wrong model predictions in a neighborhood of a point sampled from the underlying training distribution.

  • Анализ причинно-следственных связей на основе атрибуции [20]: Авторы исследуют связь между устойчивостью к состязательным искажениям и основанным на атрибуции объяснением отдельных решений, сгенерированных моделями машинного обучения.Attribution-driven Causal Analysis [20]: The authors study the connection between the resilience to adversarial perturbations and the attribution-based explanation of individual decisions generated by machine learning models. Авторы сообщают о том, что состязательные входные данные не являются надежными в пространстве атрибуции, т. е. маскировка нескольких признаков с высокой атрибуцией приводит к изменению неправильного решения модели машинного обучения на состязательных примерах.They report that adversarial inputs are not robust in attribution space, that is, masking a few features with high attribution leads to change indecision of the machine learning model on the adversarial examples. Напротив, естественные входные данные надежны в пространстве атрибуции.In contrast, the natural inputs are robust in attribution space.

    [20][20]

Эти подходы могут сделать модели машинного обучения более устойчивыми к состязательным атакам, так как чтобы обмануть систему с двумя уровнями распознавания, нужно не только атаковать исходную модель, но и обеспечить сходство атрибуции, генерируемой для состязательного примера, с атрибуцией для исходных примеров.These approaches can make machine learning models more resilient to adversarial attacks because fooling this two-layer cognition system requires not only attacking the original model but also ensuring that the attribution generated for the adversarial example is similar to the original examples. Чтобы состязательная атака была успешной, обе системы должны быть скомпрометированы одновременно.Both the systems must be simultaneously compromised for a successful adversarial attack.

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

Удаленное повышение привилегий, так как злоумышленник теперь контролирует вашу модельRemote Elevation of Privilege since attacker is now in control of your model

SeveritySeverity

CriticalCritical

Вариант #1б: Неправильная классификация исходных и целевых данныхVariant #1b: Source/Target misclassification

Это попытка злоумышленника получить модель, которая возвращает нужную метку для конкретных входных данных.This is characterized as an attempt by an attacker to get a model to return their desired label for a given input. Обычно это выражается в том, что модель принудительно возвращает ложноположительный или ложноотрицательный результат.This usually forces a model to return a false positive or false negative. В итоге злоумышленник незаметно получает возможность контролировать точность классификации модели и может произвольно инициировать определенные обходные пути.The end result is a subtle takeover of the model’s classification accuracy, whereby an attacker can induce specific bypasses at will.

Эта атака оказывает серьезное негативное влияние на точность классификации, однако ее проведение требует много времени. Это связано с тем, что злоумышленник должен манипулировать исходными данными таким образом, чтобы им не только перестали присваиваться правильные метки, но и присваивалась особая мошенническая метка.While this attack has a significant detrimental impact to classification accuracy, it can also be more time-intensive to carry out given that an adversary must not only manipulate the source data so that it is no longer labeled correctly, but also labeled specifically with the desired fraudulent label. Эти атаки, целью которых является неправильная классификация, часто состоят из нескольких шагов или попыток [3].These attacks often involve multiple steps/attempts to force misclassification [3]. Если модель чувствительна к атакам с передачей обучения, которые принуждают ее к нацеленной неправильной классификации, то злоумышленник может и не оставить заметного следа в виде трафика, так как зондирующие атаки могут быть выполнены без подключения к сети.If the model is susceptible to transfer learning attacks which force targeted misclassification, there may be no discernable attacker traffic footprint as the probing attacks can be carried out offline.

ПримерыExamples

Принудительная классификация полезных сообщений как спама или предотвращение обнаружения вредоносного примера.Forcing benign emails to be classified as spam or causing a malicious example to go undetected. Эта уловка также известна, как искажение модели или имитационные атаки.These are also known as model evasion or mimicry attacks.

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

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

  • Установите минимальное пороговое значение времени между вызовами API, который предоставляет результаты классификации.Implement a minimum time threshold between calls to the API providing classification results. Это замедлит тестирование многоэтапной атаки, так как увеличится общее время, необходимое для поиска успешного искажения.This slows down multi-step attack testing by increasing the overall amount of time required to find a success perturbation.

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

  • Очистка признаков от шумов для повышения устойчивости к состязательным атакам [22]: авторы разрабатывают новую сетевую архитектуру, призванную повысить устойчивость к состязательным атакам за счет очистки признаков от шумов.Feature Denoising for Improving Adversarial Robustness [22]: The authors develop a new network architecture that increase adversarial robustness by performing feature denoising. В частности, сети содержат блоки, которые очищают признаки от шумов с помощью нелокальных средств или других фильтров; целые сети проходят обучение комплексно.Specifically, the networks contain blocks that denoise the features using non-local means or other filters; the entire networks are trained end-to-end. В сочетании с состязательным обучением сети с очисткой признаков от шумов значительно повышают устойчивость к состязательным атакам при тестировании по принципам как "белого", так и "черного ящика".When combined with adversarial training, the feature denoising networks substantially improve the state-of-the-art in adversarial robustness in both white-box and black-box attack settings.

  • Состязательное обучение и регуляризация: проведите обучение на известных состязательных примерах, чтобы обеспечить надежность работы и устойчивость против вредоносных входных данных.Adversarial Training and Regularization: Train with known adversarial samples to build resilience and robustness against malicious inputs. Это можно также рассматривать как форму регуляризации, при которой к норме градиентов входных данных применяется штраф, а функция прогнозирования классификатора сглаживается (расширяются границы входных данных).This can also be seen as a form of regularization, which penalizes the norm of input gradients and makes the prediction function of the classifier smoother (increasing the input margin). Это относится и к правильным классификациям с невысокой степенью достоверности.This includes correct classifications with lower confidence rates.

Инвестируйте в разработку монотонной классификации с выбором монотонных признаков.Invest in developing monotonic classification with selection of monotonic features. В этом случае злоумышленник не сможет уклониться от классификатора, просто указывая признаки из негативной группы [13].This ensures that the adversary will not be able to evade the classifier by simply padding features from the negative class [13].

  • Сжатие признаков [18] можно использовать для защиты глубоких нейронных сетей путем обнаружения состязательных примеров.Feature squeezing [18] can be used to harden DNN models by detecting adversarial examples. Это сокращает пространство поиска, доступное злоумышленнику, за счет объединения примеров, которые соответствуют многим различным векторам признаков в исходном пространстве, в один пример.It reduces the search space available to an adversary by coalescing samples that correspond to many different feature vectors in the original space into a single sample. Сравнивая прогноз глубокой нейронной сети на основании исходных входных данных с прогнозом на основании сжатых входных данных, можно выявлять состязательные примеры.By comparing a DNN model’s prediction on the original input with that on the squeezed input, feature squeezing can help detect adversarial examples. Если для исходного и сжатого примеров результаты, возвращенные моделью, существенно различаются, то, скорее всего, это состязательный пример.If the original and squeezed examples produce substantially different outputs from the model, the input is likely to be adversarial. Измерив расхождение между прогнозами и выбрав пороговое значение, система может вывести правильный прогноз для допустимых примеров и отклонить входные данные состязательного примера.By measuring the disagreement among predictions and selecting a threshold value, system can output the correct prediction for legitimate examples and rejects adversarial inputs.

    [18][18]

  • Сертифицированные механизмы защиты от состязательных примеров [22]: авторы предлагают метод, основанный на полуопределенной релаксации и позволяющий получить сертификат, который гарантирует, что для данной сети и тестовых входных данных ни одна из атак не может вызвать ошибку, превышающую определенное значение.Certified Defenses against Adversarial Examples [22]: The authors propose a method based on a semi-definite relaxation that outputs a certificate that for a given network and test input, no attack can force the error to exceed a certain value. Кроме того, так как это дифференцируемый сертификат, авторы совместно оптимизируют его с параметрами сети, предоставляя адаптивный регуляризатор, который способствует устойчивости против всех атак.Second, as this certificate is differentiable, authors jointly optimize it with the network parameters, providing an adaptive regularizer that encourages robustness against all attacks.

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

  • Выдача оповещений о результатах классификации с большим расхождением между классификаторами, особенно если это данные от одного пользователя или небольшой группы.Issue alerts on classification results with high variance between classifiers, especially if from a single user or small group of users.

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

Удаленное повышение привилегийRemote Elevation of Privilege

SeveritySeverity

CriticalCritical

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

Это особый вариант, в котором целевая классификация по замыслу злоумышленника может быть любой, но отличаться от правильной исходной классификации.This is a special variation where the attacker’s target classification can be anything other than the legitimate source classification. Такая атака обычно предполагает внедрение случайного шума в исходные данные, которые подвергаются классификации, чтобы уменьшить вероятность использования правильной классификации в будущем [3].The attack generally involves injection of noise randomly into the source data being classified to reduce the likelihood of the correct classification being used in the future [3].

ПримерыExamples

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

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

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

Непостоянный отказ в обслуживанииNon-persistent denial of service

SeveritySeverity

Важно!Important

Вариант #1г: снижение достоверностиVariant #1d: Confidence Reduction

Злоумышленник может создать входные данные, позволяющие снизить уровень достоверности правильной классификации, особенно в сценариях с серьезными последствиями.An attacker can craft inputs to reduce the confidence level of correct classification, especially in high-consequence scenarios. Атака также может осуществляться в виде потока ложноположительных результатов, призванных перегрузить администраторов или системы мониторинга фальшивыми оповещениями, которые невозможно отличить от настоящих [3].This can also take the form of a large number of false positives meant to overwhelm administrators or monitoring systems with fraudulent alerts indistinguishable from legitimate alerts [3].

ПримерыExamples

Устранение проблемMitigations
  • Помимо действий, приведенных для варианта #1а, можно применять регулирование событий, чтобы уменьшить количество оповещений из одного источника.In addition to the actions covered in Variant #1a, event throttling can be employed to reduce the volume of alerts from a single source.
Традиционные аналогиTraditional Parallels

Непостоянный отказ в обслуживанииNon-persistent denial of service

SeveritySeverity

Важно!Important

#2а. Отравление целевых данных#2a Targeted Data Poisoning

ОписаниеDescription

Цель злоумышленника — испортить машинную модель, созданную на этапе обучения, чтобы изменить прогнозы, основанные на новых данных, на этапе тестирования [1].The goal of the attacker is to contaminate the machine model generated in the training phase, so that predictions on new data will be modified in the testing phase[1]. При целевых атаках с отравлением данных злоумышленник стремится изменить классификационную принадлежность определенных примеров, чтобы заставить систему выполнять или пропускать определенные действия.In targeted poisoning attacks, the attacker wants to misclassify specific examples to cause specific actions to be taken or omitted.

ПримерыExamples

Антивирусное программное обеспечение преподносится как вредоносное, что позволяет включить его в категорию вредоносного ПО и запретить его использование в клиентских системах.Submitting AV software as malware to force its misclassification as malicious and eliminate the use of targeted AV software on client systems.

Устранение проблемMitigations
  • Определение датчиков аномалий для просмотра распределения данных каждый день и создания оповещений об отклонениях.Define anomaly sensors to look at data distribution on day to day basis and alert on variations

    – Ежедневное измерение данных для обучения, телеметрия для отклонений и смещений.-Measure training data variation on daily basis, telemetry for skew/drift

  • Проверка входных данных, их очистка и проверка целостности.Input validation, both sanitization and integrity checking

  • При отравлении добавляются примеры для обучения, выпадающие из общего ряда.Poisoning injects outlying training samples. Для противостояния этой угрозе используются две основные стратегии:Two main strategies for countering this threat:

    – Очистка и проверка данных: удаление поддельных примеров из данных для обучения — Бэггинг для борьбы с атаками путем отравления [14].-Data Sanitization/ validation: remove poisoning samples from training data -Bagging for fighting poisoning attacks [14]

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

    – Надежное обучение: выберите алгоритмы обучения, обеспечивающие надежность при наличии поддельных примеров.-Robust Learning: Pick learning algorithms that are robust in the presence of poisoning samples.

    – Один из таких подходов описан в источнике [21], где авторы устраняют проблему, связанную с отравлением данных, в два этапа: 1) внедрение нового надежного метода факторизации матрицы для восстановления истинного подпространства; и 2) новый надежный алгоритм регрессии на главные компоненты, позволяющий удалить состязательные экземпляры на основе базиса, восстановленного на шаге (1).-One such approach is described in [21] where authors address the problem of data poisoning in two steps: 1) introducing a novel robust matrix factorization method to recover the true subspace, and 2) novel robust principle component regression to prune adversarial instances based on the basis recovered in step (1). Авторы характеризуют необходимые и достаточные условия для успешного восстановления истинного подпространства и представляют предельное значение для ожидаемых потерь прогнозирования по сравнению с контрольным набором данных.They characterize necessary and sufficient conditions for successfully recovering the true subspace and present a bound on expected prediction loss compared to ground truth.

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

Узел, зараженный трояном, в результате чего злоумышленник продолжает оставаться в сети.Trojaned host whereby attacker persists on the network. Данные для обучения или данные конфигурации скомпрометированы, но при этом принимаются или считаются надежными для создания модели.Training or config data is compromised and being ingested/trusted for model creation.

SeveritySeverity

CriticalCritical

#2б. Неизбирательное отравление данных#2b Indiscriminate Data Poisoning

ОписаниеDescription

Цель заключается в том, чтобы уничтожить качество и целостность набора данных, который подвергается атаке.Goal is to ruin the quality/integrity of the data set being attacked. Многие наборы данных являются открытыми, ненадежными или непроверенными, и это создает дополнительные опасения насчет возможности в принципе выявлять такие нарушения целостности данных.Many datasets are public/untrusted/uncurated, so this creates additional concerns around the ability to spot such data integrity violations in the first place. Обучение на данных, о которых неизвестно, скомпрометированы ли они, порождает ситуацию "мусор на входе — мусор на выходе".Training on unknowingly compromised data is a garbage-in/garbage-out situation. Когда обнаружено отравление, необходимо рассортировать данные, чтобы определить объем повреждений и потребность в карантине и повторном обучении.Once detected, triage needs to determine the extent of data that has been breached and quarantine/retrain.

ПримерыExamples

Компания привлекает хорошо известный и надежный веб-сайт с фьючерсными данными для обучения своих моделей.A company scrapes a well-known and trusted website for oil futures data to train their models. После этого веб-сайт поставщика данных подвергается атаке путем внедрения кода SQL.The data provider’s website is subsequently compromised via SQL Injection attack. Злоумышленник может отравить набор данных в соответствии со своими целями, но обучаемая модель не будет знать о том, что данные некорректны.The attacker can poison the dataset at will and the model being trained has no notion that the data is tainted.

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

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

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

Отказ в обслуживании: пользователю, прошедшему аутентификацию, отказано в доступе к ценному ресурсуAuthenticated Denial of service against a high-value asset

SeveritySeverity

Важно!Important

#3. Атаки путем инверсии модели#3 Model Inversion Attacks

ОписаниеDescription

Частные признаки, используемые в моделях машинного обучения, можно восстановить [1].The private features used in machine learning models can be recovered [1]. В частности, возможна реконструкция частных данных, которые использовались для обучения и к которым у злоумышленника нет доступа.This includes reconstructing private training data that the attacker does not have access to. В сообществе специалистов по биометрии эти атаки называют "атаками с поиском максимума" [16, 17]. Они осуществляются путем поиска входных данных, максимально увеличивающих возвращаемый доверительный уровень, с учетом классификации, соответствующей целевой модели [4].Also known as hill climbing attacks in the biometric community [16, 17] This is accomplished by finding the input which maximizes the confidence level returned, subject to the classification matching the target [4].

ПримерыExamples

[4][4]

Устранение проблемMitigations
  • Для интерфейсов моделей, обученных на конфиденциальных данных, требуется строгий контроль доступа.Interfaces to models trained from sensitive data need strong access control.

  • Частота запросов к модели должна быть ограничена.Rate-limit queries allowed by model

  • Реализуйте шлюзы между пользователями (вызывающими объектами) и фактической моделью: выполняйте проверку входных данных для всех предлагаемых запросов, отклоняйте все, что не соответствует определению правильности входных данных модели, и возвращайте только минимально необходимый объем информации.Implement gates between users/callers and the actual model by performing input validation on all proposed queries, rejecting anything not meeting the model’s definition of input correctness and returning only the minimum amount of information needed to be useful.

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

Направленное тайное раскрытие информацииTargeted, covert Information Disclosure

SeveritySeverity

Согласно стандартной панели ошибок SDL, по умолчанию этой угрозе присваивается уровень "Важно", но если извлекаются конфиденциальные данные или личные сведения, серьезность становится критической.This defaults to important per the standard SDL bug bar, but sensitive or personally identifiable data being extracted would raise this to critical.

#4. Атака определения членства#4 Membership Inference Attack

ОписаниеDescription

Злоумышленник может определить, является ли указанная запись данных частью набора данных, использованного для обучения модели [1].The attacker can determine whether a given data record was part of the model’s training dataset or not[1]. Исследователи смогли спрогнозировать основную процедуру пациента (например, хирургическую операцию, которую перенес пациент) на основе атрибутов (таких как возраст, пол, название больницы) [1].Researchers were able to predict a patient’s main procedure (e.g: Surgery the patient went through) based on the attributes (e.g: age, gender, hospital) [1].

[12][12]

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

В исследовательских документах, демонстрирующих жизнеспособность таких атак, отмечается, что эффективным методом защиты от них является дифференциальная приватность [4, 9].Research papers demonstrating the viability of this attack indicate Differential Privacy [4, 9] would be an effective mitigation. Это довольно новая область для Майкрософт, и комитет AETHER (рабочий поток обеспечения безопасности) рекомендует накапливать опыт и знания в ходе исследований.This is still a nascent field at Microsoft and AETHER Security Engineering recommends building expertise with research investments in this space. В ходе этих исследований необходимо определить возможности дифференциальной приватности и оценить их практическую эффективность в качестве мер по устранению риска. Затем требуется разработать способы прозрачного наследования этих средств защиты на наших платформах веб-служб, подобно тому как компиляция кода в Visual Studio обеспечивает защиту по умолчанию, прозрачную для разработчика и пользователей.This research would need to enumerate Differential Privacy capabilities and evaluate their practical effectiveness as mitigations, then design ways for these defenses to be inherited transparently on our online services platforms, similar to how compiling code in Visual Studio gives you on-by-default security protections which are transparent to the developer and users.

Определенный положительный эффект могут дать прореживание нейронов (дропаут) и стек моделей.The usage of neuron dropout and model stacking can be effective mitigations to an extent. Прореживание нейронов повышает не только устойчивость нейронной сети к этой атаке, но и производительность модели [4].Using neuron dropout not only increases resilience of a neural net to this attack, but also increases model performance [4].

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

Конфиденциальность данных.Data Privacy. Делается заключение о присутствии определенной точки данных в наборе для обучения, но сами данные для обучения при этом не раскрываются.Inferences are being made about a data point’s inclusion in the training set but the training data itself is not being disclosed

SeveritySeverity

Это проблема конфиденциальности, а не безопасности.This is a privacy issue, not a security issue. Она описана в руководстве по моделированию угроз, так как эти области перекрываются. Однако решать такую проблему всегда следует с точки зрения конфиденциальности.It is addressed in threat modeling guidance because the domains overlap, but any response here would be driven by Privacy, not Security.

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

ОписаниеDescription

Злоумышленники воссоздают базовую модель с помощью легальных запросов к ней.The attackers recreate the underlying model by legitimately querying the model. Новая модель по своим функциональным возможностям аналогична базовой [1].The functionality of the new model is same as that of the underlying model[1]. По воссозданной модели путем инверсии можно восстановить сведения о признаках или получить представление о данных для обучения.Once the model is recreated, it can be inverted to recover feature information or make inferences on training data. 

  • Решение уравнений. Злоумышленник может создать запросы, позволяющие определить неизвестные переменные в модели, возвращающей вероятности класса через выходные данные API.Equation solving – For a model that returns class probabilities via API output, an attacker can craft queries to determine unknown variables in a model.

  • Нахождение пути. Эта атака использует особенности API для извлечения "решений", принятых деревом при классификации входных данных [7].Path Finding – an attack that exploits API particularities to extract the ‘decisions’ taken by a tree when classifying an input [7].

  • Атака с переносом. Злоумышленник может обучить локальную модель (например, отправляя прогнозирующие запросы к целевой модели) и использовать ее для создания состязательных примеров, которые передаются в целевую модель [8].Transferability attack - An adversary can train a local model—possibly by issuing prediction queries to the targeted model - and use it to craft adversarial examples that transfer to the target model [8]. Получив копию вашей модели и обнаружив ее уязвимость к определенному типу состязательных входных данных, злоумышленник может в автономном режиме разрабатывать новые атаки на модель, развернутую в вашей рабочей среде.If your model is extracted and discovered vulnerable to a type of adversarial input, new attacks against your production-deployed model can be developed entirely offline by the attacker who extracted a copy of your model.

ПримерыExamples

В системах, где модель машинного обучения служит для обнаружения вредоносного поведения, например для идентификации спама, классификации вредоносных программ и обнаружения аномалий в сети, извлечение моделей может облегчить атаки уклонения [7].In settings where an ML model serves to detect adversarial behavior, such as identification of spam, malware classification, and network anomaly detection, model extraction can facilitate evasion attacks [7].

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

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

  • Минимизируйте или замаскируйте сведения, возвращаемые API-интерфейсами прогнозирования, при этом сохранив их полезность для "честных" приложений [7].Minimize or obfuscate the details returned in prediction APIs while still maintaining their usefulness to “honest” applications [7].

  • Определите правильный формат запроса для входных данных модели и возвращайте результаты только в ответ на полные, правильно сформированные входные данные, соответствующие этому формату.Define a well-formed query for your model inputs and only return results in response to completed, well-formed inputs matching that format.

  • Возвращайте значения округленной достоверности.Return rounded confidence values. Большинству легальных авторов запросов не требуется несколько десятичных знаков.Most legitimate callers do not need multiple decimal places of precision.

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

Несанкционированный доступ только для чтения, незаконное изменение системных данных, направленное раскрытие информации, обладающей высокой ценностью?Unauthenticated, read-only tampering of system data, targeted high-value information disclosure?

SeveritySeverity

Важно в моделях, чувствительных к безопасности. В остальных случаях умеренная серьезность.Important in security-sensitive models, Moderate otherwise

#6. Перепрограммирование нейронной сети#6 Neural Net Reprogramming

ОписаниеDescription

С помощью специально созданного запроса злоумышленник может перепрограммировать системы машинного обучения на выполнение задач, не предусмотренных их создателем [1].By means of a specially crafted query from an adversary, Machine learning systems can be reprogrammed to a task that deviates from the creator’s original intent [1].

ПримерыExamples

Неэффективное управление доступом в API распознавания лиц, позволяющее третьим лицам встраивать приложения, которые предназначены для причинения вреда клиентам Майкрософт, например генератор дипфейков.Weak access controls on a facial recognition API enabling 3rd parties to incorporate into apps designed to harm Microsoft customers, such as a deep fakes generator.

Устранение проблемMitigations
  • Строгая взаимная проверка подлинности "клиент — сервер" и управление доступом к интерфейсам моделиStrong client<->server mutual authentication and access control to model interfaces

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

  • Составление и принудительное применение соглашения об уровне обслуживания для API-интерфейсов.Identify and enforce a service-level agreement for your APIs. Определите допустимое время для устранения проблемы после сообщения о ней и гарантируйте, что она не будет воспроизводиться, пока действует соглашение об уровне обслуживания.Determine the acceptable time-to-fix for an issue once reported and ensure the issue no longer repros once SLA expires.

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

Это сценарий неправильного использования.This is an abuse scenario. Скорее всего, вы предпочтете просто отключить учетную запись нарушителя, а не открывать инцидент безопасности.You're less likely to open a security incident on this than you are to simply disable the offender’s account.

SeveritySeverity

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

#7. Состязательный пример в материальном мире (биты –> атомы)#7 Adversarial Example in the Physical domain (bits->atoms)

ОписаниеDescription

Состязательный пример — это входные данные или запрос от вредоносного объекта, отправленные с целью ввести в заблуждение систему машинного обучения [1].An adversarial example is an input/query from a malicious entity sent with the sole aim of misleading the machine learning system [1]

ПримерыExamples

Состязательные примеры способны воздействовать на материальный мир. Например, они могут заставить беспилотный автомобиль проехать на стоп-сигнал светофора, потому что на нем загорелся цвет (вредоносные входные данные), который система распознавания изображений больше не воспринимает как знак обязательной остановки.These examples can manifest in the physical domain, like a self-driving car being tricked into running a stop sign because of a certain color of light (the adversarial input) being shone on the stop sign, forcing the image recognition system to no longer see the stop sign as a stop sign.  

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

Повышение привилегий, удаленное выполнение кодаElevation of Privilege, remote code execution

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

Эти атаки проявляются сами по себе, потому что проблемы на уровне машинного обучения (уровень данных и алгоритма, находящийся ниже уровня принятия решений с использованием ИИ) не были устранены.These attacks manifest themselves because issues in the machine learning layer (the data & algorithm layer below AI-driven decisionmaking) were not mitigated. Как и в случае любого другого программного обеспечения *или* физической системы, слой, находящийся под целевым, всегда можно атаковать через традиционные векторы.As with any other software *or* physical system, the layer below the target can always be attacked through traditional vectors. По этой причине традиционные методы обеспечения безопасности очень важны, особенно при наличии уровня с неустраненными уязвимостями (уровень данных и алгоритма) между ИИ и традиционным программным обеспечением.Because of this, traditional security practices are more important than ever, especially with the layer of unmitigated vulnerabilities (the data/algo layer) being used between AI and traditional software.

SeveritySeverity

CriticalCritical

#8. Злоумышленники из числа поставщиков услуг ML, которые могут восстанавливать данные для обучения#8 Malicious ML providers who can recover training data 

ОписаниеDescription

Поставщик-злоумышленник задействует алгоритм-лазутчик, позволяющий реконструировать частные данные, которые использовались для обучения.A malicious provider presents a backdoored algorithm, wherein the private training data is recovered. Он может воссоздать лица и тексты, используя только модель. They were able to reconstruct faces and texts, given the model alone.

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

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

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

В исследовательских документах, демонстрирующих жизнеспособность таких атак, отмечается, что эффективным методом устранения таких рисков является гомоморфное шифрование.Research papers demonstrating the viability of this attack indicate Homomorphic Encryption would be an effective mitigation. Это довольно новое направление для Майкрософт, и комитет AETHER (рабочий поток обеспечения безопасности) рекомендует накапливать опыт и знания в ходе исследований.This is an area with little current investment at Microsoft and AETHER Security Engineering recommends building expertise with research investments in this space. В ходе этого исследования потребуется определить принципы гомоморфного шифрования и оценить их практическую эффективность в качестве мер борьбы со злоумышленниками из числа поставщиков MLaaS (ML как услуга).This research would need to enumerate Homomorphic Encryption tenets and evaluate their practical effectiveness as mitigations in the face of malicious ML-as-a-Service providers.

SeveritySeverity

Важно, если речь идет о персональных данных, в противном случае — умеренная серьезностьImportant if data is PII, Moderate otherwise

#9. Атака на цепочку поставок услуг ML#9 Attacking the ML Supply Chain

ОписаниеDescription

Для обучения алгоритмов требуется много ресурсов (данных и вычислений), поэтому сейчас популярно использование моделей, обученных крупными корпорациями, которые адаптируются для требуемых задач (например, ResNet — это популярная модель распознавания изображений от Майкрософт).Owing to large resources (data + computation) required to train algorithms, the current practice is to reuse models trained by large corporations and modify them slightly for task at hand (e.g: ResNet is a popular image recognition model from Microsoft). Эти модели размещаются в галерее Model Zoo (на платформе Caffe можно найти популярные модели распознавания изображений).These models are curated in a Model Zoo (Caffe hosts popular image recognition models). Атака нацелена на модели, размещенные в Caffe, в результате пользователи платформы имеют все шансы получить искаженную модель.In this attack, the adversary attacks the models hosted in Caffe, thereby poisoning the well for anyone else. [1] [1]

Традиционные аналогиTraditional Parallels
  • Компрометация зависимости, не относящейся к безопасности, от третьей стороныCompromise of third-party non-security dependency

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

Устранение проблемMitigations
  • Уменьшите зависимости от третьих лиц по вопросам моделей и данных в максимально возможной степени.Minimize 3rd-party dependencies for models and data where possible.

  • Учитывайте такие зависимости в процессе моделирования угроз.Incorporate these dependencies into your threat modeling process.

  • При взаимодействии ваших систем со сторонними используйте строгую проверку подлинности, управление доступом и шифрование.Leverage strong authentication, access control and encryption between 1st/3rd-party systems.

SeveritySeverity

CriticalCritical

#10. Лазейка в машинном обучении#10 Backdoor Machine Learning

ОписаниеDescription

Процесс обучения передается на аутсорсинг злонамеренному третьему лицу, которое незаконно изменяет данные для обучения и предоставляет модель, зараженную трояном. Эта модель неправильно классифицирует определенные входные данные, например относит вирус к безопасному ПО [1].The training process is outsourced to a malicious 3rd party who tampers with training data and delivered a trojaned model which forces targeted mis-classifications, such as classifying a certain virus as non-malicious[1]. Этот риск присущ сценариям, в которых модель создается по схеме MLaaS (ML как услуга).This is a risk in ML-as-a-Service model-generation scenarios.

[12][12]

Традиционные аналогиTraditional Parallels
  • Компрометация зависимости, относящейся к безопасности, от третьей стороныCompromise of third-party security dependency

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

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

Устранение проблемMitigations
Реактивные и оборонительные действия по обнаружениюReactive/Defensive Detection Actions
  • Если угроза обнаружена, значит, ущерб уже нанесен. Следовательно, нельзя доверять модели и всем данным для обучения, которые предоставил поставщик-злоумышленник.The damage is already done once this threat has been discovered, so the model and any training data provided by the malicious provider cannot be trusted.
Упреждающие и защитные действияProactive/Protective Actions
  • Обучение всех конфиденциальных моделей в пределах собственной организации.Train all sensitive models in-house

  • Каталогизация данных для обучения или их получение от доверенного третьего лица, применяющего строгие меры безопасности.Catalog training data or ensure it comes from a trusted third party with strong security practices

  • Выполните моделирование угроз для взаимодействия между поставщиком MLaaS и вашими системами.Threat model the interaction between the MLaaS provider and your own systems

Ответные действияResponse Actions
  • Те же, что и при компрометации внешней зависимостиSame as for compromise of external dependency
SeveritySeverity

CriticalCritical

#11. Эксплуатация зависимостей программного обеспечения в системе машинного обучения#11 Exploit software dependencies of the ML system

ОписаниеDescription

В этой атаке злоумышленник НЕ манипулирует алгоритмами.In this attack, the attacker does NOT manipulate the algorithms. Он использует традиционные уязвимости программного обеспечения, например переполнение буфера или межсайтовые сценарии [1].Instead, exploits software vulnerabilities such as buffer overflows or cross-site scripting[1]. Нарушить безопасность программных уровней, располагающихся ниже уровня ИИ и ML, проще, чем атаковать непосредственно уровень обучения. По этой причине важны традиционные методы защиты от угроз безопасности, описанные в разделе "Жизненный цикл разработки защищенных приложений".It is still easier to compromise software layers beneath AI/ML than attack the learning layer directly, so traditional security threat mitigation practices detailed in the Security Development Lifecycle are essential.

Традиционные аналогиTraditional Parallels
  • Скомпрометированная зависимость от программного обеспечения с открытым кодомCompromised Open Source Software Dependency

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

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

Обратитесь к группе обеспечения безопасности, чтобы выполнить применимые рекомендации из разделов, посвященных жизненному циклу разработки защищенных приложений и обеспечению операционной безопасности.Work with your security team to follow applicable Security Development Lifecycle/Operational Security Assurance best practices.

SeveritySeverity

Серьезность может быть разной, вплоть до критической, в зависимости от типа уязвимости традиционного программного обеспечения.Variable; Up to Critical depending on the type of traditional software vulnerability.

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

[1] Рам Шанкар Шива Кумар, Дэвид О’Брайен, Кендра Альберт, Саломе Фильюн и Джеффри Сновер. Режимы сбоев в машинном обучении. URL: /security/failure-modes-in-machine-learning.[1] Failure Modes in Machine Learning, Ram Shankar Siva Kumar, David O’Brien, Kendra Albert, Salome Viljoen, and Jeffrey Snover, /security/failure-modes-in-machine-learning

[2] AETHER Security Engineering Workstream, Data Provenance/Lineage v-team.[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.[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.[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).[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] Nicolas Papernot & Patrick McDaniel- Adversarial Examples in Machine Learning AIWTB 2017.[6] Nicolas Papernot & Patrick McDaniel- Adversarial Examples in Machine Learning 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.[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.[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.[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.[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.[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.[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.[13] Adversarially Robust Malware Detection UsingMonotonic Classification Inigo Incer et al.

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

[15] An Improved Reject on Negative Impact Defense Hongjiang Li and Patrick P.K.[15] An Improved Reject on Negative Impact Defense Hongjiang Li and Patrick P.K. Chan.Chan

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

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

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

[19] Reinforcing Adversarial Robustness using Model Confidence Induced by Adversarial Training - Xi Wu, Uyeong Jang, Jiefeng Chen, Lingjiao Chen, Somesh Jha.[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.[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.[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.[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.[23] Certified Defenses against Adversarial Examples - Aditi Raghunathan, Jacob Steinhardt, Percy Liang