
# AI-pohjainen automatisoitu ISO 27001‑hallintojen kartoitus turvallisuuskyselyihin

Turvallisuuskyselyt muodostavat pullonkaulan toimittajariskien arvioinnissa. Tarkastajat pyytävät usein todisteita siitä, että SaaS‑palveluntarjoaja noudattaa [ISO 27001](https://www.iso.org/isoiec-27001-information-security.html) -standardia, mutta manuaalinen työ, jonka avulla oikea hallinta löydetään, siihen liittyvä politiikka puretaan ja tiivis vastaus muotoillaan, voi venyä päiviä. Uusi tekoälypohjaisten alustojen sukupolvi muuttaa tätä paradigmaa **reaktiivisista, ihmisen raskaista** prosesseista **ennakoiviin, automatisoituihin** työnkulkuihin.

Tässä artikkelissa esittelemme ensimmäisenkaltaisen moottorin, joka:

1. **Syö koko ISO 27001‑hallintojoukon** ja kartoituttaa jokaisen hallinnan organisaation sisäiseen politiikkavarastoon.  
2. **Luo tieto‑grafiikan**, joka yhdistää hallinnot, politiikat, todistuselementit ja sidosryhmän omistajat.  
3. **Käyttää Retrieval‑Augmented Generation (RAG) -putkea** tuottamaan kyselyvastauksia, jotka ovat *yhteensopivia, kontekstuaalisia ja ajantasaisia*.  
4. **Havaitsee politiikan poikkeamat reaaliaikaisesti** ja käynnistää automaattisen uudelleengeneroinnin, kun hallinnan lähdepolitiikka muuttuu.  
5. **Tarjoaa low‑code‑käyttöliittymän**, jonka avulla tarkastajat voivat hienosäätää tai hyväksyä luodut vastaukset ennen lähettämistä.  

Alla opit arkkitehtoniset komponentit, tiedonkulun, taustalla olevat tekoälytekniikat ja varhaisen pilotin mittaamat hyödyt.

---

## 1. Miksi ISO 27001‑hallintojen kartoitus on tärkeää

[ISO 27001](https://www.iso.org/isoiec-27001-information-security.html) tarjoaa maailmanlaajuisesti hyväksytyn kehyksen tietoturvan hallintaan. Sen **Liite A** sisältää 114 hallintoa, joihin kuuluu alihallintoja ja toteutussuosituksia. Kun kolmannen osapuolen turvallisuuskysely kysyy esimerkiksi:

> “Kuvaile, miten hallitsette kryptografisten avainten elinkaarta (Control A.10.1).”

turvallisuusryhmän on löydettävä asiaankuuluva politiikka, poimittava prosessin tarkka kuvaus ja sovellettava se kyselyn sanamuotoon. Kun tätä toistetaan kymmenillä hallinnoilla useissa kyselyissä, syntyy:

* **Päällekkäinen työ** – identtiset vastaukset kirjoitetaan uudelleen jokaiselle pyynnölle.  
* **Epäyhtenäinen kieli** – pienet sanavalinnat voivat tulkita aukona.  
* **Vanhentunut todistusmateriaali** – politiikat kehittyvät, mutta kyselyluonnokset jäävät usein muuttumattomiksi.  

ISO 27001‑hallintojen kartoituksen automatisointi uudelleenkäytettäviin vastausosioihin poistaa nämä ongelmat mittakaavassa.

---

## 2. Keskeinen arkkitehtoninen suunnitelma

Moottori perustuu kolmeen pilarioon:

| Pilari | Tarkoitus | Keskeiset teknologiat |
|--------|-----------|-----------------------|
| **Hallinta‑Politiikka Tieto‑graafi** | Normalisoi ISO 27001‑hallinnot, sisäiset politiikat, todistuselementit ja omistajat kyselykelpoiseksi graafiksi. | Neo4j, RDF, Graph Neural Networks (GNN) |
| **RAG‑vastausgenerointi** | Hakee relevantin politiikkakappaleen, rikastaa kontekstilla ja tuottaa hiotun vastauksen. | Haku (BM25 + Vektorihaku), LLM (Claude‑3, Gemini‑Pro), Prompt‑mallit |
| **Politiikan poikkeamien havaitseminen & automaattinen päivitys** | Seuraa lähdepolitiikkojen muutoksia, käynnistää generoinnin uudelleen ja ilmoittaa sidosryhmille. | Change Data Capture (CDC), Diff‑Auditing, Event‑Driven Pub/Sub (Kafka) |

Alla on Mermaid‑kaavio, joka visualisoi tiedonkulun sisääntulosta vastauksen toimitukseen.

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

*Kaikkien solujen nimet on suljettu kaksoislainausmerkkeihin Mermaidin syntaksin vaatimusten mukaisesti.*

---

## 3. Hallintapolitiikan tieto‑graafin rakentaminen

### 3.1 Tietomallinnus

* **Hallintosolmut** – Jokainen ISO 27001‑hallinta (esim. “A.10.1”) muodostaa solmun, jossa attribuutit `title`, `description`, `reference`, `family`.  
* **Politiikkasolmut** – Sisäiset tietoturvapolitiikat haetaan Markdown‑, Confluence‑ tai Git‑pohjaisista repositorioista.  Attribuutit sisältävät `version`, `owner`, `last_modified`.  
* **Todistusesolmut** – Linkit auditointilokeihin, konfiguraatiokuvauksiin tai kolmannen osapuolen sertifikaatteihin.  
* **Omistussuhteet** – `MANAGES`, `EVIDENCE_FOR`, `DERIVES_FROM`.  

Graafinen skeema mahdollistaa SPARQL‑tyyppiset kyselyt, kuten:

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

### 3.2 Rikkaus GNN:n avulla

Graafinen neuroniverkko (GNN) koulutetaan historiallisten kyselyvastausten pareihin oppiakseen **semanttisen samankaltaisuuspisteytyksen** hallintojen ja politiikka‑kappaleiden välillä. Tämä piste tallennetaan reunapropiteettina `relevance_score`, mikä parantaa hakutarkkuutta merkittävästi pelkkää avainsanahakua vastaan.

---

## 4. Haku‑avustettu (RAG) generointiputki

### 4.1 Hakuvaihe

1. **Avainsanahaku** – BM25 politiikkatekstissä.  
2. **Vektorihaku** – Embeddingit (Sentence‑Transformers) semanttiseen vastaavuuteen.  
3. **Hybridiranking** – Yhdistetään BM25 ja GNN:n `relevance_score` lineaarisella sekoituksella (α = 0.6 semantiikka, 0.4 leksika).  

Parhaat k‑kappaleet (yleensä 3) annetaan LLM:lle yhdessä kyselyn kehotteessa.

### 4.2 Kehote­suunnittelu

Dynaaminen kehottemalli mukautuu hallintoperheeseen:

```
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 täyttää paikkamerkit haetuilla kappaleilla ja tuottaa **viitteitä sisältävän luonnoksen**.

### 4.3 Jälkikäsittely

* **Faktantarkistuskerros** – Kevyt tarkistaja ajastaa toisen LLM‑kierroksen varmistaakseen, että kaikki väitteet perustuvat haettuihin teksteihin.  
* **Redaktioprosessi** – Havaitsee ja maskaa mahdollisen luottamuksellisen tiedon, jota ei saa paljastaa.  
* **Muotoilumoduuli** – Muuntaa tulosteen kyselyn haluttuun merkintätapaan (HTML, PDF tai pelkkä teksti).

---

## 5. Politiikan poikkeamien reaaliaikainen havaitseminen

Politiikat eivät ole koskaan staattisia. **Change Data Capture (CDC) -liitin** seuraa lähde-reposiota kommittien, mergejen ja poistojen varalta. Kun muutos koskee hallintoon linkattua solmua, poikkeamien tunnistin:

1. Laskee **diff‑hashin** vanhan ja uuden politiikkakappaleen välillä.  
2. Laukaisee **poikkeamatapahtuman** Kafka‑aiheelle `policy.drift`.  
3. Käynnistää RAG‑putken uudelleengeneroimaan vaikuttavat vastaukset.  
4. Lähettää **ilmoituksen** politiikan omistajalle ja analyytikkonäkymälle tarkistusta varten.  

Tämä suljettu silmukka varmistaa, että jokainen julkaistu kyselyvastaus pysyy linjassa viimeisimpien sisäisten hallintojen kanssa.

---

## 6. Käyttäjäkokemus: Analyytikon hallintapaneeli

Käyttöliittymä näyttää **ruudukon odottavista kyselykohteista** värikoodatulla tilalla:

* **Vihreä** – Vastaus luotu, ei poikkeamaa, valmis vientiin.  
* **Keltainen** – Äskettäinen politiikkamuutos, uudelleengenerointi odottaa.  
* **Punainen** – Ihmisen tarkistus vaaditaan (esim. epäselvä politiikka tai redaktiolippu).  

Ominaisuuksia:

* **Yhden napsautuksen vienti** PDF‑ tai CSV‑muotoon.  
* **Suora muokkaus** poikkeustapauksiin.  
* **Versiohistoria**, jossa näkyy tarkka politiikkaversio, jonka perusteella kukin vastaus on tuotettu.  

Lyhyt video‑demo (upotettu alustalle) havainnollistaa tyypillisen työnkulun: hallinnan valinta, automaattisesti luodun vastauksen tarkastelu, hyväksyntä ja vienti.

---

## 7. Mitattava liiketoimintavaikutus

| Mittari | Ennen automatisointia | Automaation jälkeen (pilotti) |
|---------|----------------------|-------------------------------|
| Keskimääräinen vastausluontiaika per hallinto | 45 min | 3 min |
| Kyselyn läpimenoaika (koko) | 12 vrk | 1,5 vrk |
| Vastausten yhdenmukaisuusaste (sisäinen auditointi) | 78 % | 96 % |
| Politiikan poikkeaman latenssi (aika päivittymiseen) | 7 vrk (manuaalinen) | < 2 h (automaattinen) |

Pilotti toteutettiin keskikokoisessa SaaS‑yrityksessä (≈ 250 henkilöä), mikä vähensi turvallisuustiimin viikkotyötä **≈ 30 tunnilla** ja poisti 4 merkittävää noudattamisongelmaa, jotka johtuvat vanhentuneista vastauksista.

---

## 8. Turvallisuus‑ ja hallintonäkökohdat

* **Tietojen sijainti** – Kaikki tieto‑graafin tiedot pysyvät organisaation yksityisessä VPC:ssä; LLM‑inferenssi suoritetaan paikallisessa laitteistossa tai omistetussa yksityisessä pilvipalvelupisteessä.  
* **Pääsynvalvonta** – Roolipohjaiset oikeudet rajoittavat, kuka voi muokata politiikkoja, käynnistää uudelleengeneroinnin tai tarkastella luotuja vastauksia.  
* **Auditointiloki** – Jokainen vastausluonnos tallentaa kryptografisen hajautuksen, joka linkittää sen täsmälleen käytettyyn politiikkaversioon, mahdollistaen muuttumattoman tarkistuksen auditoinneissa.  
* **Selitettävyys** – Hallintapaneeli tarjoaa **jäljitettävyyden näkymän**, jossa listataan haetut politiikkakappaleet ja niiden relevanssipisteet, jotka vaikuttivat lopulliseen vastaukseen – tätä pitävät säännöstekijät vastuullisena tekoälyn käytön perusteena.

---

## 9. Moottorin laajentaminen ISO 27001:n ulkopuolelle

Vaikka prototyyppi keskittyy ISO 27001:een, arkkitehtuuri on **sääntelyneutraali**:

| Standardi | Mahdollinen sovellus |
|----------|----------------------|
| **[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) Trust Services Criteria** | Kartoitus samojen graafien avulla eri kontrolliperheillä. |
| **[HIPAA](https://www.hhs.gov/hipaa/index.html) Security Rule** | Ingestoidaan 18 standardia ja linkitetään terveyteen liittyviin politiikkoihin. |
| **[PCI‑DSS](https://www.pcisecuritystandards.org/pci_security/)** | Yhdistetään korttitietojen käsittelyprosesseihin. |

Uuden kehyksen lisääminen edellyttää vain sen kontrolliluettelon lataamista ja alkuperäisten politiikka‑solmujen linkittämistä graafiin. GNN mukautuu automaattisesti, kun koulutustapausten määrä kasvaa.

---

## 10. Aloitus: vaiheittainen tarkistuslista

1. **Hae ISO 27001‑hallinnat** (lataa virallinen Liite A CSV‑tiedosto).  
2. **Vie sisäiset politiikat** strukturoituun muotoon (Markdown, front‑matter‑versiointi).  
3. **Käynnistä tieto‑graafi** (Neo4j Docker‑image, valmiiksi määritelty skeema).  
4. **Asenna RAG‑palvelu** (Python FastAPI -kontti LLM‑päätepisteellä).  
5. **Määritä CDC** (Git‑koukku tai tiedostojärjestelmän tarkkailija) poikkeamien syöttämiseksi.  
6. **Käynnistä analyytikon hallintapaneeli** (React‑frontend, OAuth2‑todennus).  
7. **Suorita pilottikysely** ja hienosäädä kehotteiden malleja iteratiivisesti.  

Noudattamalla tätä tiekarttaa useimmat organisaatiot voivat saavuttaa **täysin automaattisen ISO 27001‑kartoitusputken 4–6 viikon sisällä**.

---

## 11. Tulevaisuuden suuntaviivat

* **Federated Learning** – Anonyymejä kontrolli‑politiikka‑upotuksia jaetaan kumppaniyritysten välillä ilman omistettujen politiikkojen paljastamista, mikä parantaa relevanssiasteikkoa.  
* **Monimodaaliset todisteet** – Sisällytetään kaavioita, konfiguraatiotiedostoja ja lokikatkelmia Vision‑LLM:ien avulla vastausten rikastuttamiseksi.  
* **Generatiiviset noudattamiskirjat** – Laajennetaan yksittäisistä vastauksista kokonaisvaltaisiin noudattamiskertomuksiin, jotka sisältävät todiste-taulukot ja riskianalyysit.  

**Tieto‑graafin, RAG‑putken ja reaaliaikaisen poikkeamamonitoroinnin** yhdistelmä on tulossa uudeksi perusstandardiksi kaikelle turvallisuuskyselyautomatisoinnille. Early adopters – eli varhaiset hyödyntäjät – saavat paitsi nopeuden myös varmuuden, että jokainen vastaus on **jäljitettävä, ajantasainen ja auditoinnin kestävä**.

---

## Katso myös
- [ISO 27001 – Virallinen Liite A -hallinnot](https://www.iso.org/standard/54534.html)  
- [NIST SP 800‑53 -kartoitus ISO 27001:een](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final)  
- [Retrieval‑Augmented Generation: Tekniikoiden ja sovellusten katsaus](https://arxiv.org/abs/2302.01279)