Рекомендации ИБ: Этап 1 - Операции с данными (Data Operations)
Рекомендации ИБ: Этап 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) | Допущен | Низкий - оценить необходимость |
Дальше — практика и артефакты
Полная версия главы «Рекомендации ИБ: Этап 1 - Операции с данными (Data Operations)» с готовыми артефактами, шаблонами, чек-листами и подробными процедурами доступна по подписке.
- Полный доступ ко всем главам и обновлениям 30 дней
- Готовые playbook'и, шаблоны и runbook'и под копирование
- Поддержка автора — paywall не для заработка, а для развития справочника
Можно отменить в любой момент. Возврат средств в первые 7 дней без вопросов.
Упоминается в (11)
- Рекомендации ИБ: Обзор и Архитектура ML SecOps
- Рекомендации ИБ: Этап 0 - Проектирование ML-системы
- Privacy Enhancing Technologies (PET) для MLSec
- ML Attack Atlas, RAG Security, Multimodal, Fine-tuning Supply Chain
- Глава 24. Безопасность векторных баз данных
- Глава 28. Безопасность синтетических данных
- Рекомендации ИБ: Этап 2 - Операции с моделями (Model Operations)
- MLSec Recommendations. Индекс документов
- FAQ
- Безопасность обучающей инфраструктуры
- Внедрение MLSec и AI Security в российских компаниях. Практический плейбук