Share via


Ändra innehåll för att använda ASIM (Advanced Security Information Model) (offentlig förhandsversion)

Normaliserat säkerhetsinnehåll i Microsoft Sentinel innehåller analysregler, jaktfrågor och arbetsböcker som fungerar med enhetlig normaliseringsparsrar.

Du hittar normaliserat, out-of-the-box-innehåll i Microsoft Sentinel-gallerier och -lösningar, skapa ditt eget normaliserade innehåll eller ändra befintligt anpassat innehåll för att använda normaliserade data.

Den här artikeln beskriver hur du konverterar befintliga Microsoft Sentinel-analysregler för att använda normaliserade data med ASIM (Advanced Security Information Model).

Information om hur normaliserat innehåll passar i ASIM-arkitekturen finns i ASIM-arkitekturdiagrammet.

Viktigt

ASIM är för närvarande i förhandsversion. Tilläggsvillkoren för Azure Preview innehåller ytterligare juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet.

Ändra anpassat innehåll för att använda normalisering

Så här gör du så att ditt anpassade Microsoft Sentinel-innehåll kan använda normalisering:

  • Ändra dina frågor så att de använder alla enande parsare som är relevanta för frågan.

  • Ändra fältnamn i frågan så att de normaliserade schemafältnamnen används .

  • När det är tillämpligt ändrar du villkoren för att använda normaliserade värden för fälten i frågan.

Exempel på normalisering för analysregler

Tänk till exempel på den sällsynta klient som observerats med höga omvända DNS-uppslagsantal DNS-analysregel, som fungerar på DNS-händelser som skickas av Infoblox DNS-servrar:

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

Följande kod är den källagnostiska versionen, som använder normalisering för att tillhandahålla samma identifiering för alla källor som tillhandahåller DNS-frågehändelser. I följande exempel används inbyggda ASIM-parsare:

_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

Om du vill använda arbetsytedistribuerade ASIM-parsare ersätter du den första raden med följande kod:

imDns(responsecodename='NXDOMAIN')

Skillnader mellan inbyggda och arbetsytedistribuerade parsers

De två alternativen i exemplet ovan är funktionellt identiska. Den normaliserade, källagnostiska versionen har följande skillnader:

  • De _Im_Dns eller imDnsnormaliserade parsarna används i stället för Infoblox Parser.

  • De normaliserade parsarna hämtar endast DNS-frågehändelser, så det finns inget behov av att kontrollera händelsetypen, vilket utförs av where ProcessName =~ "named" and Log_Type =~ "client" i Infoblox-versionen.

  • Fältet SrcIpAddr används i stället för Client_IP.

  • Parserparameterfiltrering används för ResponseCodeName, vilket eliminerar behovet av explicita where satser.

Anteckning

Förutom att stödja en normaliserad DNS-källa är den normaliserade versionen kortare och lättare att förstå.

Om schemat eller parsarna inte stöder filtreringsparametrar är ändringarna liknande, förutom att filtreringsvillkoren sparas från den ursprungliga frågan. Exempel:

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

Nästa steg

Den här artikeln beskriver ASIM-innehållet (Advanced Security Information Model).

Mer information finns i: