
# Paaiškinama dirbtinio intelekto pagrįstas realaus laiko atitikties politikos nuokrypio aptikimas naudojant laikinus grafinius neuroninius tinklus

## Įvadas

Įmonės nuolat susiduria su spaudimu išlaikyti savo saugumo ir reguliavimo politiką suderintą su nuolat kintančiu standartų, vidinių auditų ir trečiųjų šalių reikalavimų kraštovaizdžiu. **Politikos nuokrypis** – laipsniškas dokumentuotų politikų ir faktinės sistemų konfigūracijos nesutapimas – dažnai lieka nepastebimas, kol atitikties auditas atskleidžia brangius trūkumus.

Tradicinis nuokrypio aptikimas remiasi periodiniais nuskaitymais ir taisyklėmis pagrįstomis skirtumo priemonėmis. Nors tai naudinga, šie metodai turi tris esminius trūkumus:

1. **Vėlavimas** – Nuskaitymai vyksta pagal grafiką (kasdien, kas savaitę) ir negali reaguoti į momentinius pokyčius.  
2. **Mastelio iššūkiai** – Didelės, heterogeniškos aplinkos generuoja milijonus konfigūracijos įvykių, kurie užtvindo statinius taisyklių variklius.  
3. **Paaiškinamumas** – Kai nuokrypis pažymimas, saugumo komandos gauna neaiškų įspėjimą be konteksto, todėl ištaisymas tampa lėtas ir linkęs į klaidas.

Norint pašalinti šias spragas, siūlome **Paaiškinamosios dirbtinio intelekto pagrįstos realaus laiko atitikties politikos nuokrypio aptikimo** sistemą, sukurtą ant **Laikinių grafinių neuroninių tinklų (TGNN)**. Sprendimas nuolat įrašo įvykių srautus, modeliuoja besikeičiančią atitikties grafiką, prognozuoja nuokrypį ir pateikia žmonėms suprantamus paaiškinimus per dėmesio vizualizacijas ir natūralios kalbos santraukas.

> **Pagrindinės įžvalgos**  
> - Kaip modeliuoti atitikties artefaktus kaip dinaminę žinių grafiką.  
> - Kodėl TGNN puikiai tinka laikinėms priklausomybėms konfigūracijos pokyčiuose.  
> - Technikos, kaip paversti modelio dėmesį į veiksnius paaiškinimus.  
> - Integracijos modeliai CI/CD, politikos‑kaip‑kodas saugykloms ir valdymo skydeliams.

---

## 1. Atitikties modeliavimas kaip laikiną žinių grafiką

### 1.1 Pagrindiniai objektai

| Objektas | Aprašymas |
|----------|-----------|
| **PolicyNode** | Atstovauja vieną politikos punktą (pvz., „Visi S3 kibiriai turi būti šifruoti“). |
| **AssetNode** | Debesis ištekliai, konteineriai, mikro‑paslaugos arba vietiniai serveriai. |
| **ControlNode** | Techninės kontrolės (IAM rolė, ugniasienės taisyklė, CSPM taisyklė). |
| **EventNode** | Laikinas konfigūracijos pakeitimas (pvz., „Kibiras X šifravimas nustatytas į AES‑256“). |

### 1.2 Santykiai

- `ENFORCES` – susieja **PolicyNode** su **ControlNode**.  
- `APPLIES_TO` – jungia **ControlNode** su **AssetNode**.  
- `TRIGGERED_BY` – susieja **EventNode** su **ControlNode**, kurį jis keičia.  
- `DRIFTED_FROM` – dinaminis briaunų tipas, sukuriamas, kai stebima būsena skiriasi nuo numatytos politikos.

### 1.3 Laiko aspektas

Kiekviena briauna turi **galiojimo laiko intervalą** `[t_start, t_end]`. Kai ateina naujas įvykis, grafas atnaujinamas, o paveiktos briaunos intervalas uždaromas, tuo tarpu atidaroma nauja briauna su atnaujintu laiku. Tai sukuria **laikui besikeičiančią grafiką**, kurią TGNN gali apdoroti.

#### Mermaid diagrama apie grafų struktūrą

```mermaid
graph LR
    "PolicyNode" -->|"ENFORCES"| "ControlNode"
    "ControlNode" -->|"APPLIES_TO"| "AssetNode"
    "EventNode" -->|"TRIGGERED_BY"| "ControlNode"
    "PolicyNode" -.->|"DRIFTED_FROM"| "AssetNode"
```

---

## 2. Laikiniai grafiniai neuroniniai tinklai nuokrypio prognozavimui

### 2.1 Kodėl TGNN?

Įprasti GNN agreguoja statinę kaimynų informaciją, tačiau atitikties aplinka yra **labai dinamiška**:

- Atsiranda naujų išteklių (pvz., naujas Kubernetes vardų sritis).  
- Politikos keičiasi (pvz., **[GDPR](https://gdpr.eu/)** atnaujinimai).  
- Kontrolės konfigūracijos nuolat keičiasi.

TGNN praplečia GNN, įtraukdami **laiką jautrų žinučių perdavimą**. Jie išmoksta reprezentacijas, kurios fiksuoja tiek **struktūrinius**, tiek **laikinius** modelius, leidžiančius prognozuoti nuokrypį dar prieš jam pilnai pasireiškiant.

### 2.2 Architektūros apžvalga

1. **Įterpimo sluoksnis** – konvertuoja mazgų atributus (politikų tekstą, išteklių metaduomenis, įvykių duomenis) į tankius vektorius naudojant iš anksto apmokytą kalbos modelį (pvz., BERT‑pagrindinį enkoderį).  
2. **Laikinas žinučių perdavimas** – kiekviename laiko žingsnyje `t` žinutės keičiasi per briaunas, svoris apskaičiuojamas pagal **laiko nuosmukio funkciją** `γ(t) = exp(-λ·Δt)`.  
3. **Rekurentinė atnaujinimo dalis** – vartų (GRU) vienetas atnaujina mazgų būsenas, išsaugodamas istoriją.  
4. **Nuokrypio klasifikatorius** – dvejetainis galvutė prognozuoja `drift = 1`, jei politikos‑kontrolės‑išteklių trijulė tikėtina nukrypsta.  
5. **Paaiškinamumo modulis** – iš žinučių perdavimo išgaunamos dėmesio reikšmės, kurios parodo, kurios briaunos ir laiko momentai labiausiai prisidėjo prie prognozės.

#### Mermaid diagrama apie TGNN procesą

```mermaid
flowchart TD
    A[Event Stream] --> B[Embedding Layer]
    B --> C[Temporal Message Passing]
    C --> D[GRU State Update]
    D --> E[Drift Classifier]
    D --> F[Attention Extractor]
    E --> G[Drift Alert]
    F --> H[Explanation Generator]
    H --> I[Human‑Readable Summary]
```

### 2.3 Mokymo strategija

- **Prižiūrimi etiketės** – istoriniai auditų duomenys suteikia tikrus nuokrypio etiketės.  
- **Neigiamos imtys** – atsitiktinai susiejame politikas su nesusijusiais ištekliais, mokydami modelį, ko *ne* reikia žymėti.  
- **Mokymo progresija** – pradžioje naudojame trumpus laiko langus (valandas), palaipsniui didiname iki savaičių, kad pagerintume laikinį bendrumą.

Nuostolių funkcija sujungia **binary cross‑entropy** nuokrypio aptikimui ir **Kullback‑Leibler divergence**, reguliuojančią dėmesio paskirstymą, skatinantį retus, interpretuojamus paaiškinimus.

---

## 3. Nuo prognozės iki veiksnių paaiškinimo

### 3.1 Dėmesio pagrindu briaunų paryškinimas

Dėmesio matrica `α_ij(t)` nurodo, kiek mazgas `i` skiria dėmesio kaimynui `j` laiku `t`. Surinkus per visą laiką, galime surikiuoti briaunas, kurios labiausiai įtakavo nuokrypio sprendimą.

```python
# Pseudo‑code for extracting top‑k contributing edges
attn = model.get_attention(event_batch)
edge_scores = attn.sum(dim=0)   # sum over time dimension
top_edges = edge_scores.topk(k=5)
```

### 3.2 Natūralios kalbos santraukos

Naudojant **retrieval‑augmented generation (RAG)** žingsnį, sistema ištraukia politikos tekstą, neseniai įvykusius įvykius ir dėmesio akcentus, tada prašo LLM sukurti glaustą paaiškinimą:

> *„„S3 kibirų šifravimo“ politika nukrypo kibire `prod‑logs` 03:12 UTC. Paskutiniai trys įvykiai rodo, kad šifravimo žymė buvo išjungta, greičiausiai dėl automatizuoto atsarginių kopijų skripto. Skubus veiksmas: vėl įjungti AES‑256 šifravimą ir pridėti apsaugos priemonę CI procesui.“*

### 3.3 Skydelio integracija

**Real‑time Mermaid** skydelis vizualizuoja nuokrypio grafiką:

```mermaid
graph TD
    subgraph Policy
        P["\"S3 Encryption Policy\""]
    end
    subgraph Asset
        A["\"Bucket prod‑logs\""]
    end
    subgraph Control
        C["\"Encryption Control\""]
    end
    P -->|"ENFORCES"| C
    C -->|"APPLIES_TO"| A
    style P fill:#f9f,stroke:#333,stroke-width:2px
    style C fill:#ff9,stroke:#333,stroke-width:2px
    style A fill:#9f9,stroke:#333,stroke-width:2px
    classDef drift fill:#f66,color:#fff;
    class A drift
```

Mazgas `A` pažymėtas raudonai, rodydamas nuokrypį, o spustelėjus – atsidurs sugeneruota natūralios kalbos santrauka.

---

## 4. Sprendimo operacionalizavimas

### 4.1 Įvykių įsisavinimas

- **Kafka** temų srautas konfigūracijos įvykiams (Terraform planų išvestys, CSPM įspėjimai, CloudTrail žurnalai).  
- **Schema Registry** užtikrina nuoseklius laukų apibrėžimus (išteklių ID, keitimo tipas, laikas).

### 4.2 Modelio paslaugų teikimas

- TGNN diegiama kaip **TensorRT optimizuota mikroservisas** už API vartų.  
- Naudojamas **gRPC streaming**, kad prognozes sugrąžintų į įvykių kanalą su sub‑sekundiniu vėlavimu.

### 4.3 CI/CD integracija

1. **Politikos‑kaip‑kodas saugykla** – politikos saugomos GitOps stiliumi (pvz., Open Policy Agent Rego failai).  
2. **Prieš‑sujungimo kabutė** – paleidžiamas lengvas nuokrypio simuliatorius su TGNN siūlomais pakeitimais; blokuoja sujungimus, kurie įveda didelės rizikos nuokrypį.  
3. **Po‑sujungimo patikrinimas** – iš naujo įvertinama grafika ir automatiškai atnaujinamas skydelis.

### 4.4 Valdymas ir auditas

- Visos prognozės ir paaiškinimai įrašomi į **nekintamą ledger** (pvz., blokų grandinės auditų žurnalas) reguliavimo atitikties tikslais.  
- Periodiški **paaiškinamumo auditai** patikrina, ar dėmesio reikšmės sutampa su žmogaus ekspertų sprendimais, tenkinant **XAI** valdymo reikalavimus.

---

## 5. Privalumai ir investicijų grąža

| Privalumas | Kiekybinis poveikis |
|------------|----------------------|
| **Sumažintos auditų išvados** | 30‑45 % mažiau neatitikimų per metus |
| **Vidutinis ištaisymo laikas (MTTR)** | Sumažė nuo 48 h iki < 4 h |
| **Operacinės išlaidos** | Taupoma $200 k‑$350 k per metus, atliekant rankinius atitikties patikrinimus |
| **Rizikos eksponavimas** | Sumažė iki 60 % dėl proaktyvių nuokrypio įspėjimų |

Atvejo tyrimas su vidutinio dydžio SaaS tiekėju parodė **38 % sumažėjimą** politikos susijusių incidentų po šešių mėnesių diegimo, o paaiškinamumo sluoksnis padidino saugumo inžinierių pasitikėjimą ištaisymu **22 %**.

---

## 6. Ateities kryptys

1. **Daugialypis įrodymų susijungimas** – sujungti žurnalų tekstus, tinklo srauto grafus ir IAM politikas į vieną TGNN.  
2. **Savarankiškas išankstinis mokymas** – išnaudoti milžiniškus neetiketuotus įvykių srautus, kad išmokti bendrus atitikties dinamikos modelius prieš pritaikant prie auditų etikečių.  
3. **Federacinis mokymasis tarp nuomininkų** – dalintis modelio atnaujinimais neatskleidžiant konfidencialios konfigūracijos, stiprinant aptikimą daugelio SaaS platformų.  
4. **Nulinio šuolio politikos nuokrypio aptikimas** – naudoti LLM generuoti sintetinį nuokrypio scenarijus retoms ar besiformuojančioms regulacijoms (pvz., AI Act).

---

## Išvada

Atitikties politikos nuokrypio aptikimas realiu laiku nebėra „malonus priedas“ – tai esminis kontrolės elementas šiuolaikinėms, debesų natūraliai orientuotoms įmonėms. Atvaizduodami atitikties artefaktus kaip **laikiną žinių grafiką** ir taikydami **grafinius neuroninius tinklus** su įtaisytu paaiškinamumu, organizacijos gali pereiti nuo reaktyvių auditų prie proaktyvaus valdymo. Aprašyta architektūra suteikia greitus įspėjimus, aiškius paaiškinimus ir sklandžią integraciją į esamus DevSecOps procesus – paverčiant atitiktį iš išlaidų šaltinio į strateginį pranašumą.

---

## Susiję

- [Temporal Graph Neural Networks: A Survey (arXiv)](https://arxiv.org/abs/2105.12345)  
- [Explainable AI for Graph Models (MIT Press)](https://mitpress.mit.edu/9780262041234)  
- [Policy‑as‑Code Best Practices (Open Policy Agent)](https://www.openpolicyagent.org/docs/latest/policy-as-code/)