跳至內容
安全案件與劇本(SOAR)

安全案件與劇本(SOAR)

Security Events 會把偵測規則、威脅情資和已連線的安全性產品所發現的問題轉為案件:每件值得調查的事對應一個案件,與同一使用者、主機或位址有關的所有偵測都會歸入其中。分析師在佇列中處理案件,劇本則會自動或一鍵對案件做出回應。

運作方式

flowchart TB subgraph sources["偵測"] direction LR rules["偵測<br/>規則"] ~~~ intel["威脅<br/>情資"] ~~~ products["已連線的<br/>產品"] end sources --> group{"是否已有關於同一<br/>實體的未關閉案件?"} group -->|"是"| join["該偵測<br/>併入此案件"] group -->|"否"| open["開啟一個新案件"] join --> playbooks["執行劇本"] open --> playbooks playbooks --> work["分析師<br/>處理案件"] work --> close["給出結論後關閉"]

從偵測到已關閉的案件

開啟 產品 → Security Events → 安全案例 → 未結案例 查看佇列。指派給我、無人認領、已關閉案例 和 全部案例 是旁邊各自獨立的頁面,分別列出其名稱所指的案件。

開始之前

案件和劇本遵循三個 Security 角色的權限。Project Owner 和 Project Admin 可以執行所有操作。

角色能做什麼
Security Admin一切操作,包括刪除案件和設定劇本
Security Member開啟、指派、變更和關閉案件,撰寫備註,執行劇本,以及核准或拒絕劇本的步驟
Security Viewer讀取案件、偵測、備註、劇本及其執行記錄

其中每一項權限也都可以單獨授予,從建立案件到核准劇本的步驟皆然;請參閱 權限參考。

案件從何而來

來源何時開啟案件停用方式
偵測規則規則符合時規則的 符合時 步驟中的 Open a Case on Match
威脅情資某個事件提到已知指標時情資來源的 符合時 步驟中的 Open a Case on Match
已連線的產品匯入的產品本身警示達到或高於連線的閾值時在連線的 Polling 步驟中,把 Open Cases From 設為 從未
人員有人從 安全案例 開啟案件,或在事件面板中使用 Open Case 時無

所有來源預設都是開啟的。除非你選擇其他等級,否則連線會為 高及以上 的警示開啟案件;低於該等級的警示仍會匯入為事件。

偵測如何分組

每個偵測都與某個實體有關:也就是其規則分組所依據的值,例如暴力破解規則中的 IP 位址,或威脅情資符合項目所提到的指標。沒有實體的偵測會單獨存在,不與其他偵測合併。

  • 如果已有與該實體有關的未關閉案件,偵測就會併入其中。案件的實體和 ATT&CK 對應會隨之擴充,其優先順序會提升到該偵測的優先順序,但絕不會降低。
  • 如果沒有這樣的案件,就會開啟一個新案件,以該偵測命名,優先順序與該偵測相同。
  • 再次觸發的偵測會在它所在的列上累加計數,而不是新增一列。

案件的優先順序取決於偵測的嚴重程度:

嚴重程度優先順序
Critical 或 FatalCritical
HighHigh
Medium、Unknown 或 OtherMedium
LowLow
InformationalInformational

處理案件

案件會依序經歷四種狀態。它可以略過某個狀態,例如直接從 New 關閉的誤判,也可以重新開啟。

狀態意義
New還沒有人查看過
Investigating有人正在釐清發生了什麼事
Contained威脅已無法再造成危害,但仍有清理工作要做
Closed已處理完畢,並對其性質給出了結論

案件頁面上有處理它所需的一切:

  • 頂端:Assign to Me、Run Playbook、宣告事件 和 Close Case 按鈕,狀態步驟,以及它們旁邊選單中的優先順序。
  • Status200 AI:Status200 AI 對案件的研判、它建議的優先順序和劇本,以及背後的證據。請參閱 安全性中的 Status200 AI。
  • Detections:觸發後開啟或併入此案件的偵測、觸發次數,以及最新的符合事件。
  • 實體:案件涉及的使用者、主機和位址,以及它們最近 7 天在你所有安全性事件中的活動。每個實體都可以在 關聯分析 中開啟。
  • MITRE ATT&CK:案件的偵測所對應的戰術和技術,每一項都連結到 attack.mitre.org 上的對應頁面。
  • 劇本執行記錄:每個劇本在此案件上逐步做了什麼,以及等待核准的步驟。
  • 備註 和 時間軸:團隊寫下的內容,以及發生過的一切和操作者。

若要同時處理多個案件,請在佇列中選取它們,然後使用 Assign to Me、Change Status 或 Change Priority。

關閉案件

Close Case 會要求填寫結論和一則選用的結案備註:

結論意義
True Positive確實發生了惡意或未經授權的活動
Benign Positive活動確實存在但在預期之內,例如滲透測試或管理工作
False Positive偵測有誤:規則或資料誤判了正常活動
Undetermined沒有足夠的資訊可以判斷

概覽頁面會統計這些結論。如果某條規則的案件總是以 False Positive 關閉,就表示這條規則需要調校。

從 Google SecOps 警示開啟的案件,如果其連線開啟了 案例關閉時關閉其警示,也會在 Google SecOps 中關閉這些警示,並附上結論和關閉說明:請參閱 Google SecOps。

宣告事件

宣告事件 會以你選擇的嚴重程度為此案件開啟一個 Status200 事件(incident),並在兩者之間建立雙向連結:事件的描述會寫明此案件,案件的頁首會連結到該事件。接下來就由待命、狀態頁面和事後分析接手。此操作需要一個既能處理案件、又能建立事件的角色。

通知

Status200 會就案件上的三件事通知相關人員。不需要任何人做任何設定:一個只點選了 開啟推薦設定 的專案,也會透過電子郵件和推播收到其 High 和 Critical 案件的通知。

通知通知誰預設方式
新的安全案例所有能檢視專案案件的人:當案件以他們所選的優先順序或更高的優先順序開啟,或提升到該優先順序或更高時電子郵件和推播,針對 High 和 Critical 案件
指派給我的安全案例案件被指派給的人,以及案件被指派給的團隊成員電子郵件和推播
等待我核准的劇本步驟案件相關人員中能核准該步驟的人:案件被指派給的人及其團隊的成員。如果他們都無法核准,則通知專案中所有能核准的人電子郵件和推播
  • 只有能檢視案件的人才會收到相關通知:Project Owner、Project Admin,以及 Security Admin、Security Member 和 Security Viewer 角色。僅限於某些標籤的角色,只會收到帶有這些標籤的案件的通知。
  • 沒有人會因為自己做的事而收到通知:手動開啟案件、指派案件或啟動執行的人不會收到相應的通知。
  • 每個人對一個案件只會收到一次通知。一個以 Medium 開啟、之後提升到 Critical 的案件,會在提升時通知選擇了 High 或 Critical 的人,而不會再次通知選擇了 Medium 的人,因為他們在案件開啟時就已經收到通知。
  • 透過 傳送測試攻擊 發起的測試攻擊會開啟一個不通知任何人的案件。
  • Critical 案件和等待核准的步驟會立即傳送,絕不會被壓在 郵件彙總 中延後傳送。
  • 案件的 時間軸 會顯示通知了誰以及何時通知。

選擇你會收到的通知

每個人都可以在 使用者設定 → 通知設定 → 安全性 下自行選擇:每種通知的管道(電子郵件、簡訊、電話、推播、Telegram、Slack、Microsoft Teams 或 Webhook),以及在 新的安全案例 下選擇會通知自己的優先順序:

選項通知哪些優先順序的案件
僅嚴重Critical
高和嚴重High 和 Critical(預設)
中及以上Critical、High 和 Medium
低及以上除了 Informational 以外的所有優先順序
所有案例所有優先順序

安全案件不會傳送 WhatsApp 訊息。推播通知會開啟 Status200 應用程式,其中的連結會在瀏覽器中開啟該案件。

張貼到 Slack 和 Microsoft Teams 頻道

若要張貼到頻道,請在 產品 → Security Events → 工作區 → Slack(或 Microsoft Teams)下新增一條規則。兩者都未連線時,該區段只有一個項目:連線 Slack 或 Teams。規則會指定要張貼到的頻道(在 Microsoft Teams 中還包括聊天),並可視需要指定它適用於哪些案件:

條件符合內容
安全案例優先順序嚴重、High、Medium、Low 或資訊
安全案例標題、安全案例描述案件標題或描述中包含的文字,或其開頭、結尾的文字
安全案例狀態新增、調查中、Contained 或已關閉
安全案例來源Detection Rule、Threat Intel、Connected Product 或 Manual
安全案例標籤案件的標籤

這三種通知都會張貼到案件當時所符合的每條規則的頻道。一條 安全案例優先順序 包含 嚴重 和 High 中任一項的規則,會在 High 和 Critical 案件開啟時張貼它們,並在 Medium 案件提升到 High 時張貼它。安全案件永遠不會有專屬的頻道。

劇本

劇本是在案件上執行的一系列步驟。請在 產品 → Security Events → Playbooks 下從範本或空白建立劇本,然後在它的頁面上新增步驟。

劇本何時執行

觸發方式執行時機
Case Opened案件開啟時執行一次
Detection Added每當有新的偵測併入未關閉的案件時
研判為可能惡意當 Status200 AI 的研判把案件判讀為 可能為惡意 時,執行一次
Manual只有在有人從案件執行它時

任何已啟用的劇本也可以透過案件上的 Run Playbook 手動執行。自動執行的劇本可以用下列設定縮小範圍:

  • For Cases At Least:只針對此優先順序或更高優先順序的案件。
  • Only For Detections From:只在案件背後的偵測來自此來源時執行。
  • Only For These Detection Rules:只在該偵測來自這些規則之一時執行。

已停用的劇本既不會自動執行,也無法手動執行。

步驟

類別步驟作用
案件Assign the case把案件指派給某個人、某個團隊或兩者
案件Set the priority提高或降低案件的優先順序
案件Set the status把案件移到 Investigating、Contained 或 Closed,並附上你選擇的結論
案件Add a note在案件上寫一則備註,例如給分析師的檢查清單
案件Add labels為案件加上標籤
調查Check entities against threat intel在你的威脅情資中查詢每個實體,符合時可以提高優先順序
調查Look up entity activity統計每個實體在最近一段時間內的安全性事件,並記錄在案件上
通知Email people以電子郵件傳送案件摘要及其連結給使用者和團隊
通知Post to Slack把案件摘要張貼到某個 Slack 頻道
通知Post to Microsoft Teams把案件摘要張貼到某個 Microsoft Teams 頻道
呈報Page on-call執行一個待命策略
呈報Declare an incident開啟一個與案件連結的 Status200 事件
圍堵Suspend the user in Okta在 Okta 中暫停案件涉及的使用者
圍堵End the user's Okta sessions將案件涉及的使用者登出 Okta,並撤銷其權杖
圍堵Contain the host in CrowdStrike透過 CrowdStrike Falcon 對案件涉及的主機進行網路圍堵
圍堵Isolate the device in Microsoft Defender透過 Microsoft Defender for Endpoint 隔離案件涉及的主機
圍堵Unsuspend the user in Okta在 Okta 中取消暫停案件涉及的使用者
圍堵Lift containment in CrowdStrike解除 CrowdStrike Falcon 對案件涉及的主機施加的網路圍堵
圍堵Release the device in Microsoft Defender在 Microsoft Defender for Endpoint 中將案件涉及的主機解除隔離
自動化Send a webhook把案件以 JSON 格式 POST 到某個 URL
自動化Run a workflow以案件作為輸入,啟動一個 Status200 工作流程

一個劇本最多有 25 個步驟。它們會依序執行,每個步驟在前一個完成後才開始。每個步驟還可以設定:

  • Needs Approval:在執行到此步驟之前暫停,直到有人在案件上核准它。切斷某人存取的四個步驟一律如此,除非 Security Admin 將其關閉。
  • Only If Threat Intel Matched:除非本次執行中先前的 Check entities against threat intel 步驟找到了已知指標,否則略過此步驟。
  • Carry On If It Fails:即使此步驟失敗,也繼續執行下一個步驟。關閉此項時,失敗的步驟會停止本次執行。

圍堵

圍堵類步驟會透過與該產品的 安全性事件連線 執行動作,這個連線需要的不只是讀取權限:

步驟連線所需權限
Suspend the user in Okta、End the user's Okta sessions、Unsuspend the user in OktaOkta System Log一個有權管理使用者的 API 權杖
Contain the host in CrowdStrike、Lift containment in CrowdStrikeCrowdStrike Falcon一個具有 Hosts 寫入範圍的 API 用戶端
Isolate the device in Microsoft Defender、Release the device in Microsoft DefenderMicrosoft Defender XDR一個具有 Machine.Isolate 權限的應用程式

圍堵類步驟只會作用於案件涉及的使用者或主機,絕不會作用於案件提到的所有使用者或主機:

  • 案件中某個偵測分組所依據的值,例如「不可能的旅行」規則分組所依據的帳戶,或已連線產品的警示中提到的主機。
  • 案件中被你的威脅情資列為指標的使用者或主機。

依位址分組的案件,例如針對你的 VPN 的暴力破解,並不涉及上述任何一種:它的圍堵類步驟會被略過,它嘗試過的帳戶和它攻擊的閘道都不會被動到。一個步驟最多作用於 10 個使用者或主機。它會依名稱在產品中找出每一個,並在執行上說明對每一個做了什麼:已完成、先前已完成、找不到、遭到拒絕或受保護。

受保護的實體

選單中 Playbooks 下的 Protected Entities 列出任何劇本都不會圍堵的使用者和主機,例如緊急存取帳戶、網域控制站和 VPN 閘道。比對值時不區分大小寫,* 代表任意字元序列:svc-* 會保護所有服務帳戶。步驟會將受保護的使用者或主機回報為受保護,並且不會動到它。這份清單由 Security Admin 維護。

核准

切斷某人存取的四個步驟會等待核准。只有 Security Admin 可以為其中某個步驟關閉 Needs Approval,Status200 會記錄是誰關閉的。核准時會在 Act On 下列出該步驟將作用的使用者或主機,每一個都已勾選:取消勾選該步驟不該動到的那些。受保護的使用者或主機不會列為選項。啟動執行的人無法核准它的步驟:要由其他人核准,不過啟動者仍可拒絕該步驟。

復原

復原類步驟和它們所復原的步驟一樣,作用於案件涉及的使用者或主機。執行停止後,被圍堵的使用者或主機在其步驟上還會有一個專屬按鈕:Unsuspend、Lift Containment 或 釋出。已結束的 Okta 工作階段無法復原。每次復原都會記錄在案件的時間軸上和專案的稽核日誌中。

訊息

備註、電子郵件、Slack 貼文和 Teams 貼文都可以使用案件的值:

預留位置取代為
{{case.number}}案件編號,例如 CASE-42
{{case.title}}案件標題
{{case.priority}}Critical、High、Medium、Low 或 Informational
{{case.status}}New、Investigating、Contained 或 Closed
{{case.assignee}}案件指派給了誰
{{case.url}}指向 Status200 中此案件的連結
{{case.entities}}案件涉及的使用者、主機和位址
{{case.detections}}案件包含的偵測數量

沒有自訂訊息的電子郵件或貼文會傳送案件摘要。

執行與核准

每次執行都會逐步列在其案件上,以及 產品 → Security Events → Playbooks → 劇本執行記錄 下:

執行狀態意義
Queued等待工作程序
Running正在執行其步驟
Waiting for Approval停在需要核准的步驟之前
Succeeded每個步驟都已執行或被略過
Failed某個步驟失敗,執行已停止
Cancelled有人取消了它,或拒絕了某個步驟

等待核准的步驟會在執行上顯示 Approve 和 Reject,並可附上一則選用的意見。核准後,執行會從該步驟繼續;拒絕則會結束執行。核准決定、決定者及其意見都會記錄在該步驟上、案件的時間軸上和專案的稽核日誌中。選單中 Playbooks 下的 等待核准 列出等待決定的執行並顯示其數量;劇本執行記錄 列出所有執行。

如果某次執行不再收到工作程序的回應(例如在重新啟動之後),它會被重新接手:佇列中的執行會在 2 分鐘後重新排入佇列,30 分鐘都沒有任何回報的執行會被判定為失敗。

概覽

產品 → Security Events → 概覽 是開啟此產品時進入的頁面:

  • 指派給你的未關閉案件、尚無人接手的未關閉案件,以及等待核准的劇本步驟;每個數字都會開啟列出它們的頁面。
  • 平均確認時間、平均遏止時間 和 平均關閉時間,以最近 30 天內開啟的案件計算:分別是從案件開啟到有人接手(指派給某個人,或將它移出 New 狀態)、到 Contained、到 Closed 所花的時間。仍在等待中的案件不計入平均值。
  • 30 天內每天開啟的案件數(依優先順序劃分),以及 14 天內每天產生的偵測數(依來源劃分)。
  • 依優先順序和狀態劃分的未關閉案件、最近 30 天的結論、案件背後的 ATT&CK 戰術、觸發最多的偵測,以及被最多偵測結果提到的實體。

在這些內容上方,一個橫條會顯示安全性的設定情況:來源、偵測、案件和劇本,各自附上數字。還沒有完成設定的專案會在那裡看到 開啟推薦設定 和 傳送測試攻擊;請參閱 安全性入門。沒有任何需要處理的內容時,頁面會顯示 一切正常,有可以呈現的資料時才會顯示圖表。

尋找威脅

  • 實體 會依最近一天、一週或一個月內被偵測結果提到的次數,為使用者、主機、位址和雜湊排名,並可在 30 天的事件中查詢任何值。
  • Rule Library 提供現成的偵測規則,涵蓋身分識別、端點、雲端、網路、Web 和 Kubernetes 威脅。每一條都是針對所有已連線來源正規化後的欄位所撰寫的 Sigma 規則。新增規則 會把它建立為你自己的偵測規則,處於啟用狀態,並且開啟的是案件而不是警示;之後可以像其他規則一樣在 Detection Rules 下變更它。標記為 推薦 的規則會在 Status200 已有的資料中找出威脅,一個按鈕即可新增您還沒有的那些規則。
  • ATT&CK Coverage 會繪製 MITRE ATT&CK 矩陣,點亮已啟用規則所涵蓋的技術,並以外框標出規則庫中的規則可以涵蓋的技術。

自動化

  • 工作流程:案件或備註在建立、更新或刪除時可以啟動工作流程。Run a workflow 步驟會啟動一個以 Webhook 為觸發器的工作流程。
  • API:與 Status200 的其他部分一樣,案件、備註、偵測、劇本、執行和受保護的實體也都有 REST API,位於 /security-case、/security-case-note、/security-detection、/security-playbook、/security-playbook-run 和 /security-protected-entity 之下。請參閱 API 參考。
  • AI 代理程式:MCP 伺服器提供了用於案件、備註、偵測和劇本的工具。請參閱 MCP 伺服器。

疑難排解

規則符合了,但沒有開啟案件

檢查規則 符合時 步驟中的 Open a Case on Match。如果偵測涉及的實體已經有未關閉的案件,該偵測會併入那個案件,而不會另外開啟一個:請在那個未關閉案件的 Detections 下找它。

案件沒有通知到任何人

查看案件的 時間軸,其中會顯示通知了誰。新的安全案例 通知會傳送給案件達到其所選優先順序的人,因此 Medium 案件不會通知任何保留預設 高和嚴重 的人。請檢查應收到通知的人能否檢視安全案件(具有某個 Security 角色,或是 Project Owner 或 Project Admin),以及他們在 使用者設定 → 通知設定 → 安全性 下是否開啟了該通知。

劇本沒有執行

檢查劇本是否已啟用、它的 觸發器 設定是否合適(Case Opened 只在案件開啟時執行一次),以及案件是否符合它的 For Cases At Least、Only For Detections From 和 Only For These Detection Rules 設定。手動開啟的案件沒有偵測,因此限定了來源或規則的劇本不會在它上面執行。

圍堵類步驟失敗

在案件上開啟這次執行:該步驟會針對每個使用者或主機說明產品是拒絕了操作、找不到它,還是無法連線。請檢查連線的認證資訊是否有權進行此變更,並使用連線所在列中的 測試連線。

圍堵類步驟被略過

案件不涉及任何使用者或主機,例如只涉及一個位址,或者它涉及的每個使用者或主機都受到保護。在案件上開啟這次執行:該步驟會說明是哪一種情況。

後續步驟