
# AI‑drevet automatiseret ISO 27001 kontrolkortlægning for sikkerhedsspørgeskemaer

Sikkerhedsspørgeskemaer er en flaskehals i leverandørrisikobedømmelser. Revisorer anmoder ofte om bevis for, at en SaaS‑udbyder overholder [ISO 27001](https://www.iso.org/isoiec-27001-information-security.html), men den manuelle indsats, der kræves for at finde den rette kontrol, udtrække den understøttende politik og formulere et kortfattet svar, kan strække sig over dage. En ny generation af AI‑drevne platforme ændrer dette paradigme fra **reaktive, menneske‑tunge** processer til **forudsigelige, automatiserede** arbejdsgange.

I denne artikel afslører vi en **første­-af‑sin‑art motor**, der:

1. **Indlæser hele ISO 27001‑kontrolsættet** og kortlægger hver kontrol til organisationens interne politik‑arkiv.  
2. **Opretter en vidensgraf** der forbinder kontroller, politikker, bevis‑artefakter og interessent‑ejere.  
3. **Bruger en Retrieval‑Augmented Generation (RAG)‑pipeline** til at producere svar på spørgsmål, der er *overensstemmende, kontekstuelle og opdaterede*.  
4. **Registrerer politik‑drift i realtid**, og udløser automatisk ny generering, når en kontrols kildepolitik ændres.  
5. **Leverer en low‑code‑UI** for revisorer til at finjustere eller godkende genererede svar før indsendelse.  

Nedenfor får du indsigt i arkitekturkomponenterne, dataflowet, de underliggende AI‑teknikker og de målbare fordele, der er observeret i tidlige pilotprojekter.

---

## 1. Hvorfor kortlægning af ISO 27001 kontroller er vigtigt

[ISO 27001](https://www.iso.org/isoiec-27001-information-security.html) leverer en universelt accepteret ramme for informationssikkerhedsstyring. Dens **Annex A** indeholder 114 kontroller, hver med underkontroller og implementeringsvejledning. Når et tredjeparts sikkerhedsspørgeskema fx spørger:

> “Beskriv, hvordan I håndterer livscyklussen for kryptografiske nøgler (Control A.10.1).”

skal sikkerhedsteamet finde den relevante politik, udtrække den specifikke procesbeskrivelse og tilpasse den til spørgsmålernes formulering. At gentage dette for dusinvis af kontroller på tværs af flere spørgeskemaer skaber:

* **Dupliceret arbejde** – identiske svar skrives om for hver anmodning.  
* **Inkonsistent sprog** – små ændringer i formulering kan fortolkes som huller.  
* **Udløbet bevis** – politikker udvikler sig, men spørgeskema‑udkast forbliver ofte uændrede.  

Automatisering af kortlægningen af ISO 27001‑kontroller til genanvendelige svarfragmenter eliminerer disse problemer i stor skala.

---

## 2. Grundlæggende arkitekturplan

Motoren er bygget omkring tre søjler:

| Søjle | Formål | Nøgle Teknologier |
|-------|--------|-------------------|
| **Kontrol‑Politik Vidensgraf** | Normaliserer ISO 27001‑kontroller, interne politikker, artefakter og ejere til en forespørgsels‑venlig graf. | Neo4j, RDF, Graph Neural Networks (GNN) |
| **RAG Svargenerering** | Henter det mest relevante politik‑udsnit, udvider det med kontekst og genererer et poleret svar. | Retrieval (BM25 + Vector Search), LLM (Claude‑3, Gemini‑Pro), Prompt‑skabeloner |
| **Registrering af Politik‑Drift & Auto‑Refresh** | Overvåger kildepolitikker for ændringer, udløser ny generering og underretter interessenter. | Change Data Capture (CDC), Diff‑Auditing, Event‑Driven Pub/Sub (Kafka) |

Nedenfor er et Mermaid‑diagram, der visualiserer dataflowet fra indtag til svarlevering.

```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
```

*Alle nodenavne er omsluttet af dobbelte anførselstegn som påkrævet af Mermaid‑syntaksen.*

---

## 3. Bygning af kontrol‑politisk vidensgraf

### 3.1 Datamodellering

* **Kontrol‑noder** – Hver ISO 27001‑kontrol (fx “A.10.1”) bliver en node med attributter: `title`, `description`, `reference`, `family`.  
* **Politik‑noder** – Interne sikkerhedspolitikker indlæses fra Markdown, Confluence eller Git‑baserede arkiver. Attributter inkluderer `version`, `owner`, `last_modified`.  
* **Bevis‑noder** – Henvisninger til revisionslog‑filer, konfigurations‑snapshots eller tredjeparts‑certificeringer.  
* **Ejerskabs‑kanter** – `MANAGES`, `EVIDENCE_FOR`, `DERIVES_FROM`.  

Graf‑skemaet muliggør SPARQL‑lignende forespørgsler som:

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

### 3.2 Berigelse med GNN

Et Graph Neural Network trænes på historiske spørgeskema‑svar‑par for at lære en **semantisk ligheds‑score** mellem kontroller og politik‑fragmenter. Denne score gemmes som kant‑attributten `relevance_score`, hvilket dramatisk forbedrer retrieval‑præcisionen frem for simpel nøgleord‑matchning.

---

## 4. Retrieval‑Augmenteret genereringspipeline

### 4.1 Retrieval‑fase

1. **Nøgleordssøgning** – BM25 over politik‑tekster.  
2. **Vektorsøgning** – Indlejringer (Sentence‑Transformers) for semantisk matchning.  
3. **Hybrid‑ranking** – Kombinerer BM25 og GNN‑`relevance_score` via en lineær vægtning (α = 0.6 for semantik, 0.4 for leksikalt).  

De øverste‑k (typisk 3) politik‑udsnit sendes videre til LLM’en sammen med spørgeskema‑prompten.

### 4.2 Prompt‑design

En **dynamisk prompt‑skabelon** tilpasses kontrolfamilien:

```
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’en udfylder pladsholderne med de hentede uddrag og producerer et **citerings‑rigt udkast**.

### 4.3 Efter‑behandling

* **Faktatjek‑lag** – Et letvægts‑verifikations‑LLM‑pass sikrer, at alle påstande er forankret i de hentede tekster.  
* **Redaktions‑filter** – Finder og maskerer eventuelle fortrolige data, der ikke må deles.  
* **Formaterings‑modul** – Konverterer output til spørgeskemaets foretrukne markup (HTML, PDF eller ren tekst).

---

## 5. Realtidsdetektion af politikdrift

Politikker er sjældent statiske. En **Change Data Capture (CDC)‑connector** observerer kilde‑repoet for commits, merges eller sletninger. Når en ændring berører en node, der er knyttet til en ISO‑kontrol, udfører drift‑detektoren:

1. Beregner et **diff‑hash** mellem den gamle og nye politik‑tekst.  
2. Udløser en **drift‑event** på Kafka‑topic’en `policy.drift`.  
3. Starter RAG‑pipeline’en for at regenerere berørte svar.  
4. Sender en **notifikation** til politik‑ejeren og analytiker‑dashboardet til gennemgang.  

Denne lukkede kredsløb sikrer, at hvert offentliggjort spørgeskema‑svar forbliver i overensstemmelse med de nyeste interne kontroller.

---

## 6. Brugeroplevelse: Analytiker‑dashboard

UI’et viser et **gitter af ventende spørgeskema‑elementer** med farvekodet status:

* **Grøn** – Svar genereret, ingen drift, klar til eksport.  
* **Gul** – Seneste politikændring, regeneration afventer.  
* **Rød** – Menneskelig gennemgang påkrævet (fx tvetydig politik eller redaktions‑flag).  

Funktioner inkluderer:

* **Et‑klik‑eksport** til PDF eller CSV.  
* **Inline‑redigering** for edge‑case‑tilpasninger.  
* **Versionshistorik** der viser den præcise politik‑version, der blev brugt til hvert svar.  

En kort video‑demo (indlejret i platformen) viser en typisk arbejdsgang: vælge en kontrol, gennemgå det automatisk genererede svar, godkende og eksportere.

---

## 7. Kvantificeret forretningsmæssig påvirkning

| Måling | Før automatisering | Efter automatisering (pilot) |
|-------|--------------------|------------------------------|
| Gennemsnitlig svar‑oprettelsestid | 45 min pr. kontrol | 3 min pr. kontrol |
| Spørgeskema‑gennemløbstid (fuld) | 12 dage | 1,5 dag |
| Konsistens‑score (intern audit) | 78 % | 96 % |
| Politik‑drift‑latens (tid til opdatering) | 7 dage (manuel) | < 2 timer (automatisk) |

Piloten, kørt i en mellemstor SaaS‑virksomhed (≈ 250 ansatte), reducerede sikkerhedsteamets ugentlige arbejdsbyrde med **≈ 30 timer** og eliminerede 4 store compliance‑hændelser forårsaget af forældede svar.

---

## 8. Sikkerheds‑ og governance‑overvejelser

* **Data‑residens** – Al vidensgraf‑data forbliver inden for organisationens private VPC; LLM‑inference udføres på on‑premise hardware eller en dedikeret privat sky‑endpoint.  
* **Adgangskontrol** – Rolle‑baserede tilladelser begrænser, hvem der kan redigere politikker, udløse regeneration eller se genererede svar.  
* **Audit‑spor** – Hvert svar‑udkast gemmer en kryptografisk hash, der binder det til den præcise politik‑version, hvilket muliggør uforanderlig verifikation under revisioner.  
* **Forklarlighed** – Dashboardet viser en **sporbarhed‑visning**, der lister de hentede politik‑udsnit og de relevance‑scores, der bidrog til det endelige svar, og opfylder regulatorernes krav om ansvarlig AI‑brug.

---

## 9. Udvidelse af motoren ud over ISO 27001

Selvom prototypen fokuserer på ISO 27001, er arkitekturen **regulator‑agnostisk**:

* **[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) Trust Services Criteria** – Kortlæg til samme graf med andre kontrol‑familier.  
* **[HIPAA](https://www.hhs.gov/hipaa/index.html) Security Rule** – Indlæs de 18 standarder og bind dem til sundheds‑specifikke politikker.  
* **[PCI‑DSS](https://www.pcisecuritystandards.org/pci_security/)** – Tilknyt til processer for håndtering af kortdata.  

At tilføje et nyt framework kræver blot at indlæse dets kontrol‑katalog og etablere indledende kanter til eksisterende politik‑noder. GNN’en tilpasser sig automatisk, efterhånden som flere trænings‑par indsamles.

---

## 10. Sådan kommer du i gang: En trin‑for‑trin‑tjekliste

1. **Indsaml ISO 27001‑kontroller** (download det officielle Annex A CSV).  
2. **Eksporter interne politikker** til et struktureret format (Markdown med front‑matter for versionsstyring).  
3. **Implementér vidensgrafen** (Neo4j Docker‑image med forud‑defineret skema).  
4. **Installer RAG‑tjenesten** (Python FastAPI‑container med LLM‑endpoint).  
5. **Konfigurer CDC** (Git‑hook eller fil‑system‑watcher) for at fodre drift‑detektoren.  
6. **Start Analytiker‑dashboardet** (React‑frontend, OAuth2‑autentificering).  
7. **Kør et pilot‑spørgeskema** og finjuster prompt‑skabeloner iterativt.  

Ved at følge denne køreplan kan de fleste organisationer opnå en **fuldt automatiseret ISO 27001‑kortlægningspipeline inden for 4‑6 uger**.

---

## 11. Fremtidige retninger

* **Federated Learning** – Del anonymiserede kontrol‑politik‑indlejringer på tværs af partner‑virksomheder for at forbedre relevans‑score uden at afsløre proprietære politikker.  
* **Multimodal bevis** – Integrer diagrammer, konfigurations‑filer og log‑udsnit ved hjælp af Vision‑LLM’er for at berige svarene.  
* **Genererende compliance‑playbooks** – Udvid fra enkelte svar til komplette compliance‑fortællinger inklusiv bevis‑tabeller og risikovurderinger.  

Sammenløbet af **vidensgrafer, RAG og real‑time politik‑drift‑monitorering** er på vej til at blive den nye standard for al automatisering af sikkerhedsspørgeskemaer. Tidlige adoptører vil nyde ikke blot hastighed, men også sikkerheden i at hvert svar er **spor‑bart, aktuelt og audit‑klart**.

---

## Se også
- [ISO 27001 – Official Annex A Controls](https://www.iso.org/standard/54534.html)  
- [NIST SP 800‑53 Mapping to ISO 27001](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final)  
- [Retrieval‑Augmented Generation: A Survey of Techniques and Applications](https://arxiv.org/abs/2302.01279)