מדריך לשימוש ב-UDM
במסמך הזה מוסבר על הנושאים הבאים:
- תיאורים מפורטים של שדות הסכימה של UDM
- שדות חובה ושדות אופציונליים לסוגי ישויות
- שדות חובה ושדות אופציונליים לכל סוג אירוע
פרטים על שדות מסוימים ב-UDM (לדוגמה, מספרי enum) מופיעים ברשימת השדות של המודל המאוחד לנתונים.
פורמטים של שמות שדות ב-UDM:
- בהערכה של מנוע הכללים, הקידומת מתחילה ב-udm.
- במקרה של נורמליזציה מבוססת-הגדרה (CBN), הקידומת מתחילה ב-event.idm.read_only_udm.
אוכלוסייה של מטא-נתונים של אירועים
בקטע של מטא-נתונים של אירועים ב-UDM מאוחסן מידע כללי על כל אירוע.
Metadata.event_type
- מטרה: מציין את סוג האירוע. אם לאירוע יש כמה סוגים אפשריים, הערך הזה צריך לציין את הסוג הספציפי ביותר.
- חובה: כן.
- קידוד: צריך להיות אחד מסוגי הנתונים המנויים המוגדרים מראש של event_type ב-UDM.
- ערכים אפשריים: ברשימה הבאה מפורטים כל הערכים האפשריים של event_type ב-UDM.
אירועים של אנליסטים
- ANALYST_ADD_COMMENT
- ANALYST_UPDATE_PRIORITY
- ANALYST_UPDATE_REASON
- ANALYST_UPDATE_REPUTATION
- ANALYST_UPDATE_RISK_SCORE
- ANALYST_UPDATE_ROOT_CAUSE
- ANALYST_UPDATE_SEVERITY_SCORE
- ANALYST_UPDATE_STATUS
- ANALYST_UPDATE_VERDICT
אירועים במכשיר
- DEVICE_CONFIG_UPDATE
- DEVICE_FIRMWARE_UPDATE
- DEVICE_PROGRAM_DOWNLOAD
- DEVICE_PROGRAM_UPLOAD
אירועים שקשורים לאימייל
- EMAIL_UNCATEGORIZED
- EMAIL_TRANSACTION
- EMAIL_URL_CLICK
אירועים שלא צוינו
- EVENTTYPE_UNSPECIFIED
אירועים שקשורים לקבצים שבוצעו בנקודת קצה
- FILE_UNCATEGORIZED
- FILE_COPY (לדוגמה, העתקת קובץ לדיסק און קי)
- FILE_CREATION
- FILE_DELETION
- FILE_MODIFICATION
- FILE_MOVE
- FILE_OPEN (לדוגמה, פתיחת קובץ עשויה להצביע על פרצת אבטחה)
- FILE_READ (לדוגמה, קריאת קובץ סיסמאות)
- FILE_SYNC
אירועים שלא נכללים באף קטגוריה אחרת
אירועים שלא משתייכים לאף קטגוריה אחרת, כולל אירועים לא מסווגים של Windows:
- GENERIC_EVENT
אירועים של פעילויות קבוצתיות
- GROUP_UNCATEGORIZED
- GROUP_CREATION
- GROUP_DELETION
- GROUP_MODIFICATION
אירועי Mutex
- MUTEX_UNCATEGORIZED
- MUTEX_CREATION
אירועים של טלמטריית רשת
אירועי טלמטריה ברשת, שכוללים מטען ייעודי (payload) של פרוטוקולים גולמיים, כמו DHCP ו-DNS, וגם סיכומים של פרוטוקולים כמו HTTP, SMTP ו-FTP, ואירועים של זרימה וחיבור מ-NetFlow ומחומות אש:
- NETWORK_UNCATEGORIZED
- NETWORK_CONNECTION (לדוגמה, פרטי חיבור לרשת מחומת אש)
- NETWORK_DHCP
- NETWORK_DNS
- NETWORK_FLOW (לדוגמה, נתונים סטטיסטיים מצטברים של תנועה מ-Netflow)
- NETWORK_FTP
- NETWORK_HTTP
- NETWORK_SMTP
עיבוד אירועים
אירועים שקשורים לתהליך, כמו הפעלת תהליך, תהליך שיוצר משהו זדוני, תהליך שמוחדר לתהליך אחר, שינוי של מפתח רישום או יצירה של קובץ זדוני בדיסק:
- PROCESS_UNCATEGORIZED
- PROCESS_INJECTION
- PROCESS_LAUNCH
- PROCESS_MODULE_LOAD
- PROCESS_OPEN
- PROCESS_PRIVILEGE_ESCALATION
- PROCESS_TERMINATION
אירועים במאגר המידע
כשעובדים עם אירועי רישום ספציפיים ל-Microsoft Windows, צריך להשתמש באירועי הרישום הבאים במקום באירועי ההגדרה:
- REGISTRY_UNCATEGORIZED
- REGISTRY_CREATION
- REGISTRY_MODIFICATION
- REGISTRY_DELETION
אירועים שקשורים למשאבים
- RESOURCE_CREATION
- RESOURCE_DELETION
- RESOURCE_PERMISSIONS_CHANGE
- RESOURCE_READ
- RESOURCE_WRITTEN
אירועים שקשורים לסריקה
אירועים שקשורים לסריקה כוללים סריקות לפי דרישה וזיהויים התנהגותיים שמתבצעים על ידי מוצרי אבטחה של נקודות קצה (EDR, AV, DLP). הם משמשים רק כשמצרפים SecurityResult לסוג אירוע אחר (כמו PROCESS_LAUNCH).
אירועים שקשורים לסריקה:
- SCAN_UNCATEGORIZED
- SCAN_FILE
- SCAN_HOST
- SCAN_NETWORK
- SCAN_PROCESS
- SCAN_PROCESS_BEHAVIORS
- SCAN_VULN_HOST
- SCAN_VULN_NETWORK
אירועים של משימות מתוזמנות (כמו Windows Task Scheduler, cron וכו')
- SCHEDULED_TASK_UNCATEGORIZED
- SCHEDULED_TASK_CREATION
- SCHEDULED_TASK_DELETION
- SCHEDULED_TASK_DISABLE
- SCHEDULED_TASK_ENABLE
- SCHEDULED_TASK_MODIFICATION
אירועים שקשורים לשירות
- SERVICE_UNSPECIFIED
- SERVICE_CREATION
- SERVICE_DELETION
- SERVICE_MODIFICATION
- SERVICE_START
- SERVICE_STOP
הגדרת אירועים
במאמר הגדרות – שדות חובה מוסבר איך מגדירים דרישות לאירועים.
הגדרת אירועים, כולל שינוי של הגדרת מערכת בנקודת קצה:
- SETTING_UNCATEGORIZED
- SETTING_CREATION
- SETTING_DELETION
- SETTING_MODIFICATION
הודעות סטטוס ממוצרי אבטחה
הודעות סטטוס ממוצרי אבטחה שמציינות שהסוכנים פעילים ושולחות גרסה, טביעת אצבע או סוגים אחרים של נתונים:
- STATUS_UNCATEGORIZED
- STATUS_HEARTBEAT (מציין שהמוצר פעיל)
- STATUS_STARTUP
- STATUS_SHUTDOWN
- STATUS_UPDATE (עדכון תוכנה או טביעת אצבע)
אירועים ביומן הביקורת של המערכת
- SYSTEM_AUDIT_LOG_UNCATEGORIZED
- SYSTEM_AUDIT_LOG_WIPE
אירועי פעילות שקשורים לאימות משתמשים
- USER_UNCATEGORIZED
- USER_BADGE_IN (לדוגמה, כשמשתמש מעביר כרטיס כדי להיכנס לאתר)
- USER_CHANGE_PASSWORD
- USER_CHANGE_PERMISSIONS
- USER_COMMUNICATION
- USER_CREATION
- USER_DELETION
- USER_LOGIN
- USER_LOGOUT
- USER_RESOURCE_ACCESS
- USER_RESOURCE_CREATION
- USER_RESOURCE_DELETION
- USER_RESOURCE_UPDATE_CONTENT
- USER_RESOURCE_UPDATE_PERMISSIONS
- USER_STATS
Metadata.collected_timestamp
- מטרה: קידוד של חותמת הזמן לפי שעון GMT שבה האירוע נאסף על ידי התשתית המקומית של הספק לאיסוף נתונים.
- קידוד: RFC 3339, בהתאם לפורמט חותמת הזמן של JSON או Proto3.
- דוגמה:
- RFC 3339: '2019-09-10T20:32:31-08:00'
- פורמט Proto3: '2012-04-23T18:25:43.511Z'
Metadata.event_timestamp
- מטרה: קידוד חותמת הזמן לפי שעון GMT שבה נוצר האירוע.
- חובה: כן
- קידוד: RFC 3339, בהתאם לפורמט חותמת הזמן של JSON או Proto3.
- דוגמה:
- RFC 3339: 2019-09-10T20:32:31-08:00
- פורמט Proto3: 2012-04-23T18:25:43.511Z
Metadata.description
- Purpose: תיאור האירוע שכתוב בצורה שקריאה לאנשים.
- קידוד: מחרוזת אלפאנומרית, מותרים סימני פיסוק, עד 1,024 בייט
- דוגמה: הקובץ c:\bar\foo.exe נחסם מגישה למסמך רגיש c:\documents\earnings.docx.
Metadata.product_event_type
- מטרה: שם או סוג האירוע, קצר, תיאורי, קריא לבני אדם וספציפי למוצר.
- קידוד: מחרוזת אלפאנומרית, מותרים סימני פיסוק, 64 בייטים לכל היותר.
- דוגמאות:
- אירוע יצירת מרשם
- ProcessRollUp
- זוהתה הסלמת הרשאות
- תוכנה זדונית נחסמה
Metadata.product_log_id
- מטרה: קידוד של מזהה אירוע ספציפי לספק כדי לזהות באופן ייחודי את האירוע (מזהה GUID). המשתמשים יכולים להשתמש במזהה הזה כדי לחפש את האירוע הרלוונטי במסוף הקנייני של הספק.
- קידוד: מחרוזת אלפאנומרית שרגישה לאותיות רישיות, מותרים סימני פיסוק, עד 256 בייטים.
- לדוגמה: ABcd1234-98766
Metadata.product_name
- מטרה: מציינת את שם המוצר.
- קידוד: מחרוזת אלפאנומרית שרגישה לאותיות רישיות, מותרים סימני פיסוק, עד 256 בייטים.
- דוגמאות:
- Falcon
- Symantec Endpoint Protection
Metadata.product_version
- מטרה: מציינת את גרסת המוצר.
- קידוד: מחרוזת אלפאנומרית, מותרות נקודות ומקפים, 32 בייטים מקסימום
- דוגמאות:
- 1.2.3b
- 10.3:rev1
Metadata.url_back_to_product
- מטרה: כתובת URL שמקשרת לאתר רלוונטי שבו אפשר לראות מידע נוסף על האירוע הספציפי הזה (או על קטגוריית האירועים הכללית).
- קידוד: כתובת URL תקינה לפי RFC 3986 עם פרמטרים אופציונליים כמו פרטי יציאה וכו'. צריך להוסיף קידומת פרוטוקול לפני כתובת ה-URL (לדוגמה, https:// או http://).
- דוגמה: https://newco.altostrat.com:8080/event_info?event_id=12345
Metadata.vendor_name
- Purpose: מציין את שם ספק המוצר.
- קידוד: מחרוזת אלפאנומרית שרגישה לאותיות רישיות, מותר להשתמש בסימני פיסוק, עד 256 בייט
- דוגמאות:
- CrowdStrike
- Symantec
אוכלוסייה של מטא-נתונים של שם עצם
בקטע הזה, המילה שם עצם היא מונח כללי שמשמש לייצוג הישויות: principal, src, target, intermediary, observer ו-about. לישויות האלה יש מאפיינים משותפים, אבל הן מייצגות אובייקטים שונים באירוע. מידע נוסף על ישויות ועל מה שכל אחת מהן מייצגת באירוע זמין במאמר בנושא עיצוב נתוני יומן כ-UDM.
Noun.asset_id
- מטרה: מזהה מכשיר ייחודי שספציפי לספק (לדוגמה, GUID שנוצר כשמתקינים תוכנת אבטחה של נקודת קצה במכשיר חדש, ומשמש למעקב אחרי המכשיר הייחודי הזה לאורך זמן).
- קידוד: (VendorName or VendorAbbreviation):ID, כאשר VendorName or VendorAbbreviation הוא שם ספק שלא תלוי באותיות רישיות, כמו
Carbon BlackאוCB, ו-ID הוא מזהה לקוח ספציפי לספק שהוא ייחודי באופן גלובלי בסביבת הלקוח (לדוגמה, GUID או ערך ייחודי שמזהה מכשיר ייחודי). הערך של VendorName הוא אלפאנומרי, והאורך שלו הוא עד 32 תווים. המזהה יכול להכיל עד 128 תווים, כולל תווים אלפאנומריים, מקפים ונקודות. - דוגמה:
CrowdStrike:0bce4259-4ada-48f3-a904-9a526b01311f - דוגמה:
CS:0bce4259-4ada-48f3-a904-9a526b01311f
Noun.email
- מטרה: כתובת אימייל
- קידוד: פורמט רגיל של כתובת אימייל.
- דוגמה: johns@test.altostrat.com
Noun.file
- מטרה: מטא-נתונים מפורטים של הקובץ.
- סוג: אובייקט
- מידע נוסף על מילוי מטא-נתונים של קבצים
Noun.hostname
- מטרה: שדה שם המארח או שם הדומיין של הלקוח. אין לכלול אם יש כתובת URL.
- קידוד: שם מארח תקין לפי RFC 1123.
- דוגמאות:
- userwin10
- www.altostrat.com
Noun.platform
- מטרה: מערכת הפעלה של הפלטפורמה.
- קידוד: Enum
- ערכים אפשריים:
- LINUX
- MAC
- WINDOWS
- UNKNOWN_PLATFORM
Noun.platform_patch_level
- מטרה: רמת התיקון של מערכת ההפעלה בפלטפורמה.
- קידוד: מחרוזת אלפאנומרית עם סימני פיסוק, עד 64 תווים.
- דוגמה: Build 17134.48
Noun.platform_version
- מטרה: גרסת מערכת ההפעלה של הפלטפורמה.
- קידוד: מחרוזת אלפאנומרית עם סימני פיסוק, עד 64 תווים.
- לדוגמה: Microsoft Windows 10 version 1803
Noun.process
- מטרה: מטא-נתונים מפורטים של התהליך.
- סוג: אובייקט
- מידע נוסף על מילוי מטא-נתונים של תהליכים
Noun.ip
- מטרה:
- כתובת IP יחידה שמשויכת לחיבור לרשת.
- כתובת IP אחת או יותר שמשויכות למכשיר של משתתף בזמן האירוע (לדוגמה, אם מוצר EDR יודע את כל כתובות ה-IP שמשויכות למכשיר, הוא יכול לקודד את כולן בשדות ה-IP).
- קידוד: כתובת IPv4 או IPv6 תקינה (RFC 5942) שמקודדת ב-ASCII.
- חזרה על הפעולה:
- אם אירוע מתאר חיבור רשת ספציפי (לדוגמה, srcip:srcport > dstip:dstport), הספק צריך לספק רק כתובת IP אחת.
- אם אירוע מתאר פעילות כללית שמתרחשת במכשיר של משתתף אבל לא חיבור רשת ספציפי, יכול להיות שהספק יספק את כל כתובות ה-IP שמשויכות למכשיר בזמן האירוע.
- דוגמאות:
- 192.168.1.2
- 2001:db8:1:3::1
Noun.port
- מטרה: מספר יציאת הרשת של המקור או היעד כשמתואר אירוע ספציפי של חיבור לרשת.
- קידוד: מספר יציאת TCP/IP חוקי מ-1 עד 65,535.
דוגמאות:
- 80
- 443
Noun.mac
- מטרה: כתובת MAC אחת או יותר שמשויכות למכשיר.
- קידוד: כתובת MAC תקינה (EUI-48) ב-ASCII.
- יכולת חזרה: יכול להיות שהספק יספק את כל כתובות ה-MAC המשויכות למכשיר בזמן האירוע.
- דוגמאות:
- fedc:ba98:7654:3210:fedc:ba98:7654:3210
- 1080:0:0:0:8:800:200c:417a
- 00:a0:0:0:c9:14:c8:29
Noun.administrative_domain
- מטרה: הדומיין שאליו המכשיר שייך (לדוגמה, דומיין Windows).
- קידוד: מחרוזת של שם דומיין תקין (עד 128 תווים).
- דוגמה: corp.altostrat.com
Noun.registry
- מטרה: מטא-נתונים מפורטים של הרישום.
- סוג: אובייקט
- מידע נוסף מופיע בקטע הוספת מטא-נתונים למאגר
Noun.url
- מטרה: כתובת URL רגילה
- קידוד: כתובת URL (RFC 3986). חייבת להיות קידומת פרוטוקול תקינה (למשל, https:// או ftp://). חובה לכלול את הדומיין והנתיב המלאים. יכול להיות שיכלול את הפרמטרים של כתובת ה-URL.
- דוגמה: https://foo.altostrat.com/bletch?a=b;c=d
Noun.user
- מטרה: מטא-נתונים מפורטים של משתמשים.
- סוג: אובייקט
- איך מאכלסים את המטא-נתונים של המשתמשים
אוכלוסייה של מטא-נתוני אימות
Authentication.AuthType
- מטרה: סוג המערכת שאירוע אימות משויך אליה (Google Security Operations UDM).
- Encoding: סוג מנומר.
- ערכים אפשריים:
- AUTHTYPE_UNSPECIFIED
- מחשב – אימות מחשב
- פיזי – אימות פיזי (לדוגמה, קורא תגים)
- SSO
- TACACS – פרוטוקול ממשפחת TACACS לאימות של מערכות ברשת (לדוגמה, TACACS או TACACS+)
- VPN
Authentication.Authentication_Status
- מטרה: תיאור של סטטוס האימות של משתמש או של פרטי כניסה ספציפיים.
- Encoding: סוג מנומר.
- ערכים אפשריים:
- UNKNOWN_AUTHENTICATION_STATUS – סטטוס האימות שמוגדר כברירת מחדל
- פעיל – שיטת האימות במצב פעיל
- SUSPENDED – שיטת האימות מושעית או מושבתת
- נמחק – שיטת האימות נמחקה
- NO_ACTIVE_CREDENTIALS – לשיטת האימות אין פרטי כניסה פעילים.
Authentication.auth_details
- מטרה: פרטי אימות שמוגדרים על ידי הספק.
- קידוד: מחרוזת.
Authentication.Mechanism
- מטרה: מנגנונים שמשמשים לאימות.
- Encoding: סוג מנומר.
- ערכים אפשריים:
- MECHANISM_UNSPECIFIED – מנגנון האימות שמוגדר כברירת מחדל.
- BADGE_READER
- BATCH – אימות של קבוצת בקשות.
- CACHED_INTERACTIVE – אימות אינטראקטיבי באמצעות פרטי כניסה שמאוחסנים במטמון.
- HARDWARE_KEY
- מקומי
- MECHANISM_OTHER – מנגנון אחר שלא מוגדר כאן.
- רשת – אימות רשת.
- NETWORK_CLEAR_TEXT – אימות טקסט גלוי ברשת.
- NEW_CREDENTIALS – אימות באמצעות פרטי כניסה חדשים.
- OTP
- REMOTE—אימות מרחוק
- REMOTE_INTERACTIVE – RDP, שירותי מסוף, Virtual Network Computing (VNC) וכו'.
- שירות – אימות שירות.
- ביטול הנעילה – אימות ישיר לביטול הנעילה באמצעות אינטראקציה עם אדם.
- USERNAME_PASSWORD
אכלוס מטא-נתונים של DHCP
שדות המטא-נתונים של פרוטוקול Dynamic Host Control Protocol (DHCP) מתעדים מידע מיומן של פרוטוקול ניהול רשת DHCP.
Dhcp.client_hostname
- מטרה: שם המארח של הלקוח. מידע נוסף זמין ב-RFC 2132, DHCP Options and BOOTP Vendor Extensions.
- קידוד: מחרוזת.
Dhcp.client_identifier
- מטרה: מזהה לקוח. מידע נוסף זמין ב-RFC 2132, DHCP Options and BOOTP Vendor Extensions.
- קידוד: בייטים.
Dhcp.file
- מטרה: שם הקובץ של קובץ אימג' לאתחול.
- קידוד: מחרוזת.
Dhcp.flags
- מטרה: הערך של השדה 'דגלי DHCP'.
- קידוד: מספר שלם לא מסומן (unsigned) בן 32 ביט.
Dhcp.hlen
- מטרה: אורך כתובת החומרה.
- קידוד: מספר שלם לא מסומן (unsigned) בן 32 ביט.
Dhcp.hops
- מטרה: מספר הדילוגים של DHCP.
- קידוד: מספר שלם לא מסומן (unsigned) בן 32 ביט.
Dhcp.htype
- מטרה: סוג כתובת חומרה.
- קידוד: מספר שלם לא מסומן (unsigned) בן 32 ביט.
Dhcp.lease_time_seconds
- מטרה: זמן השכרה של כתובת IP בשניות, כפי שהוגדר על ידי הלקוח. מידע נוסף מופיע ב-RFC 2132, DHCP Options and BOOTP Vendor Extensions.
- קידוד: מספר שלם לא מסומן (unsigned) בן 32 ביט.
Dhcp.opcode
- מטרה: קוד פעולה של BOOTP (ראו קטע 3 ב-RFC 951).
- Encoding: סוג מנומר.
- ערכים אפשריים:
- UNKNOWN_OPCODE
- BOOTREQUEST
- BOOTREPLY
Dhcp.requested_address
- מטרה: מזהה לקוח. מידע נוסף זמין ב-RFC 2132, DHCP Options and BOOTP Vendor Extensions.
- קידוד: כתובת IPv4 או IPv6 תקינה (RFC 5942) שמקודדת ב-ASCII.
Dhcp.seconds
- מטרה: מספר השניות שחלפו מאז שהלקוח התחיל את תהליך קבלת הכתובת או חידוש הכתובת.
- קידוד: מספר שלם לא מסומן (unsigned) בן 32 ביט.
Dhcp.sname
- מטרה: שם השרת שהלקוח ביקש לבצע ממנו אתחול.
- קידוד: מחרוזת.
Dhcp.transaction_id
- מטרה: מזהה עסקה של לקוח.
- קידוד: מספר שלם לא מסומן (unsigned) בן 32 ביט.
Dhcp.type
- מטרה: סוג הודעת DHCP. מידע נוסף זמין ב-RFC 1533.
- Encoding: סוג מנומר.
- ערכים אפשריים:
- UNKNOWN_MESSAGE_TYPE
- DISCOVER
- מבצע
- בקשה
- דחה
- ACK
- NAK
- RELEASE
- מידע
- WIN_DELECTED
- WIN_EXPIRED
Dhcp.chaddr
- מטרה: כתובת החומרה של הלקוח.
- קידוד: כתובת MAC.
Dhcp.ciaddr
- מטרה: כתובת ה-IP של הלקוח.
- קידוד: כתובת IPv4 או IPv6 תקינה (RFC 5942) שמקודדת ב-ASCII.
Dhcp.giaddr
- מטרה: כתובת ה-IP של סוכן הממסר.
- קידוד: כתובת IPv4 או IPv6 תקינה (RFC 5942) שמקודדת ב-ASCII.
Dhcp.siaddr
- מטרה: כתובת ה-IP של שרת האתחול הבא.
- קידוד: כתובת IPv4 או IPv6 תקינה (RFC 5942) שמקודדת ב-ASCII.
Dhcp.yiaddr
- מטרה: כתובת ה-IP שלכם.
- קידוד: כתובת IPv4 או IPv6 תקינה (RFC 5942) שמקודדת ב-ASCII.
אכלוס מטא-נתונים של אפשרות DHCP
שדות המטא-נתונים של אפשרות DHCP מתעדים את פרטי היומן של אפשרות DHCP.
Option.code
- מטרה: אחסון קוד האפשרות של DHCP. מידע נוסף זמין ב-RFC 1533, DHCP Options and BOOTP Vendor Extensions.
- קידוד: מספר שלם לא מסומן ב-32 ביט.
Option.data
- מטרה: אחסון נתוני אפשרויות DHCP. מידע נוסף זמין ב-RFC 1533, DHCP Options and BOOTP Vendor Extensions.
- קידוד: בייטים.
אוכלוסייה של מטא-נתוני DNS
שדות המטא-נתונים של DNS כוללים מידע שקשור לבקשות DNS ולמנות תגובה. יש להם התאמה של אחד לאחד לנתונים שנמצאים בבקשות DNS ובדאטגרמות של תגובות.
Dns.authoritative
- מטרה: הערך מוגדר כ-true עבור שרתי DNS סמכותיים.
- קידוד: בוליאני.
Dns.id
- מטרה: אחסון של מזהה שאילתת ה-DNS.
- קידוד: מספר שלם 32 ביט.
Dns.response
- מטרה: הערך הוא true אם האירוע הוא תגובת DNS.
- קידוד: בוליאני.
Dns.opcode
- מטרה: אחסון של קוד הפעולה (OpCode) של DNS שמשמש לציון הסוג של שאילתת DNS (רגילה, הפוכה, סטטוס השרת וכו').
- קידוד: מספר שלם 32 ביט.
Dns.recursion_available
- מטרה: הערך הוא true אם חיפוש DNS רקורסיבי זמין.
- קידוד: בוליאני.
Dns.recursion_desired
- מטרה: הערך מוגדר כ-true אם מתבצעת בקשה לחיפוש DNS רקורסיבי.
- קידוד: בוליאני.
Dns.response_code
- מטרה: אחסון קוד התגובה של DNS כפי שמוגדר ב-RFC 1035, שמות דומיין – הטמעה ומפרט.
- קידוד: מספר שלם 32 ביט.
Dns.truncated
- מטרה: הערך הוא true אם זו תשובת DNS קטועה.
- קידוד: בוליאני.
Dns.questions
- מטרה: אחסון השאלות בהודעת פרוטוקול הדומיין. מידע נוסף מופיע בקטע הוספת מטא נתונים לשאילתות DNS.
Dns.answers
- מטרה: אחסון התשובה לשאילתת שם הדומיין. מידע נוסף על מילוי המטא-נתונים של רשומות משאבים מסוג DNS
Dns.authority
- מטרה: אחסון של שרתי השמות של הדומיין שאימתו את התשובה לשאילתת שם הדומיין. מידע נוסף על מילוי המטא-נתונים של רשומות משאבים מסוג DNS
Dns.additional
- מטרה: אחסון של שרתי שמות נוספים של הדומיין שאפשר להשתמש בהם כדי לאמת את התשובה לדומיין. מידע נוסף על מילוי המטא-נתונים של רשומות משאבים מסוג DNS
אוכלוסייה של מטא-נתונים של שאילתות DNS
שדות המטא-נתונים של שאילתת ה-DNS מתעדים את המידע שמופיע בקטע השאלה של הודעת פרוטוקול הדומיין.
Question.name
- מטרה: אחסון שם הדומיין.
- קידוד: מחרוזת.
Question.class
- מטרה: אחסון הקוד שמציין את הסיווג של השאילתה.
- קידוד: מספר שלם 32 ביט.
Question.type
- Purpose: מאחסן את הקוד שמציין את סוג השאילתה.
- קידוד: מספר שלם 32 ביט.
איכלוס מטא-נתונים של רשומות משאבים מסוג DNS
שדות המטא-נתונים של רשומות משאבים מסוג DNS מתעדים את המידע שכלול ברשומת המשאבים של הודעת פרוטוקול בדומיין.
ResourceRecord.binary_data
- מטרה: אחסון הבייטים הגולמיים של מחרוזות שאינן בתקן UTF8, שעשויות להיכלל כחלק מתגובת DNS. השימוש בשדה הזה מותר רק אם נתוני התגובה שמוחזרים על ידי שרת ה-DNS מכילים נתונים שאינם בפורמט UTF8. אם לא, צריך להזין את תגובת ה-DNS בשדה הנתונים שלמטה. המידע הזה צריך להיות מאוחסן כאן ולא ב-ResourceRecord.data.
קידוד: בייטים.
ResourceRecord.class
- מטרה: אחסון הקוד שמציין את הסיווג של רשומת המשאבים.
- קידוד: מספר שלם 32 ביט.
ResourceRecord.data
- מטרה: אחסון המטען הייעודי (payload) או התגובה לשאלת ה-DNS עבור כל התגובות שמקודדות בפורמט UTF-8. לדוגמה, שדה הנתונים יכול להחזיר את כתובת ה-IP של המחשב שאליו מתייחס שם הדומיין. אם רשומת המשאב היא מסוג או מסיווג אחר, היא עשויה להכיל שם דומיין אחר (כאשר שם דומיין אחד מופנה לשם דומיין אחר). הנתונים צריכים להישמר בדיוק כמו שהם מופיעים בתגובת ה-DNS.
- קידוד: מחרוזת.
ResourceRecord.name
- מטרה: מאחסן את השם של הבעלים של רשומת המשאבים.
- קידוד: מחרוזת.
ResourceRecord.ttl
- מטרה: מאחסן את פרק הזמן שבו אפשר לשמור במטמון את רשומת המשאב לפני שצריך לשלוח שוב שאילתה למקור המידע.
- קידוד: מספר שלם 32 ביט.
ResourceRecord.type
- מטרה: אחסון הקוד שמציין את סוג רשומת המשאבים.
- קידוד: מספר שלם 32 ביט.
אכלוס מטא-נתונים של אימייל
רוב שדות המטא-נתונים של האימייל מתעדים את כתובות האימייל שכלולות בכותרת ההודעה, והם צריכים להיות בפורמט הסטנדרטי של כתובות אימייל (local-mailbox@domain) כפי שמוגדר ב-RFC 5322. לדוגמה, frank@email.example.com.
Email.from
- מטרה: אחסון כתובת האימייל של השולח (מאת).
- קידוד: מחרוזת.
Email.reply_to
- מטרה: אחסון של כתובת האימייל reply_to.
- קידוד: מחרוזת.
Email.to
- מטרה: אחסון כתובות האימייל של הנמענים (אל).
- קידוד: מחרוזת.
Email.cc
- מטרה: אחסון של כתובות האימייל של עותק.
- קידוד: מחרוזת.
Email.bcc
- מטרה: אחסון כתובות האימייל בשדה עותק מוסתר.
- קידוד: מחרוזת.
Email.mail_id
- מטרה: אחסון מזהה האימייל (או ההודעה).
- קידוד: מחרוזת.
- דוגמה: 192544.132632@email.example.com
Email.subject
- מטרה: אחסון שורת הנושא של האימייל.
- קידוד: מחרוזת.
- דוגמה: "תקרא את ההודעה הזו".
איכלוס המטא-נתונים של התוספים
סוגי אירועים עם מטא-נתונים ברמה גבוהה שלא מסווגים כבר על ידי Google SecOps UDM.
Extensions.auth
- מטרה: הרחבה של מטא-נתוני האימות.
- קידוד: מחרוזת.
- דוגמאות:
- מטא-נתונים של ארגז החול (כל ההתנהגויות שמוצגות על ידי קובץ, למשל FireEye).
- נתונים של בקרת גישה לרשת (NAC).
- פרטי LDAP על משתמש (לדוגמה, תפקיד, ארגון וכו').
Extensions.auth.auth_details
- מטרה: מציינים את הפרטים הספציפיים לספק עבור סוג האימות או מנגנון האימות. ספקי אימות מגדירים לעיתים קרובות סוגים כמו via_mfa או via_ad שמספקים מידע שימושי על סוג האימות. אפשר עדיין להכליל את הסוגים האלה ב-auth.type או ב-auth.mechanism לצורך שימושיות ותאימות של כללים בין מערכי נתונים.
- קידוד: מחרוזת.
- דוגמאות: via_mfa, via_ad.
Extensions.vulns
- מטרה: הרחבה של מטא-נתונים של פגיעות.
- קידוד: מחרוזת.
- דוגמה: נתונים מסריקת פגיעויות של מארח.
אכלוס מטא-נתונים של קבצים
File.file_metadata
- מטרה: מטא-נתונים שמשויכים לקובץ.
- קידוד: מחרוזת.
- דוגמאות:
- מחבר
- מספר הגרסה
- מספר גרסה
- תאריך השמירה האחרונה
File.full_path
- מטרה: הנתיב המלא שמזהה את מיקום הקובץ במערכת.
- קידוד: מחרוזת.
- דוגמה: \Program Files\Custom Utilities\Test.exe
File.md5
- מטרה: ערך גיבוב MD5 של הקובץ.
- קידוד: מחרוזת, הקסדצימלית באותיות קטנות.
- דוגמה: 35bf623e7db9bf0d68d0dda764fd9e8c
File.mime_type
- מטרה: סוג קובץ MIME (פרוטוקול רב תכליתי להצפנה ואימות של אימיילים).
- קידוד: מחרוזת.
- דוגמאות:
- PE
- סקריפט PowerShell
File.sha1
- מטרה: ערך הגיבוב (hash) SHA-1 של הקובץ.
- קידוד: מחרוזת, הקסדצימלית באותיות קטנות.
- דוגמה: eb3520d53b45815912f2391b713011453ed8abcf
File.sha256
- מטרה: ערך הגיבוב (hash) מסוג SHA-256 של הקובץ.
- קידוד: מחרוזת, הקסדצימלית באותיות קטנות.
- דוגמה: d7173c568b8985e61b4050f81b3fd8e75bc922d2a0843d7079c81ca4b6e36417
File.size
- מטרה: גודל הקובץ.
- קידוד: מספר שלם לא מסומן של 64 ביט.
- לדוגמה: 342135
אכלוס מטא-נתונים של FTP
Ftp.command
- מטרה: אחסון פקודת ה-FTP.
- קידוד: מחרוזת.
- דוגמאות:
- בינארי
- delete
- get
- put
אכלוס מטא-נתונים של קבוצה
מידע על קבוצה ארגונית.
Group.creation_time
- מטרה: מועד היצירה של הקבוצה.
- קידוד: RFC 3339, בהתאם לפורמט חותמת הזמן של JSON או Proto3.
Group.email_addresses
- מטרה: קיבוץ פרטים ליצירת קשר.
- קידוד: אימייל.
Group.group_display_name
- מטרה: השם המוצג של הקבוצה.
- קידוד: מחרוזת.
- דוגמאות:
- כספים
- משאבי אנוש
- שיווק
Group.product_object_id
- מטרה: מזהה ייחודי גלובלי של אובייקט משתמש במוצר, כמו מזהה אובייקט LDAP.
- קידוד: מחרוזת.
Group.windows_sid
- מטרה: שדה מאפיין הקבוצה של מזהה האבטחה (SID) של Microsoft Windows.
- קידוד: מחרוזת.
אכלוס מטא-נתונים של HTTP
Http.method
- מטרה: אחסון שיטת בקשת ה-HTTP.
- קידוד: מחרוזת.
- דוגמאות:
- GET
- התקדם אל
- POST
Http.referral_url
- מטרה: אחסון כתובת ה-URL של הגורם המפנה מסוג HTTP.
- קידוד: כתובת URL תקינה לפי RFC 3986.
- דוגמה: https://www.altostrat.com
Http.response_code
- מטרה: אחסון קוד הסטטוס של תגובת ה-HTTP, שמציין אם בקשת HTTP ספציפית הושלמה בהצלחה.
- קידוד: מספר שלם 32 ביט.
- דוגמאות:
- 400
- 404
Http.user_agent
- מטרה: אחסון של כותרת הבקשה של סוכן המשתמש, שכוללת את סוג האפליקציה, מערכת ההפעלה, ספק התוכנה או גרסת התוכנה של סוכן המשתמש של התוכנה ששולח את הבקשה.
- קידוד: מחרוזת.
- דוגמאות:
- Mozilla/5.0 (X11; Linux x86_64)
- AppleWebKit/534.26 (KHTML, like Gecko)
- Chrome/41.0.2217.0
- Safari/527.33
אכלוס מטא-נתונים של מיקום
Location.city
- מטרה: אחסון שם העיר.
- קידוד: מחרוזת.
- דוגמאות:
- סאניווייל
- אמריקה/שיקגו
- מאלגה
Location.country_or_region
- מטרה: אחסון של שם המדינה או האזור בעולם.
- קידוד: מחרוזת.
- דוגמאות:
- ארצות הברית
- בריטניה
- ספרד
Location.name
- מטרה: מאחסן את השם שספציפי לארגון, כמו בניין או קמפוס.
- קידוד: מחרוזת.
- דוגמאות:
- Campus 7B
- Building A2
Location.state
- מטרה: אחסון השם של המדינה, הפרובינציה או הטריטוריה.
- קידוד: מחרוזת.
- דוגמאות:
- קליפורניה
- אילינוי
- אונטריו
אוכלוסייה של מטא-נתונים של רשת
Network.application_protocol
- מטרה: מציין את פרוטוקול האפליקציה ברשת.
- Encoding: סוג מנומר.
ערכים אפשריים:
- UNKNOWN_APPLICATION_PROTOCOL
- AFP
- APPC
- AMQP
- ATOM
- BEEP
- BITCOIN
- BIT_TORRENT
- CFDP
- CIP
- COAP
- COTP
- DCERPC
- DDS
- DEVICE_NET
- DHCP
- DICOM
- DNP3
- DNS
- E_DONKEY
- ENRP
- FAST_TRACK
- אצבע
- FREENET
- FTAM
- GOOSE
- GOPHER
- GRPC
- HL7
- H323
- HTTP
- HTTPS
- IEC104
- IRCP
- KADEMLIA
- KRB5
- LDAP
- LPD
- MIME
- MMS
- MODBUS
- פרוטוקול MQTT
- NETCONF
- NFS
- NIS
- NNTP
- NTCIP
- NTP
- OSCAR
- PNRP
- PTP
- QUIC
- RDP
- RELP
- RIP
- RLOGIN
- RPC
- RTMP
- RTP
- RTPS
- RTSP
- SAP
- SDP
- SIP
- SLP
- SMB
- SMTP
- SNMP
- SNTP
- SSH
- SSMS
- STYX
- SV
- TCAP
- TDS
- TOR
- TSP
- VTP
- WHOIS
- WEB_DAV
- X400
- X500
- XMPP
Network.direction
- מטרה: מציין את הכיוון של תעבורת הרשת.
- Encoding: סוג מנומר.
- ערכים אפשריים:
- UNKNOWN_DIRECTION
- נכנסות
- יוצאת
- שידור
Network.email
- מטרה: מציינת את כתובת האימייל של השולח או הנמען.
- קידוד: מחרוזת.
- דוגמה: jcheng@company.example.com
Network.ip_protocol
- מטרה: מציין את פרוטוקול ה-IP.
- Encoding: סוג מנומר.
- ערכים אפשריים:
- UNKNOWN_IP_PROTOCOL
- EIGRP – פרוטוקול ניתוב משופר של שער פנימי
- ESP – Encapsulating Security Payload
- ETHERIP—Ethernet-within-IP Encapsulation
- GRE—Generic Routing Encapsulation
- ICMP – פרוטוקול הודעות בקרה באינטרנט
- IGMP—Internet Group Management Protocol
- IP6IN4 – IPv6 Encapsulation
- PIM—Protocol Independent Multicast
- TCP – פרוטוקול העברת נתונים מבוקרת
- UDP – פרוטוקול User Datagram
- VRRP—Virtual Router Redundancy Protocol
Network.received_bytes
- מטרה: מציין את מספר הבייטים שהתקבלו.
- קידוד: מספר שלם לא מסומן של 64 ביט.
- לדוגמה: 12,453,654,768
Network.sent_bytes
- Purpose (מטרה): מציין את מספר הבייטים שנשלחו.
- קידוד: מספר שלם לא מסומן של 64 ביט.
- לדוגמה: 7,654,876
Network.session_duration
- מטרה: מאחסן את משך הסשן ברשת, בדרך כלל מוחזר באירוע של הפסקת השימוש בסשן. כדי להגדיר את משך הסשן, אפשר להגדיר את network.session_duration.seconds = 1 (סוג int64) או את network.session_duration.nanos = 1 (סוג int32).
- קידוד:
- מספר שלם ב-32 ביט – בשביל שניות (network.session_duration.seconds).
- מספר שלם של 64 ביט – למיליארדית השנייה (network.session_duration.nanos).
Network.session_id
- מטרה: אחסון של מזהה הסשן ברשת.
- קידוד: מחרוזת.
- דוגמה: SID:ANON:www.w3.org:j6oAOxCWZh/CD723LGeXlf-01:34
אכלוס מטא-נתונים של תהליך
Process.command_line
- מטרה: אחסון מחרוזת שורת הפקודה של התהליך.
- קידוד: מחרוזת.
- דוגמה:
c:\windows\system32\net.exegroup.
Process.product_specific_process_id
- מטרה: אחסון מזהה התהליך הספציפי למוצר.
- קידוד: מחרוזת.
- דוגמאות:
MySQL:78778אוCS:90512
Process.parent_process.product_specific_process_id
- מטרה: מאחסן את מזהה התהליך הספציפי למוצר עבור תהליך האב.
- קידוד: מחרוזת.
- דוגמאות:
MySQL:78778אוCS:90512
Process.file
- מטרה: אחסון שם הקובץ שנמצא בשימוש בתהליך.
- קידוד: מחרוזת.
- דוגמה: report.xls
Process.parent_process
- מטרה: אחסון הפרטים של תהליך האב.
- קידוד: שם עצם (תהליך)
Process.pid
- Purpose: מאחסן את מזהה התהליך.
- קידוד: מחרוזת.
- דוגמאות:
- 308
- 2002
אכלוס מטא-נתונים במרשם
Registry.registry_key
- מטרה: אחסון מפתח הרישום שמשויך לאפליקציה או לרכיב מערכת.
- קידוד: מחרוזת.
- דוגמה: HKEY_LOCAL_MACHINE/SYSTEM/DriverDatabase
Registry.registry_value_name
- מטרה: אחסון השם של ערך הרישום שמשויך לאפליקציה או לרכיב מערכת.
- קידוד: מחרוזת.
- לדוגמה: TEMP
Registry.registry_value_data
- מטרה: אחסון הנתונים שמשויכים לערך ברישום.
- קידוד: מחרוזת.
- דוגמה: %USERPROFILE%\Local Settings\Temp
איכלוס מטא-נתונים של תוצאות אבטחה
המטא-נתונים של תוצאת האבטחה כוללים פרטים על סיכוני אבטחה ואיומים שאותרו על ידי מערכת אבטחה, וגם על הפעולות שננקטו כדי לצמצם את הסיכונים והאיומים האלה.
SecurityResult.about
- מטרה: תיאור של תוצאת האבטחה.
- קידוד: שם עצם.
SecurityResult.action
- מטרה: מציינים פעולת אבטחה.
- Encoding: סוג מנומר.
- ערכים אפשריים: ב-Google SecOps UDM מוגדרות פעולות האבטחה הבאות:
- אישור
- ALLOW_WITH_MODIFICATION – הקובץ או האימייל עברו ניקוי או שכתוב, והם עדיין מועברים.
- חסימה
- הסגר – אחסון לניתוח מאוחר יותר (לא חסימה).
- UNKNOWN_ACTION
SecurityResult.action_details
- מטרה: פרטים שהספק סיפק על הפעולה שננקטה כתוצאה מאירוע האבטחה. בדרך כלל, הפעולות שקשורות לאבטחה מתורגמות בצורה הטובה ביותר לשדה הכללי יותר Security_Result.action ב-UDM. עם זאת, יכול להיות שתצטרכו לכתוב כללים לתיאור המדויק של הפעולה שסופק על ידי הספק.
- קידוד: מחרוזת.
- דוגמאות: drop, block, decrypt, encrypt.
SecurityResult.category
- מטרה: מציינים קטגוריית אבטחה.
- קידוד: טיפוסים בני מנייה (enum).
- ערכים אפשריים: ב-Google SecOps UDM מוגדרות קטגוריות האבטחה הבאות:
- ACL_VIOLATION – ניסיון גישה לא מורשה, כולל ניסיון גישה לקבצים, לשירותי אינטרנט, לתהליכים, לאובייקטים באינטרנט וכו'.
- AUTH_VIOLATION – האימות נכשל, למשל בגלל סיסמה שגויה או אימות דו-גורמי שגוי.
- DATA_AT_REST—DLP: נתוני חיישנים שנמצאו במנוחה בסריקה.
- DATA_DESTRUCTION – ניסיון להשמיד או למחוק נתונים.
- DATA_EXFILTRATION—DLP: sensor data transmission, copy to thumb drive.
- EXPLOIT – ניסיונות של הצפת מאגרים, קידודים לא תקינים של פרוטוקולים, ROP, הזרקת SQL וכו', גם ברשת וגם במארח.
- MAIL_PHISHING – פישינג באימייל, בהודעות צ'אט וכו'.
- MAIL_SPAM – ספאם באימייל, בהודעה וכו'.
- MAIL_SPOOFING – כתובת אימייל מזויפת של המקור וכו'.
- NETWORK_CATEGORIZED_CONTENT
- NETWORK_COMMAND_AND_CONTROL – אם ערוץ השליטה והבקרה ידוע.
- NETWORK_DENIAL_OF_SERVICE
- NETWORK_MALICIOUS – שליטה ובקרה, ניצול לרעה של רשת, פעילות חשודה, מנהור הפוך פוטנציאלי וכו'.
- NETWORK_SUSPICIOUS – לא קשור לאבטחה, למשל כתובת ה-URL מקושרת להימורים וכו'.
- NETWORK_RECON – סריקת יציאות שזוהתה על ידי מערכת IDS, בדיקה על ידי אפליקציית אינטרנט.
- POLICY_VIOLATION – הפרה של מדיניות האבטחה, כולל הפרות של כללי חומת אש, שרת proxy ו-HIPS או פעולות חסימה של NAC.
- SOFTWARE_MALICIOUS – תוכנה זדונית, רוגלה, ערכות כלים לגישה לרמת הבסיס של מערכת ההפעלה (rootkit) וכו'.
- SOFTWARE_PUA – אפליקציה שעלולה להיות לא רצויה, כמו תוכנת פרסום (adware) וכו'.
- SOFTWARE_SUSPICIOUS
- UNKNOWN_CATEGORY
SecurityResult.confidence
- מטרה: מציינים את רמת הסמך לגבי אירוע אבטחה, כפי שהיא מוערכת על ידי המוצר.
- קידוד: טיפוסים בני מנייה (enum).
- ערכים אפשריים: ב-Google SecOps UDM מוגדרות קטגוריות האמינות הבאות של מוצרים:
- UNKNOWN_CONFIDENCE
- LOW_CONFIDENCE
- MEDIUM_CONFIDENCE
- HIGH_CONFIDENCE
SecurityResult.confidence_details
- מטרה: פרטים נוספים לגבי רמת הסמך של אירוע אבטחה, כפי שהוערכה על ידי ספק המוצר.
- קידוד: מחרוזת.
SecurityResult.priority
- מטרה: מציינים עדיפות לגבי אירוע אבטחה, כפי שהיא מוערכת על ידי ספק המוצר.
- קידוד: טיפוסים בני מנייה (enum).
- ערכים אפשריים: ב-Google SecOps UDM מוגדרות קטגוריות העדיפות הבאות של מוצרים:
- UNKNOWN_PRIORITY
- LOW_PRIORITY
- MEDIUM_PRIORITY
- HIGH_PRIORITY
SecurityResult.priority_details
- מטרה: מידע ספציפי לספק על העדיפות של תוצאת האבטחה.
- קידוד: מחרוזת.
SecurityResult.rule_id
- Purpose: מזהה של כלל האבטחה.
- קידוד: מחרוזת.
- דוגמאות:
- 08123
- 5d2b44d0-5ef6-40f5-a704-47d61d3babbe
SecurityResult.rule_name
- מטרה: השם של כלל האבטחה.
- קידוד: מחרוזת.
- דוגמה: BlockInboundToOracle.
SecurityResult.severity
- מטרה: חומרת אירוע אבטחה כפי שהיא מוערכת על ידי ספק המוצר באמצעות ערכים שמוגדרים על ידי Google SecOps UDM.
- קידוד: טיפוסים בני מנייה (enum).
- ערכים אפשריים: ב-Google SecOps UDM מוגדרים חומרת המוצר הבאות:
- UNKNOWN_SEVERITY—Non-malicious
- מידע – לא זדוני
- שגיאה – לא זדונית
- נמוך – זדוני
- בינוני – זדוני
- גבוהה – זדונית
SecurityResult.severity_details
- מטרה: רמת החומרה של אירוע אבטחה, כפי שהיא מוערכת על ידי ספק המוצר.
- קידוד: מחרוזת.
SecurityResult.threat_name
- מטרה: שם איום האבטחה.
- קידוד: מחרוזת.
- דוגמאות:
- W32/File-A
- Slammer
SecurityResult.url_back_to_product
- מטרה: כתובת URL להפניה למסוף של מוצר המקור של אירוע האבטחה הזה.
- קידוד: מחרוזת.
אכלוס של מטא-נתונים של משתמשים
User.email_addresses
- מטרה: אחסון כתובות האימייל של המשתמש.
- קידוד: מחרוזת חוזרת.
- דוגמה: johnlocke@company.example.com
User.employee_id
- מטרה: אחסון מזהה העובד במשאבי האנוש של המשתמש.
- קידוד: מחרוזת.
- דוגמה: 11223344.
User.first_name
- מטרה: אחסון השם הפרטי של המשתמש.
- קידוד: מחרוזת.
- דוגמה: John.
User.middle_name
- מטרה: אחסון השם האמצעי של המשתמש.
- קידוד: מחרוזת.
- דוגמה: Anthony.
User.last_name
- מטרה: אחסון שם המשפחה של המשתמש.
- קידוד: מחרוזת.
- דוגמה: Locke.
User.group_identifiers
- מטרה: אחסון של מזהי הקבוצות (GUID, LDAP OID או מזהה דומה) שמשויכים למשתמש.
- קידוד: מחרוזת חוזרת.
- דוגמה: admin-users.
User.phone_numbers
- מטרה: אחסון מספרי הטלפון של המשתמש.
- קידוד: מחרוזת חוזרת.
- לדוגמה: 800-555-0101
User.title
- מטרה: אחסון של שם המשרה של המשתמש.
- קידוד: מחרוזת.
- דוגמה: מערכת לניהול קשרי לקוחות (CRM).
User.user_display_name
- מטרה: אחסון השם המוצג של המשתמש.
- קידוד: מחרוזת.
- דוגמה: ג'ון לוק.
User.userid
- מטרה: אחסון מזהה המשתמש.
- קידוד: מחרוזת.
- דוגמה: jlocke.
User.windows_sid
- מטרה: אחסון מזהה האבטחה (SID) של Microsoft Windows שמשויך למשתמש.
- קידוד: מחרוזת.
- לדוגמה: S-1-5-21-1180649209-123456789-3582944384-1064
אוכלוסיית מטא-נתונים של פגיעויות
Vulnerability.about
- מטרה: אם הפגיעות קשורה לשם עצם ספציפי (לדוגמה, קובץ הפעלה), מוסיפים אותו כאן.
- קידוד: שם עצם. איכלוס מטא-נתונים של שמות עצם
- דוגמה: קובץ הפעלה.
Vulnerability.cvss_base_score
- מטרה: ציון בסיסי של Common Vulnerability Scoring System (CVSS).
- קידוד: נקודה צפה.
- טווח: 0.0 עד 10.0
- לדוגמה: 8.5
Vulnerability.cvss_vector
מטרה: וקטור של מאפייני ה-CVSS של הפגיעות. ציון CVSS מורכב מהמדדים הבאים:
- וקטור תקיפה (AV)
- מורכבות הגישה (AC)
- אימות (Au)
- השפעה על סודיות (C)
- השפעה על היושרה (I)
- השפעה על הזמינות (A)
מידע נוסף זמין בכתובת https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator.
קידוד: מחרוזת.
דוגמה: AV:L/AC:H/Au:N/C:N/I:P/A:C
Vulnerability.cvss_version
- מטרה: גרסת CVSS לציון או לווקטור של נקודת התורפה.
- קידוד: מחרוזת.
- לדוגמה: 3.1
Vulnerability.description
- מטרה: תיאור של הפגיעות.
- קידוד: מחרוזת.
Vulnerability.first_found
- מטרה: במוצרים שבהם נשמרת היסטוריה של סריקות פגיעות, השדה first_found יאוכלס בזמן שבו זוהתה הפגיעות בנכס הזה בפעם הראשונה.
- קידוד: מחרוזת.
Vulnerability.last_found
- מטרה: במוצרים שמתעדים היסטוריה של סריקות פגיעות, המאפיין last_found צריך להיות מאוכלס בזמן שבו זוהתה לאחרונה הפגיעות בנכס הזה.
- קידוד: מחרוזת.
Vulnerability.name
- Purpose: שם הפגיעות.
- קידוד: מחרוזת.
- דוגמה: זוהתה גרסה של מערכת הפעלה שלא נתמכת.
Vulnerability.scan_end_time
- מטרה: אם הפגיעות התגלתה במהלך סריקת נכס, צריך למלא את השדה הזה עם השעה שבה הסתיימה הסריקה. אם שעת הסיום לא זמינה או לא רלוונטית, צריך להשאיר את השדה הזה ריק.
- קידוד: מחרוזת.
Vulnerability.scan_start_time
- מטרה: אם הפגיעות התגלתה במהלך סריקת נכסים, מאכלסים את השדה הזה בזמן שבו הסריקה התחילה. אם שעת ההתחלה לא זמינה או לא רלוונטית, משאירים את השדה הזה ריק.
- קידוד: מחרוזת.
Vulnerability.severity
- מטרה: חומרת הפגיעות.
- Encoding: סוג מנומר.
- ערכים אפשריים:
- UNKNOWN_SEVERITY
- נמוך
- MEDIUM
- גבוהה
Vulnerability.severity_details
- מטרה: פרטי חומרה ספציפיים לספק.
- קידוד: מחרוזת.
אוכלוסיית המטא-נתונים של ההתראה
idm.is_significant
- למה הוספנו את זה? כדי לציין אם ההתראה תוצג ב-Enterprise Insights.
- קידוד: בוליאני.
idm.is_alert
- מטרה: מציין אם האירוע הוא התראה.
- קידוד: בוליאני.
שדות חובה ושדות אופציונליים לסוגי ישויות
| סוג ישות | דרישות ספציפיות לישות |
|---|---|
IP_ADDRESS |
|
FILE |
|
DOMAIN_NAME |
|
URL |
|
MUTEX |
|
USER |
|
RESOURCE |
|
CIDR_BLOCK |
|
שדות חובה ושדות אופציונליים לכל סוג אירוע
בקטע הזה מתוארים השדות הנדרשים והאופציונליים שצריך לאכלס עבור כל סוג של אירוע UDM.
פרטים על שדות מסוימים ב-UDM (לדוגמה, מספרי enum) מופיעים ברשימת השדות של המודל המאוחד לנתונים.
EMAIL_TRANSACTION
שדות חובה:
- מטא-נתונים: צריך לכלול את שדות החובה.
- principal: מאכלסים במידע על המכונה שממנה נשלח אימייל (למשל, כתובת ה-IP של השולח).
- network.email: פרטי השולח או הנמען של האימייל.
שדות אופציונליים:
- about: כתובות URL, כתובות IP, דומיינים וקבצים מצורפים שמוטמעים בתוכן האימייל.
- securityResult.about: כתובות URL, כתובות IP וקבצים לא תקינים שמוטמעים בגוף האימייל.
- principal: אם יש נתונים במכונת הלקוח לגבי מי שלח את האימייל, צריך למלא את פרטי השרת ב-principal (לדוגמה, תהליך הלקוח, מספרי יציאות, שם משתמש וכו').
- target: אם יש נתונים של שרת האימייל של היעד, מאכלסים את פרטי השרת ב-target (לדוגמה, כתובת ה-IP).
- intermediary: אם יש נתונים של שרת דואר או נתונים של שרת proxy לדואר, צריך למלא את פרטי השרת ב-intermediary.
הערות:
- לעולם אל תאכלס את principal.email או את target.email.
- מאכלסים רק את שדה האימייל ב-security_result.about או ב-network.email.
- בדרך כלל, תוצאות אבטחה ברמה העליונה כוללות קבוצת שמות עצם (אופציונלי לספאם).
FILE_CREATION, FILE_DELETION, FILE_MODIFICATION, FILE_READ, and FILE_OPEN
שדות חובה:
- מטא-נתונים: צריך לכלול את שדות החובה.
- principal:
- לפחות מזהה מכונה אחד.
- (אופציונלי) מאכלסים את principal.process במידע על התהליך שניגש לקובץ.
- target:
- אם הקובץ מרוחק (לדוגמה, שיתוף SMB), היעד חייב לכלול לפחות מזהה מכונה אחד למכונת היעד, אחרת כל מזהי המכונה צריכים להיות ריקים.
- מאכלסים את target.file במידע על הקובץ.
שדות אופציונליים:
- security_result: תיאור של הפעילות הזדונית שזוהתה.
- principal.user: מאכלסים אם יש מידע על המשתמש לגבי התהליך.
FILE_COPY
שדות חובה:
- מטא-נתונים: צריך לכלול את שדות החובה כמו שמתואר.
- principal:
- לפחות מזהה מכונה אחד.
- (אופציונלי) מאכלסים את principal.process במידע על התהליך שמבצע את פעולת העתקת הקובץ.
- src:
- מאכלסים את src.file במידע על קובץ המקור.
- אם הקובץ מרוחק (לדוגמה, שיתוף SMB), התג src חייב לכלול לפחות מזהה מכונה אחד של מכונת המקור שבה מאוחסן קובץ המקור.
- target:
- מאכלסים את target.file במידע על קובץ היעד.
- אם הקובץ מרוחק (לדוגמה, שיתוף SMB), השדה target חייב לכלול לפחות מזהה מכונה אחד של מכונת היעד שמכילה את קובץ היעד.
שדות אופציונליים:
- security_result: תיאור של הפעילות הזדונית שזוהתה.
- principal.user: מאכלסים אם יש מידע על המשתמש לגבי התהליך.
MUTEX_CREATION
שדות חובה:
- מטא-נתונים: צריך לכלול את שדות החובה.
- principal:
- לפחות מזהה מכונה אחד.
- מאכלסים את principal.process במידע על התהליך שיוצר את mutex.
- target:
- מאכלסים את target.resource.
- מאכלסים את target.resource.type ב-MUTEX.
- מאכלסים את target.resource.name בשם של ה-mutex שנוצר.
שדות אופציונליים:
- security_result: תיאור של הפעילות הזדונית שזוהתה.
- principal.user: מאכלסים את השדה הזה אם יש מידע על המשתמש לגבי התהליך.
דוגמה ל-UDM עבור MUTEX_CREATION
בדוגמה הבאה אפשר לראות איך אירוע מסוג MUTEX_CREATION יעבור עיצוב ל-UDM של Google SecOps:
metadata {
event_timestamp: "2020-01-01T13:27:41+00:00"
event_type: MUTEX_CREATION
vendor_name: "Microsoft"
product_name: "Windows"
}
principal {
hostname: "test.altostrat.com"
process {
pid: "0xc45"
file {
full_path: "C:\\Windows\\regedit.exe"
}
}
}
target {
resource {
type: "MUTEX"
name: "test-mutex"
}
}
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- principal: פרטי המכשיר והתהליך.
- יעד: מידע על ה-mutex.
NETWORK_CONNECTION
שדות חובה:
- metadata: event_timestamp
- principal: כולל פרטים על המכונה שיזמה את החיבור לרשת (לדוגמה, מקור).
- target: כוללים פרטים על מכונת היעד אם היא שונה מהמכונה העיקרית.
- network: לכידת פרטים על חיבור הרשת (יציאות, פרוטוקול וכו').
שדות אופציונליים:
- principal.process ו-target.process: כוללים מידע על התהליך שמשויך לגורם המרכזי וליעד של חיבור הרשת (אם המידע זמין).
- principal.user ו-target.user: כוללים פרטי משתמש שמשויכים ל-principal ול-target של חיבור הרשת (אם זמינים).
NETWORK_HTTP
סוג האירוע NETWORK_HTTP מייצג חיבור רשת HTTP מבעל הרשאה לשרת אינטרנט יעד.
שדות חובה:
- מטא-נתונים: צריך לכלול את שדות החובה.
- target: מייצג את שרת האינטרנט. כוללים את פרטי המכשיר ומספר יציאה אופציונלי.
- אם מספר יציאת היעד זמין, צריך לציין רק כתובת IP אחת בנוסף למספר היציאה שמשויך לחיבור הרשת הזה (אפשר לספק כמה מזהי מכונה אחרים עבור היעד).
- במקרה של
target.url, מאכלסים את השדה בכתובת ה-URL שאליה בוצעה גישה.
שדות אופציונליים:
- principal: מייצג את הלקוח שיזם את בקשה לאחזור מהרשת. צריך לכלול לפחות מזהה מכונה אחד (לדוגמה, שם מארח, כתובת IP, כתובת MAC, מזהה נכס קנייני) או מזהה משתמש (לדוגמה, שם משתמש).
- אם מתואר חיבור רשת ספציפי ומספר יציאת לקוח זמין, צריך לציין רק כתובת IP אחת יחד עם מספר היציאה שמשויך לחיבור הרשת הזה (אפשר גם לספק מזהים אחרים של המכונה כדי לתאר טוב יותר את מכשיר המשתתף).
- אם אין יציאת מקור זמינה, אפשר לציין את כל כתובות ה-IP וה-MAC, מזהי הנכסים וערכי שם המארח שמתארים את המכשיר העיקרי.
- רשת: צריך לכלול פרטים על חיבור הרשת. חובה למלא את השדות הבאים:
- network.ip_protocol
- network.application_protocol
- about: מייצג ישויות אחרות שנמצאו בעסקת ה-HTTP (לדוגמה, קובץ שהועלה או הורד).
- intermediary: מייצג שרת proxy (אם הוא שונה מהגורם המרכזי או מהיעד).
- מטא-נתונים: ממלאים את שדות המטא-נתונים האחרים.
- network: ממלאים את שאר השדות שקשורים לרשת.
- network.email: אם חיבור הרשת מסוג HTTP נוצר מכתובת URL שהופיעה בהודעת אימייל, צריך למלא את הפרטים בשדה network.email.
- network.http: אם קיימת שיטת חיבור לרשת HTTP, מאכלסים את
network.http.method. - observer: מייצג סניפר פסיבי (אם קיים).
- security_result: מוסיפים פריט אחד או יותר לשדה security_result כדי לייצג את הפעילות הזדונית שזוהתה.
דוגמה ל-UDM עבור NETWORK_HTTP
בדוגמה הבאה אפשר לראות איך אירוע אנטי-וירוס של Sophos מסוג NETWORK_HTTP מומר לפורמט UDM של Google SecOps.
הנה אירוע מקורי של אנטי-וירוס Sophos:
date=2013-08-07 time=13:27:41 timezone="GMT" device_name="CC500ia" device_id= C070123456-ABCDE log_id=030906208001 log_type="Anti-Virus" log_component="HTTP" log_subtype="Virus" status="" priority=Critical fw_rule_id=0 user_name="john.smith" iap=7 av_policy_name="" virus="TR/ElderadoB.A.78" url="altostrat.fr/img/logo.gif" domainname="altostrat.fr" src_ip=10.10.2.10 src_port=60671 src_country_code= dst_ip=203.0.113.31 dst_port=80 dst_country_code=FRA
כך מעצבים את אותו מידע ב-Proto3 באמצעות התחביר של Google SecOps UDM:
metadata {
event_timestamp: "2013-08-07T13:27:41+00:00"
event_type: NETWORK_HTTP
product_name: "Sophos Antivirus"
product_log_id: "030906208001"
}
principal {
hostname: "CC500ia"
asset_id: "Sophos.AV:C070123456-ABCDE"
ip: "10.10.2.10"
port: 60671
user { userid: "john.smith" }
}
target {
hostname: "altostrat.fr"
ip: "203.0.113.31"
port: 80
url: "altostrat.fr/img/logo.gif"
}
network {
ip_protocol: TCP
}
security_result {
about {
url: "altostrat.fr/img/logo.gif"
category: SOFTWARE_MALICIOUS
category_details: "Virus"
threat_name: "TR/ElderadoB.A.78"
severity: HIGH # Google Security Operations-normalized severity
severity_details: "Critical" # Vendor-specific severity string
}
}
additional { "dst_country_code" : "FRA", "iap" : "7" "fw_rule_id" : "0" }
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- principal: מכשיר אבטחה שזיהה את האירוע.
- יעד: המכשיר שקיבל את התוכנה הזדונית.
- network: פרטי הרשת של המארח הזדוני.
- security_result: פרטי אבטחה לגבי התוכנה הזדונית.
- additional: Vendor information outside the scope of the UDM.
PROCESS_INJECTION, PROCESS_LAUNCH, PROCESS_OPEN, PROCESS_TERMINATION, PROCESS_UNCATEGORIZED
שדות חובה:
- מטא-נתונים: צריך לכלול את שדות החובה.
- principal:
- לפחות מזהה מכונה אחד.
- באירועים של הזרקת תהליך וסיום תהליך, אם יש אפשרות, principal.process חייב לכלול מידע על התהליך שיזם את הפעולה (לדוגמה, באירוע של הפעלת תהליך, principal.process חייב לכלול פרטים על תהליך האב אם הם זמינים).
- target:
- target.process: כולל מידע על התהליך שמוחדר, נפתח, מופעל או מסתיים.
- אם תהליך היעד הוא מרחוק, היעד חייב לכלול לפחות מזהה מכונה אחד למכונת היעד (למשל, כתובת IP, כתובת MAC, שם מארח או מזהה נכס של צד שלישי).
שדות אופציונליים:
- security_result: תיאור של הפעילות הזדונית שזוהתה.
- principal.user ו-target.user: מאכלסים את התהליך היוזם (principal) ואת תהליך היעד אם פרטי המשתמש זמינים.
דוגמה ל-UDM עבור PROCESS_LAUNCH
בדוגמה הבאה אפשר לראות איך מעצבים אירוע PROCESS_LAUNCH באמצעות התחביר של Google SecOps UDM:
metadata {
event_timestamp: "2020-01-01T13:27:41+00:00"
event_type: PROCESS_LAUNCH
vendor_name: "Microsoft"
product_name: "Windows"
}
principal {
hostname: "altostrat.com"
}
target {
process {
pid: "0xc45"
file {
full_path: "C:\\Windows\\regedit.exe"
}
}
}
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- principal: פרטי המכשיר.
- יעד: פרטי התהליך.
PROCESS_MODULE_LOAD
שדות חובה:
- מטא-נתונים: צריך לכלול את שדות החובה.
- principal:
- לפחות מזהה מכונה אחד.
- principal.process: Process loading the module.
- target:
- target.process: כולל מידע על התהליך.
- target.process.file: Module loaded (for example, the DLL or shared object).
שדות אופציונליים:
- security_result: תיאור של הפעילות הזדונית שזוהתה.
- principal.user: מאכלסים אם יש מידע על המשתמש לגבי התהליך.
דוגמה ל-UDM עבור PROCESS_MODULE_LOAD
בדוגמה הבאה אפשר לראות איך מעצבים אירוע PROCESS_MODULE_LOAD באמצעות התחביר של Google SecOps UDM:
metadata {
event_timestamp: "2020-01-01T13:27:41+00:00"
event_type: PROCESS_MODULE_LOAD
vendor_name: "Microsoft"
product_name: "Windows"
}
principal {
hostname: "example.com"
process {
pid: "0x123"
}
}
target {
process {
pid: "0xc45"
file {
full_path: "C:\\Windows\\regedit.exe"
}
}
}
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- principal: פרטים על המכשיר ועל התהליך של טעינת המודול.
- יעד: פרטי התהליך והמודול.
PROCESS_PRIVILEGE_ESCALATION
שדות חובה:
- מטא-נתונים: צריך לכלול את שדות החובה.
- principal:
- לפחות מזהה מכונה אחד.
- principal.process: Process loading the module.
- principal.user: המשתמש שטוען את המודול.
שדות אופציונליים:
- security_result: תיאור של הפעילות הזדונית שזוהתה.
דוגמה ל-UDM עבור PROCESS_PRIVILEGE_ESCALATION
בדוגמה הבאה אפשר לראות איך מעצבים אירוע PROCESS_PRIVILEGE_ESCALATION באמצעות התחביר של Google SecOps UDM:
metadata {
event_timestamp: "2020-01-01T13:27:41+00:00"
event_type: PROCESS_PRIVILEGE_ESCALATION
vendor_name: "Microsoft"
product_name: "Windows"
}
principal {
hostname: "example.com"
process {
pid: "0x123"
}
user {
userid: "test"
windows_sid: "ABCDEFGH-123456789-1111111-1000"
}
}
target {
process {
pid: "0xc45"
file {
full_path: "C:\\Windows\\regedit.exe"
}
}
}
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- principal: פרטים על המכשיר, המשתמש והתהליך שבו נטען המודול.
- יעד: פרטי התהליך והמודול.
REGISTRY_CREATION, REGISTRY_MODIFICATION, REGISTRY_DELETION
שדות חובה:
- מטא-נתונים: צריך לכלול את שדות החובה.
- principal:
- לפחות מזהה מכונה אחד.
- אם תהליך במצב משתמש מבצע את השינוי ברישום, principal.process צריך לכלול מידע על התהליך שמשנה את הרישום.
- אם תהליך של ליבת מערכת מבצע את השינוי ברישום, הגורם המרכזי לא יכול לכלול פרטי תהליך.
- target:
- target.registry: אם המרשם של היעד הוא מרחוק, היעד צריך לכלול לפחות מזהה אחד של מכונת היעד (למשל, כתובת IP, כתובת MAC, שם מארח או מזהה נכס של צד שלישי).
- target.registry.registry_key: כל אירועי הרישום חייבים לכלול את מפתח הרישום שהושפע.
שדות אופציונליים:
- security_result: תיאור של הפעילות הזדונית שזוהתה. לדוגמה, מפתח רישום לא תקין.
- principal.user: מאכלסים אם יש מידע על המשתמש לגבי התהליך.
דוגמה ל-UDM עבור REGISTRY_MODIFICATION
בדוגמה הבאה אפשר לראות איך מעצבים אירוע REGISTRY_MODIFICATION ב-Proto3 באמצעות התחביר של Google SecOps UDM:
metadata {
event_timestamp: "2020-01-01T13:27:41+00:00"
event_type: REGISTRY_MODIFICATION
vendor_name: "Microsoft"
product_name: "Windows"
}
principal {
hostname: "test-win"
user {
userid: "test"
windows_sid: "ABCDEFGH-123456789-1111111-1000"
}
process {
pid: "0xc45"
file {
full_path: "C:\\Windows\\regedit.exe"
}
}
}
target {
registry {
registry_key: "\\REGISTRY\\USER\\TEST_USER\\Control Panel\\PowerCfg\\PowerPolicy"
registry_value_name: "Description"
registry_value_data: "For extending battery life."
}
}
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- הגורם המבצע: פרטים על המכשיר, המשתמש והתהליך.
- יעד: רשומה במאגר המידע שמושפעת מהשינוי.
SCAN_FILE, SCAN_HOST, SCAN_PROCESS, SCAN_VULN_HOST, SCAN_VULN_NETWORK
שדות חובה:
- מטא-נתונים: חותמת הזמן של האירוע ומידע רקע על האירוע.
- observer: תיעוד מידע על הסורק עצמו. אם הסורק מרוחק, צריך לתעד את פרטי המכונה בשדה observer. אם הסורק הוא מקומי, משאירים את השדה ריק.
- target: תיעוד מידע על המכונה שמכילה את האובייקט שנסרק. אם קובץ נסרק, target.file חייב לכלול מידע על הקובץ שנסרק. אם תהליך נסרק, target.process חייב לתעד מידע על התהליך שנסרק.
- extensions: עבור SCAN_VULN_HOST ו-SCAN_VULN_NETWORK, מגדירים את הפגיעות באמצעות השדה extensions.vuln.
שדות אופציונליים:
- principal: מייצג את המכשיר שיזם את החיבור וכולל לפחות מזהה מכונה אחד (למשל, שם מארח, כתובת IP, כתובת MAC, מזהה נכס קנייני) או מזהה משתמש.
- target: פרטי המשתמש לגבי אובייקט היעד (לדוגמה, יוצר הקובץ או הבעלים של התהליך) צריכים להופיע ב-target.user.
- security_result: תיאור של הפעילות הזדונית שזוהתה.
דוגמה ל-UDM עבור SCAN_HOST
בדוגמה הבאה אפשר לראות איך אירוע מסוג SCAN_HOST יעוצב עבור Google SecOps UDM:
metadata: {
event_timestamp: {
seconds: 1571386978
}
event_type: SCAN_HOST
vendor_name: "vendor"
product_name: "product"
product_version: "1.0"
}
target: {
hostname: "testHost"
asset_id: "asset"
ip: "192.168.200.200"
}
observer: {
hostname: "testObserver"
ip: "192.168.100.100"
}
security_result: {
severity: LOW
confidence: HIGH_CONFIDENCE
}
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- יעד: המכשיר שקיבל את התוכנה הזדונית.
- המשקיף: המכשיר שצופה באירוע המדובר ומדווח עליו.
- security_result: פרטי אבטחה לגבי התוכנה הזדונית.
דוגמה ל-UDM עבור SCAN_VULN_HOST
בדוגמה הבאה אפשר לראות איך אירוע מסוג SCAN_VULN_HOST יעוצב עבור Google SecOps UDM:
metadata: {
event_timestamp: "2025-05-09T12:59:52.45298Z",
event_type: 18005,
product_name: "TestProduct",
vendor_name: "TestVendor"
},
principal {
asset_id: "TEST:Mwl8ABcd",
ip: "127.0.0.3",
hostname: "TEST-Localhost",
mac: ["02:00:00:00:00:01"]
},
extensions: {
vulns: {
vulnerabilities: [
{
cve_id: "CVE-6l9VxQmz",
vendor_vulnerability_id: "TEST:7gmCmFWX",
name: "CVE pA7DzwPU",
severity: 2,
vendor: "TestVendor",
last_found: "2025-05-09T14:59:52.45300Z",
first_found: "2025-05-09T13:59:52.45300Z"
}
]
}
}
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- הגורם העיקרי: המכשיר שקיבל את התוכנה הזדונית.
- extensions: פרטי פגיעות.
SCHEDULED_TASK_CREATION, SCHEDULED_TASK_DELETION, SCHEDULED_TASK_DISABLE, SCHEDULED_TASK_ENABLE, SCHEDULED_TASK_MODIFICATION, SCHEDULED_TASK_UNCATEGORIZED
שדות חובה:
- principal: לכל האירועים מסוג SCHEDULED_TASK, הערך של principal חייב לכלול מזהה מכונה ומזהה משתמש.
- target: היעד חייב לכלול משאב תקין וסוג משאב שמוגדר כ-TASK.
שדות אופציונליים:
- security_result: תיאור של הפעילות הזדונית שזוהתה.
דוגמה ל-UDM עבור SCHEDULED_TASK_CREATION
בדוגמה הבאה אפשר לראות איך אפשר לעצב אירוע מסוג SCHEDULED_TASK_CREATION עבור Google SecOps UDM:
metadata: {
event_timestamp: {
seconds: 1577577998
}
event_type: SCHEDULED_TASK_CREATION
vendor_name: "Microsoft"
product_name: "Windows"
}
principal: {
hostname: "fake-host.altostrat.com"
user: {
userid: "TestUser"
windows_sid: "AB123CDE"
}
process {
pid: "1234"
}
}
target: {
resource: {
type: "TASK"
name: "\\Adobe Acrobat Update Task"
}
}
intermediary: {
hostname: "fake-intermediary.altostrat.com"
}
security_result: {
rule_name: "EventID: 6789"
summary: "A scheduled task was created."
severity: INFORMATIONAL
}
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- הגורם הראשי: המכשיר שתזמן את המשימה החשודה.
- יעד: תוכנה שמטורגטת על ידי המשימה החשודה.
- מתווך: מתווך שמעורב במשימה החשודה.
- security_result: פרטי אבטחה לגבי המשימה החשודה.
SETTING_UNCATEGORIZED, SETTING_CREATION, SETTING_MODIFICATION, SETTING_DELETION
שדות חובה:
- principal: חובה לציין ערך לא ריק שכולל מזהה מכונה.
- target: חובה, לא יכול להיות ריק, וצריך לכלול משאב עם סוג שמוגדר כ-SETTING
דוגמה ל-UDM עבור סוג האירוע SETTING_MODIFICATION
בדוגמה הבאה אפשר לראות איך אירוע מסוג SETTING_MODIFICATION יעוצב עבור Google SecOps UDM:
metadata {
event_timestamp: "2020-01-01T13:27:41+00:00"
event_type: SETTING_MODIFICATION
vendor_name: "Microsoft"
product_name: "Windows"
}
principal {
hostname: "test.win.com"
}
target {
resource {
type: "SETTING"
name: "test-setting"
}
}
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- principal: מידע על המכשיר שבו בוצע השינוי בהגדרה.
- target: פרטי המשאב.
SERVICE_UNSPECIFIED, SERVICE_CREATION, SERVICE_DELETION, SERVICE_START, SERVICE_STOP
שדות חובה:
- target: כולל את מזהה המשתמש ומציין תהליך או אפליקציה.
- principal: צריך לכלול לפחות מזהה מכונה אחד (כתובת IP או כתובת MAC, שם מארח או מזהה נכס).
דוגמה ל-UDM עבור SERVICE_UNSPECIFIED
בדוגמה הבאה אפשר לראות איך אירוע מהסוג SERVICE_UNSPECIFIED יעבור עיצוב עבור Google SecOps UDM:
metadata: {
event_timestamp: {
seconds: 1595656745
nanos: 832000000
}
event_type: SERVICE_UNSPECIFIED
vendor_name: "Preempt"
product_name: "PREEMPT_AUTH"
product_event_type: "SERVICE_ACCESS"
description: "Remote Procedures (RPC)"
}
principal: {
hostname: "XXX-YYY-ZZZ"
ip: "10.10.10.10"
}
target: {
hostname: "TestHost"
user: {
userid: "ORG\\User"
user_display_name: "user name"
}
application: "application.name"
resource: {
type: "Service Type"
name: "RPC"
}
}
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- העיקרון: פרטי המכשיר והמיקום.
- יעד: שם המארח ומזהה המשתמש.
- application: שם האפליקציה וסוג המשאב.
STATUS_HEARTBEAT, STATUS_STARTUP, STATUS_SHUTDOWN, STATUS_UPDATE
שדות חובה:
- מטא-נתונים: צריך לכלול את שדות החובה.
- principal: לפחות מזהה מכונה אחד (כתובת IP או כתובת MAC, שם מארח או מזהה נכס).
דוגמה ל-UDM עבור STATUS_HEARTBEAT
בדוגמה הבאה אפשר לראות איך אירוע מסוג STATUS_HEARTBEAT יעוצב עבור Google SecOps UDM:
metadata: {
event_timestamp: {
seconds: 1588180305
}
event_type: STATUS_HEARTBEAT
vendor_name: "DMP"
product_name: "ENTRE"
}
principal: {
hostname: "testHost"
location: {
name: "Building 1"
}
}
intermediary: {
ip: "8.8.8.8"
}
security_result: {
summary: "Event - Locked"
description: "description"
severity: LOW
severity_details: "INFO"
}
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- העיקרון: פרטי המכשיר והמיקום.
- מתווך: כתובת ה-IP של המכשיר.
- security_result: פרטי תוצאת האבטחה.
SYSTEM_AUDIT_LOG_UNCATEGORIZED, SYSTEM_AUDIT_LOG_WIPE
שדות חובה:
- principal: כולל מזהה משתמש של המשתמש שביצע את הפעולה ביומן ומזהה מכונה של המכונה שבה היומן מאוחסן או אוחסן (במקרה של מחיקה).
דוגמה ל-UDM עבור SYSTEM_AUDIT_LOG_WIPE
בדוגמה הבאה אפשר לראות איך אירוע מסוג SYSTEM_AUDIT_LOG_WIPE יפורמט ב-UDM של Google SecOps:
metadata {
event_timestamp: "2020-01-01T13:27:41+00:00"
event_type: SYSTEM_AUDIT_LOG_WIPE
vendor_name: "Microsoft"
product_name: "Windows"
}
principal {
hostname: "altostrat.com"
user {
userid: "test"
windows_sid: "ABCDEFGH-123456789-1111111-1000"
}
}
כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:
- מטא-נתונים: מידע רקע על האירוע.
- הגורם העיקרי: פרטי המכשיר והמשתמש.
USER_CHANGE_PASSWORD, USER_CHANGE_PERMISSIONS
שדות חובה:
- מטא-נתונים: צריך לכלול את שדות החובה.
- principal: אם חשבון המשתמש משתנה ממיקום מרוחק, צריך לאכלס את העמודה principal במידע על המחשב שממנו בוצע השינוי בחשבון המשתמש.
- target: מאכלסים את target.user במידע על המשתמש ששונה.
- intermediary: בכניסות באמצעות SSO, אם יש מזהה מכונה לשרת ה-SSO, צריך לכלול אותו לפחות ב-intermediary.
USER_COMMUNICATION
שדות חובה:
- principal: מאכלסים את השדה principal.user בפרטים שמשויכים לתקשורת שיזם המשתמש (השולח), כמו הודעה בצ'אט ב-Google Chat או ב-Slack, שיחת וידאו או שיחה קולית ב-Zoom או ב-Google Meet, או חיבור VoIP.
שדות אופציונליים:
- target: (מומלץ) מאכלסים את השדה target.user במידע על משתמש היעד (המקבל) של משאב התקשורת בענן. מאכלסים את השדה target.application במידע על אפליקציית התקשורת בענן של היעד.
USER_CREATION, USER_DELETION
שדות חובה:
- metadata: event_timestamp.
- principal: כולל מידע על המכונה שממנה נשלחה הבקשה ליצור או למחוק את המשתמש. כשיוצרים או מוחקים משתמש מקומי, הגורם המרכזי חייב לכלול לפחות מזהה מכונה אחד של המכונה שממנה מגיעה הבקשה.
- target: המיקום שבו המשתמש נוצר. חובה לכלול גם מידע על המשתמש (לדוגמה, target.user).
שדות אופציונליים:
- principal: פרטי המשתמש והתהליך של המכונה שבה התחילה הבקשה ליצירה או למחיקה של המשתמש.
- target: מידע על מכונת היעד (אם היא שונה מהמכונה הראשית).
USER_LOGIN, USER_LOGOUT
שדות חובה:
- מטא-נתונים: צריך לכלול את שדות החובה.
- principal: לפעילות של משתמש מרוחק (לדוגמה, התחברות מרחוק), מאכלסים את השדה principal במידע על המכונה שממנה מגיעה פעילות המשתמש. לפעילות של משתמש מקומי (לדוגמה, התחברות מקומית), לא מגדירים את השדה principal.
- target: מאכלסים את target.user במידע על המשתמש שהתחבר או התנתק. אם לא מוגדר principal (לדוגמה, התחברות מקומית), target צריך לכלול גם לפחות מזהה מכונה אחד שמזהה את מכונת היעד. לגבי פעילות משתמש ממכונה למכונה (לדוגמה, התחברות מרחוק, SSO, שירות ענן, VPN), target צריך לכלול מידע על אפליקציית היעד, מכונת היעד או שרת ה-VPN של היעד.
- intermediary: בכניסות באמצעות SSO, אם יש מזהה מכונה לשרת ה-SSO, צריך לכלול אותו לפחות ב-intermediary.
- network ו-network.http: אם ההתחברות מתבצעת באמצעות HTTP, צריך להזין את כל הפרטים הזמינים ב-network.ip_protocol, network.application_protocol ו-network.http.
- תוסף אימות: צריך לזהות את סוג מערכת האימות שהאירוע קשור אליה (לדוגמה, מכונה, SSO או VPN) ואת המנגנון שבו נעשה שימוש (שם משתמש וסיסמה, סיסמה חד-פעמית וכו').
- security_result: מוסיפים שדה security_result כדי לייצג את סטטוס הכניסה אם היא נכשלת. אם האימות נכשל, צריך לציין את הערך AUTH_VIOLATION ב-security_result.category.
USER_RESOURCE_ACCESS
שדות חובה:
- principal: מאכלסים את השדה principal.user בפרטים על ניסיונות גישה למשאב בענן (לדוגמה, פנייה לתמיכה ב-Salesforce, יומן ב-Office365, מסמך ב-Google או כרטיס תמיכה ב-ServiceNow).
- target: מאכלסים את השדה target.resource במידע על משאב היעד ב-Cloud.
שדות אופציונליים:
- target.application: (מומלץ) מאכלסים את השדה target.application במידע על אפליקציית הענן של היעד.
USER_RESOURCE_CREATION, USER_RESOURCE_DELETION
שדות חובה:
- principal: מאכלסים את השדה principal.user בפרטים שמשויכים למשתמש שנוצר במשאב בענן (לדוגמה, אירוע ב-Salesforce, ביומן של Office 365, במסמך Google או בכרטיס ב-ServiceNow).
- target: מאכלסים את השדה target.resource במידע על משאב היעד ב-Cloud.
שדות אופציונליים:
- target.application: (מומלץ) מאכלסים את השדה target.application במידע על אפליקציית הענן של היעד.
USER_RESOURCE_UPDATE_CONTENT
שדות חובה:
- principal: מאכלסים את השדה principal.user בפרטים שמשויכים למשתמש שהתוכן שלו עודכן במשאב בענן (לדוגמה, אירוע ב-Salesforce, ביומן של Office365, במסמך Google או בכרטיס ב-ServiceNow).
- target: מאכלסים את השדה target.resource במידע על משאב היעד ב-Cloud.
שדות אופציונליים:
- target.application: (מומלץ) מאכלסים את השדה target.application במידע על אפליקציית הענן של היעד.
USER_RESOURCE_UPDATE_PERMISSIONS
שדות חובה:
- principal: מאכלסים את השדה principal.user בפרטים שמשויכים למשתמש שההרשאות שלו עודכנו במשאב בענן (לדוגמה, פנייה לתמיכה ב-Salesforce, לוח שנה ב-Office 365, מסמך ב-Google או כרטיס ב-ServiceNow).
- target: מאכלסים את השדה target.resource במידע על משאב היעד ב-Cloud.
שדות אופציונליים:
- target.application: (מומלץ) מאכלסים את השדה target.application במידע על אפליקציית הענן של היעד.
USER_UNCATEGORIZED
שדות חובה:
- metadata: event_timestamp
- principal: כולל מידע על המכונה שממנה נשלחה הבקשה ליצור או למחוק את המשתמש. כשיוצרים או מוחקים משתמש מקומי, הגורם המרכזי חייב לכלול לפחות מזהה מכונה אחד של המכונה שממנה מגיעה הבקשה.
- target: המיקום שבו המשתמש נוצר. חובה לכלול גם מידע על המשתמש (לדוגמה, target.user).
שדות אופציונליים:
- principal: פרטי המשתמש והתהליך של המכונה שבה התחילה הבקשה ליצירה או למחיקה של המשתמש.
- target: מידע על מכונת היעד (אם היא שונה מהמכונה הראשית).