UDM 使用指南
本文詳細說明 Unified Data Model (UDM) 結構定義中的欄位。其中列出各事件類型的必填和選填欄位。
如要瞭解特定 UDM 欄位 (例如列舉數字) 的詳細資料,請參閱「整合式資料模型欄位清單」。
UDM 欄位名稱格式:
- 規則引擎評估作業的前置字元為 udm。
- 如果是以設定為準的正規化工具 (CBN),前置字元會以 event.idm.read_only_udm 開頭。
填入事件中繼資料
UDM 事件的事件中繼資料部分會儲存每個事件的一般資訊。
Metadata.event_type
- 用途:指定活動類型。如果事件有多種可能類型,這個值必須指定最明確的類型。
- 必要:是。
- 編碼:必須是預先定義的 UDM event_type 列舉型別之一。
- 可能的值:下表列出 UDM 中 event_type 的所有可能值。
分析師事件
- 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_UNCATEGORIZED
- MUTEX_CREATION
網路遙測事件
網路遙測事件,包括原始通訊協定酬載 (例如 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、防毒軟體、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
- 用途:使用者可理解的活動說明。
- 編碼:英數字元字串,可使用標點符號,長度上限為 1024 個位元組
- 範例:檔案 c:\bar\foo.exe 無法存取機密文件 c:\documents\earnings.docx。
Metadata.product_event_type
- 用途:簡短、說明性、人類可讀且產品專屬的事件名稱或類型。
- 編碼:英數字串,可使用標點符號,最多 64 個位元組。
- 示例:
- 登錄檔建立事件
- ProcessRollUp
- 偵測到權限提升
- 已封鎖惡意軟體
Metadata.product_log_id
- 用途:編碼供應商專屬的事件 ID,用來專屬識別事件 (GUID)。使用者可能會使用這個 ID,在供應商的專屬控制台中搜尋相關事件。
- 編碼:區分大小寫的英數字元字串,可使用標點符號,長度上限為 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
- 用途:連結至相關網站的網址,您可以在該網站查看這項特定活動 (或一般活動類別) 的詳細資訊。
- 編碼:有效的 RFC 3986 網址,可包含通訊埠資訊等選用參數。網址前必須加上通訊協定前置字元 (例如 https:// 或 http://)。
- 範例:https://newco.altostrat.com:8080/event_info?event_id=12345
Metadata.vendor_name
- 用途:指定產品供應商的名稱。
- 編碼:區分大小寫的英數字元字串,可使用標點符號,長度上限為 256 個位元組
- 示例:
- CrowdStrike
- Symantec
名詞中繼資料的母體
在本節中,「名詞」是代表實體的統稱,包括「主體」、「來源」、「目標」、「中介」、「觀察者」和「關於」。這些實體具有共同屬性,但在事件中代表不同的物件。如要進一步瞭解實體,以及每個實體在事件中代表的意義,請參閱「將記錄資料格式設為 UDM」。
Noun.asset_id
- 用途:廠商專屬的不重複裝置 ID (例如,在新裝置上安裝端點安全軟體時產生的 GUID,用於長期追蹤該不重複裝置)。
- 編碼:VendorName.ProductName:ID,其中 VendorName 是不區分大小寫的* *供應商名稱,例如「Carbon Black」;ProductName 是不區分大小寫的產品名稱,例如「Response」或「Endpoint Protection」;ID 則是供應商專屬的客戶 ID,在客戶環境中具有全域唯一性 (例如 GUID 或可識別專屬裝置的唯一值)。VendorName 和 ProductName 為英數字元,長度不得超過 32 個字元。ID 長度上限為 128 個字元,且可包含英數字元、連字號和半形句號。
- 範例:CrowdStrike.Falcon:0bce4259-4ada-48f3-a904-9a526b01311f
Noun.email
- 用途:電子郵件地址
- 編碼:標準電子郵件地址格式。
- 範例:johns@test.altostrat.com
Noun.file
- 用途:詳細的檔案中繼資料。
- 類型:物件
- 請參閱「填入檔案中繼資料」。
Noun.hostname
- 用途:用戶端主機名稱或網域名稱欄位。如果含有網址,請勿加入。
- 編碼:有效的 RFC 1123 主機名稱。
- 示例:
- userwin10
- www.altostrat.com
Noun.platform
- 用途:平台作業系統。
- 編碼:列舉
- 可能的值:
- Linux
- MAC
- Windows
- UNKNOWN_PLATFORM
Noun.platform_patch_level
- 用途:平台作業系統修補程式等級。
- 編碼:英數字串,可含標點符號,最多 64 個字元。
- 範例:版本 17134.48
Noun.platform_version
- 用途:平台作業系統版本。
- 編碼:英數字串,可含標點符號,最多 64 個字元。
- 範例:Microsoft Windows 10 1803 版
Noun.process
- 用途:詳細的程序中繼資料。
- 類型:物件
- 請參閱「填入程序中繼資料」。
Noun.ip
- 目的:
- 與網路連線相關聯的單一 IP 位址。
- 與活動期間參與者裝置相關聯的一或多個 IP 位址 (例如,如果 EDR 產品知道與裝置相關聯的所有 IP 位址,即可將所有這些位址編碼至 IP 欄位)。
- 編碼:以 ASCII 編碼的有效 IPv4 或 IPv6 位址 (RFC 5942)。
- 可重複性:
- 如果事件描述特定網路連線 (例如 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 位址。
- 編碼:ASCII 中的有效 MAC 位址 (EUI-48)。
- 重複性:供應商可能會在活動期間提供裝置的所有相關聯 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
- 用途:標準網址
- 編碼:網址 (RFC 3986)。必須包含有效通訊協定前置字串 (例如 https:// 或 ftp://)。必須包含完整網域和路徑。可能包含網址的參數。
- 範例:https://foo.altostrat.com/bletch?a=b;c=d
Noun.user
- 目的:詳細使用者中繼資料。
- 類型:物件
- 請參閱「填入使用者中繼資料」。
填入驗證中繼資料
Authentication.AuthType
- 用途:與驗證事件相關聯的系統類型 (Google Security Operations UDM)。
- 編碼:列舉型別。
- 可能的值:
- AUTHTYPE_UNSPECIFIED
- MACHINE:機器驗證
- 實體驗證:實體驗證 (例如刷卡機)
- 單一登入 (SSO)
- TACACS:用於驗證網路系統的 TACACS 系列通訊協定 (例如 TACACS 或 TACACS+)
- VPN
Authentication.Authentication_Status
- 用途:說明使用者或特定憑證的驗證狀態。
- 編碼:列舉型別。
- 可能的值:
- UNKNOWN_AUTHENTICATION_STATUS:預設驗證狀態
- 有效:驗證方法處於有效狀態
- 已暫停:驗證方法處於暫停或停用狀態
- 已刪除 - 驗證方式已刪除
- NO_ACTIVE_CREDENTIALS:驗證方法沒有有效的憑證。
Authentication.auth_details
- 用途:供應商定義的驗證詳細資料。
- 編碼:字串。
Authentication.Mechanism
- 用途:用於驗證的機制。
- 編碼:列舉型別。
- 可能的值:
- MECHANISM_UNSPECIFIED:預設驗證機制。
- BADGE_READER
- BATCH:批次驗證。
- CACHED_INTERACTIVE:使用快取憑證進行互動式驗證。
- HARDWARE_KEY
- LOCAL
- MECHANISM_OTHER:此處未定義的其他機制。
- NETWORK:網路驗證。
- NETWORK_CLEAR_TEXT:網路明文驗證。
- NEW_CREDENTIALS:使用新憑證進行驗證。
- OTP
- REMOTE:遠端驗證
- REMOTE_INTERACTIVE:RDP、終端機服務、虛擬網路計算 (VNC) 等。
- SERVICE:服務驗證。
- 解鎖:直接與使用者互動,進行解鎖驗證。
- USERNAME_PASSWORD
填入 DHCP 中繼資料
動態主機控制通訊協定 (DHCP) 中繼資料欄位會擷取 DHCP 網路管理通訊協定記錄檔資訊。
Dhcp.client_hostname
- 用途:用戶端的主機名稱。詳情請參閱 RFC 2132「DHCP Options and BOOTP Vendor Extensions」(DHCP 選項和 BOOTP 供應商擴充功能)。
- 編碼:字串。
Dhcp.client_identifier
- 目的:用戶端 ID。詳情請參閱 RFC 2132「DHCP Options and BOOTP Vendor Extensions」(DHCP 選項和 BOOTP 供應商擴充功能)。
- 編碼:位元組。
Dhcp.file
- 用途:開機映像檔的檔案名稱。
- 編碼:字串。
Dhcp.flags
- 用途:DHCP 旗標欄位的值。
- 編碼:32 位元不帶正負號整數。
Dhcp.hlen
- 目的:硬體位址長度。
- 編碼:32 位元不帶正負號整數。
Dhcp.hops
- 用途:DHCP 躍點計數。
- 編碼:32 位元不帶正負號整數。
Dhcp.htype
- 用途:硬體位址類型。
- 編碼:32 位元不帶正負號整數。
Dhcp.lease_time_seconds
- 用途:用戶端要求的 IP 位址租用時間 (以秒為單位)。詳情請參閱 RFC 2132「DHCP Options and BOOTP Vendor Extensions」(DHCP 選項和 BOOTP 供應商擴充功能)。
- 編碼:32 位元不帶正負號整數。
Dhcp.opcode
- 用途:BOOTP 作業碼 (請參閱 RFC 951 的第 3 節)。
- 編碼:列舉型別。
- 可能的值:
- UNKNOWN_OPCODE
- BOOTREQUEST
- BOOTREPLY
Dhcp.requested_address
- 目的:用戶端 ID。詳情請參閱 RFC 2132「DHCP Options and BOOTP Vendor Extensions」(DHCP 選項和 BOOTP 供應商擴充功能)。
- 編碼:以 ASCII 編碼的有效 IPv4 或 IPv6 位址 (RFC 5942)。
Dhcp.seconds
- 用途:用戶端開始取得/續訂地址程序後經過的秒數。
- 編碼:32 位元不帶正負號整數。
Dhcp.sname
- 用途:用戶端要求從中啟動的伺服器名稱。
- 編碼:字串。
Dhcp.transaction_id
- 用途:用戶端交易 ID。
- 編碼:32 位元不帶正負號整數。
Dhcp.type
- 用途:DHCP 訊息類型。詳情請參閱 RFC 1533。
- 編碼:列舉型別。
- 可能的值:
- UNKNOWN_MESSAGE_TYPE
- DISCOVER
- 優惠
- 提出要求
- 拒絕
- ACK
- NAK
- RELEASE
- INFORM
- WIN_DELECTED
- WIN_EXPIRED
Dhcp.chaddr
- 用途:用戶端硬體的 IP 位址。
- 編碼:以 ASCII 編碼的有效 IPv4 或 IPv6 位址 (RFC 5942)。
Dhcp.ciaddr
- 用途:用戶端的 IP 位址。
- 編碼:以 ASCII 編碼的有效 IPv4 或 IPv6 位址 (RFC 5942)。
Dhcp.giaddr
- 用途:中繼代理程式的 IP 位址。
- 編碼:以 ASCII 編碼的有效 IPv4 或 IPv6 位址 (RFC 5942)。
Dhcp.siaddr
- 用途:下一個啟動伺服器的 IP 位址。
- 編碼:以 ASCII 編碼的有效 IPv4 或 IPv6 位址 (RFC 5942)。
Dhcp.yiaddr
- 用途:您的 IP 位址。
- 編碼:以 ASCII 編碼的有效 IPv4 或 IPv6 位址 (RFC 5942)。
填入 DHCP 選項中繼資料
DHCP 選項中繼資料欄位會擷取 DHCP 選項記錄資訊。
Option.code
- 用途:儲存 DHCP 選項代碼。詳情請參閱 RFC 1533「DHCP Options and BOOTP Vendor Extensions」(DHCP 選項和 BOOTP 供應商擴充功能)。
- 編碼:不帶正負號的 32 位元整數。
Option.data
- 用途:儲存 DHCP 選項資料。詳情請參閱 RFC 1533「DHCP Options and BOOTP Vendor Extensions」(DHCP 選項和 BOOTP 供應商擴充功能)。
- 編碼:位元組。
填入 DNS 中繼資料
DNS 中繼資料欄位會擷取與 DNS 要求和回應封包相關的資訊。這些記錄與 DNS 要求和回應資料包中的資料一一對應。
Dns.authoritative
- 用途:設為 true,適用於權威 DNS 伺服器。
- 編碼:布林值。
Dns.id
- 用途:儲存 DNS 查詢 ID。
- 編碼:32 位元整數。
Dns.response
- 用途:如果事件是 DNS 回應,請設為 true。
- 編碼:布林值。
Dns.opcode
- 用途:儲存用於指定 DNS 查詢類型 (標準、反向、伺服器狀態等) 的 DNS OpCode。
- 編碼:32 位元整數。
Dns.recursion_available
- 用途:如果可以使用遞迴 DNS 查詢,請設為 true。
- 編碼:布林值。
Dns.recursion_desired
- 目的:如果要求遞迴 DNS 查詢,請設為 true。
- 編碼:布林值。
Dns.response_code
- 用途:儲存 RFC 1035 (網域名稱 - 實作與規格) 定義的 DNS 回應碼。
- 編碼:32 位元整數。
Dns.truncated
- 用途:如果這是經過截斷的 DNS 回應,請設為 true。
- 編碼:布林值。
Dns.questions
- 用途:儲存網域通訊協定訊息問題。請參閱「填入 DNS 問題中繼資料」。
Dns.answers
- 用途:儲存網域名稱查詢的答案。請參閱「填入 DNS 資源記錄中繼資料」。
Dns.authority
- 用途:儲存驗證網域名稱查詢答案的網域名稱伺服器。請參閱「填入 DNS 資源記錄中繼資料」。
Dns.additional
- 用途:儲存可用於驗證網域答案的其他網域名稱伺服器。請參閱「填入 DNS 資源記錄中繼資料」。
填入 DNS 問題中繼資料
DNS 問題中繼資料欄位會擷取網域通訊協定訊息問題部分所含的資訊。
Question.name
- 用途:儲存網域名稱。
- 編碼:字串。
Question.class
- 用途:儲存指定查詢類別的代碼。
- 編碼:32 位元整數。
Question.type
- 用途:儲存指定查詢類型的代碼。
- 編碼:32 位元整數。
填入 DNS 資源記錄中繼資料
DNS 資源記錄中繼資料欄位會擷取網域通訊協定訊息資源記錄中的資訊。
ResourceRecord.binary_data
- 用途:儲存可能納入 DNS 回應中的任何非 UTF8 字串的原始位元組。如果 DNS 伺服器傳回的回應資料包含非 UTF8 資料,才需要使用這個欄位。否則,請將 DNS 回應放在下方的資料欄位中。這類資訊必須儲存在這裡,而不是 ResourceRecord.data。
編碼:位元組。
ResourceRecord.class
- 用途:儲存指定資源記錄類別的代碼。
- 編碼:32 位元整數。
ResourceRecord.data
- 用途:儲存以 UTF-8 格式編碼的所有回應,其中包含 DNS 問題的酬載或回應。舉例來說,資料欄位可能會傳回網域名稱所指機器的 IP 位址。如果資源記錄適用於其他類型或類別,則可能包含其他網域名稱 (當一個網域名稱重新導向至另一個網域名稱時)。資料必須按照 DNS 回應中的格式儲存。
- 編碼:字串。
ResourceRecord.name
- 用途:儲存資源記錄擁有者的名稱。
- 編碼:字串。
ResourceRecord.ttl
- 用途:儲存資源記錄可快取的時間間隔,之後系統會再次查詢資訊來源。
- 編碼:32 位元整數。
ResourceRecord.type
- 用途:儲存指定資源記錄類型的代碼。
- 編碼:32 位元整數。
填入電子郵件中繼資料
大部分的電子郵件中繼資料欄位都會擷取郵件標頭中包含的電子郵件地址,且應符合 RFC 5322 中定義的標準電子郵件地址格式 (local-mailbox@domain)。例如:frank@email.example.com。
Email.from
- 用途:儲存「寄件者」電子郵件地址。
- 編碼:字串。
Email.reply_to
- 用途:儲存 reply_to 電子郵件地址。
- 編碼:字串。
Email.to
- 用途:儲存「收件者」電子郵件地址。
- 編碼:字串。
Email.cc
- 用途:儲存副本 (cc) 電子郵件地址。
- 編碼:字串。
Email.bcc
- 用途:儲存 bcc 電子郵件地址。
- 編碼:字串。
Email.mail_id
- 用途:儲存郵件 (或訊息) 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
- 用途:檔案的 SHA-1 雜湊值。
- 編碼:字串,小寫十六進位。
- 範例:eb3520d53b45815912f2391b713011453ed8abcf
File.sha256
- 用途:檔案的 SHA-256 雜湊值。
- 編碼:字串,小寫十六進位。
- 範例:d7173c568b8985e61b4050f81b3fd8e75bc922d2a0843d7079c81ca4b6e36417
File.size
- 用途:檔案大小。
- 編碼:64 位元不帶正負號整數。
- 示例:342135
填寫 FTP 中繼資料
Ftp.command
- 用途:儲存 FTP 指令。
- 編碼:字串。
- 示例:
- 二進位
- 刪除
- get
- put
填寫群組中繼資料
機構群組的相關資訊。
Group.creation_time
- 用途:群組建立時間。
- 編碼:RFC 3339,適用於 JSON 或 Proto3 時間戳記格式。
Group.email_addresses
- 目的:群組聯絡資訊。
- 編碼:電子郵件。
Group.group_display_name
- 用途:群組顯示名稱。
- 編碼:字串。
- 示例:
- 金融
- 人資
- 行銷
Group.product_object_id
- 用途:產品的全域專屬使用者物件 ID,例如 LDAP 物件 ID。
- 編碼:字串。
Group.windows_sid
- 用途:Microsoft Windows 安全性 ID (SID) 群組屬性欄位。
- 編碼:字串。
填入 HTTP 中繼資料
Http.method
- 用途:儲存 HTTP 要求方法。
- 編碼:字串。
- 示例:
- GET
- HEAD
- POST
Http.referral_url
- 用途:儲存 HTTP 參照網址。
- 編碼:有效的 RFC 3986 網址。
- 範例:https://www.altostrat.com
Http.response_code
- 用途:儲存 HTTP 回應狀態碼,指出特定 HTTP 要求是否已成功完成。
- 編碼:32 位元整數。
- 示例:
- 400
- 404
Http.user_agent
- 用途:儲存 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
- 用途:指出網路應用程式通訊協定。
- 編碼:列舉型別。
可能的值:
- 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
- FINGER
- 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
- 遠端桌面協定
- 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
- 用途:指出網路流量的方向。
- 編碼:列舉型別。
- 可能的值:
- UNKNOWN_DIRECTION
- INBOUND
- OUTBOUND
- 廣播
Network.email
- 用途:指定寄件者/收件者的電子郵件地址。
- 編碼:字串。
- 範例:jcheng@company.example.com
Network.ip_protocol
- 用途:指出 IP 通訊協定。
- 編碼:列舉型別。
- 可能的值:
- UNKNOWN_IP_PROTOCOL
- EIGRP - 增強型內部閘道轉送通訊協定
- ESP - 封裝安全酬載
- ETHERIP - Ethernet-within-IP Encapsulation
- GRE - 通用路由封裝
- ICMP - 網際網路控制訊息通訊協定
- IGMP - 網際網路群組管理通訊協定
- IP6IN4 - IPv6 封裝
- PIM - 獨立於通訊協定的多點傳播
- TCP - 傳輸控制通訊協定
- UDP - 使用者資料包通訊協定
- VRRP - 虛擬路由器備援通訊協定
Network.received_bytes
- 用途:指定接收的位元組數。
- 編碼:64 位元不帶正負號整數。
- 示例:12,453,654,768
Network.sent_bytes
- 用途:指定傳送的位元組數。
- 編碼: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
- 用途:儲存網路工作階段 ID。
- 編碼:字串。
- 範例:SID:ANON:www.w3.org:j6oAOxCWZh/CD723LGeXlf-01:34
填寫程序中繼資料
Process.command_line
- 用途:儲存程序的指令列字串。
- 編碼:字串。
- 例如:
c:\windows\system32\net.exe
group。
Process.product_specific_process_id
- 用途:儲存產品專屬的程序 ID。
- 編碼:字串。
- 範例:
MySQL:78778
或CS:90512
Process.parent_process.product_specific_process_id
- 用途:儲存上層程序的產品專屬程序 ID。
- 編碼:字串。
- 範例:
MySQL:78778
或CS:90512
Process.file
- 用途:儲存程序使用的檔案名稱。
- 編碼:字串。
- 例如:report.xls
Process.parent_process
- 用途:儲存父項程序的詳細資料。
- 編碼:名詞 (程序)
Process.pid
- 用途:儲存程序 ID。
- 編碼:字串。
- 示例:
- 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
- 用途:指定安全動作。
- 編碼:列舉型別。
- 可能的值:Google SecOps UDM 定義了下列安全措施:
- 允許
- ALLOW_WITH_MODIFICATION:檔案或電子郵件已清除病毒或重新編寫,但仍會轉寄。
- 封鎖
- 隔離:儲存以供日後分析 (不代表封鎖)。
- UNKNOWN_ACTION
SecurityResult.action_details
- 目的:供應商提供的詳細資料,說明因應安全事件而採取的行動。安全性動作通常最適合轉換為更通用的 Security_Result.action UDM 欄位。不過,您可能需要為供應商提供的確切動作說明編寫規則。
- 編碼:字串。
- 示例:drop、block、decrypt、encrypt。
SecurityResult.category
- 用途:指定安全類別。
- 編碼:列舉。
- 可能的值:Google SecOps UDM 定義了下列安全性類別:
- ACL_VIOLATION:嘗試未經授權的存取行為,包括嘗試存取檔案、網路服務、程序、網路物件等。
- AUTH_VIOLATION:驗證失敗,例如密碼或雙重驗證錯誤。
- DATA_AT_REST - DLP:掃描時發現的靜態感應器資料。
- DATA_DESTRUCTION:嘗試毀損/刪除資料。
- DATA_EXFILTRATION—DLP:感應器資料傳輸、複製到隨身碟。
- EXPLOIT:嘗試溢位、通訊協定編碼錯誤、ROP、SQL 插入等,包括網路和主機型。
- MAIL_PHISHING:網路釣魚電子郵件、即時通訊訊息等。
- MAIL_SPAM:垃圾電子郵件、訊息等。
- MAIL_SPOOFING:假冒的來源電子郵件地址等。
- NETWORK_CATEGORIZED_CONTENT
- NETWORK_COMMAND_AND_CONTROL:如果已知指令與控制通道。
- NETWORK_DENIAL_OF_SERVICE
- NETWORK_MALICIOUS:指令與控制、網路漏洞、可疑活動、潛在反向通道等。
- NETWORK_SUSPICIOUS:與安全性無關,例如網址與賭博等活動有關。
- NETWORK_RECON:IDS 偵測到連接埠掃描,網頁應用程式正在探查。
- POLICY_VIOLATION:違反安全性政策,包括違反防火牆、Proxy 和 HIPS 規則,或 NAC 封鎖動作。
- SOFTWARE_MALICIOUS:惡意軟體、間諜軟體、Rootkit 等。
- SOFTWARE_PUA:可能有害的應用程式,例如廣告軟體等。
- SOFTWARE_SUSPICIOUS
- UNKNOWN_CATEGORY
SecurityResult.confidence
- 目的:指定產品估算的安全性事件信心指數。
- 編碼:列舉。
- 可能的值:Google SecOps UDM 定義了下列產品信心類別:
- UNKNOWN_CONFIDENCE
- LOW_CONFIDENCE
- MEDIUM_CONFIDENCE
- HIGH_CONFIDENCE
SecurityResult.confidence_details
- 目的:產品供應商估計安全性事件的信心程度,並提供額外詳細資料。
- 編碼:字串。
SecurityResult.priority
- 目的:指定產品供應商估算的安全性事件優先順序。
- 編碼:列舉。
- 可能的值:Google SecOps UDM 定義了下列產品優先順序類別:
- UNKNOWN_PRIORITY
- LOW_PRIORITY
- MEDIUM_PRIORITY
- HIGH_PRIORITY
SecurityResult.priority_details
- 目的:提供特定供應商的安全結果優先順序資訊。
- 編碼:字串。
SecurityResult.rule_id
- 用途:安全規則的 ID。
- 編碼:字串。
- 示例:
- 08123
- 5d2b44d0-5ef6-40f5-a704-47d61d3babbe
SecurityResult.rule_name
- 用途:安全規則的名稱。
- 編碼:字串。
- 範例:BlockInboundToOracle。
SecurityResult.severity
- 用途:產品供應商使用 Google SecOps UDM 定義的值,估算安全事件的嚴重程度。
- 編碼:列舉。
- 可能的值:Google SecOps UDM 定義了下列產品嚴重程度:
- UNKNOWN_SEVERITY - Non-malicious
- 參考用 - 非惡意
- 錯誤 - 非惡意
- 低:惡意
- 中等:惡意
- HIGH - Malicious
SecurityResult.severity_details
- 目的:產品供應商估計的安全事件嚴重程度。
- 編碼:字串。
SecurityResult.threat_name
- 目的:安全威脅的名稱。
- 編碼:字串。
- 示例:
- W32/File-A
- Slammer
SecurityResult.url_back_to_product
- 用途:可將您導向這個安全性事件的來源產品控制台。
- 編碼:字串。
填寫使用者中繼資料
User.email_addresses
- 用途:儲存使用者的電子郵件地址。
- 編碼:重複字串。
- 範例:johnlocke@company.example.com
User.employee_id
- 用途:儲存使用者的人力資源員工 ID。
- 編碼:字串。
- 範例:11223344。
User.first_name
- 用途:儲存使用者的名字。
- 編碼:字串。
- 示例:John。
User.middle_name
- 用途:儲存使用者的中間名。
- 編碼:字串。
- 範例:安東尼。
User.last_name
- 用途:儲存使用者的姓氏。
- 編碼:字串。
- 範例:洛克。
User.group_identifiers
- 用途:儲存與使用者相關聯的群組 ID (GUID、LDAP OID 或類似 ID)。
- 編碼:重複字串。
- 例如:admin-users。
User.phone_numbers
- 用途:儲存使用者的電話號碼。
- 編碼:重複字串。
- 範例:800-555-0101
User.title
- 用途:儲存使用者的職稱。
- 編碼:字串。
- 範例:客戶關係管理程式。
User.user_display_name
- 用途:儲存使用者的顯示名稱。
- 編碼:字串。
- 範例:約翰·洛克。
User.userid
- 用途:儲存使用者 ID。
- 編碼:字串。
- 範例:jlocke。
User.windows_sid
- 用途:儲存與使用者相關聯的 Microsoft Windows 安全性識別碼 (SID)。
- 編碼:字串。
- 示例:S-1-5-21-1180649209-123456789-3582944384-1064
填入安全漏洞中繼資料
Vulnerability.about
- 用途:如果漏洞與特定名詞 (例如可執行檔) 有關,請在此處新增。
- 編碼:名詞。請參閱填入名詞中繼資料
- 範例:可執行檔。
Vulnerability.cvss_base_score
- 用途:一般安全漏洞評分系統 (CVSS) 的基礎分數。
- 編碼:浮點數。
- 範圍:0.0 至 10.0
- 示例:8.5
Vulnerability.cvss_vector
用途:安全漏洞 CVSS 屬性的向量。CVSS 分數由下列指標組成:
- 攻擊向量 (AV)
- 存取複雜度 (AC)
- 驗證 (Au)
- 機密性影響 (C)
- 完整性影響 (I)
- 可用性影響 (A)
編碼:字串。
範例: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
- 用途:安全漏洞名稱。
- 編碼:字串。
- 示例:偵測到不支援的 OS 版本。
Vulnerability.scan_end_time
- 用途:如果是在資產掃描期間發現安全漏洞,請在這個欄位中填入掃描結束時間。如果沒有結束時間或不適用,請將這個欄位保留空白。
- 編碼:字串。
Vulnerability.scan_start_time
- 用途:如果是在資產掃描期間發現安全漏洞,請在這個欄位中填入掃描開始時間。如果開始時間不適用或無法提供,請將這個欄位留空。
- 編碼:字串。
Vulnerability.severity
- 目的:安全漏洞的嚴重程度。
- 編碼:列舉型別。
- 可能的值:
- UNKNOWN_SEVERITY
- 低
- 中
- 高
Vulnerability.severity_details
- 用途:供應商專屬嚴重程度詳細資料。
- 編碼:字串。
填入快訊中繼資料
idm.is_significant
- 用途:指定是否要在企業洞察中顯示快訊。
- 編碼:布林值。
idm.is_alert
- 用途:判斷事件是否為快訊。
- 編碼:布林值。
各事件類型的必填和選填欄位
本節說明每種 UDM 事件類型應填入的必填和選填欄位。
如要瞭解特定 UDM 欄位 (例如列舉數字) 的詳細資料,請參閱「整合式資料模型欄位清單」。
EMAIL_TRANSACTION
必填欄位:
- 中繼資料:包含必填欄位。
- 主體:填入電子郵件訊息來源機器的相關資訊 (例如寄件者的 IP 位址)。
選填欄位:
- 關於:網址、IP 位址、網域,以及電子郵件內文中嵌入的任何檔案附件。
- securityResult.about:電子郵件內文中內嵌的惡意網址、IP 和檔案。
- network.email:電子郵件寄件者或收件者資訊。
- 主體:如果電子郵件寄件者有用戶端電腦資料,請在主體中填入伺服器詳細資料 (例如用戶端程序、通訊埠號碼、使用者名稱等)。
- 目標:如有目的地電子郵件伺服器資料,請在目標中填入伺服器詳細資料 (例如 IP 位址)。
- intermediary:如有郵件伺服器資料或郵件 Proxy 資料,請在 intermediary 中填入伺服器詳細資料。
注意:
- 請勿填入 principal.email 或 target.email。
- 請只在 security_result.about 或 network.email 中填入電子郵件欄位。
- 頂層安全結果通常會有一組名詞 (垃圾內容則為選用)。
FILE_CREATION、FILE_DELETION、FILE_MODIFICATION、FILE_READ 和 FILE_OPEN
必填欄位:
- 中繼資料:包含必填欄位。
- principal:
- 至少一個機器 ID。
- (選用) 在 principal.process 中填入存取檔案的程序相關資訊。
- target:
- 如果檔案是遠端檔案 (例如 SMB 共用),目標必須包含目標機器的至少一個機器 ID,否則所有機器 ID 都必須空白。
- 在 target.file 中填入檔案相關資訊。
選填欄位:
- security_result:說明偵測到的惡意活動。
- principal.user:如果程序提供使用者資訊,請填入這項欄位。
FILE_COPY
必填欄位:
- 中繼資料:請按照說明加入必填欄位。
- principal:
- 至少一個機器 ID。
- (選用) 在 principal.process 中填入執行檔案複製作業的程序相關資訊。
- src:
- 在 src.file 中填入來源檔案的相關資訊。
- 如果檔案是遠端檔案 (例如 SMB 共用),src 必須至少包含一個來源機器 ID,用於儲存來源檔案的來源機器。
- target:
- 在 target.file 中填入目標檔案的相關資訊。
- 如果檔案位於遠端 (例如 SMB 共用區),則「target」欄位必須至少包含一個目標電腦的電腦 ID,該電腦存放目標檔案。
選填欄位:
- security_result:說明偵測到的惡意活動。
- principal.user:如果程序提供使用者資訊,請填入這項欄位。
MUTEX_CREATION
必填欄位:
- 中繼資料:包含必填欄位。
- principal:
- 至少一個機器 ID。
- 使用建立互斥鎖的程序相關資訊填入 principal.process。
- target:
- 填入 target.resource。
- 在 target.resource.type 中填入 MUTEX。
- 使用所建立互斥鎖的名稱填入 target.resource.name。
選填欄位:
- security_result:說明偵測到的惡意活動。
- principal.user:如果程序提供使用者資訊,請填入這項欄位。
MUTEX_CREATION 的 UDM 範例
以下範例說明如何為 Google SecOps UDM 格式化 MUTEX_CREATION 類型的事件:
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 類別:
- metadata:活動的背景資訊。
- 主體:裝置和程序詳細資料。
- target:互斥鎖的相關資訊。
NETWORK_CONNECTION
必填欄位:
- 中繼資料:event_timestamp
- 主體:包含啟動網路連線的機器詳細資料 (例如來源)。
- 目標:如果與主要機器不同,請加入目標機器的詳細資料。
- network:擷取網路連線的詳細資料 (通訊埠、通訊協定等)。
選填欄位:
- principal.process 和 target.process:包含與網路連線主體和目標相關聯的程序資訊 (如有)。
- principal.user 和 target.user:包含與網路連線主體和目標相關聯的使用者資訊 (如有)。
NETWORK_HTTP
NETWORK_HTTP 事件類型代表從主體到目標網路伺服器的 HTTP 網路連線。
必填欄位:
- 中繼資料:包含必填欄位。
- 主體:代表發起網頁要求的用戶端,且至少包含一個機器 ID (例如主機名稱、IP、MAC、專有資產 ID) 或使用者 ID (例如使用者名稱)。如果說明瞭特定網路連線,且有可用的用戶端通訊埠號碼,則必須指定一個 IP 位址,以及與該網路連線相關聯的通訊埠號碼 (雖然可以提供其他機器 ID,以便更清楚說明參與者裝置)。如果沒有來源埠,可以指定任何 IP 和 MAC 位址、資產 ID,以及描述主體裝置的主機名稱值。
- target:代表網頁伺服器,包含裝置資訊和通訊埠號碼 (選用)。如有目標通訊埠編號,除了與該網路連線相關聯的通訊埠編號外,請只指定一個 IP 位址 (雖然可以為目標提供多個其他機器 ID)。針對 target.url,請填入存取的網址。
- network 和 network.http:包含 HTTP 網路連線的詳細資料。請務必填寫下列欄位:
- network.ip_protocol
- network.application_protocol
- network.http.method
選填欄位:
- about:代表 HTTP 交易中找到的其他實體 (例如上傳或下載的檔案)。
- 中介:代表 Proxy 伺服器 (如與主體或目標不同)。
- 中繼資料:填寫其他中繼資料欄位。
- network:填入其他網路欄位。
- network.email:如果 HTTP 網路連線來自電子郵件訊息中的網址,請填入 network.email 的詳細資料。
- 觀察者:代表被動式封包監聽器 (如有)。
- security_result:在 security_result 欄位中新增一或多個項目,代表偵測到的惡意活動。
NETWORK_HTTP 的 UDM 範例
以下範例說明如何將 NETWORK_HTTP 類型的 Sophos 防毒事件轉換為 Google SecOps UDM 格式。
以下是原始的 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
以下說明如何使用 Google SecOps UDM 語法,在 Proto3 中格式化相同資訊:
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 類別:
- metadata:活動的背景資訊。
- 主體:偵測到事件的安全性裝置。
- 目標:收到惡意軟體的裝置。
- network:惡意主機的網路資訊。
- security_result:惡意軟體的安全性詳細資料。
- 其他:UDM 範圍外的供應商資訊。
PROCESS_INJECTION、PROCESS_LAUNCH、PROCESS_OPEN、PROCESS_TERMINATION、PROCESS_UNCATEGORIZED
必填欄位:
- 中繼資料:包含必填欄位。
- principal:
- 至少一個機器 ID。
- 如果是程序注入和程序終止事件,principal.process 必須包含啟動動作的程序相關資訊 (例如,如果是程序啟動事件,principal.process 必須包含父項程序的詳細資料,前提是這類資料可用)。
- target:
- target.process:包含要插入、開啟、啟動或終止的程序相關資訊。
- 如果目標程序是遠端程序,目標必須至少包含目標機器的其中一個機器 ID (例如 IP 位址、MAC、主機名稱或第三方資產 ID)。
選填欄位:
- security_result:說明偵測到的惡意活動。
- principal.user 和 target.user:如果使用者資訊可用,請填入啟動程序 (主體) 和目標程序。
PROCESS_LAUNCH 的 UDM 範例
以下範例說明如何使用 Google SecOps UDM 語法,設定 PROCESS_LAUNCH 事件的格式:
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 類別:
- metadata:活動的背景資訊。
- 主體:裝置詳細資料。
- 目標:處理詳細資料。
PROCESS_MODULE_LOAD
必填欄位:
- 中繼資料:包含必填欄位。
- principal:
- 至少一個機器 ID。
- principal.process:載入模組的程序。
- target:
- target.process:包含處理程序相關資訊。
- target.process.file:載入的模組 (例如 DLL 或共用物件)。
選填欄位:
- security_result:說明偵測到的惡意活動。
- principal.user:如果程序提供使用者資訊,請填入這項欄位。
PROCESS_MODULE_LOAD 的 UDM 範例
以下範例說明如何使用 Google SecOps UDM 語法,設定 PROCESS_MODULE_LOAD 事件的格式:
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 類別:
- metadata:活動的背景資訊。
- 主體:裝置和載入模組的程序詳細資料。
- 目標:程序和模組詳細資料。
PROCESS_PRIVILEGE_ESCALATION
必填欄位:
- 中繼資料:包含必填欄位。
- principal:
- 至少一個機器 ID。
- principal.process:載入模組的程序。
- principal.user:載入模組的使用者。
選填欄位:
- security_result:說明偵測到的惡意活動。
PROCESS_PRIVILEGE_ESCALATION 的 UDM 範例
以下範例說明如何使用 Google SecOps UDM 語法,設定 PROCESS_PRIVILEGE_ESCALATION 事件的格式:
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 類別:
- metadata:活動的背景資訊。
- 主體:裝置、使用者和載入模組的程序詳細資料。
- 目標:程序和模組詳細資料。
REGISTRY_CREATION、REGISTRY_MODIFICATION、REGISTRY_DELETION
必填欄位:
- 中繼資料:包含必填欄位。
- principal:
- 至少一個機器 ID。
- 如果使用者模式程序執行登錄修改作業,principal.process 必須包含修改登錄的程序相關資訊。
- 如果核心程序執行登錄修改作業,主體不得包含程序資訊。
- target:
- target.registry:如果目標登錄檔是遠端登錄檔,目標必須至少包含目標機器的其中一個 ID (例如 IP 位址、MAC、主機名稱或第三方資產 ID)。
- target.registry.registry_key:所有登錄事件都必須包含受影響的登錄機碼。
選填欄位:
- security_result:說明偵測到的惡意活動。例如登錄機碼錯誤。
- principal.user:如果程序提供使用者資訊,請填入這項欄位。
REGISTRY_MODIFICATION 的 UDM 範例
以下範例說明如何使用 Google SecOps UDM 語法,在 Proto3 中設定 REGISTRY_MODIFICATION 事件的格式:
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 類別:
- metadata:活動的背景資訊。
- 主體:裝置、使用者和程序詳細資料。
- 目標:受修改影響的登錄項目。
SCAN_FILE、SCAN_HOST、SCAN_PROCESS、SCAN_VULN_HOST、SCAN_VULN_NETWORK
必填欄位:
- metadata:event_timestamp 和事件的背景資訊。
- 觀察者:擷取掃描器本身的相關資訊。如果掃描器是遠端裝置,則必須透過觀察員欄位擷取機器詳細資料。如果是本機掃描器,請留空。
- 目標:擷取保存待掃描物件的機器相關資訊。如果正在掃描檔案,target.file 必須擷取掃描檔案的相關資訊。如果正在掃描程序,target.process 必須擷取掃描程序的相關資訊。
- extensions:如果是 SCAN_VULN_HOST 和 SCAN_VULN_NETWORK,請使用 extensions.vuln 欄位定義安全性弱點。
選填欄位:
- 主體:代表啟動連線的裝置,且至少包含一個機器 ID (例如主機名稱、IP 位址、MAC 位址、專屬資產 ID) 或使用者 ID。
- target:目標物件的使用者詳細資料 (例如檔案建立者或程序擁有者) 應擷取至 target.user。
- security_result:說明偵測到的惡意活動。
SCAN_HOST 的 UDM 範例
以下範例說明如何為 Google SecOps UDM 格式化 SCAN_HOST 類型的事件:
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 類別:
- metadata:活動的背景資訊。
- 目標:收到惡意軟體的裝置。
- 觀察者:觀察並回報相關事件的裝置。
- security_result:惡意軟體的安全性詳細資料。
SCAN_VULN_HOST 的 UDM 範例
以下範例說明如何為 Google SecOps UDM 格式化 SCAN_VULN_HOST 類型的事件:
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 類別:
- metadata:活動的背景資訊。
- 主體:收到惡意軟體的裝置。
- extensions:安全漏洞詳細資料。
SCHEDULED_TASK_CREATION、SCHEDULED_TASK_DELETION、SCHEDULED_TASK_DISABLE、SCHEDULED_TASK_ENABLE、SCHEDULED_TASK_MODIFICATION、SCHEDULED_TASK_UNCATEGORIZED
必填欄位:
- 主體:對於所有 SCHEDULED_TASK 事件,主體必須包含機器 ID 和使用者 ID。
- target:目標必須包含有效資源和定義為「TASK」的資源類型。
選填欄位:
- security_result:說明偵測到的惡意活動。
SCHEDULED_TASK_CREATION 的 UDM 範例
以下範例說明如何為 Google SecOps UDM 格式化 SCHEDULED_TASK_CREATION 類型的事件:
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 類別:
- metadata:活動的背景資訊。
- 主體:排定可疑工作的裝置。
- target:可疑工作所針對的軟體。
- 中介機構:與可疑工作相關的中介機構。
- security_result:可疑工作的安全性詳細資料。
SETTING_UNCATEGORIZED、SETTING_CREATION、SETTING_MODIFICATION、SETTING_DELETION
必填欄位:
- 主體:必須存在且不得為空白,並包含機器 ID。
- target:必須存在且不得為空白,並包含類型指定為 SETTING 的資源
事件類型 SETTING_MODIFICATION 的 UDM 範例
以下範例說明如何為 Google SecOps UDM 格式化 SETTING_MODIFICATION 類型的事件:
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 類別:
- metadata:活動的背景資訊。
- 主體:設定修改所在裝置的相關資訊。
- 目標:資源詳細資料。
SERVICE_UNSPECIFIED、SERVICE_CREATION、SERVICE_DELETION、SERVICE_START、SERVICE_STOP
必填欄位:
- 目標:加入使用者 ID,並指定程序或應用程式。
- 主體:至少包含一個機器 ID (IP 或 MAC 位址、主機名稱或資產 ID)。
SERVICE_UNSPECIFIED 的 UDM 範例
以下範例說明如何為 Google SecOps UDM 格式化 SERVICE_UNSPECIFIED 類型的事件:
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 類別:
- metadata:活動的背景資訊。
- 主體:裝置和位置詳細資料。
- 目標:主機名稱和使用者 ID。
- application:應用程式名稱和資源類型。
STATUS_HEARTBEAT、STATUS_STARTUP、STATUS_SHUTDOWN、STATUS_UPDATE
必填欄位:
- 中繼資料:包含必填欄位。
- 主體:至少一個機器 ID (IP 或 MAC 位址、主機名稱或資產 ID)。
STATUS_HEARTBEAT 的 UDM 範例
以下範例說明如何為 Google SecOps UDM 格式化 STATUS_HEARTBEAT 類型的事件:
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 類別:
- metadata:活動的背景資訊。
- 主體:裝置和位置詳細資料。
- 中介裝置:裝置 IP 位址。
- security_result:安全性結果詳細資料。
SYSTEM_AUDIT_LOG_UNCATEGORIZED、SYSTEM_AUDIT_LOG_WIPE
必填欄位:
- 主體:包含在記錄上執行作業的使用者 ID,以及記錄所在或曾經所在 (如果是清除作業) 的機器 ID。
SYSTEM_AUDIT_LOG_WIPE 的 UDM 範例
以下範例說明如何為 Google SecOps UDM 格式化 SYSTEM_AUDIT_LOG_WIPE 類型的事件:
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 類別:
- metadata:活動的背景資訊。
- 主體:裝置和使用者詳細資料。
USER_CHANGE_PASSWORD、USER_CHANGE_PERMISSIONS
必填欄位:
- 中繼資料:包含必填欄位。
- 主體:如果使用者帳戶是從遠端位置修改,請填入主體,並提供使用者修改來源機器的相關資訊。
- 目標:填入 target.user,提供已修改使用者的相關資訊。
- 中介:如果是單一登入,中介必須包含至少一個單一登入伺服器的機器 ID (如有)。
USER_COMMUNICATION
必填欄位:
- 主體:在 principal.user 欄位中填入與使用者發起的 (傳送者) 通訊相關的詳細資料,例如 Google Chat 或 Slack 中的即時通訊訊息、Zoom 或 Google Meet 中的視訊或語音會議,或是 VoIP 連線。
選填欄位:
- target:(建議) 在 target.user 欄位中填入雲端通訊資源目標使用者 (接收者) 的資訊。在 target.application 欄位中填入目標雲端通訊應用程式的相關資訊。
USER_CREATION、USER_DELETION
必填欄位:
- 中繼資料:event_timestamp。
- 主體:包含要求建立或刪除使用者的機器相關資訊。如要建立或刪除本機使用者,主體必須至少包含來源電腦的其中一個機器 ID。
- 目標:建立使用者的位置。也必須包含使用者資訊 (例如 target.user)。
選填欄位:
- 主體:使用者和程序詳細資料,適用於啟動使用者建立或刪除要求的機器。
- 目標:目標機器的相關資訊 (如果與主機不同)。
USER_LOGIN、USER_LOGOUT
必填欄位:
- 中繼資料:包含必填欄位。
- 主體:如果是遠端使用者活動 (例如遠端登入),請填入發起使用者活動的電腦相關資訊。如果是本機使用者活動 (例如本機登入),請勿設定主體。
- 目標:填入 target.user,提供登入或登出使用者的相關資訊。如果未設定主體 (例如本機登入),target 也必須至少包含一個可識別目標機器的機器 ID。如果是機器對機器的使用者活動 (例如遠端登入、單一登入、雲端服務、VPN),目標必須包含目標應用程式、目標機器或目標 VPN 伺服器的資訊。
- 中介:如果是單一登入,中介必須包含至少一個單一登入伺服器的機器 ID (如有)。
- network 和 network.http:如果登入是透過 HTTP 進行,您必須將所有可用詳細資料放在 network.ip_protocol、network.application_protocol 和 network.http 中。
- authentication 擴充功能:必須指出事件相關的驗證系統類型 (例如機器、SSO 或 VPN),以及採用的機制 (使用者名稱和密碼、動態密碼等)。
- security_result:如果登入失敗,請新增 security_result 欄位來表示登入狀態。如果驗證失敗,請使用 AUTH_VIOLATION 值指定 security_result.category。
USER_RESOURCE_ACCESS
必填欄位:
- 主體:在 principal.user 欄位中填入嘗試存取雲端資源的詳細資料 (例如 Salesforce 案件、Office365 日曆、Google 文件或 ServiceNow 票證)。
- target:在 target.resource 欄位中填入目標雲端資源的相關資訊。
選填欄位:
- target.application:(建議) 在 target.application 欄位中填入目標雲端應用程式的相關資訊。
USER_RESOURCE_CREATION、USER_RESOURCE_DELETION
必填欄位:
- 主體:在 principal.user 欄位中填入與雲端資源中建立的使用者相關的詳細資料 (例如 Salesforce 案件、Office 365 行事曆、Google 文件或 ServiceNow 票證)。
- target:在 target.resource 欄位中填入目標雲端資源的相關資訊。
選填欄位:
- target.application:(建議) 在 target.application 欄位中填入目標雲端應用程式的相關資訊。
USER_RESOURCE_UPDATE_CONTENT
必填欄位:
- 主體:在 principal.user 欄位中填入與使用者相關的詳細資料,這些使用者在雲端資源 (例如 Salesforce 案件、Office365 日曆、Google 文件或 ServiceNow 票證) 中更新了內容。
- target:在 target.resource 欄位中填入目標雲端資源的相關資訊。
選填欄位:
- target.application:(建議) 在 target.application 欄位中填入目標雲端應用程式的相關資訊。
USER_RESOURCE_UPDATE_PERMISSIONS
必填欄位:
- 主體:在 principal.user 欄位中填入與使用者相關的詳細資料,這些使用者在雲端資源 (例如 Salesforce 案件、Office 365 日曆、Google 文件或 ServiceNow 票證) 中更新了權限。
- target:在 target.resource 欄位中填入目標雲端資源的相關資訊。
選填欄位:
- target.application:(建議) 在 target.application 欄位中填入目標雲端應用程式的相關資訊。
USER_UNCATEGORIZED
必填欄位:
- 中繼資料:event_timestamp
- 主體:包含要求建立或刪除使用者的機器相關資訊。如要建立或刪除本機使用者,主體必須至少包含來源電腦的其中一個機器 ID。
- 目標:建立使用者的位置。也必須包含使用者資訊 (例如 target.user)。
選填欄位:
- 主體:使用者和程序詳細資料,適用於啟動使用者建立或刪除要求的機器。
- 目標:目標機器的相關資訊 (如果與主機不同)。