מדריך לשימוש ב-UDM

במסמך הזה מוסבר על הנושאים הבאים:

פרטים על שדות מסוימים ב-UDM (לדוגמה, מספרי enum) מופיעים ברשימת השדות של המודל המאוחד לנתונים.

פורמטים של שמות שדות ב-UDM:

  • בהערכה של מנוע הכללים, התחילית מתחילה ב-udm.
  • במקרה של נורמליזציה מבוססת-הגדרה (CBN), הקידומת מתחילה ב-event.idm.read_only_udm.

אכלוס של מטא-נתונים של אירועים

בקטע של מטא-נתונים של אירועים ב-UDM מאוחסן מידע כללי על כל אירוע.

Metadata.event_type

  • Purpose: מציין את סוג האירוע. אם לאירוע יש כמה סוגים אפשריים, הערך הזה צריך לציין את הסוג הספציפי ביותר.
  • חובה: כן.
  • קידוד: צריך להיות אחד מסוגי הנתונים המנויים המוגדרים מראש של 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,‏ 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.
  • הגבלת אימות: כדי לעמוד במגבלות של יצירת אינדקס לחיפוש, מחרוזות של שמות מארחים לא יכולות להיות ארוכות מ-255 בייט.
  • דוגמאות:
    • 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 (4 בייט) או IPv6 (16 בייט) תקינה (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 תקינה באורך 6 בייט בפורמט של מזהה ייחודי מורחב (EUI-48) באורך 48 ביט, בקידוד ASCII.
  • אפשרות חזרה: אפשר לספק את כל כתובות ה-MAC המשויכות למכשיר בזמן האירוע.
  • דוגמאות:
    • 00:24:98:7B:19:02
    • 00:00:5e:00:53:2a

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

שדות המטא-נתונים של פרוטוקול DHCP (Dynamic Host Control Protocol) מתעדים מידע מיומני פרוטוקול ניהול רשת DHCP.

Dhcp.client_hostname

  • מטרה: שם המארח של הלקוח. מידע נוסף זמין ב-RFC 2132,‏ DHCP Options and BOOTP Vendor Extensions.
  • קידוד: מחרוזת.
  • הגבלת אימות: אורך המחרוזות של אפשרויות שם המארח לא יכול להיות יותר מ-255 בייט כדי לעמוד במגבלות של יצירת אינדקס לחיפוש.

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.
  • קידוד: מספר שלם לא מסומן באורך 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

  • Purpose: Stores the DHCP option data. מידע נוסף זמין ב-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.answers

Dns.authority

Dns.additional

מילוי מטא-נתונים של שאילתת DNS

שדות המטא-נתונים של שאילתת ה-DNS מתעדים את המידע שמופיע בקטע השאלה של הודעת פרוטוקול הדומיין.

Question.name

  • מטרה: אחסון שם הדומיין.
  • קידוד: מחרוזת.
  • הגבלות אימות: מחרוזות שאילתות של דומיין לא יכולות להיות ריקות, והן צריכות להיות באורך של 255 אוקטטים (בייטים) או פחות, בהתאם לתקנות RFC 1035 ולמגבלות של יצירת אינדקס לחיפוש.

Question.class

  • מטרה: אחסון הקוד שמציין את הסיווג של השאילתה.
  • קידוד: מספר שלם 32 ביט.

Question.type

  • Purpose: מאחסן את הקוד שמציין את סוג השאילתה.
  • קידוד: מספר שלם 32 ביט.

איכלוס מטא-נתונים של רשומת משאב DNS

שדות המטא-נתונים של רשומות משאבים מסוג DNS מתעדים את המידע שכלול ברשומת המשאבים של הודעת פרוטוקול בדומיין.

ResourceRecord.binary_data

  • מטרה: אחסון הבייטים הגולמיים של מחרוזות שאינן בתקן UTF8, שעשויות להיכלל כחלק מתגובת DNS. השימוש בשדה הזה מותר רק אם נתוני התגובה שמוחזרים על ידי שרת ה-DNS מכילים נתונים שאינם בפורמט UTF8. אחרת, צריך להציב את תגובת ה-DNS בשדה 'data'. המידע הזה צריך להיות מאוחסן כאן ולא ב-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

  • Purpose: Stores the email subject line.
  • קידוד: מחרוזת.
  • דוגמה: "תקרא את ההודעה הזו".

איכלוס המטא-נתונים של התוספים

סוגי אירועים עם מטא-נתונים מובנים שלא סווגו כבר על ידי 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
    • PDF
    • סקריפט 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.email_addresses או מזהה אבטחה של Windows ב-Group.windows_sid.

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

  • מטרה: אחסון ה-method של בקשת ה-HTTP. כשמתרחשת תנועה בפרוטוקולי התעבורה HTTP או HTTPS, צריך לציין שיטת בקשה פעילה. אי אפשר להשאיר את השיטה מוגדרת ל-METHOD_UNSPECIFIED.
  • קידוד: מחרוזת.
  • דוגמאות:
    • 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

  • מטרה: אחסון כותרת הבקשה של סוכן המשתמש, שכוללת את סוג האפליקציה, מערכת ההפעלה, ספק התוכנה או גרסת התוכנה של סוכן המשתמש של התוכנה ששולח את הבקשה. מחרוזות של כותרות User-Agent חייבות להכיל מערכים של תווים בקידוד UTF-8 תקין בלבד.
  • קידוד: מחרוזת.
  • דוגמאות:
    • 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—Enhanced Interior Gateway Routing Protocol
    • ‫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.exe group.

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 – הפרה של מדיניות האבטחה, כולל הפרות של כללי חומת אש, פרוקסי ו-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
    • מידע – לא זדוני
    • שגיאה – לא זדונית
    • נמוך – זדוני
    • MEDIUM—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

  • מטרה: אחסון השם האמצעי של המשתמש.
  • קידוד: מחרוזת.
  • דוגמה: אנתוני.

User.last_name

  • מטרה: אחסון שם המשפחה של המשתמש.
  • קידוד: מחרוזת.
  • דוגמה: Locke.

User.group_identifiers

  • מטרה: אחסון של מזהי הקבוצות (GUID,‏ LDAP OID או מזהה דומה) שמשויכים למשתמש.
  • קידוד: מחרוזת חוזרת.
  • דוגמה: admin-users.

User.phone_numbers

  • מטרה: אחסון מספרי הטלפון של המשתמש.
  • קידוד: מחרוזת חוזרת.
  • לדוגמה: 18005550101

User.title

  • מטרה: אחסון של שם המשרה של המשתמש.
  • קידוד: מחרוזת.
  • דוגמה: כלי לניהול קשרי לקוחות (CRM).

User.user_display_name

  • מטרה: אחסון השם המוצג של המשתמש.
  • קידוד: מחרוזת.
  • דוגמה: ג&#39ון לוק.

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
  • entity.ip חייב להכיל לפחות כתובת IPv4 או IPv6 חוקית אחת.
FILE
  • השדה entity.file חייב להופיע ולהכיל לפחות שדה אחד.
DOMAIN_NAME
  • השדה entity.hostname חייב להיות נוכח ולייצג שם מארח תקין באורך של עד 255 בייט.
  • Optional: אם השדה entity.domain.whois_server מאוכלס, ההודעה entity.domain לא יכולה להכיל יותר מ-50 שדות משוערים.
URL
  • חובה לציין את הערך של entity.url, והוא לא יכול להיות ריק.
MUTEX
  • חובה לציין את הערך entity.resource.
  • הערך של entity.resource.resource_type חייב להיות MUTEX.
  • חובה לציין את הערך של entity.resource.name, והוא לא יכול להיות ריק.
USER
  • חובה לציין את הערך entity.user.
  • עבור ישויות הקשר, במאפיין entity.user צריך לציין לפחות שדה אחד של זהות ליבה: user.userid,‏ user.windows_sid,‏ user.employee_id או כתובת אימייל ב-user.email_addresses. כל מזהה ליבה לא יכול לחרוג מ-256 תווים. בנוסף, צריך לספק את product_object_id ב-entity.user או את product_entity_id ב-metadata.
  • במקרה של ישויות מסוג Indicator of Compromise (IOC), צריך לציין לפחות כתובת אימייל אחת ב-user.email_addresses.entity.user
RESOURCE
  • חובה לציין את הערך entity.resource.
  • במקרה של ישויות הקשר, חובה לציין את entity.resource.resource_type ולא להשאיר אותו ריק. בנוסף, צריך לציין את product_object_id ב-entity.resource או את product_entity_id ב-metadata.
  • במקרה של ישויות מסוג Indicator of Compromise (IOC), צריך להגדיר את entity.resource.resource_type כ-MUTEX או כ-STORAGE_OBJECT.
    • אם resource_type הוא MUTEX: צריך לעמוד בדרישות של MUTEX.
    • אם resource_type הוא STORAGE_OBJECT:
      • חובה לציין את הערך של entity.resource.resource_subtype, והוא לא יכול להיות ריק.
      • צריך לספק לפחות אחד מהפרטים של השדות הבאים ב-entity.registry:
        entity.registry.registry_key
        entity.registry.registry_value_data
        entity.registry.registry_value_name
CIDR_BLOCK
  • הפרמטר entity.network.ip_subnet_range חייב להיות נוכח ולכלול סימון Classless Inter-Domain Routing‏ (CIDR) תקין בפורמט הבא: ip_address/prefix_length.
ASSET
  • חובה לציין את הערך entity.asset.
  • entity.asset חייב להכיל לפחות שדה זהות מרכזי אחד: asset.hostname,‏ asset.asset_id, כתובת IP ב-asset.ip או כתובת MAC ב-asset.mac. כל כתובת IP שצוינה צריכה להיות בפורמט IPv4 או IPv6 תקין.
  • חובה לציין את product_object_id ב-entity.asset או את product_entity_id ב-metadata.
GROUP
  • חובה לציין את הערך entity.group.
  • entity.group חייב לציין לפחות שדה זהות מרכזי אחד: כתובת אימייל ב-group.email_addresses או מזהה אבטחה של Windows ב-group.windows_sid.
  • חובה לציין את product_object_id ב-entity.group או את product_entity_id ב-metadata.
AI
  • חובה לציין את הערך entity.ai.

שדות חובה ואופציונליים לכל סוג אירוע

בקטע הזה מתוארים השדות הנדרשים והאופציונליים שצריך לאכלס עבור כל סוג של אירוע UDM.

פרטים על שדות מסוימים ב-UDM (לדוגמה, מספרי enum) מופיעים ברשימת השדות של המודל המאוחד לנתונים.

EMAIL_TRANSACTION, EMAIL_UNCATEGORIZED

שדות חובה:

  • מטא-נתונים: צריך לכלול את שדות החובה.
  • principal: מאכלסים במידע על המכונה שממנה נשלח אימייל (למשל, כתובת ה-IP של השולח).

שדות אופציונליים:

  • about: כתובות URL, כתובות IP, דומיינים וקבצים מצורפים שמוטמעים בתוכן האימייל. שימו לב: about.file.hash הוא לא שדה באינדקס לגיבוב קבצים. הצפיות ב-Hash לא יאוכלסו מ-Hash של קובץ מצורף שעבר נירמול בשדה הזה.
  • securityResult.about: כתובות URL, כתובות IP וקבצים לא תקינים שמוטמעים בגוף האימייל.
  • network.email: פרטי השולח או הנמען של האימייל. שימו לב שהשדה network.email הוא לא שדה של כינוי. אם אתם צריכים להשתמש בכינויים ובשיפורים לחיפוש או לזיהוי, תצטרכו ליצור אינדקס של חשבון משתמש או של יעד באמצעות תוסף של מנתח.
  • principal: אם יש נתונים במכונת הלקוח לגבי מי שלח את האימייל, צריך למלא את פרטי השרת ב-principal (לדוגמה, תהליך הלקוח, מספרי יציאות, שם משתמש וכו').
  • target: אם יש נתונים של שרת האימייל של היעד, מאכלסים את פרטי השרת ב-target (לדוגמה, כתובת ה-IP).
  • intermediary: אם יש נתונים של שרת דואר או נתונים של שרת proxy לדואר, צריך למלא את פרטי השרת ב-intermediary.

הערות:

  • לעולם אל תאכלס את principal.email או את target.email.
  • מאכלסים רק את שדה האימייל ב-security_result.about או ב-network.email.
  • בדרך כלל, תוצאות אבטחה ברמה העליונה כוללות קבוצת שמות עצם (אופציונלי לספאם).
  • המאפיין EMAIL_URL_CLICK מסומן כמאפיין שיצא משימוש.
דוגמה ל-UDM עבור EMAIL_TRANSACTION

בדוגמה הבאה אפשר לראות איך אירוע מסוג EMAIL_TRANSACTION יעוצב עבור Google SecOps UDM:

metadata {
  event_timestamp: "2023-07-06T06:26:10.448584Z"
  event_type: EMAIL_TRANSACTION
}
principal {
  ip: "1.2.3.4"
}

כפי שאפשר לראות בדוגמה הזו, האירוע מחולק לקטגוריות הבאות של UDM:

  • מטא-נתונים: מידע רקע על האירוע.
  • principal: מידע על המכשיר שממנו נשלח האימייל.

FILE_CREATION, FILE_DELETION, FILE_MODIFICATION, FILE_READ, FILE_OPEN, and FILE_UNCATEGORIZED

שדות חובה:

  • מטא-נתונים: צריך לכלול את שדות החובה.
  • principal:
    • לפחות מזהה מכונה אחד.
    • (אופציונלי) מאכלסים את principal.process במידע על התהליך שניגש לקובץ.
  • target:
    • אם הקובץ מרוחק (לדוגמה, שיתוף SMB), היעד חייב לכלול לפחות מזהה מכונה אחד למכונת היעד, אחרת כל מזהי המכונה צריכים להיות ריקים.
    • מאכלסים את target.file במידע על הקובץ.

שדות אופציונליים:

  • security_result: תיאור של הפעילות הזדונית שזוהתה.
  • principal.user: מאכלסים אם יש מידע על המשתמש לגבי התהליך.
דוגמה ל-UDM עבור FILE_MODIFICATION

בדוגמה הבאה אפשר לראות איך אירוע מסוג FILE_MODIFICATION יעבור עיצוב עבור Google SecOps UDM:

metadata {
  event_timestamp: "2023-07-03T12:14:38.164507Z"
  event_type: FILE_MODIFICATION
}
principal {
  hostname: "pinguino-01"
}
target {
  file {
    full_path: "foo.bar"
  }
}

כפי שאפשר לראות בדוגמה הזו, האירוע מחולק לקטגוריות הבאות של UDM:

  • מטא-נתונים: מידע רקע על האירוע.
  • principal: מידע על המכשיר שבו בוצע השינוי בקובץ.
  • target: מידע על הקובץ שבו בוצעו שינויים.

FILE_COPY

שדות חובה:

  • מטא-נתונים: צריך לכלול את שדות החובה כמו שמתואר.
  • principal:
    • לפחות מזהה מכונה אחד.
    • (אופציונלי) מאכלסים את principal.process במידע על התהליך שמבצע את פעולת העתקת הקובץ.
  • src:
    • מאכלסים את src.file במידע על קובץ המקור.
    • אם הקובץ מרוחק (לדוגמה, שיתוף SMB), המאפיין src צריך לכלול לפחות מזהה מכונה אחד של מכונת המקור שבה מאוחסן קובץ המקור.
  • target:
    • מאכלסים את target.file במידע על קובץ היעד.
    • אם הקובץ מרוחק (לדוגמה, שיתוף SMB), השדה target חייב לכלול לפחות מזהה מכונה אחד של מכונת היעד שמכילה את קובץ היעד.

שדות אופציונליים:

  • security_result: תיאור של הפעילות הזדונית שזוהתה.
  • principal.user: מאכלסים אם יש מידע על המשתמש לגבי התהליך.

FILE_MOVE, FILE_SYNC

שדות חובה:

  • מטא-נתונים: מידע רקע על האירוע.
  • principal: לפחות מזהה מכונה אחד (לדוגמה, principal.hostname).
  • src: כוללים את src.file.full_path כדי לייצג את הקובץ המקורי.
  • target: כולל את target.file.full_path כדי לייצג את קובץ היעד.
דוגמה ל-UDM עבור FILE_MOVE

בדוגמה הבאה אפשר לראות איך אירוע מסוג FILE_MOVE יעבור עיצוב עבור Google SecOps UDM:

{
    "metadata": {
        "event_timestamp": "2023-07-03T12:45:02.557878Z",
        "event_type": "FILE_MOVE"
    },
    "src": {
        "file": {
            "full_path": "foo.bar"
        }
    },
    "principal": {
        "hostname": "pinguino-01"
    },
    "target": {
        "file": {
            "full_path": "foo.bar"
        }
    }
}

כפי שאפשר לראות בדוגמה הזו, האירוע מחולק לקטגוריות הבאות של UDM:

  • מטא-נתונים: מידע רקע על האירוע.
  • principal: מידע על המכשיר שבו התבצעה העברת הקובץ.
  • src: מידע על קובץ המקור.
  • target: מידע על קובץ היעד.

MUTEX_CREATION, MUTEX_UNCATEGORIZED

שדות חובה:

  • מטא-נתונים: צריך לכלול את שדות החובה.
  • principal:
    • לפחות מזהה מכונה אחד.
    • מאכלסים את principal.process במידע על התהליך שיוצר את mutex. כדי לאמת את UDM, צריך אובייקט תהליך ב-principal. אי אפשר לעבור אימות UDM באמצעות תהליך שמתבצע רק ביעד.
  • 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: פרטי המכשיר והתהליך.
  • target: מידע על ה-mutex.

NETWORK_CONNECTION, NETWORK_FLOW, NETWORK_FTP, NETWORK_SMTP

שדות חובה:

  • metadata: event_timestamp
  • principal: כולל פרטים על המכונה שיזמה את החיבור לרשת (לדוגמה, מקור).
  • target: אם מכונת היעד שונה ממכונת המנהל, צריך לכלול פרטים לגבי מכונת היעד.
  • network: לכידת פרטים על חיבור הרשת (יציאות, פרוטוקול וכו').

שדות אופציונליים:

  • principal.process ו-target.process: כוללים מידע על התהליך שמשויך לגורם המרכזי וליעד של חיבור הרשת (אם המידע זמין).
  • principal.user ו-target.user: כוללים פרטי משתמש שמשויכים ל-principal ול-target של חיבור הרשת (אם זמינים).
  • network: תיעוד פרטים על חיבור הרשת, כולל יציאות ופרוטוקול.

NETWORK_DHCP

שדות חובה:

  • מטא-נתונים: מידע רקע על האירוע.
  • principal: מזהה מכונה אחד לפחות (לדוגמה, principal.ip).
  • network: צריך לציין את network.application_protocol כ-DHCP. צריך גם למלא את הערך של network.dhcp.opcode (לדוגמה, BOOTREQUEST או BOOTREPLY).
דוגמה ל-UDM עבור NETWORK_DHCP

בדוגמה הבאה אפשר לראות איך אירוע מסוג NETWORK_DHCP יעוצב עבור Google SecOps UDM:

{
    "metadata": {
        "event_timestamp": "2023-07-04T18:52:22.142364Z",
        "event_type": "NETWORK_DHCP"
    },
    "principal": {
        "ip": [
            "1.2.3.4"
        ]
    },
    "network": {
        "application_protocol": "DHCP",
        "dhcp": {
            "opcode": "BOOTREPLY"
        }
    }
}

כפי שאפשר לראות בדוגמה הזו, האירוע מחולק לקטגוריות הבאות של UDM:

  • מטא-נתונים: מידע רקע על האירוע.
  • principal: מידע על המכשיר שמבקש או מקבל את הקצאת כתובת ה-DHCP.
  • network: פרטים על חיבור הרשת של DHCP וקוד הפעולה.

NETWORK_DNS

שדות חובה:

  • principal: מזהה מכונה אחד לפחות (לדוגמה, principal.ip).
  • network: צריך לציין את network.application_protocol כ-DNS. נדרש גם network.dns.questions.name.
  • מטא-נתונים: מידע רקע על האירוע.
דוגמה ל-UDM עבור NETWORK_DNS

בדוגמה הבאה אפשר לראות איך אירוע מסוג NETWORK_DNS יעוצב עבור Google SecOps UDM:

{
    "metadata": {
        "event_timestamp": "2023-07-04T18:54:15.943301Z",
        "event_type": "NETWORK_DNS"
    },
    "principal": {
        "ip": [
            "1.2.3.4"
        ]
    },
    "network": {
        "application_protocol": "DNS",
        "dns": {
            "questions": {
                "name": "www.acme.com"
            }
        }
    }
}

כפי שאפשר לראות בדוגמה הזו, האירוע מחולק לקטגוריות הבאות של UDM:

  • מטא-נתונים: מידע רקע על האירוע.
  • principal: מידע על המכשיר ששולח את בקשת ה-DNS.
  • network: פרטים על חיבור רשת ה-DNS ועל שם הדומיין שנשלחה לגביו שאילתה.

NETWORK_HTTP

סוג האירוע NETWORK_HTTP מייצג חיבור רשת HTTP מבעל הרשאה לשרת אינטרנט יעד.

שדות חובה:

  • מטא-נתונים: צריך לכלול את שדות החובה.
  • target: מייצג את שרת האינטרנט. כוללים את פרטי המכשיר ומספר יציאה אופציונלי.
    • אם מספר יציאת היעד זמין, צריך לציין רק כתובת IP אחת בנוסף למספר היציאה שמשויך לחיבור הרשת הזה (אפשר לספק כמה מזהי מכונה אחרים ליעד).
    • במקרה של target.url, מאכלסים את השדה בכתובת ה-URL שאליה בוצעה גישה.

שדות אופציונליים:

  • principal: מייצג את הלקוח שיזם את בקשה לאחזור מהרשת. צריך לכלול לפחות מזהה מכונה אחד (לדוגמה, שם מארח, כתובת IP, כתובת MAC, מזהה נכס קנייני) או מזהה משתמש (לדוגמה, שם משתמש).
    • אם מתואר חיבור רשת ספציפי ומספר יציאת לקוח זמין, צריך לציין רק כתובת IP אחת יחד עם מספר היציאה שמשויך לחיבור הרשת הזה (אפשר גם לספק מזהים אחרים של המכונה כדי לתאר טוב יותר את מכשיר המשתתף).
    • אם אין יציאת מקור זמינה, אפשר לציין את כל כתובות ה-IP וה-MAC, מזהי הנכסים וערכי שם המארח שמתארים את המכשיר העיקרי.
  • network ו-network.http: כולל פרטים על חיבור רשת HTTP. ממלאים את השדות הבאים:
    • network.ip_protocol
    • network.application_protocol
    • network.http.method
  • about: מייצג ישויות אחרות שנמצאו בעסקת ה-HTTP (לדוגמה, קובץ שהועלה או הורד).
  • intermediary: מייצג שרת proxy (אם הוא שונה מהגורם המרכזי או מהיעד).
  • מטא-נתונים: ממלאים את שדות המטא-נתונים האחרים.
  • network: ממלאים את שאר השדות שקשורים לרשת.
  • network.email: אם חיבור הרשת מסוג HTTP נוצר מכתובת URL שהופיעה בהודעת אימייל, צריך למלא את הפרטים בשדה network.email.
  • 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": "2023-07-03T20:40:29.854097Z",
        "event_type": "PROCESS_MODULE_LOAD"
    },
    "principal": {
        "hostname": "pinguino-01",
        "process": {
            "file": {
                "full_path": "foo.bar"
            }
        }
    },
    "target": {
        "process": {
            "file": {
                "full_path": "foo.bar"
            }
        }
    }
}

כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:

  • מטא-נתונים: מידע רקע על האירוע.
  • principal: פרטים על המכשיר ועל התהליך שבו נטען המודול.
  • target: פרטים על התהליך והמודול.

PROCESS_PRIVILEGE_ESCALATION

שדות חובה:

  • מטא-נתונים: צריך לכלול את שדות החובה.
  • principal:
    • לפחות מזהה מכונה אחד.
    • principal.process: טעינת המודול.
    • principal.user: המשתמש שטוען את המודול.

שדות אופציונליים:

  • security_result: תיאור של הפעילות הזדונית שזוהתה.
דוגמה ל-UDM עבור PROCESS_PRIVILEGE_ESCALATION

בדוגמה הבאה אפשר לראות איך אירוע מסוג PROCESS_PRIVILEGE_ESCALATION יעבור עיצוב עבור UDM של Google SecOps:

{
    "metadata": {
        "event_timestamp": "2023-07-04T19:04:12.573338Z",
        "event_type": "PROCESS_PRIVILEGE_ESCALATION"
    },
    "principal": {
        "user": {
            "userid": "pinguino"
        },
        "hostname": "pinguino-01",
        "process": {
            "file": {
                "full_path": "foo.bar"
            }
        }
    },
    "target": {
        "process": {
            "file": {
                "full_path": "foo.bar"
            }
        }
    }
}

כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של UDM:

  • מטא-נתונים: מידע רקע על האירוע.
  • principal: פרטים על המכשיר, המשתמש והתהליך שמתחיל את ההעלאה.
  • target: פרטים על התהליך שהועבר לטיפול ברמה גבוהה יותר.

REGISTRY_CREATION, REGISTRY_MODIFICATION, REGISTRY_DELETION, REGISTRY_UNCATEGORIZED

שדות חובה:

  • מטא-נתונים: צריך לכלול את שדות החובה.
  • 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:

  • מטא-נתונים: מידע רקע על האירוע.
  • הגורם המבצע: פרטים על המכשיר, המשתמש והתהליך.
  • יעד: רשומה במאגר המידע שמושפעת מהשינוי.

כדאי לדעת

סוגי אירועים:

  • RESOURCE_CREATION
  • RESOURCE_DELETION
  • RESOURCE_PERMISSIONS_CHANGE
  • RESOURCE_READ
  • RESOURCE_WRITTEN

אירוע מינימלי ב-UDM:

{
   "metadata": {
       "event_timestamp": "2023-07-04T20:19:53.394745Z",
       "event_type": "RESOURCE_CREATION"
   },
   "principal": {
       "user": {
           "userid": "pinguino"
       }
   },
   "target": {
       "resource": {
           "name": "foo.bar"
       }
   }
}

SCAN_FILE, SCAN_HOST, SCAN_PROCESS, SCAN_VULN_HOST, SCAN_VULN_NETWORK

‫SCAN_FILE:

{
  "metadata": {
    "event_timestamp": "2023-07-06T06:57:08.443142Z",
    "event_type": "SCAN_FILE"
  },
  "principal": {
    "hostname": "pinguino-01"
  },
  "target": {
    "file": {
      "full_path": "foo.bar"
    }
  }
}

ל-SCAN_PROCESS:

{
  "metadata": {
    "event_timestamp": "2023-07-06T06:59:17.690425Z",
    "event_type": "SCAN_PROCESS"
  },
  "principal": {
    "hostname": "pinguino-01"
  },
  "target": {
    "process": {
      "file": {
        "full_path": "foo.bar"
      }
    }
  }
}

שדות חובה:

  • מטא-נתונים: חותמת הזמן של האירוע ומידע רקע על האירוע.
  • 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: חובה לציין ערך לא ריק שכולל מזהה מכונה.

    הערה: ההגדרה resource.type הוצאה משימוש. משתמשים ב-resource.resource_type.

  • target: חובה, לא יכול להיות ריק, וצריך לכלול משאב עם סוג שמוגדר כ-SETTING

דוגמה ל-UDM עבור סוג האירוע SETTING_MODIFICATION

בדוגמה הבאה אפשר לראות איך אירוע מסוג SETTING_MODIFICATION יעוצב עבור Google SecOps UDM:

{
    "metadata": {
        "event_timestamp": "2023-07-05T14:15:27.070909Z",
        "event_type": "SETTING_MODIFICATION"
    },
    "principal": {
        "hostname": "foo.bar"
    },
    "target": {
        "resource": {
            "type": "SETTING",
            "name": "foo.bar"
        }
    }
}

כפי שאפשר לראות בדוגמה הזו, האירוע חולק לקטגוריות הבאות של 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_BADGE_IN

שדות חובה:

  • מטא-נתונים: צריך לכלול את שדות החובה.
  • target: חייב לכלול לפחות מזהה מכונה אחד (לדוגמה, target.hostname).
  • extensions: מנגנון האימות צריך להיות מסופק ב-extensions.auth.type.
דוגמה ל-UDM של USER_BADGE_IN

בדוגמה הבאה אפשר לראות איך אירוע מסוג USER_BADGE_IN מעוצב עבור Google SecOps UDM:

{
    "metadata": {
        "event_timestamp": "2023-07-05T20:31:18.303584Z",
        "event_type": "USER_BADGE_IN"
    },
    "target": {
        "hostname": "jamon-01"
    },
    "extensions": {
        "auth": {
            "type": "MACHINE"
        }
    }
}

כפי שאפשר לראות בדוגמה הזו, האירוע מחולק לקטגוריות הבאות של UDM:

  • מטא-נתונים: מידע רקע על האירוע.
  • target: מידע על המכשיר או המיקום שבהם התרחשה הכניסה באמצעות התג.
  • extensions: פרטים לגבי מנגנון האימות שבו נעשה שימוש.

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), היעד חייב לכלול מידע על אפליקציית היעד, מכונת היעד או שרת ה-VPN של היעד.
  • intermediary: בכניסות באמצעות SSO, אם יש מזהה מכונה לשרת ה-SSO, צריך לכלול אותו לפחות פעם אחת ב-intermediary.
  • network ו-network.http: אם ההתחברות מתבצעת באמצעות HTTP, צריך להזין את כל הפרטים הזמינים ב-network.ip_protocol,‏ network.application_protocol ו-network.http.
  • תוסף אימות: התוסף צריך לזהות את סוג מערכת האימות שהאירוע קשור אליה (לדוגמה, מכונה, SSO או VPN) ואת המנגנון שבו נעשה שימוש (שם משתמש וסיסמה, OTP וכו').
  • security_result: מוסיפים שדה security_result כדי לייצג את סטטוס הכניסה אם היא נכשלת. אם האימות נכשל, צריך לציין את הערך AUTH_VIOLATION ב-security_result.category.
דוגמה ל-UDM עבור USER_LOGIN

בדוגמה הבאה אפשר לראות איך אירוע מסוג USER_LOGIN יעבור עיצוב עבור Google SecOps UDM:

{
    "metadata": {
        "event_timestamp": "2023-07-05T20:48:50.657334Z",
        "event_type": "USER_LOGIN"
    },
    "target": {
        "user": {
            "userid": "jamon"
        }
    },
    "extensions": {
        "auth": {
            "type": "MACHINE"
        }
    }
}

כפי שאפשר לראות בדוגמה הזו, האירוע מחולק לקטגוריות הבאות של UDM:

  • מטא-נתונים: מידע רקע על האירוע.
  • target: מידע על המשתמש שנכנס לחשבון.
  • extensions: פרטים לגבי מנגנון האימות שבו נעשה שימוש.

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: מידע על מכונת היעד (אם היא שונה מהמכונה הראשית).