רשת ארגונית של 5000 מארחים החמיצה התקפות APT ממוקדות: מערכת IDS מסורתית ניתחה כל זרימה בנפרד, והחמיצה את התמונה הכוללת. Snort ו-Suricata יצרו אלפי חיובי-שקר מדי יום, בעוד תנועה רוחבית נותרה בלתי מזוהה. GNN פותר זאת: פרסנו מודל שזיהה תנועה תוך 45 שניות — עם AUC של 0.96 על תעבורה אמיתית. במהלך השנים, השלמנו למעלה מ-50 פרויקטי ML באבטחת רשתות, מבנקים ועד מפעילי תקשורת. עם ניסיון של 5+ שנים, המהנדסים המוסמכים שלנו מבטיחים איכות. נבחן את הפרויקט שלך תוך 5 ימי עסקים. פרויקטי פיילוט מתחילים ב-$15,000.
מדוע GNN עולה על IDS מסורתי
IDS מסורתי (Snort, Suricata) מסתמך על חתימות וכללי סף עבור חבילות וזרימות בודדות. התקפות סייבר מורכבות מפוזרות לאורך זמן ועל פני מספר מארחים:
- APT (איום מתמשך מתקדם): תנועה רוחבית איטית דרך מארחים רבים
- Botnet C2: תעבורה מבוט בודד נראית נורמלית, אך דפוס הרשת אינו כזה
- איום פנימי: תעבורה נורמלית, טופולוגיה חריגה
| היבט | IDS מסורתי | GNN |
|---|---|---|
| זיהוי Zero-day | נמוך | גבוה |
| ניתוח טופולוגיה | לא | כן |
| זמן השהיה | נמוך | בינוני (30-90 שניות) |
| מדד | IDS מבוסס חתימות | GNN (שלנו) |
|---|---|---|
| AUC עבור התקפות ידועות | 0.3–0.5 | 0.94–0.97 |
| AUC עבור zero-day | <0.2 | 0.82–0.88 |
| שיעור חיובי-שקר | 5–10% | <2% |
GNN מזהה התקפות zero-day בדיוק גבוה פי 3 משיטות מבוססות חתימות. לפי PyTorch Geometric: A Library for Graph Neural Networks (Fey & Lenssen, 2019), רשתות עצביות גרפיות מספקות יתרונות משמעותיים במשימות עם נתונים טופולוגיים.
ייצוג תעבורה כגרף
חלון זמן נע (5–15 דקות): כל החיבורים יוצרים גרף. צמתים = כתובות IP (עם תכונות: סוג התקן, תפקיד ברשת, פרופיל היסטורי). קשתות = מדדי זרימה מצטברים על פני החלון (בתים, חבילות, פורטים, פרוטוקולים, משך).
תכונות צומת:
- מספר חיבורים יוצאים/נכנסים
- כתובות IP/פורטים ייחודיים ליעד
- נפח תעבורה לפי כיוון
- התפלגות פרוטוקולים
- דפוסים זמניים (burstiness)
- סטייה מקו הבסיס ההיסטורי
תכונות קשת:
- התפלגות גודל חבילות
- סטטיסטיקות זמן בין הגעות
- אנטרופיית payload (מוצפן לעומת טקסט רגיל)
- דפוסי דגלי TCP
- משך והתמדה
כיצד GNN מזהה חריגות בזמן אמת
חיזוי קישורים לזיהוי חיבורים חריגים. המודל לומד לחזות הסתברות קשת בהתבסס על התנהגות רשת נורמלית. חיבור חדש בלתי צפוי (מארח A מעולם לא תקשרו עם מארח B) → הסתברות חזויה נמוכה → חריגה.
סיווג צמתים: סיווג צמתים כלגיטימיים, C2_server, infected_host, scanner, exfiltration_source. אימון על נתונים מסומנים (אירועים ידועים + תעבורה נורמלית).
זיהוי חריגות ברמת הגרף: עבור התקפות המשפיעות על הרשת כולה (DDoS, התפשטות תולעים) — השוואת embedding גרף נוכחי עם הנורמה ההיסטורית. Variational Graph Autoencoder (VGAE) שאומן על תעבורה נורמלית מזהה סטיות.
אילו איומים GNN מזהה
זיהוי Botnet: בוטים עם התנהגות סינכרונית (beaconing), דפוסי תקשורת דומים, מבנה C2 היררכי. GNN עם קשב זמני: זיהוי צמתים עם דפוסי גרף זמניים דומים התואמים לחברות ב-botnet.
תנועה רוחבית (APT): התפשטות איטית דרך הרשת — כל קפיצה נראית נורמלית, אך רצף הקפיצות אינו כזה. ניתוח נתיבים זמני: GNN עם רכיב רקורסיבי למעקב אחר דפוסי נתיבים לאורך זמן.
DNS tunneling: דפוסי DNS חריגים — תדירות גבוהה, שמות תת-דומיין ארוכים, סוגי רשומות לא טיפוסיים. מבוסס גרף: קשתות שרת DNS → לקוח עם תכונות חריגות.
יישום עם PyTorch Geometric
PyTorch Geometric הוא המסגרת העיקרית. אנו משתמשים ב-GATConv עם קשב רב-ראשי לשקלול שכנים.
from torch_geometric.nn import GATConv, global_mean_pool
from torch_geometric.transforms import NormalizeFeatures
class TrafficGNN(torch.nn.Module):
def __init__(self):
super().__init__()
self.conv1 = GATConv(in_channels=20, out_channels=64, heads=8, dropout=0.2)
self.conv2 = GATConv(64 * 8, 32, heads=1)
self.anomaly_head = torch.nn.Linear(32, 1) # Node-level anomaly score
def forward(self, data):
x, edge_index, edge_attr = data.x, data.edge_index, data.edge_attr
x = F.elu(self.conv1(x, edge_index, edge_attr))
x = F.dropout(x, p=0.2, training=self.training)
x = self.conv2(x, edge_index)
return torch.sigmoid(self.anomaly_head(x)) # Anomaly score per node
ארכיטקטורת ייצור
- איסוף תעבורה: קולטי NetFlow/IPFIX/sFlow (Ntopng, PMACCT)
- עיבוד זרמים: Apache Flink (בניית גרף מבוסס חלונות)
- מסד גרפים: Neo4j (שאילתות שכונות בזמן אמת)
- הסקה: TorchServe + PyTorch Geometric
- התראות: אינטגרציה עם Elastic SIEM / Splunk
- ויזואליזציה: Gephi / Grafana + ממשק גרף מותאם
תפוקה: עד 100 אלף זרימות/שנייה עם עדכוני גרף מצטברים. זמן השהיית התראה: 30–90 שניות (גודל חלון + זמן הסקה). דיוק/Recall על NSL-KDD ונתונים ארגוניים אמיתיים: AUC 0.94–0.97 עבור סוגי התקפות ידועים, 0.82–0.88 עבור התקפות חדשות (zero-day).
פרטי הסקה
אנו משתמשים ב-TorchServe עם handler מותאם עבור PyTorch Geometric. אופטימיזציה דרך ONNX Runtime והסקת FP16 על NVIDIA T4 מבטיחה זמן השהיה p99 מתחת ל-50 אלפיות השנייה לכל אצווה של 1000 צמתים.מה כלול בפיתוח מערכת GNN?
- ביקורת תשתית לאיסוף תעבורה (NetFlow/IPFIX/sFlow).
- איסוף וסימון נתונים (תעבורה נורמלית + אירועים).
- פיתוח אב-טיפוס GNN על PyTorch Geometric.
- אינטגרציה עם SIEM ומערכות התראה.
- פריסת שרת הסקה (TorchServe) עם ניטור.
- הכשרת צוות הלקוח (4 שעות מקוונות) ו-3 חודשי תמיכה.
- תוצרים: מסמכי ארכיטקטורת מערכת, מדריך אימון מודל, תיעוד API, גישה ללוח ניהול.
צור קשר לייעוץ ותוכנית יישום מפורטת.







