分享方式:


處理 Microsoft Sentinel 中的誤報

Microsoft Sentinel 分析規則會在網路發生可疑情況時通知您。 沒有任何分析規則是完美的,而且您一定會收到需要處理的一些誤判為真。 本文說明如何使用自動化或修改排程的分析規則來處理誤判為真。

誤判為真原因和預防

即使在正確建置的分析規則中,誤判為真通常來自特定實體,例如應該從規則中排除的使用者或 IP 位址。

常見情況包括:

  • 某些使用者 (通常是服務主體) 的一般活動會顯示看似可疑的模式。
  • 系統會將來自已知 IP 位址的刻意安全性掃描活動偵測為惡意。
  • 排除私人 IP 位址的規則也應該排除某些非私人的內部 IP 位址。

本文說明兩種避免誤判為真的方法:

  • 自動化規則會建立例外狀況,而不需修改分析規則。
  • 排程的分析規則修改允許更詳細且永久的例外狀況。

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

方法 特性
自動化規則
  • 可以套用至數個分析規則。
  • 保留稽核記錄。 例外狀況會立即自動關閉已建立的事件,並記錄關閉和註解的原因。
  • 通常由分析師產生。
  • 允許在有限的時間內套用例外狀況。 例如,維護工作可能會觸發誤判為真,在維護時間範圍外可能是真正的事件。
分析規則修改
  • 允許進階布林運算式和子網路型例外狀況。
  • 可讓您使用關注清單來集中管理例外狀況。
  • 一般而言,需要由安全性作業中心 (SOC) 工程師實作。
  • 是最有彈性且完整的誤判為真解決方案,但是比較複雜。

使用自動化規則新增例外狀況

新增例外狀況的最簡單方式是當您看到誤判為真事件時新增自動化規則

若要新增自動化規則來處理誤判為真:

  1. 在 Microsoft Sentinel 的 [事件] 底下,選取您要為其建立例外狀況的事件。

  2. 選取 [建立自動化規則]

  3. 在 [建立新的自動化規則] 提要欄位中,選擇性地修改新的規則名稱來識別例外狀況,而不只是警示規則名稱。

  4. 在 [條件] 底下,選擇性地新增更多 [分析規則名稱] 以套用例外狀況。 選取包含分析規則名稱的下拉式方塊,然後從清單中選取更多分析規則。

  5. 提要欄位會呈現在目前事件中可能導致誤判為真的特定實體。 保留自動建議,或進行修改以微調例外狀況。 例如,您可以變更 IP 位址的條件,以套用至整個子網路。

    顯示如何在 Microsoft Sentinel 中為事件建立自動化規則的螢幕擷取畫面。

  6. 滿足條件之後,您可以繼續定義規則的動作:

    顯示如何在 Microsoft Sentinel 中完成建立及套用自動化規則的螢幕擷取畫面。

    • 規則已設定為關閉符合例外狀況準則的事件。
    • 您可以依原樣保留指定的關閉原因,或者如果其他原因更適當,則可加以變更。
    • 您可以將註解新增至說明例外狀況的自動關閉事件。 例如,您可以指定事件源自已知的系統管理活動。
    • 根據預設,規則會在 24 小時後自動到期。 此到期可能是您想要的,並且會減少誤判為否錯誤的機會。 如果您想要較長時間的例外狀況,請將規則到期設定為稍後的時間。
  7. 您可以視需要新增更多動作。 例如,您可以將標記新增至事件,也可以執行劇本來傳送電子郵件或通知,或與外部系統同步處理。

  8. 選取 [套用] 以啟動例外狀況。

提示

您也可以從頭開始建立自動化規則,而不是從事件開始。 從 Microsoft Sentinel 左側導覽功能表中選取[自動化],然後選取 [建立] > [新增規則]深入了解自動化規則

藉由修改分析規則來新增例外狀況

另一個實作例外狀況的選項是修改分析規則查詢。 您可以直接在規則中包含例外狀況,或者最好盡可能使用關注清單的參考。 然後,您可以在關注清單中管理例外狀況清單。

修改查詢

若要編輯現有的分析規則,請從 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');

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

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

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

    • 針對您想要從觸發警示中排除的使用者呼叫標籤。 在 SAP_User_Config 關注清單中標記使用者,使用星號 (*) 做為萬用字元,以指定命名語法標記全部使用者。
    • 列出您想要從觸發警示中排除的特定 SAP 角色和/或設定檔。
  • 排除系統。 使用支援 SelectedSystemRoles 參數的函式來判斷只有特定類型的系統觸發警示,包括僅生產系統、僅 UAT 系統,或兩者。

如需詳細資訊,請參閱「適用於 SAP® 的 Microsoft Sentinel 解決方案」應用程式資料參考

下一步

如需詳細資訊,請參閱