將記錄檔資料格式化為 UDM
常見的 UDM 事件欄位
所有整合式資料模型 (UDM) 事件都有一組通用欄位和訊息,合作夥伴可以填入這些欄位和訊息,不論事件類型為何。這些欄位包括:
- 實體:與事件相關的裝置、使用者和程序。
- 活動中繼資料:活動發生時間、活動類型、活動來源等。
- 網路中繼資料:網路導向事件的高階網路中繼資料,以及子訊息中的通訊協定詳細資料:
- 電子郵件中繼資料:收件者、寄件者、副本、密件副本和其他電子郵件欄位中的資訊。
- HTTP 中繼資料:方法、referral_url、useragent 等。
- 安全性結果:安全性產品所做的任何分類或動作。
- 其他中繼資料:如果 UDM 模型的正式部分無法充分呈現任何重要的供應商專屬事件資料,可以使用任意形式的 JSON 酬載欄位新增。
以下各節說明如何編碼及格式化 UDM 的事件。
UDM 編碼
您必須使用下列其中一種格式,將 UDM 事件提交至 Google Security Operations:
在本文件中,欄位會以點標記法表示。舉例來說,下列 JSON 語法:
{"menu":
{
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"}
]
}
}
}
文件內容如下:
menu.id = "file"
menu.value = "File"
menu.popup.menuitem.value = "New"
menu.popup.menuitem.onclick = "CreateNewDoc()"
格式化 UDM 事件
如要格式化 UDM 事件,以便傳送至 Google,請完成下列步驟:
- 指定事件類型:您選取的事件類型會決定事件必須包含哪些欄位。
- 指定事件時間戳記:指定事件時間戳記。
- 指定名詞 (實體):每個事件都必須至少包含一個名詞,用來描述參與事件的裝置或使用者。
- 指定安全結果 (選用) - 指定安全結果,包括安全系統發現的安全風險和威脅,以及為降低這些風險和威脅所採取的行動。
- 使用 UDM 事件欄位,填寫其餘必填和選填的事件資訊。
指定事件類型
以 UDM 格式提交的任何事件,最重要的值就是事件類型,可使用 Metadata.event_type 的其中一個可能值指定。包括 PROCESS_OPEN、FILE_CREATION、USER_CREATION、NETWORK_DNS 等值 (如需完整清單,請參閱 Metadata.event_type。每種事件類型都要求您填入一組其他欄位和值,並提供與原始事件相關的資訊。 如要瞭解每種事件類型應納入哪些欄位,請參閱「每種 UDM 事件類型的必填和選填欄位」。以下範例說明如何使用 Proto3 文字標記,將 PROCESS_OPEN 指定為事件類型:
metadata {
event_type: PROCESS_OPEN
}
指定事件時間戳記
使用 Metadata.event_timestamp 提交 UDM 格式的任何事件時,都必須指定 GMT 時間戳記。戳記必須使用下列其中一種標準編碼:
- 如果是 JSON,請使用 RFC 3339
- Proto3 時間戳記
以下範例說明如何使用 RFC 3339 格式指定時間戳記。以這個範例來說,yyyy-mm-ddThh:mm:ss+hh:mm 代表年、月、日、時、分、秒,以及與世界標準時間的時差。與世界標準時間的時差為 -8 小時,表示太平洋標準時間。
metadata {
event_timestamp: "2019-09-10T20:32:31-08:00"
}
指定名詞 (實體)
您必須為每個 UDM 事件定義一或多個名詞。名詞代表 UDM 事件中的參與者或實體。舉例來說,名詞可以是執行事件所描述活動的裝置/使用者,也可以是事件所描述活動的目標裝置/使用者。名詞也可以是附件或網址等項目。最後,名詞也可用於描述觀察到事件中所述活動的安全裝置 (例如電子郵件 Proxy 或網路路由器)。
UDM 事件必須指定一或多個下列名詞:
principal:代表執行動作的實體,或是發起事件所描述活動的裝置。主體必須至少包含一項機器詳細資料 (主機名稱、MAC、IP、連接埠、產品專屬 ID,例如 CrowdStrike 機器 GUID) 或使用者詳細資料 (例如使用者名稱),並可選擇性地包含程序詳細資料。不得包含下列任何欄位:電子郵件、檔案、登錄機碼或值。
如果所有事件都發生在同一部電腦上,則只需要在 principal 中說明該電腦。機器不需要同時在 target 或 src 中說明。
以下範例說明如何填入 principal 欄位:
principal {
hostname: "jane_win10"
asset_id: "Sophos.AV:C070123456-ABCDE"
ip: "10.0.2.10"
port: 60671
user { userid: "john.smith" }
}
這個範例提供裝置和使用者詳細資料,使用者是事件中的主要參與者。包括裝置的 IP 位址、通訊埠編號和主機名稱,以及供應商專屬資產 ID (來自 Sophos),這是由第三方安全防護產品產生的專屬 ID。
目標:代表事件參照的目標裝置,或目標裝置上的物件。舉例來說,在從裝置 A 到裝置 B 的防火牆連線中,A 是主體,B 是目標。如果程序 C 將程序插入目標程序 D,程序 C 會被描述為主要程序,程序 D 則會被描述為目標程序。
UDM 中的主體與目標
以下範例說明如何填入目標的欄位:
target {
ip: "198.51.100.31"
port: 80
}
同樣地,如果還有其他資訊 (例如主機名稱、其他 IP 位址、MAC 位址、專屬資產 ID 等),也應一併納入 target。
主體和目標 (以及其他名詞) 都可以參照同一部電腦上的參與者。舉例來說,在機器 X 上執行的程序 A (主體) 會對機器 X 上的程序 B (目標) 採取行動。
- src:代表參與者正在處理的來源物件,以及來源物件的裝置或程序環境 (來源物件所在的機器)。舉例來說,如果使用者 U 將機器 X 上的檔案 A 複製到機器 Y 上的檔案 B,UDM 事件的 src 部分就會指定檔案 A 和機器 X。
- 中介裝置:代表處理事件所描述活動的一或多個中介裝置的詳細資料。包括 Proxy 伺服器、SMTP 轉發伺服器等的裝置詳細資料。
- 觀察者:代表觀察者裝置 (例如封包監聽器或網路型漏洞掃描器),這類裝置並非直接中介裝置,但會觀察並回報相關事件。
- about:用於儲存事件參照的所有物件詳細資料,這些物件未在 participant、src、target、intermediary 或 observer 中說明。舉例來說,這項功能可用於追蹤下列項目:
- 電子郵件檔案附件
- 電子郵件內文內嵌的網域/網址/IP
- 在 PROCESS_LAUNCH 事件期間載入的 DLL
UDM 事件的實體部分包含事件中描述的各種參與者 (裝置、使用者、物件,例如網址、檔案等) 相關資訊。在填入名詞欄位時,Google Security Operations UDM 有強制性規定。如需這些要求的說明,請參閱「各 UDM 事件類型的必填和選填欄位」。必須填寫的實體欄位組合會因活動類型而異。
指定安全性結果
您可以選擇填入 SecurityResult 欄位,指定安全性結果,包括安全性系統發現的安全性風險和威脅詳細資料,以及為降低這些風險和威脅所採取的行動。 以下列舉幾種需要填入 SecurityResult 欄位的安全性事件類型:
- 電子郵件安全防護代理伺服器偵測到網路釣魚企圖 (MAIL_PHISHING),並封鎖 (BLOCK) 該電子郵件。
- 電子郵件安全防護代理防火牆偵測到兩個受感染的附件 (SOFTWARE_MALICIOUS),並隔離和清除 (QUARANTINE、ALLOW_WITH_MODIFICATION) 這些附件,然後轉寄已清除的電子郵件。
- 單一登入系統促成登入 (AUTH_VIOLATION),但遭到封鎖 (BLOCK)。
- 惡意軟體沙箱在檔案送達使用者收件匣五分鐘後,偵測到檔案附件含有間諜軟體 (SOFTWARE_MALICIOUS)。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。