運算式建構工具範例
本文提供使用案例,詳細說明如何在 Google Security Operations 平台中,透過教戰手冊動作建構及實作動態運算式。重點在於使用運算式建構工具剖析、篩選及擷取先前動作結果中的特定資料 (例如清單資料、實體詳細資料和掃描報告),以便在後續應對手冊步驟中驅動複雜的自動化邏輯。
事前準備
開始之前,請先參考下列建議:
- 使用 Qualys - List Scans 取得 Qualys 的所有最新掃描結果 (硬式編碼為 30 天)。
- 使用運算式建立工具擷取最新掃描作業的 ID (REF),做為下載 VM 掃描結果的預留位置。下載相關報告的 VM 掃描結果。
- 使用「列出作業」從報告中擷取網路常見安全漏洞與弱點 (CVE) 的 ID 清單,並與案件中的 CVE 進行比較。
- 使用 IPS 快訊觸發劇本。
用途:入侵防禦系統 (IPS)
這個應用範例假設您正在建構應對手冊,且應對手冊已在網路中發現惡意流程。
假設 Qualys 等安全漏洞管理工具已排定每日掃描作業。
建立預留位置
如要建立預留位置,請按照下列步驟操作:
- 首先,請使用
Active Directory_Enrich Entities動作,擴充所有可能受影響的實體。 - 使用 Qualys VM - List Scans 擷取網路機器的最新掃描結果。
- 判斷是否有任何結果容易受到偵測到的流程影響。
- 看看
QualysVM_Download VM Scan Results_1。您應該會看到預留位置和新增的運算式產生器。
新增預留位置
如要新增預留位置,請按照下列步驟操作:
- 按一下「[ ]」預留位置。系統會隨即顯示「Insert Placeholder」對話方塊。
- 選取「Playbook」> QualysVM_list_Scans_1_JSONResult。
- 按一下「運算式產生器」圖示,隨即會顯示「運算式產生器」頁面。
-
在「運算式」欄位中,加入下列內容:運算式會使用 MAX 依日期
LAUNCH_DATETIME取得最新結果,然後擷取相關掃描的特定掃描 ID,其中 REF 是掃描 ID。
範例:| max(LAUNCH_DATETIME) | REF - 按一下「執行」。預期結果應會顯示。
- 按一下「插入」,將運算式建構工具納入預留位置。
- 依序點選「動作」> 列出作業 使用案件中的 CVE + 運算式產生器顯示。
-
即時觸發劇本後,您可以在側邊抽屜中查看掃描結果,包括以 PDF 檔案形式呈現的特定掃描。
使用情境:登入失敗次數過多
這個用途是透過擴充實體資料來判斷快訊嚴重程度,以解決登入嘗試失敗的問題。目標是快速找出使用者的部門和上次變更密碼的日期。
- 首先,請使用
ActiveDirectory_Enrich實體動作,收集與警示相關的所有內部實體詳細資訊。 - 在後續的洞察訊息中,使用運算式建立工具擷取目標使用者和上次登入時間。
新增預留位置
如要新增這些預留位置:
- 在「Message」(訊息) 欄位中,按一下「[ ] Placeholder」(預留位置)。
-
在「插入預留位置」頁面中,按一下
ActiveDirectory_Enrich entities_JSONResult旁邊的「運算式建構工具」圖示。 -
在運算式欄位中加入下列內容:這會選擇實體 ID。如果有多個實體傳回結果,我們會以逗號分隔清單的形式取得結果。
| 實體
-
按一下「執行」,系統會顯示範例結果。在本例中為
user@domain.com。 - 按一下「插入」,將此內容做為預留位置訊息的一部分。在訊息中加入相關的自由格式文字。
-
按一下「[ ] 預留位置」,然後按一下「
ActiveDirectory_Enrich entities_JSONResult」旁的「運算式建立工具」圖示。 - 新增下列運算式。這會擷取指定使用者的上次登入時間。| EntityResult.lastLogon
- 依序點選「插入」和「儲存」。
-
當劇本即時觸發後,「洞察」窗格會顯示訊息,指出使用者名稱和上次登入時間。
用途:VirusTotal 雜湊分析
這個應用情境說明如何從特定掃描引擎 (例如 Kaspersky) 擷取檔案雜湊的信譽,判斷檔案是否惡意並建立對應的實體。
- 使用「VirusTotal_Scan Hash」動作擷取檔案報告。
後續動作「Siemplify_Create」或「Update Entity Properties」會根據掃描結果,建立或修改實體屬性,例如 Detected by Kaspersky。
如要新增這個預留位置,請按照下列步驟操作:
- 在「欄位值」欄位中,按一下「[] 預留位置」。
-
在「插入預留位置」頁面中,按一下
VirusTotal_ScanHash_JSONResult旁邊的「運算式建構工具」圖示。
-
新增下列運算式:
| filter(EntityResult.scans.Kaspersky.detected, "=", "true") | Entity
如果掃描到多個雜湊值,系統會根據 Kaspersky 標示為惡意的所有實體物件篩選結果,然後只傳回實體名稱。
- 依序點選「插入」「儲存」。結果會在執行階段顯示。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。