Microsoft Sentinel 中的標準化安全內容包括分析規則、搜尋查詢,以及與統一正規化解析器合作的工作簿。
你可以在 Microsoft Sentinel 的圖庫和解決方案中找到標準化、開箱即用的內容,創建自己的正規化內容,或修改現有的自訂內容以使用正規化資料。
本文說明如何將現有Microsoft Sentinel分析規則轉換為使用標準化資料,並搭配先進安全資訊模型(Advanced Security Information Model) (ASIM) 。
要了解正規化內容如何融入 ASIM 架構,請參考 ASIM 架構圖。
修改自訂內容以使用正規化
要讓你自訂的 Microsoft Sentinel 內容使用正規化:
分析規則的範例正規化
例如,考慮 一個罕見客戶端,其反向 DNS 查詢次數 為 DNS 分析規則,該規則適用於 Infoblox DNS 伺服器發送的 DNS 事件:
let threshold = 200;
InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
| summarize count() by Client_IP, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
) on Client_IP
| extend timestamp = TimeGenerated, IPCustomEntity = Client_IP
以下程式碼為來源無關版本,利用正規化來對任何提供 DNS 查詢事件的來源提供相同的偵測效果。 以下範例使用內建的 ASIM 解析器:
_Im_Dns(responsecodename='NXDOMAIN')
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns(responsecodename='NXDOMAIN')) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr
正規化、來源無關版本有以下差異:
_Im_Dns使用標準imDns化解析器取代 Infoblox 解析器。正規化解析器只抓取 DNS 查詢事件,因此不需要像 Infoblox 版本中那樣檢查事件類型
where ProcessName =~ "named" and Log_Type =~ "client"。使用 該
SrcIpAddr域代替Client_IP。ResponseCodeName 使用解析器參數過濾,省去了明確子句的需求
where。
注意事項
除了支援任何正規化的 DNS 來源外,正規化版本更短且更容易理解。
若結構或解析器不支援過濾參數,變更類似,但原始查詢保留了過濾條件。 例如:
let threshold = 200;
imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr
請參閱 Kusto 文件中前述範例中使用的以下項目的更多資訊:
欲了解更多關於KQL的資訊,請參閱Kusto 查詢語言 (KQL) 概述。
其他資源: