
# Автоматизоване відображення контролів 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. **Надає low‑code інтерфейс** для аудиторів, щоб вони могли точно налаштувати або схвалити згенеровані відповіді перед подачею.  

Нижче ви дізнаєтесь про архітектурні компоненти, потік даних, базові ШІ‑техніки та вимірювані переваги, які спостерігалися у перших пілотних проектах.

---

## 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** (офіційний Annex A у форматі CSV).  
2. **Експортуйте внутрішні політики** у структурований формат (Markdown з front‑matter для версій).  
3. **Розгорніть граф знань** (Docker‑образ Neo4j з попередньо налаштованою схемою).  
4. **Встановіть сервіс RAG** (контейнер FastAPI з підключенням до LLM‑endpoint).  
5. **Налаштуйте CDC** (git‑хук або моніторинг файлової системи) для подачі змін у детектор відхилень.  
6. **Запустіть дашборд аналітика** (React‑фронтенд, аутентифікація OAuth2).  
7. **Проведіть пілотну анкету** та поступово уточнюйте шаблони промптів.  

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

---

## 11. Майбутні напрями

* **Федероване навчання** – Ділитися анонімізованими ембедінгами «контроль‑політика» між партнерами, підвищуючи скор релевантності без розкриття власних політик.  
* **Багатомодальні докази** – Інтегрувати діаграми, конфігураційні файли та журнали за допомогою Vision‑LLM для збагачення відповідей.  
* **Генерація комплаєнс‑плейбуків** – Розширити функціональність від окремих відповідей до комплексних narrative, включаючи таблиці доказів та оцінки ризиків.  

Поєднання **графів знань, RAG та моніторингу відхилень** формує новий базовий рівень автоматизації анкет безпеки. Перші користувачі отримають не лише швидкість, а й упевненість у тому, що кожна відповідь **прозора, актуальна та аудиторсько підкріплена**.

---

## Дивіться також
- [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)