מיפוי ויצירת מודלים של ישויות
ישויות הן אובייקטים שמייצגים נקודות עניין שחולצו מהתראות, כמו אינדיקטורים של פריצה (IoC) וארטיפקטים. הם עוזרים לאנליסטים של אבטחה באמצעות:
- מעקב אוטומטי אחר ההיסטוריה.
- קיבוץ התראות ללא התערבות אנושית.
- חיפוש פעילות זדונית על סמך קשרים בין ישויות.
- הוספנו שיפורים שמאפשרים לקרוא את התיקים בקלות רבה יותר וליצור בקלות מדריכים מותאמים אישית.
צוות Google Security Operations משתמש במערכת אוטומטית (אונטולוגיה) כדי לחלץ את האובייקטים העיקריים שמעניינים אותו מההתראות הגולמיות, וליצור ישויות. כל ישות מיוצגת על ידי אובייקט שיכול לעקוב אחרי ההיסטוריה שלו לצורך עיון עתידי.
הגדרת האונטולוגיה של הישות
כדי להגדיר את האונטולוגיה, צריך למפות את הנתונים ולבנות מודל שלהם. הפעולה הזו כוללת בחירה של ייצוג חזותי להתראות והגדרה של הישויות שצריך לחלץ. Google SecOps מספקת כללי אונטולוגיה שהוגדרו מראש לרוב מוצרי ה-SIEM הפופולריים.
הזמן הטוב ביותר להתאים אישית את האונטולוגיה הוא אחרי שמחברים מחבר ששולף נתונים ל-Google SecOps. התהליך כולל שני שלבים עיקריים:
- מודלים: בוחרים את הייצוג החזותי (מודל או משפחת מודלים) של הנתונים.
- מיפוי: ממפים את השדות כדי לתמוך במודל שנבחר ולחלץ ישויות.
ישויות נתמכות
יש תמיכה בישויות הבאות:
| סוג ישות | תיאור | הפורמט הנדרש | דוגמאות |
|---|---|---|---|
| כתובת | כתובת IPV4. | תלוי בסוג הספציפי של הכתובת שנשמרת. | כתובות IP, לדוגמה, 192.168.1.1 |
| בקשת הצטרפות | אפליקציית תוכנה. | מחרוזת טקסט. | nmap, Microsoft Word. |
| אשכול | קבוצה של משאבי מחשוב. | מחרוזת טקסט. | שם אשכול Kubernetes, שם האשכול או מזהה האשכול. |
| מאגר | מופע של מאגר תגים. | מחרוזת טקסט. | מזהה או שם של מאגר Docker. |
| כרטיס אשראי | מספר כרטיס אשראי. | מחרוזת מוסתרת או מוחלפת בטוקן. | כדי להימנע מאחסון נתוני PCI רגישים, צריך להשתמש בטשטוש או בטוקניזציה של הנתונים. |
| CVE | מזהה של חשיפות ונקודות חולשה נפוצות. | CVE-YYYY-NNNNN |
CVE-2023-12345 |
| מסד נתונים | מופע או מערכת של מסד נתונים. | מחרוזת טקסט. | שם מסד הנתונים או מזהה החיבור. |
| פריסה | פריסת תוכנה. | מחרוזת טקסט. | מזהה הפריסה. |
| כתובת היעד | כתובת URL (Uniform Resource Locator). | מחרוזת כתובת URL רגילה. | https://example.com/path |
| דומיין | שם הדומיין של הרשת. | מחרוזת דומיין רגילה. | example.com |
| נושא האימייל | שורת הנושא של הודעת אימייל. | מחרוזת טקסט. | שורת הנושא של האימייל. |
| גיבוב (hash) של קובץ | גיבוב קריפטוגרפי של קובץ. | מחרוזת הקסדצימלית. | גיבוב MD5, SHA-1 או SHA256. |
| שם קובץ | השם של קובץ. | מחרוזת טקסט. | malware.exe |
| ישות גנרית | סוג ישות גמיש לנתונים שלא מתאימים לקטגוריות אחרות. | תלוי בנתונים שמאוחסנים. | לא רלוונטי |
| שם המארח | תווית שמוקצית למכשיר ברשת. | מחרוזת סטנדרטית של שם מארח. | workstation-01, server.example.com |
| קבוצת כתובות IP | אוסף או קבוצה של כתובות IP. | לא מוגדר באופן מפורש (לדוגמה, מחרוזת מופרדת בפסיקים, מערך JSON, הפניה לרשימה). | טווחים, סימון CIDR או רשימות. לדוגמה, אפשר לעיין במאמר בנושא יצירת רשימה של כתובות IP מהימנות. |
| כתובת MAC | כתובת לבקרת גישה למדיה. | שש קבוצות של שתי ספרות הקסדצימליות, שמופרדות במקפים או בנקודתיים. | 00-1B-44-11-3A-B7, 00:1B:44:11:3A:B7 |
| מספר טלפון | מספר טלפון. | משתנה (הפורמט הסטנדרטי הוא E.164). | +18005550100 |
| POD | קבוצה של קונטיינר אחד או יותר ב-Kubernetes, שלעתים קרובות חולקים אחסון או רשת. | מחרוזת השם. | שם ה-POD ב-Kubernetes. |
| עיבוד | מופע של תוכנת מחשב שמופעלת. | מזהה תהליך (PID) או שם. | 1234, chrome.exe |
| שירות | שירות תוכנה שפועל במערכת. | מחרוזת של שם השירות. | sshd, apache2 |
| גורם מאיים | אדם או קבוצה שמציבים איום. | מחרוזת של שם או קוד. | APT28, FIN7 |
| קמפיין איומים | סדרה של פעילויות איומים קשורות. | שם הקמפיין או מחרוזת הקוד. | שם או קוד הקמפיין. |
| חתימת איום | תבנית או אינדיקטור של איום מוכר. | מזהה הכלל או שם החתימה. | מזהה כלל קצר, שם כלל YARA-l. |
| USB | מכשיר עם יציאת USB. | שם המכשיר, המספר הסידורי או מאפיינים אחרים. | מזהה של מכשיר USB. |
| שם משתמש | מזהה של חשבון משתמש. | שמות משתמש פשוטים או כתובות אימייל. | jdoe, jdoe@example.com |
תרחיש שימוש: מיפוי ומידול של נתונים חדשים של אימיילים שהועברו
בדוגמה הזו לתרחיש שימוש מוסבר איך למפות ולעצב נתונים חדשים של אימייל שהועבר:
- עוברים אל Content Hub > Use Cases.
- מריצים את מקרה הבדיקה Zero to Hero. פרטים על אופן הביצוע מופיעים במאמר הרצת תרחישים לדוגמה.
- בכרטיסייה Cases, בוחרים את בקשת התמיכה Mail מתוך Cases Queue ובוחרים בכרטיסייה Events.
- לצד ההתראה, לוחצים על סמל ההגדרות הגדרת אירועים כדי לפתוח את הדף הגדרת אירועים.
-
ברשימת ההיררכיה, לוחצים על Mail (אימייל). כך מוודאים שההגדרה תפעל באופן אוטומטי לכל נתון שמגיע מהמוצר הזה (תיבת אימייל).
-
מקצים את משפחת העיצוב החזותי שמייצגת בצורה הטובה ביותר את הנתונים. בתרחיש השימוש הזה, אפשר לדלג על השלב הזה כי
MailRelayOrTAPכבר נבחר בעבר. - עוברים אל מיפוי וממפים את השדות הבאים של הישות. לוחצים לחיצה כפולה על כל ישות ובוחרים את שדה הנתונים הגולמיים של הישות בשדה שחולץ. אפשר לספק שדות חלופיים לחילוץ המידע:
SourceUserNameDestinationUserNameDestinationURLEmailSubject- לוחצים על מאפייני אירוע גולמיים כדי לראות את השדות המקוריים של האימייל.
חילוץ ביטויים רגולריים
Google SecOps לא תומך בקבוצות של ביטויים רגולריים. כדי לחלץ טקסט משדה האירוע באמצעות דפוסי ביטוי רגולריים, משתמשים בפונקציות lookahead ו-lookbehind בלוגיקה של פונקציית החילוץ.
בדוגמה הבאה, שדה האירוע מציג נתח גדול של טקסט:
Suspicious activity on A16_WWJ - Potential Account Takeover (33120)
כדי לחלץ רק את הטקסט Suspicious activity on A16_WWJ, מבצעים את הפעולות הבאות:
- מזינים את הביטוי הרגולרי הבא בשדה הערך פונקציית החילוץ:
Suspicious activity on A16_WWJ(?=.*) - בשדה פונקציית טרנספורמציה, בוחרים באפשרות To_String.
כדי לחלץ רק את הטקסט אחרי Suspicious activity on A16_WWJ:
- מזינים את הביטוי הרגולרי הבא בשדה הערך פונקציית החילוץ:
(?<=Suspicious activity on A16_WWJ).* - בשדה פונקציית טרנספורמציה, בוחרים באפשרות To_String.
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.