Ä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.
Tips
Titta också på webbseminariet för djupdykning på Microsoft Sentinel Normalizing Parsers och Normalized Content (Normaliserat innehåll ) eller granska bilderna. Mer information finns under Nästa steg.
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
ellerimDns
normaliserade 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örClient_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:
- Titta på webbseminariet för djupdykning i Microsoft Sentinel som normaliserar parsare och normaliserat innehåll eller granska bilderna
- Översikt över Advanced Security Information Model (ASIM)
- ASIM-parsare (Advanced Security Information Model)
- ASIM-scheman (Advanced Security Information Model)
- Asim-innehåll (Advanced Security Information Model)