整合您自己的威脅情報動態饋給
本指南適用於想要將自訂入侵指標 (IoC) 和第三方威脅情資動態饋給整合至 Google Security Operations 的安全工程師和偵測工程師。本文說明如何擷取威脅動態饋給、將指標正規化為 Unified Data Model (UDM) 實體脈絡圖 (ECG),以及將指標實體與串流事件遙測資料建立關聯。採用這種方法,您就能自動偵測環境中的威脅,並免除手動查閱指標的麻煩。成功整合後,系統會減少警報分類時間,並透過即時和回溯威脅偵測,強化貴機構的資安態勢。
整合自訂威脅情報動態饋給後,安全作業團隊就能將外部指標串流 (例如惡意軟體資訊分享平台 (MISP)、STIX/TAXII 或商業動態饋給) 與內部安全遙測資料結合。正規化為 ECG 後,威脅實體會支援自動指標比對和自訂多事件 YARA-L 2.0 關聯規則。
重要術語
- 實體情境圖 (ECG):Google SecOps 中的情境儲存層,可維護有狀態的實體記錄 (例如資產、使用者和威脅指標),以便與安全事件記錄建立關聯。
- 統合式資料模型 (UDM):Google SecOps 用於正規化原始事件記錄和背景實體資料的標準化結構定義。
- 指標生命週期間隔 (
metadata.interval):有時間限制的有效視窗 (start_time和end_time),定義威脅指標在 ECG 中處於有效狀態的時間。 - 自動 IoC 比對:當傳入的安全事件與 ECG 中的有效指標實體相符時,系統會建立發現項目,並顯示在「IoC 比對」頁面。
- YARA-L 追溯搜尋:根據需求執行歷史搜尋,針對最多 30 天前的安全性遙測資料執行 YARA-L 2.0 偵測規則。
常見用途
以下用途說明自備威脅情報如何達成常見的資安營運目標。
自動比對即時指標
- 目標:自動評估串流安全事件與擷取的第三方指標,無須維護自訂關聯規則。
- 價值:針對大量威脅動態消息,免除手動維護規則的麻煩,並在「入侵指標比對」頁面上顯示立即比對結果。
自訂 YARA-L 關聯規則和回溯搜尋
- 目標:在 ECG 中加入威脅情報實體,並使用多事件遙測資料,以及透過回溯搜尋掃描最多 30 天的歷來資料。
- 價值:偵測多階段攻擊,並找出指標新增至威脅動態消息前發生的歷來入侵事件。
事前準備
開始之前,請確認符合下列先決條件:
- 權限:您必須具備 Identity and Access Management 權限,才能在 Google SecOps 中管理資料動態饋給和撰寫偵測規則 (例如
Chronicle API Admin或Chronicle API Editor)。如要瞭解必要角色,請參閱「設定功能存取權」。 - 環境檢查:確認您有有效的 Google SecOps 執行個體,以及外部威脅情報供應商 (例如 MISP、STIX/TAXII 或 Cloud Storage 值區) 的有效 API 憑證或端點網址。
- 搜尋與規則功能:無論有效視窗為何,UDM 搜尋功能都能檢查 ECG 中儲存的原始實體記錄,而 YARA-L 偵測規則和自動比對功能只會評估
metadata.interval包含事件時間戳記的指標。 - 資訊主頁和搜尋欄位前置字元:在 UDM 搜尋、資訊主頁或 YARA-L 規則中查詢威脅情報實體時,請使用指標值的前置字元
graph.entity.(例如graph.entity.ip),以及威脅歸因欄位的前置字元graph.metadata.threat.。
匯入威脅情報指標
選取並設定擷取機制,將外部指標串流匯入 Google SecOps。
選取動態饋給擷取機制
您可以使用下列任一支援機制,擷取威脅情報動態消息:
- 預先建構的預設剖析器:Google SecOps 包含許多威脅情報平台的預設剖析器。如要查看 IOC 類別下支援的剖析器清單,請參閱「支援的記錄檔類型和預設剖析器」。支援的供應商包括 MISP、ThreatConnect、Intel471 和 Cyjax。
- 動態消息管理 API:在 Google SecOps 控制台中設定動態消息,或使用 動態消息管理 API,定期從外部 HTTPS、Cloud Storage 或 Amazon S3 端點提取指標。
- 擷取 API:使用擷取 API,將預先結構化的實體有效負載直接傳送至 Google SecOps。
- Bindplane 代理程式:使用 Bindplane 代理程式,從地端部署或雲端環境收集及轉送指標記錄。
- Cloud Run functions:使用 Cloud Run functions 部署無伺服器擷取指令碼,從外部 API (例如 STIX/TAXII 或 MISP) 擷取指標,並將指標串流至 Google SecOps。詳情請參閱「使用部署為 Cloud Run 函式的擷取指令碼」。
- Google SecOps 應變整合: 透過內容中心連接器擷取指標,同步處理威脅清單,做為自動化應對手冊的一部分。詳情請參閱「使用內容中心」。
導入威脅情報動態饋給
如要將威脅指標記錄從威脅情報供應商匯入 Google SecOps,請按照下列步驟操作:
請按照特定威脅動態饋給格式或供應商的導入程序操作:
- STIX/TAXII:請參閱「收集 STIX 威脅情報記錄」或「使用部署為 Cloud Run functions 的擷取指令碼 (STIX/TAXII)」(記錄類型
STIX) 中的無伺服器連接器。 - MISP:請參閱「收集 MISP IoC 記錄」或「使用部署為 Cloud Run 函式的擷取指令碼 (MISP)」(記錄類型
MISP_IOC)。 - 自訂 CSV 摘要:請參閱「收集 CSV 自訂 IoC 檔案」(記錄類型
CSV_CUSTOM_IOC)。 - ThreatConnect:請參閱「收集 ThreatConnect IoC 記錄」或「使用 v3 API 收集 ThreatConnect IoC 記錄」(記錄類型
THREATCONNECT_IOC和THREATCONNECT_IOC_V3)。 - Recorded Future:請參閱「收集 Recorded Future IoC 記錄」(記錄類型
RECORDED_FUTURE_IOC)。 - Anomali ThreatStream:請參閱「收集 Anomali ThreatStream IoC 記錄」(記錄類型
ANOMALI_IOC)。 - CrowdStrike Falcon Intelligence:請參閱「收集 CrowdStrike IoC 記錄」(記錄類型
CROWDSTRIKE_IOC)。 - Proofpoint Emerging Threats Pro:請參閱「收集 Proofpoint Emerging Threats Pro 入侵指標記錄」(記錄類型
ET_PRO_IOC)。 - 其他商業和開放原始碼動態饋給:請參閱「支援的記錄檔類型和預設剖析器」,找出供應商的入門指南和記錄檔類型。
- STIX/TAXII:請參閱「收集 STIX 威脅情報記錄」或「使用部署為 Cloud Run functions 的擷取指令碼 (STIX/TAXII)」(記錄類型
將對應的 IoC 記錄類型 (例如
STIX、MISP_IOC、CSV_CUSTOM_IOC或THREATCONNECT_IOC) 指派給傳入的動態饋給資料,這樣預設剖析器就會將指標屬性擷取至 UDM 實體欄位。開啟「資料擷取」資訊主頁,確認內送記錄項目顯示正常,沒有未剖析的記錄錯誤。
填入並驗證實體脈絡圖
威脅指標進入 Google SecOps 後,剖析管道會將其正規化為 UDM 實體記錄,並填入 ECG。如要進一步瞭解實體擴充功能的運作方式,請參閱「Google SecOps 如何擴充事件和實體資料」。
結構化與非結構化資料對應
視您將威脅情報資料傳送至 Google SecOps 的方式而定,請按照適當的欄位對應工作流程操作:
- 結構化資料擷取:使用 Ingestion API 直接傳送預先結構化的 UDM 實體記錄時,請先根據 UDM
Entity架構格式化每個酬載,再進行擷取。 - 擷取非結構化和半結構化資料:使用動態饋給、Bindplane 代理程式或轉送器傳送原始記錄 (例如 CSV、JSON、STIX 或 CEF) 時,請指派預先建構的預設剖析器,或使用剖析器擴充功能建立自訂欄位對應,以擷取指標值並對應至必要的 UDM 實體欄位。
實體成為 IoC 的條件
如要讓 ECG 中的實體記錄透過自動比對和偵測規則,識別為可採取行動的 IoC,剖析器或 API 酬載必須填入下列五個 UDM 欄位群組:
- 實體類型 (
metadata.entity_type):支援的指標實體類型,例如DOMAIN_NAME、IP_ADDRESS、FILE或URL。 - 來源類型 (
metadata.source_type):資料來源分類,必須設為ENTITY_CONTEXT,才能擷取客戶的威脅情資動態饋給。 - 構件 ID (
entity.*):指標值本身,例如graph.entity.ip、graph.entity.hostname、graph.entity.domain.name、graph.entity.file.sha256(或md5和sha1) 或graph.entity.url。 - 威脅中繼資料 (
metadata.threat):描述威脅的內容屬性,包括threat_feed_name、threat_name、category、severity和confidence。 生命週期間隔 (
metadata.interval):metadata.interval.start_time:指標啟動時的時間戳記。metadata.interval.end_time:指標到期的時間戳記。
如需結構定義,請參閱「實體的 UDM 欄位清單」和「EntityMetadata」。
使用 UDM 搜尋驗證擷取的 IoC 資料
指標經過擷取和剖析後,通常會在 2 到 5 分鐘內顯示在 UDM 搜尋結果中。執行 UDM 搜尋,確認指標是否填入心電圖:
- 在 Google SecOps 導覽選單中,依序選取「調查」 >「搜尋」。
在搜尋欄位中,輸入以實體圖表為目標的查詢,找出已擷取的指標值:
IP 位址:
graph.entity.ip = "<var>IP_ADDRESS</var>"網域:
graph.entity.hostname = "<var>DOMAIN_NAME</var>"檔案雜湊 (SHA-256):
graph.entity.file.sha256 = "<var>SHA256_HASH</var>"來源產品:
graph.metadata.source_product = "<var>SOURCE_PRODUCT_NAME</var>"
按一下「搜尋」或按下 Enter 鍵。
按一下傳回的實體資訊卡,確認
threat和interval欄位包含預期的中繼資料和有效時間戳記。
關聯遙測資料並偵測威脅
威脅指標填入 ECG 後,請將這些指標與傳入和歷來安全事件建立關聯。
啟用 IoC 自動比對功能
Google SecOps 內建自動比對引擎,可獨立於自訂偵測規則運作。當事件遙測資料與心電圖中的有效指標相符時:
- 系統產生的相符項目:平台會自動建立 IoC 相符項目記錄,無須維護自訂規則。
- 預估擷取後時間 (概略估計):
- 串流事件:指標填入 ECG 後 (通常在擷取後 5 到 15 分鐘),Google SecOps 會評估傳入的串流事件,並在 5 到 15 分鐘內,於「IoC matches」(IoC 比對) 頁面顯示相符項目。
- 過往事件:自動比對引擎也會在批次週期中,根據過往遙測資料回溯評估新擷取的指標,初始比對結果通常會在 1 到 4 小時內顯示 (完整過往關聯性會在 24 小時內完成)。
- 間隔強制執行:比對引擎會根據有效指標嚴格評估事件,其中事件時間戳記會落在
metadata.interval內。
撰寫 YARA-L 2.0 關聯規則
編寫 YARA-L 2.0 偵測規則,將事件遙測資料 (例如網路連線、DNS 查詢或程序啟動) 與 ECG 中的指標實體合併。自訂規則可讓您結合指標比對結果、行為門檻、素材資源內容和排除清單:
- 在 Google SecOps 導覽選單中,依序選取「偵測」>「規則和偵測」,然後按一下「新增」。
- 在規則的
events:區段中,定義預留位置變數,將 UDM 事件欄位 (例如$net.target.ip = $ip) 與對應的 ECG 實體欄位 (例如$ioc.graph.entity.ip = $ip) 聯結。 依據威脅屬性 (例如
$ioc.graph.metadata.threat.category) 篩選實體變數,並在match:區段中指定關聯時間範圍 (例如$ip over 5m)。按一下「儲存新規則」。
執行回溯搜尋,偵測歷來入侵事件
威脅情報動態饋給通常包含指標,這些指標是攻擊者在貴機構匯入動態饋給前幾天或幾週使用的。即時規則會評估新傳入的遙測資料,而 YARA-L 追溯搜尋功能則會追溯套用規則邏輯,最多可追溯 30 天前的安全性事件:
- 在 Google SecOps 導覽選單中,依序選取「偵測」>「規則和偵測」。
- 在規則清單中找出自訂威脅情報規則。
- 按一下 可查看更多規則選項,然後選取「YARA-L Retrohunt」。
- 在「YARA-L 追溯搜尋」對話方塊中,選取歷史搜尋的開始和結束時間。請確認所選日期範圍大於或等於規則中指定的比對間隔。
- 按一下「執行」。
開啟規則的「偵測項目」分頁,監控進度並檢查過往的相符項目。
詳情請參閱「針對歷史資料執行規則」。
調查相符內容和快訊
在 Google SecOps 的專屬檢視畫面中,查看自動比對和自訂關聯規則產生的發現項目。
在 IoC 比對頁面查看自動比對結果
如要調查自動指標相符情形,請按照下列步驟操作:
- 在 Google SecOps 導覽選單中,依序選取「偵測」 >「IoC 比對」。
- 使用篩選器控制項,依指標類型 (網域、IP 位址、檔案雜湊或網址) 縮小調查結果範圍。
- 按一下任一指標列,開啟相符詳細資料面板,當中會顯示:
- 相關聯的內部資產和使用者名稱。
- 首次出現和上次出現事件的時間戳記。
- 威脅情報動態消息來源和信心歸因。
- 按一下「在 UDM 搜尋中查看」,即可檢查與指標相關的所有原始遙測事件。
詳情請參閱「使用 Applied Threat Intelligence 查看 IoC」。
在「警示」和「偵測項目」頁面中,分類規則命中項目
自訂 YARA-L 規則產生的偵測結果會顯示在「快訊」和「偵測」頁面:
- 在 Google SecOps 導覽選單中,依序選取「偵測」>「快訊和 IoC」,即可查看優先順序較高的規則快訊。
- 按一下快訊名稱,開啟「快訊詳細資料」頁面,然後檢查「偵測結果」表格,其中列出相關事件列和 ECG 實體屬性。
- 如要查看無聲規則 (已停用警告功能) 或完成回溯搜尋的結果,請依序開啟「偵測項目」>「規則與偵測項目」,按一下規則名稱,然後檢查「偵測項目」分頁。
將自訂指標與新興威脅中心建立關聯
您也可以使用新興威脅中心,調查自訂入侵指標比對結果與更廣泛的攻擊者活動和惡意軟體系列的關聯:
- 在 Google SecOps 導覽選單中,依序選取「偵測」 > 「新興威脅」。
- 查看主動威脅活動和諮詢,然後轉向 UDM 搜尋,檢查自訂威脅動態饋給中的指標是否與觀察到的活動重疊。
詳情請參閱「新興威脅中心總覽」。
存取進階資產和參考資料
建立自訂威脅情報規則時,請使用下列 YARA-L 2.0 片段和參考資源。
與惡意 IP 位址相符的傳出網路連線
這項規則會將外送 NETWORK_CONNECTION 事件與 ECG 中的有效 IP 指標相互關聯:
rule custom_ioc_network_connection {
meta:
author = "Security Operations"
description = "Detects connections to IPs matching custom threat intel"
severity = "HIGH"
priority = "HIGH"
events:
$net.metadata.event_type = "NETWORK_CONNECTION"
$net.target.ip = $ip
$ioc.graph.entity.ip = $ip
$ioc.graph.metadata.threat.category = "SUSPICIOUS_NETWORK"
match:
$ip over 5m
outcome:
$risk_score = max(85)
$threat_name = array_distinct($ioc.graph.metadata.threat.threat_name)
$source_feed = array_distinct($ioc.graph.metadata.source_product)
$principal_hostname = array_distinct($net.principal.asset.hostname)
condition:
$net and $ioc
}
與惡意網域相符的 DNS 查詢
這項規則會找出在您擷取的威脅動態饋給中,遭標記為惡意網域的 NETWORK_DNS 查詢:
rule custom_ioc_malicious_domain_query {
meta:
author = "Security Operations"
description = "Detects DNS queries for domains matching threat intel"
severity = "MEDIUM"
priority = "MEDIUM"
events:
$dns.metadata.event_type = "NETWORK_DNS"
$dns.network.dns.questions.name = $domain
$ioc.graph.entity.hostname = $domain
match:
$domain over 10m
outcome:
$threat_name = array_distinct($ioc.graph.metadata.threat.threat_name)
$source_feed = array_distinct($ioc.graph.metadata.source_product)
$client_ip = array_distinct($dns.principal.ip)
condition:
$dns and $ioc
}
與惡意 SHA-256 檔案雜湊相符的程序執行
當 PROCESS_LAUNCH 事件與 ECG 中儲存的已知惡意 SHA-256 檔案雜湊相符時,就會觸發這項規則:
rule custom_ioc_malicious_file_execution {
meta:
author = "Security Operations"
description = "Detects process launches matching malicious file hashes"
severity = "CRITICAL"
priority = "HIGH"
events:
$process.metadata.event_type = "PROCESS_LAUNCH"
$process.target.process.file.sha256 = $sha256
$ioc.graph.entity.file.sha256 = $sha256
match:
$sha256 over 5m
outcome:
$threat_name = array_distinct($ioc.graph.metadata.threat.threat_name)
$file_path = array_distinct($process.target.process.file.full_path)
$hostname = array_distinct($process.principal.asset.hostname)
$user = array_distinct($process.principal.user.userid)
condition:
$process and $ioc
}
社群部落格和其他資源
如需編寫 YARA-L 規則及關聯自訂威脅情資動態饋給的其他範例,請參閱下列 Google Cloud 社群資源:
- 使用自己的威脅情報建立規則 (第 1 部分)
- 使用自己的威脅情報建立規則 (第 2 部分)
- YARA-L 基礎知識
- YARA-L 規則變數
- YARA-L 運算子和修飾符
- 使用規則運算式建立單一事件規則
- 建立多重事件規則:加入事件
- 規則編輯器導覽
疑難排解
使用本節管理效能期望,並解決導入威脅情報動態消息和建立關聯規則時的常見問題。
延遲時間、服務配額和限制
- 擷取和 UDM 搜尋索引:新擷取的指標通常會在 2 到 5 分鐘內顯示在 UDM 搜尋中。請在動態饋給擷取完成後至少等待 5 分鐘,再排解實體記錄遺失的問題。
- 自動 IoC 比對延遲:指標填入 ECG 後,系統會在 5 到 15 分鐘內,在「IoC matches」(IoC 比對)頁面上,顯示與傳入串流事件的相符項目。對過往事件進行回溯批次比對通常需要 1 到 4 小時 (如要進行完整的過往關聯性比對,則最多需要 24 小時)。
- 實體內容圖表關聯性視窗:自動 IoC 比對和 YARA-L 關聯性規則會嚴格評估有效
metadata.interval視窗內的指標。如果指標的end_time值已過期,系統就不會產生相符結果。 - Retrohunt 搜尋時間範圍:每次執行 YARA-L Retrohunt 時,最多可掃描 30 天的歷史遙測資料。完成時間取決於規則複雜度和系統資源可用性。
錯誤修正
使用下表診斷及解決威脅情報導入和偵測規則編寫期間的問題。
| 問題 | 問題說明 | 修正 |
|---|---|---|
| 未剖析的 IoC 記錄 | 動態消息狀態會顯示傳入的資料,但記錄檔無法剖析為 UDM 實體。 | 確認動態饋給記錄類型與剖析器相符 (例如 STIX、MISP_IOC 或 CSV_CUSTOM_IOC)。檢查「資料擷取」資訊主頁,找出原始結構定義錯誤。 |
| 缺少 UDM 搜尋結果 | 指標記錄剖析時沒有錯誤,但 UDM 搜尋未傳回任何實體記錄。 | 確認查詢目標是 graph.entity.* 欄位 (例如 graph.entity.ip),而非 udm.principal.* 事件欄位。 |
| 規則無法根據已知指標觸發 | 事件和指標都存在於 UDM 搜尋中,但 YARA-L 規則未產生任何偵測結果。 | 確認指標上的 metadata.interval.start_time 和 metadata.interval.end_time 括住活動時間戳記。 |
| 在 Retrohunt 期間發出洪水警報 | 執行回溯搜尋會產生數百個重複的 SOAR 案件和快訊。 | 開始 RetroHunt 前,請先關閉規則的警報切換鈕。請先查看「偵測」頁面上的偵測結果,再重新啟用即時快訊。 |
| 誤報情形過多 | 如果指標雜訊過多,系統可能會偵測到良性的內部掃描器或管理主機。 | 在規則中加入參照清單排除條件 (例如 not $net.principal.ip in %benign_scanner_ips),並要求提供行為事件環境。 |
驗證和測試
在即時快訊模式中啟用自訂威脅情報規則前,請先使用內建的「測試規則」功能驗證規則邏輯:
- 依序開啟「偵測」>「規則與偵測項目」,然後按一下規則,開啟規則編輯器。
- 按一下下方面板中的「測試規則」,即可根據近期歷史事件資料和有效 ECG 實體評估規則,不會產生快訊或 SOAR 案件。
- 檢查傳回的測試偵測結果,確認
outcome變數 (例如$threat_name和$source_feed) 是否如預期填入。
後續步驟
- 進一步瞭解搜尋中的實體背景資訊。
- 請參閱「開始使用 YARA-L」和「YARA-L 中的單一和多重事件規則」。
- 瞭解應用威脅情報精選偵測規則。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。