Úprava obsahu pro použití modelu ASIM (Advanced Security Information Model)

Normalizovaný obsah zabezpečení v Microsoft Sentinel zahrnuje analytická pravidla, dotazy proaktivního vyhledávání a sešity, které pracují se sjednocujícími analyzátory normalizace.

Normalizovaný, předefinovaný obsah najdete v Microsoft Sentinel galeriích a Microsoft Sentinel katalogu řešení, můžete vytvořit vlastní normalizovaný obsah nebo upravit existující vlastní obsah tak, aby používal normalizovaná data.

Tento článek vysvětluje, jak převést existující analytická pravidla Microsoft Sentinel tak, aby používala normalizovaná data ASIM s pokročilým informačním modelem zabezpečení (ASIM).

Informace o tom, jak normalizovaný obsah zapadá do architektury ASIM, najdete v diagramu architektury ASIM.

Upravte vlastní obsah tak, aby používal normalizaci

Povolení použití normalizace vlastního obsahu Microsoft Sentinel:

Ukázková normalizace pro analytická pravidla

Zvažte například analytické pravidlo DNS pro zjištění vzácného klienta s vysokým počtem reverzních DNS dotazů, které pracuje s událostmi DNS odesílanými servery Infoblox 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

Následující kód je verze nezávislá na zdroji, která pomocí normalizace poskytuje stejnou detekci pro všechny zdroje poskytující události dotazů DNS. Následující příklad používá integrované analyzátory 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

Normalizovaná verze nezávislá na zdroji má následující rozdíly:

  • Normalizované _Im_Dns analyzátory nebo imDnsse používají místo analyzátoru Infoblox.

  • Normalizované analyzátory načítají pouze události dotazů DNS, takže není potřeba kontrolovat typ události, jak provádí where ProcessName =~ "named" and Log_Type =~ "client" ve verzi Infoblox.

  • Pole SrcIpAddr se používá místo Client_IP.

  • Filtrování parametrů analyzátoru se používá pro ResponseCodeName, což eliminuje potřebu explicitních where klauzulí.

Poznámka

Kromě podpory všech normalizovaných zdrojů DNS je normalizovaná verze kratší a srozumitelnější.

Pokud schéma nebo analyzátory nepodporují parametry filtrování, změny dotazu potřebné k normalizaci pravidla jsou podobné s tím rozdílem, že podmínky filtrování se uchovávají z původního dotazu. Příklady:

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

Další informace o následujících prvcích jazyka KQL použitých v příkladech normalizace dotazů DNS najdete v dokumentaci Kusto:

Další informace o KQL najdete v přehledu dotazovací jazyk Kusto (KQL).

Další zdroje informací:

Další informace naleznete v následujících zdrojích: