搜尋案件總覽
本指南適用於想要分析安全遙測資料 (包括統合式資料模型 (UDM) 事件、實體、案件和案件記錄) 的安全分析師。本文說明如何在 Google Security Operations 中運用 SIEM 搜尋功能,將案件詳細資料與其他安全性資料無縫建立關聯。採用這種方法可簡化工作流程,減少不同介面之間的環境切換。成功完成後,事件應變速度會加快。
常見用途
本節列出 SIEM 搜尋的常見用途。
案件分類和優先順序
根據狀態、活動或相關聯的警示,有效識別並排定資安案件的優先順序。 價值:讓資安團隊能迅速處理最嚴重的事件,提高應變效率。
調查實體的時間軸
將案件資料與其他安全性遙測資料 (例如 UDM 事件和實體) 建立關聯,建構事件的完整時間軸。 價值:深入瞭解安全事件,有助於進行徹底調查,並做出更明智的決策。
重要術語
- SIEM:安全資訊與事件管理。指從各種來源收集及分析安全性資料,以偵測威脅的工具和程序。
- SOAR:安全自動化調度管理和應變。這類技術可協助資安團隊自動化、整合及簡化資安營運。
- UDM (統合資料模型):Google SecOps 內部使用的標準化資料格式,可一致地呈現各種來源的安全事件。
- 案件檢視器:SIEM 搜尋結果中的功能,可開啟所選案件的詳細檢視畫面。
- 資料欄管理工具:可自訂搜尋結果表格中顯示的資料欄。
- 匯總面板:提供搜尋結果中欄位值的摘要和分布情形。
查詢案件和案件記錄
本節提供範例,說明如何在 SIEM 搜尋中建構案件和案件記錄的查詢。
擬定基本案件查詢
- 動作/目標:找出所有未結案的案件。
- 查詢:
case.status = "OPENED" - 預期失敗:語法有誤或沒有相符的未結案件。
- 修正步驟:再次檢查查詢語法,並確認系統中確實有未結案件。
依特定活動類型搜尋
- 動作/目標:找出包含「CASE_ALERT_DATA」牆活動的案件。
- 查詢:
case.wall_activities.activity_type = "CASE_ALERT_DATA" - 預期失敗:如果沒有任何案件屬於這個活動類型,或是欄位名稱不正確,就不會顯示任何結果。
- 修正步驟:根據案件文件驗證活動類型和欄位名稱。
將案件與警告和實體資料建立關聯
- 動作/目標:找出與警報相關聯的案件,這些警報同時具有中繼資料 ID 和相關聯的實體名稱。
- 查詢:
case.alerts.metadata.id != "" AND case.alerts.entities.name != "" - 預期會失敗:查詢條件可能過於嚴格,因此沒有結果。
- 修正步驟:分別測試查詢的各個部分 (例如
case.alerts.metadata.id != ""),找出問題所在。
查詢案件記錄,瞭解優先順序變更
- 動作/目標:找出顯示案件優先順序變更的歷史記錄項目,並記錄指派對象。
- 查詢:
case_history.case_activity = "PRIORITY_CHANGE" AND case_history.assignee.name != "" - 預期失敗:沒有相符的記錄項目或欄位使用方式有誤。
- 修正步驟:確認案件記錄中使用的確切欄位名稱和活動類型。
範例資訊
下列範例會示範各種搜尋可能性,包括額外查詢、統計分析,以及將資料匯出至資料表。
其他查詢範例
- 根據指派對象的登入時間尋找案件:
case.assignee.last_login_time.seconds = 1778696064 AND case.assignee.last_login_time.nanos = 732156760 AND case.assignee.deleted = false - 尋找優先順序為「資訊」的案件記錄項目:
case_history.priority = "PRIORITY_INFO" - 找出特定時間發生的案件記錄事件 (非事件):
case_history.incident = false AND case_history.event_time.seconds = 1778749665 AND case_history.event_time.nanos = 664842769 - 找出字串自訂欄位不為空的案件:
case.custom_fields["soma_case_custom_field"].string_seq.string_vals!="" - 找出含有特定擁有者自訂欄位的案件:
case.custom_fields["owner"].string_seq.string_vals!="" - 找出服務水準協議截止時間晚於特定時間戳記的案件:
case.custom_fields["sla deadline"].time_val.seconds >= 1775726849
統計查詢
- 案件數:
- 查詢:
case.display_name != "" - 結果:
$case_count = count(case.display_name)
- 查詢:
- 案件記錄數:
- 查詢:
case_history.name != "" - 結果:
$case_count = count(case_history.name)
- 查詢:
- 自訂欄位數:
- 查詢:
case.custom_fields["reporter"].string_seq.string_vals = "" nocase or case.custom_fields["reporter"].string_seq.string_vals = "" or case.custom_fields["reporter"].string_seq.string_vals = "" - 結果:
$case_count = count(case.name)
- 查詢:
匯出至 DT 查詢
您可以將案件和案件記錄中的搜尋結果匯出至資料表,以供進一步分析。
- 匯出案件資料:
- 查詢:
case.name != "" - 結果和匯出:
outcome: $x = case.name export: %new_case_table.write_row( testing: $x )
- 查詢:
- 匯出案件記錄資料:
- 查詢:
case_history.name != "" - 結果和匯出:
outcome: $x = case_history.name export: %new_case_history_table.write_row( testing: $x )
- 查詢:
- 匯出自訂欄位案件資料:
- 查詢:
$impact = case.custom_fields["business impact"].string_seq.string_vals AND ($impact = "high" OR $impact = "critical") - 結果和匯出:
match: case.response_platform_info.response_platform_id, case.display_name, case.environment, case.priority outcome: $Case_Count = count(case.name) export: %new_case_table123.write_row( testing: $Case_Count )
- 查詢:
限制
在 Google SecOps 搜尋介面中搜尋案件和案件記錄時,有以下限制:
- 快訊、案件總覽活動和工作只會在從案件搜尋結果轉向案件頁面後顯示,無法直接在搜尋檢視畫面中查看。
- 搜尋介面不支援主動管理工作,例如修改案件屬性 (階段、優先順序、重要性、事件狀態)、編輯指派對象、新增工作或結案。
- 案件和案件記錄資料在搜尋中為唯讀。案件的建立和編輯作業仍會在案件模組中進行。
- 不支援跨資源聯結 (例如聯結案件和案件記錄,顯示案件的歷史快照),或相同資源類型內的聯結 (例如多筆案件記錄)。
- 盛行率和活動熱度圖不適用於病例或病史搜尋。
- 不提供直接的案件查詢功能。
程式輔助 API 支援
案件和案件記錄的程式輔助 API 搜尋功能,與現有的非同步搜尋 API 結構和工作流程一致。如要瞭解如何使用 API,請參閱 Search API 說明文件。
疑難排解
本節說明效能期望,並提供自助式修正方法,解決搜尋案件和案件記錄時遇到的常見問題。
錯誤修正
提供的文字未詳細說明與案件和案件記錄搜尋相關的特定錯誤代碼。如果發生錯誤,請確認查詢符合先前所述的支援語法和限制。
| 問題說明 | 修正 |
|---|---|
| 查詢未傳回任何結果 | 請再次檢查查詢語法、欄位名稱和篩選器。確認有符合條件的資料。 |
| 嘗試修改案件資料 | 案件和案件記錄搜尋功能為唯讀。如要進行修改,請使用專用的案件模組。 |
| 嘗試加入其他資源 | 系統不支援跨資源彙整。分別查詢 case 和 case_history。 |
驗證和測試
如要驗證查詢是否成功:
- 查看搜尋結果:檢查結果表格,確認結果是否符合查詢條件。
- 使用內建功能:運用「資料欄管理工具」等功能顯示相關欄位,並使用「彙整面板」瞭解資料分布情形,有助於確認查詢的準確度。
- 匯出及驗證:使用「CSV 下載」匯出結果,並視需要執行外部驗證或分析。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。