מיפוי ומידול של ישויות
ישויות הן אובייקטים שמייצגים נקודות עניין שחולצו מהתראות, כמו אינדיקטורים של פריצות (IoC) וארטיפקטים. הם עוזרים לאנליסטים של אבטחה באמצעות:
- מעקב אוטומטי אחר ההיסטוריה.
- קיבוץ התראות ללא התערבות אנושית.
- חיפוש פעילות זדונית על סמך קשרים בין ישויות.
- הוספנו שיפורים שמאפשרים לקרוא את הבקשות בקלות וליצור Playbook בצורה חלקה.
צוות 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. | מחרוזת כתובת 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 |
תרחיש שימוש: מיפוי ומידול של נתונים חדשים של אימיילים שהועברו
תרחיש השימוש הזה מראה איך למפות ולעצב נתונים חדשים של אימייל שהועבר:
- עוברים אל מרכז התוכן > תרחישי שימוש.
- מריצים את מקרה הבדיקה 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.