
Всем привет! Меня зовут Никита, я работаю в центре машинного обучения «Инфосистемы Джет». Сейчас я учусь в своей второй магистратуре в ВШЭ ФКН на программе «Современные компьютерные науки» и в Школе анализа данных (ШАД).
Сегодня я хочу рассказать о сравнительно новой концепции, которая становится все более актуальной и использование которой совершенно точно необходимо в больших промышленных ML-проектах, — MLSecOps.
❓Что такое MLSecOps?
MLSecOps (Machine Learning Security Operations) — это комбинация методов из области DevOps, безопасности и машинного обучения. Не трудно догадаться, что основной целью MLSecOps является обеспечение безопасности моделей на всех этапах их жизненного цикла, начиная от разработки и обучения и заканчивая деплоем и эксплуатацией. В статье я расскажу о нескольких подходах для защиты ML-систем.
🌟Почему это так важно?
Представим, что какой-нибудь недобросовестный человек решил проникнуть внутрь системы и украсть ваши конфиденциальные данные, — звучит не очень круто, да?
Например, атаки типа man-in-the-middle могут позволить злоумышленникам перехватывать и изменять данные, передаваемые между компонентами системы.

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

Эти угрозы подчеркивают необходимость внедрения строгих мер безопасности для защиты данных и моделей на всех этапах их жизненного цикла.
🎯Кому нужна эта статья?
Думаю, всем, кто занимается проектами в сфере ML, этот пост может оказаться полезным, тем более что других статей на эту тему на Хабре я пока не нашел (может, я смогу привлечь внимание и спровоцирую рост количества статей, соответственно и развитие этой концепции).
О том, как внезапно родился и вырос интерес к теме MLSecOps, лучше всяких слов говорит график запросов:

Space ISAC также подчеркнул критическую важность MLSecOps для обеспечения надежности и безопасности систем AI/ML. Так что вангую, что в последующие месяцы показатель количества интересующихся темой будет также драматически расти. Поэтому предлагаю перейти сразу к делу и узрить MLSecOps.
P.S. Позже планирую опубликовать результаты моего более глубокого погружения в тему с примерами использования различных инструментов, библиотек и фреймворков.
🧠Три пункта, почему об этом стоит хотя бы задуматься
Данные — новая нефть
Как правило, модели обучаются на больших объемах данных и зачастую могут содержать конфиденциальную информацию, а потеря или компрометация этих данных может иметь катастрофические последствия. Например, для ретейла утечка данных о торговле, используемых для обучения моделей, может позволить вашим конкурентам получить представление о торговых стратегиях, что нарушит рыночную целостность и конкурентоспособность бизнеса.Атаки на модели
Наши недоброжелатели могут манипулировать входными данными (атаки на входы) или изменять поведение моделей (атаки на модели), чтобы они делали неправильные предсказания или получали ту информацию, которую, к примеру, наша LLM не должна выдавать.Приватность данных
Соблюдение, например, федерального закона «О персональных данных» в России или его аналога, действующего в ЕС (General Data Protection Regulation, GDPR), и других нормативных актов требует применения надежных мер безопасности.
🔍Разница между MLSecOps и DevSecOps
DevSecOps:
интеграция безопасности на всех этапах разработки программного обеспечения;
основной фокус на обеспечении безопасности кода и инфраструктуры.
MLSecOps:
включает в себя все аспекты DevSecOps и добавляет специфические методы и инструменты для обеспечения безопасности данных и моделей машинного обучения;
дополнительный фокус на защите данных, используемых для обучения моделей, и на защиту самих моделей от атак и манипуляций.
🚀А кто-то уже внедрил MLSecOps?

Например, в 2016 году Microsoft запустила AI-чатбота Tay, который подвергся атаке на данные и начал генерировать нежелательный контент. В ответ на эту атаку Microsoft разработала и опубликовала инструменты защиты от атак на основе AI, такие как Counterfit, который есть в открытом доступе.

Также компания Ericsson, которая использует AI/ML для различных своих продуктов, внедрила Secure MLOps для интеграции практик безопасности на всех этапах жизненного цикла ML. Они используют базовые меры безопасности, такие как STRIDE, Microsoft AI Security Risk Assessment и MITRE`s ATLAS для оценки и управления рисками.
🔧Пайплайн разработки MLSecOps
В этой главе я описал справочную информацию об основных аспектах безопасности этой концепции, на которые стоит обратить внимание. Можно пройтись по ним как по чек-листу, чтобы проверить, все ли используется в вашем проекте. :)

Этап 1: ML SYSTEM DESIGN
Описание этапа: ML System Design включает в себя проектирование и архитектуру системы машинного обучения, которая будет устойчива к угрозам безопасности и сможет эффективно решать поставленные задачи. Этот этап охватывает выбор архитектуры, проектирование компонентов системы, а также обеспечение безопасности и надежности системы.
1. Оценка безопасности модели
Идентификация угроз: На этапе проектирования ML-модели необходимо проводить всесторонний анализ векторов атак для построения модели угроз.
Тип модели и задачи: Разные типы моделей (например, LLMs, GANs, нейронные сети) имеют различные уровни уязвимости. Важно учитывать:
специфику моделей и их уязвимость к различным типам атак;
бизнес-задачи, которые решает модель, и критичность данных.
2. Оценка данных
Анализ источников данных: Оценка доверенности и происхождения данных. Важно проверить, что данные поступают из проверенных и надежных источников.
Проверка поставщиков данных и процедур их обработки.
Обеспечение целостности данных на всех этапах сбора и передачи.
Конфиденциальность данных: Оценка данных на предмет конфиденциальности.
Оценка наличия PII (Personally Identifiable Information), данных о банковских картах и других видах чувствительной информации.
Внедрение методов защиты данных, таких как шифрование и анонимизация.
3. Выставление требований и анализ рисков по кибербезопасности
Формирование требований: Определение и документирование требований безопасности для ML-системы.
Формирование политики безопасности, включающей в себя правила доступа, шифрование данных, мониторинг, управление инцидентами и т.д.
Оценка возможных рисков и принятие обоснованных решений, которое включает в себя разработку планов управления рисками, включающих стратегии снижения, передачи, принятия или отказа от рисков, а также регулярное проведение оценки рисков и обновление стратегий безопасности в соответствии с изменяющимися угрозами и уязвимостями.
Этап 2: Data Operations (Операции с данными)
Описание этапа: Data Operations включает в себя все процессы, связанные с управлением данными на протяжении всего их жизненного цикла. Этот этап включает сбор, обработку, хранение и управление данными, которые будут использоваться для обучения и работы моделей машинного обучения.
Основные процессы:
Сбор данных:
сбор данных из различных источников, включая базы данных, сенсоры, веб-сайты и другие системы;
обеспечение соответствия собираемых данных требованиям по качеству и безопасности.
Очистка данных:
удаление дубликатов, заполнение пропущенных значений и корректировка некорректных данных;
обнаружение и исправление аномалий.
Подготовка данных:
преобразование данных в формат, подходящий для машинного обучения (например, нормализация, кодирование категориальных данных);
создание признаков, которые будут использоваться в моделях (feature engineering).
Хранение данных:
безопасное хранение данных с использованием шифрования и других методов защиты;
обеспечение доступа к данным только авторизованным пользователям.
Управление данными:
ведение журналов доступа и изменений данных для обеспечения аудируемости;
обеспечение соблюдения нормативных требований (например, GDPR, CCPA).
Риски и методы защиты | |||
Название риска | Описание риска | Методы защиты | Инструменты |
Insufficient access controls | Несанкционированный доступ к данным может привести к их утечке или манипуляции. | Использование единого входа (SSO) с многофакторной аутентификацией (MFA), ограничение доступа по IP-адресам, настройка прав доступа на основе ролей. | 1. KeyCloak 2. IDM Solar inRights |
Missing data classification | Неклассифицированные данные по степени чувствительности и критичности сложно защитить должным образом. | Разметка конфиденциальных данных, классификация данных по критерию конфиденциальности. | 1. BigID 2. IBM GDP |
Poor data quality | Некачественные данные могут привести к ошибочным выводам моделей машинного обучения. | Проведение проверок качества данных, мониторинг и оповещение о проблемах с качеством данных. | 1. Pandas Profiling: 2. Prometheus: 3. Informatica Data Quality |
Ineffective storage and encryption | Данные могут быть украдены или изменены без надлежащего уровня защиты. | Шифрование данных при хранении и передаче, управление доступом к данным и другим объектам. | 1. KeyCloak 2. IDM Solar inRights 3. TDE PostgreSQL 4. TSL/SSL и VPN решения |
Lack of data versioning | При повреждении данных может быть сложно восстановить их до предыдущего состояния. | Версионирование данных и отслеживание журналов изменений. | 1. DVC 2. Splunk |
Insufficient data lineage | Трудности с отслеживанием происхождения и преобразований данных могут привести к несоответствию нормативным требованиям. | Захват и просмотр данных lineage, управление доступом к данным и их активам. | 1. Apache Atlas 2. Apache Ranger |
Lack of data trustworthiness | Атаки на данные могут привести к их порче или манипуляции. | Версионирование данных, отслеживание изменений и использование методов защиты от манипуляций. | 1. DVC 2. Apache Atlas 3. Цифровые подписи / Шифрование данных / SHA-256 |
Data legal | Несоответствие юридическим требованиям (например, GDPR) может привести к штрафам и репутационным потерям. | Удаление записей из наборов данных и повторное обучение моделей для соблюдения прав субъектов данных. | 1. BidID |
Stale data | Устаревшие данные или данные, которые больше не отражают текущую ситуацию или состояние системы, могут снизить эффективность бизнес-процессов. | Использование потоковых данных в реальном времени, проведение проверок качества данных. | 1. Apache Kafka 2. Talend |
Lack of data access logs | Отсутствие журналов доступа может привести к невозможности определить источник утечки данных. | Аудит действий, выполненных над наборами данных. | 1. Splunk 2. Prometheus 3. Apache Ranger |
Этап 3: Model Operations (Операции с моделями)
Описание этапа: Model Operations включает в себя разработку, оценку и управление моделями машинного обучения. Этот этап охватывает все процессы от выбора и настройки алгоритмов до отслеживания и обновления моделей в процессе их эксплуатации.
Основные процессы:
Выбор и настройка алгоритмов:
выбор подходящего алгоритма машинного обучения для решения конкретной задачи;
настройка гиперпараметров модели для оптимизации ее производительности.
Тренировка моделей:
обучение модели на подготовленных данных;
валидация модели для проверки ее производительности на новых данных.
Оценка моделей:
оценка качества модели с использованием тестовых наборов данных;
проведение экспериментов для улучшения модели и сравнение различных версий.
Управление моделями:
версионирование моделей для отслеживания изменений и обновлений;
управление жизненным циклом моделей от разработки до развертывания и эксплуатации.
Обеспечение безопасности моделей:
защита моделей от различных угроз, таких как атаки на гиперпараметры, использование вредоносных библиотек и т.д.
Риски и методы защиты | |||
Название риска | Описание риска | Методы защиты | Инструменты |
Lack of tracking and reproducibility of experiments | Отсутствие отслеживания экспериментов может привести к невозможности воспроизвести результаты и понять, почему модель работает определенным образом. | Отслеживание всех экспериментов, включая параметры, метрики и результаты, с использованием инструментов для управления экспериментами. | 1. MLFlow 2. DVC 3. TensorBoard |
Model drift | Со временем данные могут изменяться, что приведет к снижению точности модели. | Мониторинг моделей в реальном времени и регулярное обновление моделей на основе новых данных. | 1. Evidently AI 2. Grafana 3. Prometheus |
Hyperparameters stealing | Гиперпараметры могут быть украдены и использованы для компрометации модели. | Безопасное хранение и управление гиперпараметрами, использование доступа по ролям. | 1. KeyCloak 2. IDM Solar inRights 3. Apache HashiCorp Vault |
Malicious libraries | Использование вредоносных библиотек может привести к компрометации системы. | Проверка и ограничение использования сторонних библиотек, регулярное сканирование библиотек на наличие уязвимостей. | 1. WhiteSource 2. Snyk 3. Veracode |
Evaluation data poisoning | Атаки на данные для оценки могут привести к неправильной валидации моделей. | Проверка данных для оценки на наличие аномалий и обеспечение их целостности. | 1. PyCaret 2. Great Expectations 3. Alteryx |
Insufficient evaluation data | Недостаточные или несоответствующие данные для оценки могут привести к неточным выводам о производительности модели. | Обеспечение достаточного объема и разнообразия данных для оценки, использование подходящих метрик для оценки производительности моделей. | 1. Apache JMeter 2. LoadRunner 3. DataRobot |
Backdoor machine learning/Trojaned model | Внедрение «закладок» в модели, особенно при использовании внешних моделей или передаче обучения сторонним организациям. | Сканирование моделей на наличие вредоносного кода перед использованием, проверка источников и поставщиков моделей, использование изоляции при развертывании моделей. | 1. Checkmarx 2. Fortify 3. Anchore |
Этап 4: Model Deployment and Serving (Развертывание и обслуживание моделей)
Описание этапа: Model Deployment and Serving включает в себя процессы развертывания обученных моделей в производственные среды и обеспечение их доступности для использования. Этот этап охватывает создание образов моделей, изоляцию, масштабирование, мониторинг и управление запросами на выводы.
Основные процессы:
Создание образов моделей:
подготовка моделей для развертывания, включая контейнеризацию и создание образов;
проверка моделей на наличие уязвимостей перед развертыванием.
Изоляция и безопасное развертывание моделей:
обеспечение изоляции моделей для предотвращения несанкционированного доступа и манипуляций;
использование контейнеров или виртуальных машин для безопасного развертывания.
Масштабирование и автоматизация:
обеспечение автоматического масштабирования моделей в зависимости от нагрузки;
настройка механизмов автоматического обновления и отката моделей.
Мониторинг и управление запросами:
мониторинг производительности и точности моделей в реальном времени;
управление запросами на выводы, включая балансировку нагрузки и ограничение скорости.
Обеспечение безопасности моделей:
защита моделей от различных атак, таких как инъекции в запросы, манипуляции с выводами и другие угрозы.
Риски и методы защиты | |||
Название риска | Описание риска | Методы защиты | Инструменты |
Prompt inject | Атаки, при которых злоумышленник вводит вредоносные данные в запросы на выводы модели. | Валидация и очистка входных данных, использование безопасных механизмов обработки запросов. | 1. Garak 2. NeMo 3. IBM AppScan |
Model inversion | Атаки, при которых злоумышленник пытается восстановить входные данные модели на основе ее выводов. | Ограничение доступа к чувствительным выводам, применение методов дифференциальной приватности. | 1. Microsoft SEAL 2. Google DP 3. IBM Homomorphic Encryption |
Model breakout | Атаки, при которых злоумышленник получает доступ к внутренним компонентам модели или системе. | Изоляция моделей с помощью контейнеров или виртуальных машин, контроль доступа. | 1. Docker 2. Kubernetes 3. VMware 4. HashiCorp Vault |
Looped input | Атаки, при которых злоумышленник использует циклический ввод данных для перегрузки модели. | Ограничение числа итераций для обработки запросов, использование тайм-аутов и других механизмов защиты. | 1. NGINX 2. AWS Shild 3. Azure DDoS Protection |
Infer training data membership | Атаки, при которых злоумышленник пытается определить, использовались ли конкретные данные для обучения модели. | Применение методов защиты данных, таких как дифференциальная приватность, регулярное обновление и переобучение моделей. | 1. TensorFlow Privacy 2. PySyft 3. OpenMined |
Discover ML model ontology | Атаки, при которых злоумышленник пытается выявить структуру и параметры модели. | Обфускация моделей, ограничение доступа к метаданным моделей. | 1. ProGuard 2. PyArmor 3. Azure by Vault |
Denial of service (DOS) | Атаки, при которых злоумышленник пытается перегрузить систему, делая ее недоступной для пользователей. | Настройка защиты от DDoS-атак, использование механизмов автоматического масштабирования и балансировки нагрузки. | 1. Cloudflare DDoS Protection 2. AWS Shield |
LLM hallucinations | Неправильные или неожиданные ответы модели, особенно в больших языковых моделях. | Тщательная настройка и тестирование моделей, внедрение механизмов проверки и фильтрации ответов. | 1. LangChain 2. OpenAI Safety Gym 3. HITL |
Input resource control | Атаки, при которых злоумышленник пытается исчерпать ресурсы системы, отправляя чрезмерное количество запросов. | Ограничение количества запросов от одного источника, использование квот и ограничений на использование ресурсов. | 1. API Gateway 2. NGINX Rate Limiting 3. Google Cloud Endpoint |
Accidental exposure of unauthorized data to models | Неумышленное предоставление модели доступа к данным, которые она не должна видеть. | Тщательное управление данными и доступом, регулярные аудиты и проверки конфигураций. | 1. Apache Ranger 2. DLP |
Этап 5: Operations and Platform
Описание этапа: Operations and Platform включает управление инфраструктурой и операциями, обеспечивающими стабильную и безопасную работу систем машинного обучения. Этот этап охватывает управление уязвимостями платформы, патчинг, изоляцию моделей, контроль доступа и эксплуатацию инструментов CI/CD.
Основные процессы:
Управление уязвимостями и патчинг:
регулярное сканирование инфраструктуры и приложений на наличие уязвимостей;
оперативное применение обновлений и патчей для устранения выявленных уязвимостей.
Изоляция и контроль доступа:
обеспечение изоляции моделей и систем для предотвращения несанкционированного доступа.
настройка и управление правами доступа для различных ролей и пользователей.
Мониторинг и аудит:
непрерывный мониторинг работы моделей и платформы для выявления аномалий и инцидентов;
ведение журналов аудита для отслеживания действий и изменений в системе.
Эксплуатация инструментов CI/CD:
настройка и использование инструментов для непрерывной интеграции и доставки (CI/CD);
автоматизация процессов развертывания, тестирования и обновления моделей.
Соответствие нормативным требованиям:
обеспечение соответствия требованиям безопасности и конфиденциальности данных;
регулярные аудиты и проверки на соответствие нормативным требованиям и стандартам.
Риски и методы защиты | |||
Название риска | Описание риска | Методы защиты | Инструменты |
Lack of MLOps — repeatable enforced standards | Несоблюдение стандартов MLOps может привести к снижению качества и безопасности моделей. | Внедрение и соблюдение стандартов MLOps, использование автоматизированных инструментов для управления жизненным циклом моделей. | 1. MLFlow 2. DVC 3. Kuberflow 4. Airflow |
Lack of vulnerability management | Необнаруженные и неустраненные уязвимости могут быть использованы злоумышленниками. | Регулярное сканирование на уязвимости, применение патчей и обновлений, использование инструментов для управления уязвимостями. | 1. Nessus 2. Qualys 3. Tenable.io |
Lack of penetration testing and bug bounty | Отсутствие регулярного тестирования на проникновение может оставить систему уязвимой для атак. | Проведение регулярных тестов на проникновение, участие в программах поиска багов (bug bounty) для выявления уязвимостей. | 1. Bugcrowd 2. Burp Suite 3. Metasploit |
Lack of incident response | Отсутствие готовности к инцидентам безопасности может привести к серьезным последствиям. | Разработка и внедрение плана реагирования на инциденты, регулярные тренировки и обновление плана. | 1. Splunk 2. ELK Stack 3. IBM QRadar |
Unauthorized privileged access | Привилегированный доступ может быть использован для компрометации системы. | Ограничение привилегированного доступа, использование многофакторной аутентификации, регулярные аудиты доступа. | 1. KeyCloak 2. CyberArk 3. Okta |
Poor SDLC | Недостатки в процессе разработки ПО могут привести к внедрению уязвимостей. | Внедрение и соблюдение лучших практик SDLC, включая безопасное программирование и тестирование на всех этапах разработки. | 1. SonarQube 2. Gitlab CI/CD 3. Veracode |
Lack of compliance | Несоответствие нормативным требованиям может привести к штрафам и потере репутации. | Регулярные аудиты на соответствие нормативным требованиям, внедрение политик и процедур для обеспечения соответствия. | 1. Collibra 2. BigID 3. OneTrust |
Резюмирую
MLSecOps — это не просто концепция, а необходимость для современных ML-проектов. Он обеспечивает безопасность моделей на всех этапах их жизненного цикла — от разработки до эксплуатации.
А насколько, по вашему мнению, необходимо введение нового термина MLSecOps? Может ли существующий подход DevSecOps покрыть все аспекты безопасности в ML-проектах?
Надеюсь, этот материал оказался вам полезен. С удовольствием обсужу в комментариях различные мнения об аспектах технологии, пишите, отвечу.
🔗 Полезные ссылки и материалы:
⏺️ MLSecOps: Ensuring Security and Trust in Machine Learning Systems