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 (互斥物件) 事件:

  • 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 事件,而非 SETTING 事件:

  • 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

  • 用途:編碼事件產生時的格林威治標準時間戳記。
  • 必要性:
  • 編碼: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

名詞中繼資料的人口

在本節中,名詞一詞是用來代表實體的總稱,包括 principalsrctargetintermediaryobserverabout。這些實體具有共同的屬性,但代表事件中的不同物件。如要進一步瞭解實體以及各實體在事件中代表的內容,請參閱「將記錄資料格式化為 UDM」。

Noun.asset_id

  • 用途:供應商專屬的裝置專屬 ID (例如在新裝置上安裝端點安全軟體時產生的 GUID,用於追蹤該裝置的使用時間)。
  • 編碼: VendorName.ProductName:ID,其中 VendorName 是大小寫不敏感的供應商名稱,例如「Carbon Black」;ProductName 是大小寫不敏感的產品名稱,例如「Response」或「Endpoint Protection」;ID 則是供應商專屬的客戶 ID,在客戶環境中為全球唯一 (例如 GUID 或用於識別特定裝置的專屬值)。VendorNameProductName 為英數字元,長度不得超過 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

  • 用途:平台作業系統。
  • Encoding:列舉
  • 可能的值:
    • 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 欄位中編碼這些 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:預設的驗證狀態
    • ACTIVE:驗證方法處於有效狀態
    • 已停用:驗證方法處於停用或停用狀態
    • DELETED:已刪除驗證方式
    • NO_ACTIVE_CREDENTIALS:驗證方法沒有有效的憑證。

Authentication.auth_details

  • 用途:供應商定義的驗證詳細資料。
  • 編碼:字串。

Authentication.Mechanism

  • 用途:用於驗證的機制。
  • 編碼:列舉值。
  • 可能的值:
    • MECHANISM_UNSPECIFIED:預設的驗證機制。
    • BADGE_READER
    • BATCH:批次驗證。
    • CACHED_INTERACTIVE:使用快取憑證進行互動式驗證。
    • HARDWARE_KEY
    • 本地
    • 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 選項和 BOOTP 供應商擴充功能」一節。
  • 編碼:字串。

Dhcp.client_identifier

  • 用途:用戶端 ID。如需更多資訊,請參閱 RFC 2132 的「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 選項和 BOOTP 供應商擴充功能」一節。
  • 編碼:32 位元不帶正負號整數。

Dhcp.opcode

  • 用途:BOOTP 操作碼 (請參閱 RFC 951 第 3 節)。
  • 編碼:列舉值。
  • 可能的值:
    • UNKNOWN_OPCODE
    • BOOTREQUEST
    • BOOTREPLY

Dhcp.requested_address

  • 用途:用戶端 ID。如需更多資訊,請參閱 RFC 2132 的「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
    • 資訊
    • 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 選項和 BOOTP 供應商擴充功能」一節。
  • 編碼:未經簽署的 32 位元整數。

Option.data

  • 用途:儲存 DHCP 選項資料。詳情請參閱 RFC 1533 的「DHCP 選項和 BOOTP 供應商擴充功能」一節。
  • 編碼:位元組。

填入 DNS 中繼資料

DNS 中繼資料欄位會擷取與 DNS 要求和回應封包相關的資訊。這些值與 DNS 要求和回應資料單一對一對應。

Dns.authoritative

  • 用途:將其設為權威 DNS 伺服器的 true。
  • 編碼:布林值。

Dns.id

  • 用途:儲存 DNS 查詢 ID。
  • 編碼:32 位元整數。

Dns.response

  • 用途:如果事件是 DNS 回應,請將此屬性設為 true。
  • 編碼:布林值。

Dns.opcode

  • 用途:儲存 DNSOpCode,用於指定 DNS 查詢類型 (標準、反向、伺服器狀態等)。
  • 編碼:32 位元整數。

Dns.recursion_available

  • 用途:如果可使用遞迴 DNS 查詢,請將此值設為 true。
  • 編碼:布林值。

Dns.recursion_desired

  • 用途:如果要求遞迴 DNS 查詢,請將此值設為 true。
  • 編碼:布林值。

Dns.response_code

  • 用途:儲存 DNS 回應碼,這項碼依據 RFC 1035 定義,網域名稱 - 實作和規格。
  • 編碼:32 位元整數。

Dns.truncated

  • 用途:如果這是經過截斷的 DNS 回應,請設為 true。
  • 編碼:布林值。

Dns.questions

Dns.answers

Dns.authority

Dns.additional

填入 DNS 問題中繼資料

DNS 問題中繼資料欄位會擷取網域通訊協定訊息的「問題」部分所含的資訊。

Question.name

  • 用途:儲存網域名稱。
  • 編碼:字串。

Question.class

  • 用途:儲存指定查詢類別的程式碼。
  • 編碼:32 位元整數。

Question.type

  • 用途:儲存指定查詢類型的程式碼。
  • 編碼:32 位元整數。

填入 DNS 資源記錄中繼資料

DNS 資源記錄中繼資料欄位會擷取網域通訊協定訊息資源記錄中包含的資訊。

ResourceRecord.binary_data

  • 用途:儲存任何非 UTF8 字串的原始位元組,這些字串可能會納入 DNS 回應。只有在 DNS 伺服器傳回的回應資料含有非 UTF-8 資料時,才能使用這個欄位。否則,請將 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

  • 用途:儲存副本電子郵件地址。
  • 編碼:字串。

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.typeauth.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

  • 用途:檔案的 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
    • 大樓 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:乙太網路封裝在 IP 中
    • GRE:通用路由封裝
    • ICMP:網際網路控制訊息通訊協定
    • IGMP:網際網路群組管理通訊協定
    • IP6IN4:IPv6 封裝
    • PIM:Protocol Independent Multicast
    • TCP:傳輸控制通訊協定
    • UDP:使用者資料包協定
    • VRRP:Virtual Router Redundancy Protocol

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 群組

Process.product_specific_process_id

  • 用途:儲存產品專屬的程序 ID。
  • 編碼:字串。
  • 示例: MySQL:78778CS:90512

Process.parent_process.product_specific_process_id

  • 用途:儲存父項程序的產品專屬程序 ID。
  • 編碼:字串。
  • 示例: MySQL:78778CS: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:檔案或電子郵件已經過消毒或重寫,但仍會轉寄。
    • 封鎖
    • QUARANTINE:儲存以供日後分析 (不代表封鎖)。
    • UNKNOWN_ACTION

SecurityResult.action_details

  • 用途:供應商提供的詳細資料,說明因安全事件而採取的行動。安全性動作通常最適合轉譯為更通用的 Security_Result.action UDM 欄位。不過,您可能需要針對供應商提供的動作說明,編寫相關規則。
  • 編碼:字串。
  • 示例:放棄、封鎖、解密、加密。

SecurityResult.category

  • 用途:指定安全性類別。
  • Encoding:列舉。
  • 可能的值:Google SecOps UDM 定義了下列安全性類別:
    • ACL_VIOLATION:嘗試未經授權存取,包括嘗試存取檔案、網路服務、程序、網頁物件等。
    • AUTH_VIOLATION:驗證失敗,例如密碼或雙重驗證失效。
    • DATA_AT_REST - DLP:掃描時發現的靜止感應器資料。
    • DATA_DESTRUCTION:嘗試銷毀/刪除資料。
    • DATA_EXFILTRATION - DLP:傳輸感應器資料,複製到隨身碟。
    • 利用:嘗試溢位、錯誤的通訊協定編碼、ROP、SQL Inject 等,包括網路和主機。
    • 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

  • 用途:指定產品對安全性事件的預估置信度。
  • Encoding:列舉。
  • 可能的值:Google SecOps UDM 定義了下列產品信心等級:
    • UNKNOWN_CONFIDENCE
    • LOW_CONFIDENCE
    • MEDIUM_CONFIDENCE
    • HIGH_CONFIDENCE

SecurityResult.confidence_details

  • 用途:產品供應商對安全性事件的信心評估,以及其他相關詳細資料。
  • 編碼:字串。

SecurityResult.priority

  • 用途:根據產品供應商的估計,指定安全事件的優先順序。
  • Encoding:列舉。
  • 可能的值: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 定義的值,估算安全事件的嚴重程度。
  • Encoding:列舉。
  • 可能的值:Google SecOps UDM 定義了下列產品嚴重性:
    • UNKNOWN_SEVERITY:非惡意
    • 資訊性:非惡意
    • ERROR:非惡意
    • 低:惡意
    • 中:惡意
    • 高:惡意

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

  • 用途:儲存使用者的中間名。
  • 編碼:字串。
  • 範例:Anthony。

User.last_name

  • 用途:儲存使用者的姓氏。
  • 編碼:字串。
  • 示例:Locke。

User.group_identifiers

  • 用途:儲存與使用者相關聯的群組 ID (GUID、LDAP OID 或類似)。
  • 編碼:重複字串。
  • 範例:admin-users。

User.phone_numbers

  • 用途:儲存使用者的電話號碼。
  • 編碼:重複字串。
  • 範例:800-555-0101

User.title

  • 用途:儲存使用者的職稱。
  • 編碼:字串。
  • 範例:客戶關係管理員。

User.user_display_name

  • 用途:儲存使用者的顯示名稱。
  • 編碼:字串。
  • 示例:John Locke。

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)

    詳情請參閱 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

  • 用途:安全漏洞的名稱。
  • 編碼:字串。
  • 範例:偵測到不支援的 OS 版本。

Vulnerability.scan_end_time

  • 用途:如果是在資產掃描期間發現安全漏洞,請在這個欄位中填入掃描結束的時間。如果沒有或不適用結束時間,請將這個欄位留空。
  • 編碼:字串。

Vulnerability.scan_start_time

  • 用途:如果安全漏洞是在資產掃描期間發現,請在這個欄位中填入掃描開始的時間。如果沒有或不適用開始時間,請將這個欄位留空。
  • 編碼:字串。

Vulnerability.severity

  • 目的:安全漏洞的嚴重程度。
  • 編碼:列舉值。
  • 可能的值:
    • UNKNOWN_SEVERITY

Vulnerability.severity_details

  • 用途:供應商專屬嚴重性詳細資料。
  • 編碼:字串。

填入快訊中繼資料

idm.is_significant

  • 用途:指定是否要在 Enterprise Insights 中顯示快訊。
  • 編碼:布林值

idm.is_alert

  • 用途:指出事件是否為警報。
  • 編碼:布林值

各事件類型的必填和選填欄位

本節說明應為每個 UDM 事件類型填入的必填和選填欄位。

如要進一步瞭解特定 UDM 欄位,請參閱統一資料模型欄位清單

EMAIL_TRANSACTION

必填欄位:

  • 中繼資料:請加入必要欄位。
  • principal:填入電子郵件訊息來源機器的相關資訊。例如寄件者的 IP 位址。

選填欄位:

  • about:電子郵件主旨內嵌的網址、IP 位址、網域和任何檔案附件。
  • securityResult.about:電子郵件內嵌的惡意網址、IP 和檔案。
  • network.email:電子郵件寄件者/收件者資訊。
  • principal:如果有傳送電子郵件的用戶端電腦資料,請在 principal 中填入伺服器詳細資料 (例如用戶端程序、通訊埠號碼、使用者名稱等)。
  • target:如果有目的地電子郵件伺服器資料,請在 target 中填入伺服器詳細資料 (例如 IP 位址)。
  • intermediary:如果有郵件伺服器資料或郵件 Proxy 資料,請在 intermediary 中填入伺服器詳細資料。

注意:

  • 請勿填入 principal.emailtarget.email
  • 請只在 security_result.aboutnetwork.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 共用區),則「目標」欄位必須至少包含一個機器 ID,代表儲存目標檔案的目標機器。

選填欄位:

  • security_result:說明偵測到的惡意活動。
  • principal.user:如果程序有使用者資訊,就會填入這項資訊。

MUTEX_CREATION

必填欄位:

  • 中繼資料:請加入必要欄位。
  • principal
    • 至少一個機器 ID。
    • 使用建立互斥鎖的程序相關資訊,填入 principal.process。
  • target
    • 填入 target.resource
    • 使用 MUTEX 填入 target.resource.type
    • 將建立的互斥鎖名稱填入 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 類別:

  • 中繼資料:事件的背景資訊。
  • principal:裝置和程序詳細資料。
  • target:互斥的相關資訊。

NETWORK_CONNECTION

必填欄位:

  • 中繼資料:event_timestamp
  • principal:包含啟動網路連線的機器詳細資料 (例如來源)。
  • target:如果目標機器與主要機器不同,請提供目標機器的詳細資料。
  • network:擷取網路連線的詳細資料 (通訊埠、通訊協定等)。

選填欄位:

  • principal.processtarget.process:包含與網路連線的實體和目標相關聯的程序資訊 (如有)。
  • principal.usertarget.user:包含與網路連線的使用者資訊相關聯的使用者資訊 (如有)。

NETWORK_HTTP

NETWORK_HTTP 事件類型代表從主要使用者到目標網路伺服器的 HTTP 網路連線。

必填欄位:

  • 中繼資料:請加入必要欄位。
  • principal:代表啟動網頁要求的用戶端,並包含至少一個機器 ID (例如主機名稱、IP、MAC、專屬資產 ID) 或使用者 ID (例如使用者名稱)。如果要說明特定網路連線,且有可用的用戶端通訊埠號碼,則只需指定一個 IP 位址,以及與該網路連線相關聯的通訊埠號碼 (但您也可以提供其他機器 ID,以便更詳細說明參與裝置)。如果沒有可用的來源連接埠,您可以指定任何描述主要裝置的 IP 和 MAC 位址、資產 ID 和主機名稱值。
  • target:代表網路伺服器,包括裝置資訊和選用的通訊埠號碼。如果目標通訊埠編號可用,請除了與該網路連線相關聯的通訊埠編號外,只指定一個 IP 位址 (雖然可以為目標提供多個其他機器 ID)。針對 target.url,填入已存取的網址。
  • networknetwork.http:包含 HTTP 網路連線的詳細資料。請務必填寫下列欄位:
    • network.ip_protocol
    • network.application_protocol
    • network.http.method

選填欄位:

  • about:代表 HTTP 交易中找到的其他實體 (例如上傳或下載的檔案)。
  • intermediary:代表 Proxy 伺服器 (如果與主要或目標不同)。
  • metadata:填入其他中繼資料欄位。
  • network:填入其他網路欄位。
  • network.email:如果 HTTP 網路連線源自電子郵件訊息中的網址,請在 network.email 中填入詳細資料。
  • observer:代表被動嗅探器 (如有)。
  • 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 類別:

  • 中繼資料:事件的背景資訊。
  • principal:偵測到事件的安全裝置。
  • target:收到惡意軟體的裝置。
  • 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.usertarget.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 類別:

  • 中繼資料:事件的背景資訊。
  • principal:裝置詳細資料。
  • target:Process details。

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 類別:

  • 中繼資料:事件的背景資訊。
  • principal:裝置和載入模組的程序詳細資料。
  • target:程序和模組詳細資料。

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 類別:

  • 中繼資料:事件的背景資訊。
  • principal:裝置、使用者和載入模組的程序詳細資料。
  • target:程序和模組詳細資料。

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 類別:

  • 中繼資料:事件的背景資訊。
  • principal:裝置、使用者和程序詳細資料。
  • target:受修改影響的登錄檔項目。

SCAN_FILE、SCAN_HOST、SCAN_PROCESS、SCAN_VULN_HOST、SCAN_VULN_NETWORK

必填欄位:

  • extensions:針對 SCAN_VULN_HOST 和 SCAN_VULN_NETWORK,請使用 extensions.vuln 欄位定義漏洞。
  • 中繼資料:event_timestamp
  • 觀察器:擷取掃描器本身的資訊。如果掃描器是遠端掃描器,則觀察器欄位必須擷取機器詳細資料。如果是本機掃描器,請留空。
  • target:擷取裝置所持有的掃描物件資訊。如果系統正在掃描檔案,target.file 必須擷取掃描檔案的相關資訊。如果系統正在掃描程序,target.process 必須擷取掃描程序的相關資訊。

選填欄位:

  • 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 類別:

  • 中繼資料:事件的背景資訊。
  • target:收到惡意軟體的裝置。
  • 觀察器:觀察並回報相關事件的裝置。
  • security_result:惡意軟體的安全性詳細資料。

SCHEDULED_TASK_CREATION、SCHEDULED_TASK_DELETION、SCHEDULED_TASK_DISABLE、SCHEDULED_TASK_ENABLE、SCHEDULED_TASK_MODIFICATION、SCHEDULED_TASK_UNCATEGORIZED

必填欄位:

  • principal:對於所有 SCHEDULED_TASK 事件,principal 必須包含機器 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 類別:

  • 中繼資料:事件的背景資訊。
  • principal:排定可疑工作時間表的裝置。
  • target:可疑工作指定的軟體。
  • intermediary:與可疑任務相關的中介。
  • security_result:可疑工作項的安全性詳細資料。

SETTING_UNCATEGORIZED、SETTING_CREATION、SETTING_MODIFICATION、SETTING_DELETION

必填欄位:

  • principal:必須存在、非空白,且包含機器 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 類別:

  • 中繼資料:事件的背景資訊。
  • principal:發生設定異動的裝置相關資訊。
  • target:資源詳細資料。

SERVICE_UNSPECIFIED、SERVICE_CREATION、SERVICE_DELETION、SERVICE_START、SERVICE_STOP

必填欄位:

  • target:加入使用者 ID,並指定程序或應用程式。
  • principal:至少包含一個機器 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 類別:

  • 中繼資料:事件的背景資訊。
  • principal:裝置和位置詳細資料。
  • target:主機名稱和使用者 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 類別:

  • 中繼資料:事件的背景資訊。
  • principal:裝置和位置詳細資料。
  • 中介:裝置 IP 位址。
  • security_result:安全性結果詳細資料。

SYSTEM_AUDIT_LOG_UNCATEGORIZED、SYSTEM_AUDIT_LOG_WIPE

必填欄位:

  • principal:包含在記錄上執行作業的使用者 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 類別:

  • 中繼資料:事件的背景資訊。
  • principal:裝置和使用者詳細資料。

USER_CHANGE_PASSWORD、USER_CHANGE_PERMISSIONS

必填欄位:

  • 中繼資料:請加入必要欄位。
  • principal:如果使用者帳戶是從遠端位置修改,請在 principal 中填入使用者修改作業來源機器的相關資訊。
  • target:在 target.user 中填入已修改的使用者相關資訊。
  • intermediary:對於 SSO 登入作業,intermediary 必須包含至少一個 SSO 伺服器的機器 ID (如有)。

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:包含建立或刪除使用者要求的來源機器相關資訊。如要建立或刪除本機使用者,主要使用者必須至少包含來源機器的一個機器 ID。
  • target:使用者建立的位置。也必須包含使用者資訊 (例如 target.user)。

選填欄位:

  • principal:使用者建立或刪除要求發起時,該機器的使用者和程序詳細資料。
  • target:目標機器的資訊 (如果與主要機器不同)。

USER_LOGIN、USER_LOGOUT

必填欄位:

  • 中繼資料:請加入必要欄位。
  • principal:針對遠端使用者活動 (例如遠端登入),請在 principal 中填入產生使用者活動的機器相關資訊。如果是本機使用者活動 (例如本機登入),請勿設定主要使用者。
  • target:在 target.user 中填入已登入或登出的使用者相關資訊。如果未設定主要使用者 (例如本機登入),target 也必須至少包含一個可識別目標裝置的裝置 ID。如果是機器對機器的使用者活動 (例如遠端登入、單一登入、雲端服務、VPN),目標必須包含目標應用程式、目標機器或目標 VPN 伺服器的資訊。
  • intermediary:對於 SSO 登入作業,intermediary 必須包含至少一個 SSO 伺服器的機器 ID (如有)。
  • networknetwork.http:如果登入作業是透過 HTTP 進行,您必須將所有可用的詳細資料放入 network.ip_protocol、network.application_protocol 和 network.http。
  • authentication 擴充功能:必須指出事件相關的驗證系統類型 (例如機器、單一登入或 VPN),以及採用的機制 (使用者名稱和密碼、動態密碼等)。
  • security_result:新增 security_result 欄位,用於代表登入失敗的狀態。如果驗證失敗,請使用 AUTH_VIOLATION 值指定 security_result.category。

USER_RESOURCE_ACCESS

必填欄位:

  • principal:principal.user 欄位中填入嘗試存取雲端資源 (例如 Salesforce 案件、Office365 日曆、Google 文件或 ServiceNow 服務單) 的詳細資料。
  • target:target.resource 欄位中填入目標雲端資源的相關資訊。

選填欄位:

  • target.application: (建議) 在 target.application 欄位中填入目標雲端應用程式相關資訊。

USER_RESOURCE_CREATION、USER_RESOURCE_DELETION

必填欄位:

  • principal:principal.user 欄位中填入與雲端資源 (例如 Salesforce 案件、Office 365 日曆、Google 文件或 ServiceNow 服務單) 中建立的使用者相關聯的詳細資料。
  • target:target.resource 欄位中填入目標雲端資源的相關資訊。

選填欄位:

  • target.application: (建議) 在 target.application 欄位中填入目標雲端應用程式相關資訊。

USER_RESOURCE_UPDATE_CONTENT

必填欄位:

  • principal:principal.user 欄位中填入相關詳細資料,這些資料與在雲端資源 (例如 Salesforce 案件、Office 365 日曆、Google 文件或 ServiceNow 服務單) 中更新內容的使用者相關。
  • target:target.resource 欄位中填入目標雲端資源的相關資訊。

選填欄位:

  • target.application: (建議) 在 target.application 欄位中填入目標雲端應用程式相關資訊。

USER_RESOURCE_UPDATE_PERMISSIONS

必填欄位:

  • principal:principal.user 欄位中填入與使用者相關聯的詳細資料,該使用者在雲端資源 (例如 Salesforce 案件、Office 365 日曆、Google 文件或 ServiceNow 服務單) 中更新了權限。
  • target:target.resource 欄位中填入目標雲端資源的相關資訊。

選填欄位:

  • target.application: (建議) 在 target.application 欄位中填入目標雲端應用程式相關資訊。

USER_UNCATEGORIZED

必填欄位:

  • metadata: event_timestamp
  • principal:包含建立或刪除使用者要求的來源機器相關資訊。如要建立或刪除本機使用者,主要使用者必須至少包含來源機器的一個機器 ID。
  • target:使用者建立的位置。也必須包含使用者資訊 (例如 target.user)。

選填欄位:

  • principal:使用者建立或刪除要求發起時,該機器的使用者和程序詳細資料。
  • target:目標機器的資訊 (如果與主要機器不同)。