處理 Microsoft Sentinel 中的誤報

重要事項

自訂偵測現在是用來在 Microsoft Sentinel SIEM 和 Microsoft Defender 全面偵測回應 中建立新規則的最佳方式。 透過自訂偵測,您可以降低擷取成本、取得無限制的即時偵測,並受益於與 Defender 全面偵測回應資料、函式和補救動作的無縫整合,並具有自動實體對應。 欲了解更多資訊,請參閱「自訂偵測現已成為 Microsoft 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) 條線實際上負責過濾,只保留 IP 位址不符合任何子網條目的事件。

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 運算子與函式,請參閱 Kusto 文件:

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

其他資源:

範例:管理適用於 SAP® 應用程式的 Microsoft Sentinel 解決方案例外狀況

適用於 SAP® 應用程式的 Microsoft Sentinel 解決方案提供可用來將使用者或系統排除在觸發警示之外的功能。

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

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

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

如需詳細資訊,請參閱: