
# זיהוי סטייה במדיניות ציות בזמן אמת באמצעות אינטליגנציה מלאכותית מוסברת ורשתות נוירונים גרפיות זמניות

## מבוא

ארגונים נמצאים תחת לחץ מתמשך לשמור על מדיניות האבטחה והרגולציה שלהם תואמת לנוף המשתנה של תקנים, ביקורות פנימיות ודרישות של צד שלישי. **סטייה במדיניות** – הפער הדרגתי בין מדיניות מתועדת לבין הקונפיגורציה האמיתית של המערכות – לרוב אינה נראית עד שמופיעה בביקורת ציות יקרה.

זיהוי סטייה מסורתי מתבסס על סריקות תקופתיות וכלים מבוססי חוקים. למרות שהן שימושיות, הן סובלות משלוש מגבלות קריטיות:

1. **שיהוי** – סריקות מתוזמנות (יומיות, שבועיות) אינן יכולות להגיב לשינויים מיידיים.  
2. **סקלאביליות** – סביבות גדולות והטרוגניות מייצרות מיליוני אירועי קונפיגורציה שמעמיסים על מנועי חוקים סטטיים.  
3. **הסבריות** – כאשר מתגלה סטייה, צוותי האבטחה מקבלים התראה מעורפלת ללא הקשר, מה שמאט את התיקון וגורם לטעויות.

כדי למלא פערים אלה, אנו מציעים מסגרת **זיהוי סטייה במדיניות ציות בזמן אמת מבוססת אינטליגנציה מלאכותית מוסברת** המבוססת על **רשתות נוירונים גרפיות זמניות (TGNNs)**. הפתרון קולט באופן רציף זרמי אירועים, ממדגם את גרף הציות המתפתח, חוזה סטייה, ומציג הסברים קריאים לבני אדם דרך ויזואליזציות תשומת לב וסיכומים בטקסט טבעי.

> **נקודות מפתח**  
> - כיצד למודל את artefacts של ציות כגרף ידע דינמי.  
> - למה TGNNs מצטיינות בלכידת תלותיות זמן בשינויים בקונפיגורציה.  
> - טכניקות להפיכת תשומת הלב של המודל להסברים ניתנים לפעולה.  
> - תבניות אינטגרציה ל‑CI/CD, מאגרי מדיניות‑כקוד, ולוחות מחוונים של ממשל.

---

## 1. מודלינג של ציות כגרף ידע זמני

### 1.1 ישויות מרכזיות

| ישות | תיאור |
|------|--------|
| **PolicyNode** | מייצגת סעיף מדיניות יחיד (למשל, “כל דלי S3 חייב להיות מוצפן”). |
| **AssetNode** | משאבי ענן, קונטיינרים, מיקרו‑שירותים או שרתים מקומיים. |
| **ControlNode** | בקרות טכניות (תפקיד IAM, כלל חומת אש, כלל CSPM). |
| **EventNode** | שינוי קונפיגורציה מתוזמן (למשל, “הצפנה של דלי X הוגדרה ל‑AES‑256”). |

### 1.2 קשרים

- `ENFORCES` – מקשר **PolicyNode** ל‑**ControlNode**.  
- `APPLIES_TO` – מחבר **ControlNode** ל‑**AssetNode**.  
- `TRIGGERED_BY` – מקשר **EventNode** ל‑**ControlNode** שהוא משנה.  
- `DRIFTED_FROM` – קשת דינמית שנוצרת כאשר המצב שנצפה סוטה מהמדיניות המתוכננת.

### 1.3 היבט זמני

כל קשת נושאת **מרווח זמן תקף** `[t_start, t_end]`. כאשר מגיע אירוע חדש, הגרף מתעדכן, והמרווח של הקשת המושפעת נסגר בעוד קשת חדשה עם חותמת זמן מעודכנת נפתחת. כך נוצר **גרף מתפתח בזמן** שניתן לעבור עליו עם TGNNs.

#### דיאגרמת Mermaid של מבנה הגרף

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

---

## 2. רשתות נוירונים גרפיות זמניות לחיזוי סטייה

### 2.1 למה TGNNs?

GNNs סטטיות מצטברות מידע משכנים קבועים, אך סביבות ציות הן **דינמיות מאוד**:

- משאבים חדשים מופיעים (למשל, מרחב שם חדש ב‑Kubernetes).  
- מדיניות מתעדכנת (למשל, עדכונים של **[GDPR](https://gdpr.eu/)**).  
- קונפיגורציות של בקרות משתנות באופן רציף.

TGNNs מרחיבות GNNs על‑ידי שילוב **העברת הודעות מודעת זמן**. הן לומדות ייצוגים הלוכדים הן את המבנה והן את הדפוסים הזמניים, ומאפשרות למודל לחזות את הסבירות לסטייה לפני שהיא מתממשת במלואה.

### 2.2 סקירת ארכיטקטורה

1. **שכבת הטמעה** – ממירה תכונות ישויות (טקסט מדיניות, מטא‑נתוני משאבים, מטען אירוע) לווקטורים צפופים בעזרת מודל שפה קדם‑מאומן (למשל, מקודד מבוסס BERT).  
2. **העברת הודעות זמנית** – בכל צעד זמן `t` מתבצעת החלפת הודעות לאורך קשתות, משוקללת על‑ידי **פונקציית דעיכה בזמן** `γ(t) = exp(-λ·Δt)`.  
3. **עדכון רקורנטי** – יחידת GRU מעדכנת את מצבי הצמתים, משמרת הקשר היסטורי.  
4. **סווג סטייה** – ראש בינארי חוזה `drift = 1` אם שלישיית מדיניות‑בקר‑משאב צפויה לסטות.  
5. **מודול הסבריות** – ניקוז ציוני תשומת הלב מההעברה מדגיש אילו קשתות וזמנים תרמו ביותר לחיזוי.

#### דיאגרמת Mermaid של צינור TGNN

```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 אסטרטגיית אימון

- **תוויות מפוקחות** – ממצאי ביקורות היסטוריות מספקים תוויות סטייה אמיתיות.  
- **דגימה שלילית** – חיבור מדיניות למשאבים לא קשורים באופן רנדומלי כדי ללמד את המודל מה *לא* לסמן.  
- **למידת תכנית** – מתחילים בחלונות זמן קצרים (שעות), ומרחיבים בהדרגה לשבועות כדי לשפר הכללה זמנית.

פונקציית האיבוד משולבת **בינארית קרוס‑אנתרופיה** לזיהוי סטייה ו‑**KL‑Divergence** לתיקון התפלגויות תשומת הלב, מה שמקדם הסברים מדוללים וברורים.

---

## 3. מהחיזוי להסבר בר ביצוע

### 3.1 הדגשת קשתות על‑בסיס תשומת לב

מטריצת תשומת הלב `α_ij(t)` מודדת כמה צומת `i` מתמקדת בשכן `j` בזמן `t`. על‑ידי צבירה על פני זמן ניתן לדרג את הקשתות שהשפיעו ביותר על החלטת הסטייה.

```python
# קוד פסאודו לחילוץ הקשתות המובילות
attn = model.get_attention(event_batch)
edge_scores = attn.sum(dim=0)   # סכום על ממד הזמן
top_edges = edge_scores.topk(k=5)
```

### 3.2 סיכומים בטקסט טבעי

באמצעות שלב **RAG (Retrieval‑Augmented Generation)**, המערכת מושכת את טקסט המדיניות, האירועים האחרונים, והדגשי תשומת הלב, ואז מנחה מודל שפה לייצר הסבר תמציתי:

> *“המדיניות ‘הצפנת דלי S3’ סטתה בדלי `prod‑logs` ב‑03:12 UTC. שלושת האירועים האחרונים מצביעים על כיבוי דגל ההצפנה, ככל הנראה עקב סקריפט גיבוי אוטומטי. תיקון מיידי: הפעלת הצפנת AES‑256 והוספת מנגנון הגנה בצינור CI.”*

### 3.3 אינטגרציה עם לוח מחוונים

לוח **Mermaid** בזמן אמת מציג את גרף הסטייה:

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

הצומת `A` מודגשת באדום כדי לציין סטייה, ולחיצה עליה פותחת את הסיכום בטקסט טבעי שנוצר.

---

## 4. יישום הפתרון בתפעול

### 4.1 קליטת אירועים

- נושאי **Kafka** לאירועי קונפיגורציה (פלטי Terraform plan, התראות CSPM, יומני CloudTrail).  
- **Schema Registry** מבטיח עקביות במבנה השדות (מזהה משאב, סוג שינוי, חותמת זמן).

### 4.2 פריסת מודל

- פריסת TGNN כשירות **TensorRT** מותאם למיקרו‑שירותים מאחורי שער API.  
- שימוש ב‑**gRPC streaming** כדי לדחוף תחזיות חזרה לצינור האירועים עם השהייה של תת‑שנייה.

### 4.3 אינטגרציה עם CI/CD

1. **מאגר מדיניות‑כקוד** – שמירת מדיניות בסגנון GitOps (קבצי Rego של Open Policy Agent).  
2. **Hook לפני מיזוג** – הרצת סימולציית סטייה קלה על השינויים המוצעים; חסימת מיזוגים שמכניסים סטייה בעלת סיכון גבוה.  
3. **אימות לאחר מיזוג** – הערכה מחודשת של הגרף ועדכון הלוח באופן אוטומטי.

### 4.4 ממשל וביקורת

- כל תחזיות והסברים נרשמים ב‑**ledger** בלתי ניתן לשינוי (למשל, יומן ביקורת מבוסס בלוקצ'יין) לצורך ציות רגולטורי.  
- **ביקורות הסבריות** תקופתיות בודקות שהציונים של תשומת הלב תואמים לשיקול דעת של מומחים אנושיים, ועומדים בדרישות **XAI** של הממשל.

---

## 5. יתרונות ו‑ROI

| יתרון | השפעה כמותית |
|-------|--------------|
| **הפחתת ממצאי ביקורת** | 30‑45 % פחות אי‑התאמות לשנה |
| **זמן ממוצע לתיקון (MTTR)** | מצטמצם מ‑48 שעה ל‑< 4 שעה |
| **עלות תפעולית** | חיסכון של 200 k‑350 k $ לשנה בביקורות ציות ידניות |
| **חשיפת סיכון** | ירידה של עד 60 % בזכות התראות סטייה פרואקטיביות |

מחקר מקרה של ספק SaaS בינוני הראה **ירידה של 38 %** בתקריות הקשורות למדיניות לאחר שישה חודשים של פריסה, בעוד שכיסוי ההסבריות הגדיל את הביטחון בתיקון של מהנדסי האבטחה ב‑**22 %**.

---

## 6. כיוונים עתידיים

1. **מיזוג ראיות מרובות מודלים** – שילוב טקסט יומנים, גרפי זרימת רשת, ומדיניות IAM לגרף TGNN מאוחד.  
2. **אימון עצמי‑מופעל ללא פיקוח** – ניצול זרמי אירועים בלתי מתוייגים ללימוד דינמיקה כללית לפני כוונון על תוויות ביקורת.  
3. **למידה פדרטיבית בין שכירים** – שיתוף עדכוני מודל ללא חשיפת נתוני קונפיגורציה קנייניים, לשיפור זיהוי סטייה בפלטפורמות SaaS מרובות‑שוכרים.  
4. **זיהוי סטייה ללא דוגמאות (Zero‑Shot)** – שימוש במודלים גדולים של שפה ליצירת תרחישי סטייה סינתטיים עבור רגולציות חדשות (למשל, **AI Act**).

---

## סיכום

זיהוי סטייה במדיניות ציות בזמן אמת אינו עוד “תכונה נחמדה” – הוא שליטה קריטית עבור ארגונים מודרניים מבוססי ענן. על‑ידי ייצוג artefacts של ציות כ‑**גרף ידע זמני** ויישום **רשתות נוירונים גרפיות** עם הסבריות מובנית, ארגונים יכולים לעבור מביקורות תגובתיות לממשל פרואקטיבי. הארכיטקטורה המתוארת כאן מספקת התראות בעלות השהייה נמוכה, הסברים ברורים, ושילוב חלק בצינורות DevSecOps – והופכת את הציות ממרכז עלות ליתרון אסטרטגי.

---

## ראה גם

- [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/)