處理 Microsoft Sentinel 中的誤報

Microsoft Sentinel 分析規則 會在網路中發生可疑事件時通知您。 沒有任何分析規則是完美的,而且您必須取得一些需要處理的誤判。 本文說明如何使用自動化或修改排程的分析規則來處理誤判。

誤判原因和預防

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

常見情況包括:

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

本文說明兩個避免誤判的方法:

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

下表描述每個方法的特性:

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

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

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

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

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

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

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

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

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

    Screenshot showing how to create an automation rule for an incident in Microsoft Sentinel.

  6. 滿意條件之後,您可以繼續定義規則的用途:

    Screenshot showing how to finish creating and applying an automation rule in 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 解決方案。

下一步

如需詳細資訊,請參閱