ASIM-scheman (Advanced Security Information Model)

Ett ASIM-schema (Advanced Security Information Model) är en uppsättning fält som representerar en aktivitet eller entitet. Om du använder fälten från ett normaliserat schema i en fråga ser du till att frågan fungerar med varje normaliserad källa.

Information om hur scheman passar in i ASIM-arkitekturen finns i ASIM-arkitekturdiagrammet.

Aktivitets-/händelsescheman

Schemareferenser beskriver de fält som utgör varje schema. ASIM definierar för närvarande följande scheman för händelser:

Schemat Schemanamn för tester Version Status
Aviseringshändelse AlertEvent 0.1 GA
Granskningshändelse AuditEvent 0.1.2 GA
Autentiseringshändelse Authentication 0.1.4 GA
DHCP-aktivitet DhcpEvent 0.1.1 GA
DNS-aktivitet Dns 0.1.7 GA
Filaktivitet FileEvent 0.2.2 GA
Nätverkssession NetworkSession 0.2.7 GA
Processhändelse ProcessEvent 0.1.4 GA
Registerhändelse RegistryEvent 0.1.3 GA
Användarhantering UserManagement 0.1.2 GA
Webbsession WebSession 0.2.7 GA

Entitetsscheman

ASIM definierar för närvarande följande scheman för entiteter:

Schemat Schemanamn för tester Version Status
Tillgångsentitet AssetEntity 0.1.0 GA

Entiteter som ingår i andra ASIM-scheman finns i Händelseentiteter.

Namn på fält

Kärnan i varje schema är dess fältnamn. Fältnamn tillhör följande grupper:

  • Fält som är gemensamma för alla scheman.
  • Fält som är specifika för ett schema.
  • Fält som representerar entiteter, till exempel användare, som deltar i schemat. Fält som representerar entiteter liknar olika scheman.

När källor har fält som inte visas i det dokumenterade schemat normaliseras de för att upprätthålla konsekvens. Om de extra fälten representerar en entitet normaliseras de baserat på riktlinjerna för entitetsfält. Annars strävar scheman efter att hålla konsekvensen i alla scheman.

Även om DNS-serveraktivitetsloggar till exempel inte innehåller användarinformation kan DNS-aktivitetsloggar från en slutpunkt innehålla användarinformation, som kan normaliseras enligt riktlinjerna för användarentitet.

Vanliga fält

Vissa fält är gemensamma för alla ASIM-scheman. Varje schema kan lägga till riktlinjer för att använda några av de gemensamma fälten i kontexten för det specifika schemat. Tillåtna värden för fältet EventType kan till exempel variera per schema, liksom värdet för fältet EventSchemaVersion .

Fältklasser

Fält kan ha flera klasser som definierar när fälten ska implementeras av en parser:

  • Obligatoriska fält måste visas i varje parser. Om källan inte anger information för det här värdet eller om data inte kan läggas till på annat sätt, stöder den inte de flesta innehållsobjekt som refererar till det normaliserade schemat.
  • Rekommenderade fält bör normaliseras om de är tillgängliga. De kanske dock inte är tillgängliga i alla källor. Alla innehållsobjekt som refererar till det normaliserade schemat bör ta hänsyn till tillgängligheten.
  • Valfria fält, om de är tillgängliga, kan normaliseras eller lämnas i sitt ursprungliga formulär. Normalt skulle en minimal parser inte normalisera dem av prestandaskäl.
  • Villkorsstyrda fält är obligatoriska om det fält som de följer fylls i. Villkorsstyrda fält används vanligtvis för att beskriva värdet i ett annat fält. Till exempel beskriver det gemensamma fältet DvcIdType värdet i det gemensamma fältet DvcId och är därför obligatoriskt om det senare fylls i.
  • Alias är en särskild typ av villkorsfält och är obligatoriskt om det aliaserade fältet fylls i.

Händelseentiteter

Händelser utvecklas kring entiteter, till exempel användare, värdar, processer eller filer. Varje entitet kan kräva flera fält för att beskriva den. En värd kan till exempel ha ett namn och en IP-adress.

En enskild post kan innehålla flera entiteter av samma typ, till exempel både en käll- och målvärd.

ASIM definierar hur du beskriver entiteter konsekvent, och entiteter tillåter att scheman utökas.

Även om nätverkssessionsschemat till exempel inte innehåller processinformation tillhandahåller vissa händelsekällor processinformation som kan läggas till. Mer information finns i Entiteter.

För att aktivera entitetsfunktioner har entitetsrepresentation följande riktlinjer:

Riktlinje Beskrivning
Prefix och alias Eftersom en enskild händelse ofta innehåller mer än en entitet av samma typ, till exempel käll- och målvärdar, används prefix för att identifiera entiteten som ett fält är associerat med.

För att upprätthålla normaliseringen använder ASIM en liten uppsättning standardprefix och väljer de lämpligaste för entiteternas specifika roll.

Om en enskild entitet av en typ är relevant för en händelse behöver du inte använda något prefix. En uppsättning fält utan prefixalias är dessutom den mest använda entiteten för varje typ.
Identifierare och typer Ett normaliserat schema möjliggör flera identifierare för varje entitet, som vi förväntar oss att samexistera i händelser. Om källhändelsen har andra entitetsidentifierare som inte kan mappas till det normaliserade schemat behåller du dem i källformuläret eller använder det dynamiska fältet AdditionalFields .

Om du vill behålla typinformationen för identifierarna lagrar du typen, om tillämpligt, i ett fält med samma namn och ett suffix av typen . Till exempel UserIdType.
Attribut Entiteter har ofta andra attribut som inte fungerar som identifierare och som även kan kvalificeras med en beskrivning. Om källanvändaren till exempel har domäninformation är det normaliserade fältet SrcUserDomain.

Mer information om specifika entitetstyper finns i:

Mer information om fullständiga entitetsscheman finns i:

Alias

Alias tillåter flera namn för ett angivet värde. I vissa fall förväntar sig olika användare att ett fält har olika namn. I DNS-terminologi kan du till exempel förvänta dig ett fält med namnet DnsQuery, medan det i allmänhet innehåller ett domännamn. Aliasdomänen hjälper användaren genom att tillåta användning av båda namnen.

Obs!

Alias är avsedda att hjälpa en analytiker med interaktiva frågor. När du använder frågor i återanvändbart innehåll, till exempel anpassade identifieringar, analysregler eller arbetsböcker, använder du det aliasbaserade fältet i stället för aliaset. Om du använder det aliaserade fältet får du bättre prestanda, färre fel och bättre läsbarhet för frågor.

I vissa fall kan ett alias ha värdet för ett av flera fält, beroende på vilka värden som är tillgängliga i händelsen. Till exempel dvc-aliaset , aliasen antingen fälten DvcFQDN, DvcId, DvcHostname eller DvcIpAddr eller Event Product . När ett alias kan ha flera värden måste dess typ vara en sträng för att hantera alla möjliga aliasvärden. När du tilldelar ett värde till ett sådant alias bör du därför konvertera typen till sträng med hjälp av KQL-funktionen tostring.

Interna normaliserade tabeller innehåller inte alias, eftersom de skulle innebära duplicerad datalagring. I stället lägger stub-parsarna till aliasen. Om du vill implementera alias i parsers skapar du en kopia av det ursprungliga värdet med hjälp av operatorn extend .

Logiska typer

Varje schemafält har en typ. Log Analytics-arbetsytan har en begränsad uppsättning datatyper. Därför använder Microsoft Sentinel en logisk typ för många schemafält som Log Analytics inte tillämpar men som krävs för schemakompatibilitet. Logiska fälttyper säkerställer att både värden och fältnamn är konsekventa mellan källor.

Datatyp Fysisk typ Format och värde
Boolesk Bool Använd den inbyggda KQL-datatypen bool i stället för en numerisk eller strängrepresentation av booleska värden.
Uppräknade Sträng En lista med värden som uttryckligen definierats för fältet. Schemadefinitionen visar de godkända värdena.
Datum/tid Beroende på inmatningsmetodfunktionen använder du någon av följande fysiska representationer i fallande prioritet:

– Inbyggd datetime-typ i Log Analytics
– Ett heltalsfält med log analytics datetime numerisk representation.
– Ett strängfält med log analytics datetime numerisk representation
– Ett strängfält som lagrar ett datum-/tidsformat för Log Analytics som stöds.
Log Analytics-datum- och tidsrepresentation är liknande men skiljer sig från Unix-tidsrepresentation. Mer information finns i riktlinjerna för konvertering.

Obs! När det är tillämpligt bör tiden justeras i tidszonen.
MAC-adress Sträng Colon-Hexadecimal notation.
IP-adress Sträng Microsoft Sentinel scheman har inte separata IPv4- och IPv6-adresser. Alla IP-adressfält kan innehålla antingen en IPv4-adress eller en IPv6-adress, enligt följande:

- IPv4 i en punkt-decimalnotation.
- IPv6 i 8-hextets notation, vilket möjliggör den korta formen.

Till exempel:
- IPv4: 192.168.10.10
- IPv6: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
- Kort IPv6-formulär: 1080::8:800:200C:417A
FQDN Sträng Ett fullständigt kvalificerat domännamn med hjälp av en punktnotation, learn.microsoft.comtill exempel . Mer information finns i Enhetsentiteten.
Värdnamn Sträng Ett värdnamn som inte är ett FQDN innehåller upp till 63 tecken, inklusive bokstäver, siffror och bindestreck. Mer information finns i Enhetsentiteten.
Domän Sträng domändelen av ett FQDN, utan värdnamnet, learn.microsoft.comtill exempel . Mer information finns i Enhetsentiteten.
DomainType Uppräknade Typ av domän som lagras i domän- och FQDN-fält. En lista med värden och mer information finns i Enhetsentiteten.
DvcIdType Uppräknade Typ av enhets-ID som lagras i DvcId-fält. En lista över tillåtna värden och ytterligare information finns i DvcIdType.
DeviceType Uppräknade Typ av enhet som lagras i DeviceType-fält. Möjliga värden inkluderar:
- Computer
- Mobile Device
- IOT Device
- Other. Mer information finns i Enhetsentiteten.
Användarnamn Sträng Ett giltigt användarnamn i någon av de typer som stöds. Mer information finns i Användarentiteten.
UsernameType Uppräknade Typ av användarnamn som lagras i användarnamnsfält. Mer information och lista över värden som stöds finns i Användarentiteten.
UserIdType Uppräknade Typen av ID som lagras i användar-ID-fält.

Värden som stöds är SID, UIS, AADID, OktaId, AWSIdoch PUID. Mer information finns i Användarentiteten.
UserType Uppräknade Typ av användare. Mer information och lista över tillåtna värden finns i Användarentiteten.
AppType Uppräknade Typ av program. En lista över värden som stöds finns i Programentiteten.
Land Sträng En sträng med ISO 3166-1, enligt följande prioritet:

- Alfa-2 koder, till exempel US för USA.
- Alfa-3 koder, till exempel USA för USA.
- Kort namn.

Listan över koder finns på ISO-webbplatsen (International Standards Organization).
Region Sträng Underindelningsnamnet för land/region med ISO 3166-2.

Listan över koder finns på ISO-webbplatsen (International Standards Organization).
Ort Sträng
Longitud Dubbel ISO 6709-koordinatrepresentation (signerad decimal).
Latitude Dubbel ISO 6709-koordinatrepresentation (signerad decimal).
MD5 Sträng 32 hexadecimala tecken.
SHA1 Sträng 40 hexadecimala tecken.
SHA256 Sträng 64 hexadecimala tecken.
SHA512 Sträng 128 hexadecimala tecken.
ConfidenceLevel Heltal En konfidensnivå normaliserades till intervallet 0 till 100.
RiskNivå Heltal En risknivå normaliserad till intervallet 0 till 100.
SchemaVersion Sträng En ASIM-schemaversion i formatet <major>.<minor>.<sub-minor>
DnsQueryClassName Sträng DNS-klassnamnet.
Användarnamn Sträng Ett enkelt eller domänkvalificerat användarnamn

Exempel på entitetsmappning

I det här avsnittet används Windows-händelse 4624 som ett exempel för att beskriva hur händelsedata normaliseras för Microsoft Sentinel.

Den här händelsen har följande entiteter:

Microsoft-terminologi Ursprungligt prefix för händelsefält ASIM-fältprefix Beskrivning
Ämne Subject Actor Användaren som rapporterade information om en lyckad inloggning.
Ny inloggning Target TargetUser Den användare som inloggningen utfördes för.
Process - ActingProcess Processen som försökte logga in.
Nätverksinformation - Src Den dator som ett inloggningsförsök utfördes från.

Baserat på dessa entiteter normaliseras Windows-händelse 4624 enligt följande (vissa fält är valfria):

Normaliserat fält Ursprungligt fält Värde i exempel Kommentar
ActorUserId SubjectUserSid S-1-5-18
ActorUserIdType - SID
ActorUserName SubjectDomainName\ SubjectUserName WORKGROUP\WIN-GG82ULGC9GO$ Skapad genom att sammanfoga de två fälten
ActorUserNameType - Windows
ActorSessionId SubjectLogonId 0x3e7
TargetUserId TargetUserSid S-1-5-21-1377283216-344919071-3415362939-500
Userid TargetUserSid Alias
TargetUserIdType - SID
TargetUserName TargetDomainName\ TargetUserName Administrator\WIN-GG82ULGC9GO$ Skapad genom att sammanfoga de två fälten
Användarnamn TargetDomainName\ TargetUserName Alias
TargetUserNameType - Windows
TargetSessionId TargetLogonId 0x8dcdc
ActingProcessName ProcessName C:\Windows\System32\svchost.exe
ActingProcessId Processid 0x44c
SrcHostname WorkstationName Windows
SrcIpAddr Ip 127.0.0.1
SrcPortNumber IpPort 0
TargetHostname Dator WIN-GG82ULGC9GO
Hostname Dator Alias

Nästa steg

Den här artikeln innehåller en översikt över normalisering i Microsoft Sentinel och ASIM.

Mer information finns i: