
# Автоматизированное сопоставление контролей ISO 27001 с использованием ИИ для опросников по безопасности

Опросники по безопасности становятся узким местом в оценке рисков поставщиков.  Аудиторы часто запрашивают доказательства того, что поставщик SaaS соответствует [ISO 27001](https://www.iso.org/isoiec-27001-information-security.html), но ручные усилия, необходимые для поиска нужного контрола, извлечения поддержки из политики и формулирования лаконичного ответа, могут занимать дни.  Новое поколение платформ, управляемых ИИ, меняет эту парадигму от **реактивных, требующих большого участия человека** процессов к **прогностическим, автоматизированным** рабочим потокам.

В этой статье мы представляем **первый в своём роде движок**, который:

1. **Поглощает весь набор контролей ISO 27001** и сопоставляет каждый контроль с внутренним репозиторием политик организации.  
2. **Создаёт граф знаний**, связывающий контроли, политики, артефакты доказательств и ответственных владельцев.  
3. **Использует конвейер Retrieval‑Augmented Generation (RAG)** для создания ответов на опросники, которые *соответствуют требованиям, учитывают контекст и актуальны*.  
4. **В реальном времени обнаруживает отклонения политики**, автоматически инициируя регенерацию, когда меняется исходная политика контрола.  
5. **Предоставляет UI с низким порогом кода** для аудиторов, позволяющий донастроить или утвердить сгенерированные ответы перед отправкой.  

Далее вы узнаете об архитектурных компонентах, потоке данных, используемых ИИ‑технологиях и измеримых выгодах, наблюдаемых в ранних пилотах.

---

## 1. Почему сопоставление контролей ISO 27001 имеет значение

[ISO 27001](https://www.iso.org/isoiec-27001-information-security.html) предоставляет общепринятую основу для управления информационной безопасностью.  В её **Приложении A** перечислено 114 контролей, каждый из которых имеет под‑контроли и рекомендации по реализации.  Когда в стороннем опроснике безопасности задаётся, к примеру:

> «Опишите, как вы управляете жизненным циклом криптографических ключей (Control A.10.1).»

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

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

Автоматизация сопоставления контролей ISO 27001 с переиспользуемыми фрагментами ответов устраняет эти проблемы в масштабе.

---

## 2. Основной архитектурный план

Движок построен вокруг трёх столпов:

| Столп | Назначение | Ключевые технологии |
|-------|------------|----------------------|
| **Граф знаний контроль‑политика** | Нормализует контролы ISO 27001, внутренние политики, артефакты и владельцев в запросимом графе. | Neo4j, RDF, Graph Neural Networks (GNN) |
| **RAG генерация ответов** | Извлекает наиболее релевантный фрагмент политики, обогащает его контекстом и генерирует отшлифованный ответ. | Retrieval (BM25 + Vector Search), LLM (Claude‑3, Gemini‑Pro), Prompt Templates |
| **Обнаружение отклонения политики и авто‑обновление** | Мониторит изменения исходных политик, повторно запускает генерацию и уведомляет участников. | Change Data Capture (CDC), Diff‑Auditing, Event‑Driven Pub/Sub (Kafka) |

Ниже представлена диаграмма Mermaid, визуализирующая поток данных от загрузки до доставки ответа.

```mermaid
graph LR
    A[ISO 27001 Control Catalog] -->|Import| KG[Control‑Policy Knowledge Graph]
    B[Internal Policy Store] -->|Sync| KG
    C[Evidence Repository] -->|Link| KG
    KG -->|Query| RAG[Retrieval‑Augmented Generation Engine]
    RAG -->|Generate| Answer[Questionnaire Answer Draft]
    D[Policy Change Feed] -->|Event| Drift[Policy Drift Detector]
    Drift -->|Trigger| RAG
    Answer -->|Review UI| UI[Security Analyst Dashboard]
    UI -->|Approve/Reject| Answer
```

*Все подписи узлов заключены в двойные кавычки, как требует синтаксис Mermaid.*

---

## 3. Создание графа знаний контроль‑политика

### 3.1 Моделирование данных

* **Узлы контроля** – каждый контроль ISO 27001 (например, «A.10.1») становится узлом с атрибутами: `title`, `description`, `reference`, `family`.  
* **Узлы политики** – внутренние политики импортируются из Markdown, Confluence или Git‑репозиториев. Атрибуты включают `version`, `owner`, `last_modified`.  
* **Узлы доказательств** – ссылки на журналы аудита, снимки конфигураций или сертификаты сторонних поставщиков.  
* **Ребра владения** – `MANAGES`, `EVIDENCE_FOR`, `DERIVES_FROM`.  

Схема графа позволяет выполнять запросы, похожие на SPARQL, например:

```cypher
MATCH (c:Control {id:"A.10.1"})-[:DERIVES_FROM]->(p:Policy)
RETURN p.title, p.content LIMIT 1
```

### 3.2 Обогащение с помощью GNN

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

---

## 4. Конвейер Retrieval‑Augmented Generation

### 4.1 Этап извлечения

1. **Поиск по ключевым словам** – BM25 по тексту политик.  
2. **Векторный поиск** – эмбеддинги (Sentence‑Transformers) для семантического совпадения.  
3. **Гибридный ранжир** – комбинирование BM25 и `relevance_score` GNN линейным взвешиванием (α = 0.6 для семантики, 0.4 для лексики).  

Топ‑k (обычно 3) отрывков политики передаются в LLM вместе с запросом опросника.

### 4.2 Инженерия подсказок

Шаблон подсказки адаптируется под семью контроля:

```
You are a compliance assistant. Using the following policy excerpts, craft a concise answer (max 200 words) for ISO 27001 control "{{control_id}} – {{control_title}}". Maintain the tone of the source policy but tailor it to a third‑party security questionnaire. Cite each excerpt with a markdown footnote.
```

LLM подставляет конкретные отрывки и генерирует **черновик с подстрочными ссылками**.

### 4.3 Постобработка

* **Слой факт‑чекинга** – вторичный проход LLM, проверяющий, что все утверждения опираются на извлечённый текст.  
* **Фильтр редактирования** – обнаруживает и маскирует конфиденциальные данные, которые нельзя раскрывать.  
* **Модуль форматирования** – преобразует вывод в требуемый формат опросника (HTML, PDF или простой текст).

---

## 5. Обнаружение отклонения политики в реальном времени

Политики редко остаются неизменными.  **Коннектор Change Data Capture (CDC)** отслеживает репозиторий исходных политик на предмет коммитов, слияний или удалений.  При изменении узла, связанного с контролем ISO, детектор отклонения:

1. Вычисляет **хеш различий** между старым и новым фрагментом политики.  
2. Генерирует **событие отклонения** в топик Kafka `policy.drift`.  
3. Запускает конвейер RAG для регенерации затронутых ответов.  
4. Отправляет **уведомление** владельцу политики и на панель аналитика для проверки.  

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

---

## 6. Пользовательский опыт: панель аналитика

UI отображает **сетку ожидающих пунктов опросника** со цветовой маркировкой статуса:

* **Зелёный** – ответ сгенерирован, отклонений нет, готов к экспорту.  
* **Жёлтый** – недавнее изменение политики, регенерация в процессе.  
* **Красный** – требуется ручная проверка (например, неоднозначная политика или сработал фильтр редактирования).  

Функциональные возможности:

* **Экспорт в один клик** в PDF или CSV.  
* **Встроенное редактирование** для особых случаев.  
* **История версий**, показывающая точную версию политики, использованную для каждого ответа.  

Краткое видеодемонстрационное (встроенное в платформу) показывает типичный рабочий процесс: выбор контрола, просмотр автоматически сгенерированного ответа, утверждение и экспорт.

---

## 7. Количественное влияние на бизнес

| Показатель | До автоматизации | После автоматизации (пилот) |
|------------|------------------|-----------------------------|
| Среднее время создания ответа | 45 минут на контроль | 3 минуты на контроль |
| Время окончания опросника (полный) | 12 дней | 1,5 дня |
| Оценка согласованности ответов (внутренний аудит) | 78 % | 96 % |
| Задержка обновления при отклонении политики | 7 дней (ручная) | < 2 часа (авто) |

Пилот, проведённый в средней SaaS‑компании (≈ 250 сотрудников), сократил еженедельную нагрузку команды безопасности на **≈ 30 часов** и устранил 4 ключевых инцидента комплаенса, вызванных устаревшими ответами.

---

## 8. Соображения по безопасности и управлению

* **Расположение данных** – все данные графа знаний остаются внутри приватного VPC организации; инференс LLM выполняется на локальном оборудовании или выделенном частном облачном эндпоинте.  
* **Контроль доступа** – ролевой доступ ограничивает, кто может редактировать политики, запускать регенерацию или просматривать готовые ответы.  
* **Служба аудита** – каждый черновик ответа хранит криптографический хеш, связывающий его с конкретной версией политики, что позволяет провести неизменяемую проверку во время аудита.  
* **Объяснимость** – панель показывает **видимость трассировки**, перечисляющую извлечённые отрывки политики и их оценки релевантности, удовлетворяя регуляторов, что ИИ использовался ответственно.

---

## 9. Расширение движка за пределы ISO 27001

Хотя прототип ориентирован на ISO 27001, архитектура **независима от регулятора**:

* **[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) Trust Services Criteria** – сопоставление через тот же граф, но с другими семействами контролей.  
* **[HIPAA](https://www.hhs.gov/hipaa/index.html) Security Rule** – загрузка 18 стандартов и привязка к специфическим политикам в сфере здравоохранения.  
* **[PCI‑DSS](https://www.pcisecuritystandards.org/pci_security/)** – соединение с процедурами обработки данных платёжных карт.  

Добавление новой рамки требует лишь загрузки её каталога контролей и установления начальных связей с уже существующими узлами политик.  GNN автоматически адаптируется по мере накопления новых пар вопросов‑ответов.

---

## 10. Как начать: пошаговый чек‑лист

1. **Соберите каталог контролей ISO 27001** (скачайте официальный CSV Приложения A).  
2. **Экспортируйте внутренние политики** в структурированный формат (Markdown с front‑matter для версионирования).  
3. **Разверните граф знаний** (Docker‑образ Neo4j с предустановленной схемой).  
4. **Установите сервис RAG** (контейнер FastAPI на Python с эндпоинтом LLM).  
5. **Настройте CDC** (Git‑hook или монитор файловой системы), чтобы питать детектор отклонений.  
6. **Запустите панель аналитика** (React‑фронтенд, аутентификация через OAuth2).  
7. **Проведите пилотный опросник** и итеративно доработайте шаблоны подсказок.  

Следуя этой дорожной карте, большинство организаций могут достичь **полностью автоматизированного конвейера сопоставления ISO 27001 за 4‑6 недель**.

---

## 11. Будущее развитие

* **Федеративное обучение** – делиться анонимными эмбеддингами контроль‑политика между партнёрами, улучшая оценку релевантности без раскрытия собственных политик.  
* **Мультимодальные доказательства** – включать схемы, файлы конфигураций и журналы через Vision‑LLM для обогащения ответов.  
* **Генеративные комплекты комплаенса** – перейти от отдельных ответов к полным нарративам, включая таблицы доказательств и оценки рисков.  

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

---

## Смотрите также
- [ISO 27001 – Официальные Приложения A Контролей](https://www.iso.org/standard/54534.html)  
- [Сопоставление NIST SP 800‑53 с ISO 27001](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final)  
- [Обзор Retrieval‑Augmented Generation: Техники и применения](https://arxiv.org/abs/2302.01279)