處理 Microsoft Sentinel 中的誤報

重要事項

自訂偵測現在是跨 Microsoft Sentinel、SIEM 和 Microsoft Defender 全面偵測回應新規則的最佳方式。 透過自訂偵測,您可以降低擷取成本、獲得無限即時偵測,並能無縫整合 Defender 全面偵測回應資料、功能及修復行動,並透過自動實體映射實現。 欲了解更多資訊,請閱讀 此部落格

Microsoft Sentinel 的分析規則會在你的網路發生可疑事件時通知你。 沒有任何分析規則是完美的,你難免會遇到需要處理的誤報。 本文說明如何處理誤報,無論是透過自動化或修改排程分析規則。

假陽性原因與預防

即使在正確設計的分析規則中,誤報往往來自特定實體,如用戶或 IP 位址,這些應該被排除在規則之外。

常見情境包括:

  • 某些使用者,通常是服務主體的正常行為,會顯示出一個看起來可疑的模式。
  • 來自已知 IP 位址的惡意安全掃描活動會被偵測為惡意。
  • 排除私有 IP 的規則也應該排除一些非私有的內部 IP 位址。

本文描述了兩種避免誤判的方法:

  • 自動化規則 在不修改分析規則的情況下創造例外。
  • 排定分析規則的修改 允許更詳細且永久的例外。

下表說明每種方法的特性:

方法 特徵
自動化規則
  • 可以應用於多種分析規則。
  • 保持審計紀錄。 例外會立即且自動關閉已產生的事件,並記錄關閉原因及留言。
  • 這些通常由分析師產生。
  • 允許在有限時間內申請例外。 例如,維修工作可能會觸發誤判,超出維護時程才是真實事件。
分析規則修改
  • 允許進階布林運算式及基於子網的例外。
  • 讓你使用監視清單來集中管理例外。
  • 通常需要安全作業中心 (SOC) 工程師來實施。
  • 是最靈活且完整的偽陽解決方案,但更為複雜。

加入自動化規則的例外 (Azure 入口網站 只)

此程序描述在發現誤報事件時,如何 新增自動化規則 。 此程序僅支援 Azure 入口網站。

如果 Microsoft Sentinel 已加入 Defender 入口網站,請根據事件細節從零建立自動化規則。 欲了解更多資訊,請參閱 Microsoft Sentinel 中的自動化威脅回應與自動化規則

要新增自動化規則來處理誤報:

  1. 在 Microsoft Sentinel 的事件中,選擇你想為事件建立例外。

  2. 在側邊的事件詳細面板中,選擇 「動作 > 建立自動化規則」。

  3. 「建立新自動化規則 」側邊欄,可選擇性地修改新規則名稱以識別例外,而不只是提醒規則名稱。

  4. 條件中,可選擇新增更多分析 規則名稱以套用例外。 選擇包含分析規則名稱的下拉選單,並從列表中選擇更多分析規則。

  5. 側邊欄會列出目前事件中可能造成誤判的特定實體。 保留自動建議,或修改它們以微調例外。 例如,你可以更改 IP 位址的條件,使其套用到整個子網。

    截圖顯示如何在 Microsoft Sentinel 中為事件建立自動化規則。

  6. 當你對條件感到滿意後,往側邊窗格向下捲動,繼續定義規則的作用:

    展示如何在 Microsoft Sentinel 中完成建立並套用自動化規則的截圖。

    • 規則已經設定為關閉符合例外條件的事件。
    • 你可以保留原本指定的結案理由,或者如果有其他理由更合適也可以更改。
    • 你可以在自動關閉事件中加入說明例外的註解。 例如,你可以指定事件源自已知的行政活動。
    • 預設情況下,該規則設定為 24 小時後自動失效。 這種過期期限可能是你想要的,也能降低假陰性錯誤的機率。 如果你想要更長的例外,可以把 規則到期 時間設在較晚的時間。
  7. 如果你想,可以加更多動作。 例如,你可以在事件中加入標籤,或執行操作手冊來發送電子郵件、通知,或與外部系統同步。

  8. 選擇 「套用 」以啟用例外。

透過修改分析規則加入例外

另一種實作例外的選項是修改分析規則查詢。 你可以直接在規則中加入例外,或者最好在可能的情況下使用 監控清單的參考。 接著你可以在監視清單中管理例外清單。

修改查詢

要編輯現有的分析規則,請從 Microsoft Sentinel 左側導覽選單中選擇自動化。 選擇你想編輯的規則,然後在右下角選擇 「編輯 」以開啟 分析規則精靈

關於如何使用分析規則向導建立與編輯分析規則的詳細說明,請參閱「建立自訂分析規則以偵測威脅」。

要在典型規則前言中實作例外,可以在規則查詢的開頭附近加入條件 where IPAddress !in ('<ip addresses>') 。 此行排除了規則中的特定 IP 位址。

let timeFrame = 1d;
SigninLogs
| where TimeGenerated >= ago(timeFrame)
| where IPAddress !in ('10.0.0.8', '192.168.12.1')
...

這種例外不限於 IP 位址。 你可以透過欄位 UserPrincipalName 排除特定使用者,或透過 AppDisplayName排除特定應用程式。

你也可以排除多個屬性。 例如,要排除來自 IP 位址 10.0.0.8 或使用者 user@microsoft.com的警報,請使用:

| where IPAddress !in ('10.0.0.8')
| where UserPrincipalName != 'user@microsoft.com'

若想在適用時實作更細緻的例外,並降低誤判機率,你可以結合屬性。 以下例外僅適用於兩個值同時出現在同一警示中:

| where IPAddress != '10.0.0.8' and UserPrincipalName != 'user@microsoft.com'

排除子網

排除組織使用的 IP 範圍需要子網路排除。 以下範例說明如何排除子網。

ipv4_lookup 符是富集算符,而非濾波算符。 where isempty(network)這條線實際上會過濾,透過檢查那些沒有顯示匹配的事件來進行。

let subnets = datatable(network:string) [ "111.68.128.0/17", "5.8.0.0/19", ...];
let timeFrame = 1d;
SigninLogs
| where TimeGenerated >= ago(timeFrame)
| evaluate ipv4_lookup(subnets, IPAddress, network, return_unmatched = true)
| where isempty(network)
...

使用監視清單來管理例外

你可以用監視清單來管理規則本身外的例外清單。 在適用的情況下,此解決方案具有以下優點:

  • 分析師可以在不編輯規則的情況下新增例外,這更符合 SOC 的最佳實務。
  • 同一監控清單可適用於多項規則,實現集中例外管理。

使用監視清單類似於直接例外。 用 _GetWatchlist('<watchlist name>') 來呼叫監控清單:

let timeFrame = 1d;
let logonDiff = 10m;
let allowlist = (_GetWatchlist('ipallowlist') | project IPAddress);
SigninLogs
| where TimeGenerated >= ago(timeFrame)
| where IPAddress !in (allowlist)
...

你也可以用觀看清單來做子網路過濾。 例如,在前面的子網排除碼中,你可以將子網 datatable 定義替換成監視清單:

let subnets = _GetWatchlist('subnetallowlist');

請參閱 Kusto 文件中前述範例中使用的以下項目的更多資訊:

欲了解更多關於KQL的資訊,請參閱Kusto 查詢語言 (KQL) 概述

其他資源:

範例:管理 Microsoft Sentinel SAP 應用程式的®例外

Microsoft Sentinel SAP® 應用程式解決方案提供功能,可以用來排除使用者或系統觸發警報。

  • 排除使用者。 使用 SAPUsersGetVIP 函式來:

    • 為你想排除觸發警報的使用者設置呼叫標籤。 在 SAP_User_Config 監控清單中標註使用者,使用星號 (*) 作為通配字元,標記所有具有指定命名語法的使用者。
    • 列出你想排除觸發警報的具體 SAP 角色和/或設定檔。
  • 排除系統。 使用支援 SelectSystemRoles 參數的函式,判斷只有特定類型的系統會觸發警報, 包括僅生產 系統、僅 UAT 系統,或兩者皆有。

欲了解更多資訊,請參閱 Microsoft Sentinel SAP 應用資料®參考解決方案。

如需詳細資訊,請參閱: