處理 Microsoft Sentinel 中的誤報
Microsoft Sentinel 分析規則 會在網路中發生可疑事件時通知您。 沒有任何分析規則是完美的,而且您必須取得一些需要處理的誤判。 本文說明如何使用自動化或修改排程的分析規則來處理誤判。
誤判原因和預防
即使在正確建置的分析規則中,誤判通常源自應從規則中排除的特定實體,例如使用者或IP位址。
常見情況包括:
- 某些使用者通常為服務主體的一般活動會顯示看似可疑的模式。
- 會偵測到來自已知IP位址的刻意安全性掃描活動為惡意。
- 排除私人IP位址的規則也應該排除一些非私人的內部IP位址。
本文說明兩個避免誤判的方法:
- 自動化規則 會在不修改分析規則的情況下建立例外狀況。
- 排程的分析規則修改 允許更詳細且永久的例外狀況。
下表描述每個方法的特性:
方法 | Characteristic |
---|---|
自動化規則 |
|
分析規則修改 |
|
使用自動化規則新增例外狀況
新增例外狀況最簡單的方式是 當您看到誤判事件時新增自動化規則 。
若要新增自動化規則來處理誤判:
在 Microsoft Sentinel 的 [事件] 下,選取您要為其建立例外狀況的事件。
選取 [ 建立自動化規則]。
在 [ 建立新的自動化規則 ] 提要字段中,選擇性地修改新的規則名稱來識別例外狀況,而不只是警示規則名稱。
在 [條件] 下,選擇性地新增更多要套用例外狀況的分析規則名稱。 選取包含分析規則名稱的下拉式方塊,然後從清單中選取更多分析規則。
提要欄位會顯示目前事件中可能導致誤判的特定實體。 保留自動建議,或修改它們以微調例外狀況。 例如,您可以變更 IP 位址的條件,以套用至整個子網。
滿意條件之後,您可以繼續定義規則的用途:
- 規則已設定為關閉符合例外狀況準則的事件。
- 您可以保留指定的結尾原因,或者如果其他原因更合適,也可以加以變更。
- 您可以將批註新增至說明例外狀況的自動關閉事件。 例如,您可以指定事件源自已知的系統管理活動。
- 根據預設,規則會設定為在24小時後自動到期。 此到期可能是您想要的,並減少誤判錯誤的機會。 如果您想要較長的例外狀況,請將規則到期設定為稍後的時間。
如有需要,您可以新增更多動作。 例如,您可以將標籤新增至事件,或者您可以執行劇本來傳送電子郵件或通知,或與外部系統同步處理。
選取 [ 套用 ] 以啟動例外狀況。
提示
您也可以從頭開始建立自動化規則,而不需要從事件開始。 從 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 解決方案。
下一步
如需詳細資訊,請參閱