MLSecRecommendations
Глава 03 · MLOps жизненный цикл

Рекомендации ИБ: Этап 1 - Операции с данными (Data Operations)

~45 мин45 мин осталось 10 048 словОбновлено 13 мая 2026 г.datavalidationPIIPresidioDVCdata poisoning

Рекомендации ИБ: Этап 1 - Операции с данными (Data Operations)

Версия: 2.0 · Обновлено: 2026-04-23 · Теги: data, validation, PII, Presidio, DVC, data poisoning, RAG poisoning · Tier: 1-4

TL;DR. Жизненный цикл данных: валидация (Great Expectations, Deepchecks), автоматическая детекция ПДн (Presidio, Natasha), версионирование (DVC), защита data pipeline от poisoning, RAG corpus hygiene. Data operations - единственный этап, где можно предотвратить backdoor-ы до попадания в веса модели.

Навигация по главе:

  • Разделы 1-3: архитектура и требования ИБ к data pipeline
  • Раздел 4: примеры конфигураций (Great Expectations, Presidio, Cleanlab, DVC)
  • Разделы 5-6: чек-лист и типичные ошибки
  • Раздел 7 (новый): интерактивные сценарии атак на данные
  • Раздел 9: расширения (PET, защищённое хранилище, supply chain)
  • Раздел 10 (новый): "С чего начать по вашей роли" - 7 ролей × Day 1 / Week 1 / Month 1

1. Краткое содержание этапа

Secure Data Pipeline: от источника до feature store

flowchart TD
    SRC["Источники данных<br/>БД / API / S3 / Kafka"]
    ING["Ingest<br/>TLS + auth fetch"]
    VAL["Валидация<br/>Great Expectations / Pydantic"]
    PII["PII-детекция + анонимизация<br/>Presidio / Natasha / DP"]
    VER["Версионирование + подпись<br/>DVC + SHA-256 + Sigstore"]
    STO["(#quot;Feature Store<br/>Feast#quot;)"]
    AUDIT["(#quot;Audit log<br/>immutable#quot;)"]

    SRC --> ING --> VAL --> PII --> VER --> STO
    VAL -.-> AUDIT
    PII -.-> AUDIT
    VER -.-> AUDIT

Жизнь одной записи: от источника до обучающего батча (анимация)

{
  "caption": "Путь одной записи: источник → Feature Store (7 стадий)",
  "foot": "Над линией: аудит (append-only) → SIEM. Под линией: quarantine на каждом шаге. Этапы Quality / PII / Anti-poison параллелятся, Sign+version — gate перед публикацией в feature store. При prefers-reduced-motion: reduce анимация отключена."
}

Этап Data Operations охватывает полный жизненный цикл данных, используемых для обучения, валидации и тестирования ML-моделей. Данные являются фундаментом любой ML-системы: качество модели напрямую зависит от качества, целостности и безопасности данных, на которых она обучается. Компрометация данных на этом этапе может привести к неработоспособности модели, утечке конфиденциальной информации или внедрению скрытых бэкдоров через data poisoning.

Ключевые процессы этапа:

Процесс Описание Ключевые риски ИБ
Сбор данных Агрегация из БД, API, внешних датасетов, IoT/датчиков Перехват данных в транзите, подмена источника, несанкционированный доступ
Очистка и подготовка Удаление дубликатов, нормализация, feature engineering Внесение искажений при обработке, потеря целостности
Валидация и контроль качества Автоматизированные тесты на соответствие ожиданиям Пропуск отравленных данных, дрейф распределения
Хранение данных Шифрование, RBAC, версионирование Несанкционированный доступ, утрата данных, отсутствие аудита
Обеспечение конфиденциальности Деперсонализация, дифференциальная приватность Утечка PII, нарушение GDPR/152-ФЗ
Версионирование и хеширование DVC, SHA-256 хеши, подпись датасетов Подмена данных, невозможность воспроизводства

Роли, задействованные на этапе:

  • Data Engineers - сбор, ETL/ELT, настройка хранилищ, шифрование, мониторинг доступа
  • ML-инженеры / Data Scientists - определение критериев качества, написание expectations, анализ рисков смещения
  • SecOps - настройка RBAC, контроль сетевых границ, проверка обезличивания, аудит доступа
  • Compliance / Legal - контроль согласий, методов анонимизации, сроков хранения, реестр операций

2. Верификация инструментов

Перед внедрением каждого инструмента проведена верификация по критериям: лицензионная чистота, возможность self-hosted развертывания, активность поддержки, совместимость с инфраструктурой.

2.1. Great Expectations

Параметр Значение
Назначение Фреймворк тестирования качества данных (expectations = юнит-тесты для данных)
Лицензия Apache 2.0
Язык Python
Self-hosted Да (полностью)
Актуальная версия 1.3.x (февраль 2026). Проект активно развивается, релизы выходят регулярно
Репозиторий https://github.com/great-expectations/great_expectations
Сайт https://greatexpectations.io/

Оценка ИБ: Рекомендован к использованию. Apache 2.0 лицензия допускает коммерческое использование без ограничений. Полностью self-hosted, данные не покидают периметр. Является стандартом индустрии для валидации данных в ML-пайплайнах. Интеграция с CI/CD позволяет использовать как обязательный gate.

Примечание: В версии 1.x произошли значительные изменения API по сравнению с 0.x. При миграции с ранних версий необходимо обновить конфигурации checkpoints и datasources. Перед внедрением зафиксировать целевую версию и протестировать на staging.

2.2. Microsoft Presidio

Параметр Значение
Назначение Обнаружение и маскирование PII/PHI в текстовых и структурированных данных
Лицензия MIT
Язык Python
Self-hosted Да (полностью). Поддерживает контейнерное развертывание
Компоненты Presidio Analyzer (обнаружение PII), Presidio Anonymizer (маскирование/удаление)
Репозиторий https://github.com/microsoft/presidio
Документация https://microsoft.github.io/presidio/

Оценка ИБ: Настоятельно рекомендован. MIT лицензия. Поддерживает кастомные распознаватели (recognizers) для специфических типов данных (например, внутренние идентификаторы, номера кошельков). Работает автономно, без обращения к внешним сервисам. Поддерживает русский язык через подключение spaCy-моделей.

Важно: Presidio по умолчанию не включает русскоязычные NER-модели. Для работы с русским текстом необходимо явно подключить spaCy модель ru_core_news_lg и при необходимости дополнить кастомными recognizers для российских форматов данных (СНИЛС, ИНН, серия/номер паспорта).

2.3. DVC (Data Version Control)

Параметр Значение
Назначение Версионирование данных и моделей, привязка версий данных к Git-коммитам
Лицензия Apache 2.0
Язык Python
Self-hosted Да. Хранилище данных - любое S3-совместимое хранилище, NFS, SSH
Репозиторий https://github.com/iterative/dvc
Сайт https://dvc.org/

Оценка ИБ: Рекомендован. Хранит метаданные (.dvc файлы, хеши) в Git, фактические данные - в настраиваемом хранилище. Не передает данные наружу. SHA-256 хеширование обеспечивает контроль целостности. Поддерживает access control через настройки бэкенд-хранилища.

2.4. Label Studio

Параметр Значение
Назначение Веб-интерфейс для разметки данных (текст, изображения, аудио, видео, временные ряды)
Лицензия Apache 2.0 (Community Edition)
Язык Python, JavaScript
Self-hosted Да (полностью). Docker, Kubernetes
Репозиторий https://github.com/HumanSignal/label-studio
Сайт https://labelstud.io/

Оценка ИБ: Допущен к использованию при self-hosted развертывании. При развертывании необходимо: настроить аутентификацию (LDAP/SSO), ограничить сетевой доступ, обеспечить шифрование хранимых данных, настроить аудит действий разметчиков. Коммерческая версия (Label Studio Enterprise) предоставляет расширенный RBAC, но для базовых задач достаточно Community Edition.

2.5. Argilla

Параметр Значение
Назначение Платформа для курирования данных и сбора обратной связи, ориентирована на NLP
Лицензия Apache 2.0
Язык Python, TypeScript
Self-hosted Да
Репозиторий https://github.com/argilla-io/argilla

Оценка ИБ: Допущен к использованию. Аналогичные требования к развертыванию, что и для Label Studio. Хорошо интегрируется с Hugging Face экосистемой. Рекомендуется при работе с NLP-задачами.

2.6. ydata-profiling

Параметр Значение
Назначение Автоматический профайлинг датасетов: статистика, распределения, корреляции, аномалии
Лицензия MIT
Язык Python
Self-hosted Да (библиотека, не сервис)
Репозиторий https://github.com/ydataai/ydata-profiling

Оценка ИБ: Рекомендован для этапа разведочного анализа (EDA). Ранее известен как pandas-profiling - переименован в ydata-profiling. Генерирует HTML-отчеты, которые могут быть полезны для первичного обнаружения аномалий и PII. Работает локально, не передает данные наружу.

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

2.7. OpenRefine

Параметр Значение
Назначение Интерактивная очистка и трансформация данных через веб-интерфейс
Лицензия BSD-style
Язык Java
Self-hosted Да (локальное приложение)
Сайт https://openrefine.org/

Оценка ИБ: Допущен для ручной очистки небольших датасетов. Работает локально. Не рекомендуется для автоматизированных пайплайнов - предпочтительнее использовать программные решения (Great Expectations + pandas/polars).

2.8. Pachyderm

Параметр Значение
Назначение Контейнерный data-pipeline платформа с версионированием данных
Лицензия Apache 2.0 (Community Edition)
Язык Go, Python
Self-hosted Да (Kubernetes)
Сайт https://www.pachyderm.com/

Оценка ИБ: Допущен к использованию. Требует Kubernetes-инфраструктуры. Рекомендуется оценить целесообразность внедрения - для большинства задач DVC + GitLab CI покрывает потребности в версионировании. Pachyderm оправдан при масштабных данных и сложных DAG-пайплайнах.

Сводная таблица инструментов

Инструмент Лицензия Self-hosted Статус ИБ Приоритет внедрения
Great Expectations Apache 2.0 Да Рекомендован Высокий - обязательный gate в CI/CD
Microsoft Presidio MIT Да Настоятельно рекомендован Высокий - обязательный для PII
DVC Apache 2.0 Да Рекомендован Высокий - версионирование данных
Label Studio Apache 2.0 Да Допущен (self-hosted) Средний
Argilla Apache 2.0 Да Допущен (self-hosted) Средний
ydata-profiling MIT Да Рекомендован Средний - EDA и аномалии
OpenRefine BSD Да Допущен Низкий
Pachyderm Apache 2.0 Да (K8s) Допущен Низкий - оценить необходимость

Доступ по подписке#03-stage1-data-operations

Дальше — практика и артефакты

Полная версия главы «Рекомендации ИБ: Этап 1 - Операции с данными (Data Operations)» с готовыми артефактами, шаблонами, чек-листами и подробными процедурами доступна по подписке.

12% прочитано88% в подписке
Внутри:Готовые playbook'иЧек-листыDetection-правилаCI/CD конфиги
5код-блоков11таблиц38чек-пунктов13интерактивов
  • Полный доступ ко всем главам и обновлениям 30 дней
  • Готовые playbook'и, шаблоны и runbook'и под копирование
  • Поддержка автора — paywall не для заработка, а для развития справочника

Можно отменить в любой момент. Возврат средств в первые 7 дней без вопросов.