ASIM(Advanced Security Information Model) DNS-normaliseringsschemareferens (offentlig förhandsversion)

DNS-informationsmodellen används för att beskriva händelser som rapporteras av en DNS-server eller ett DNS-säkerhetssystem och används av Microsoft Sentinel för att aktivera källagnostisk analys.

Mer information finns i Normalisering och ASIM (Advanced Security Information Model).

Viktigt!

DNS-normaliseringsschemat är för närvarande i förhandsversion. Den här funktionen tillhandahålls utan ett serviceavtal och rekommenderas inte för produktionsarbetsbelastningar.

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.

Schemaöversikt

ASIM DNS-schemat representerar DNS-protokollaktivitet. Både DNS-servrar och -enheter som skickar DNS-begäranden till en DNS-serverlogg-DNS-aktivitet. DNS-protokollaktiviteten omfattar DNS-frågor, DNS-serveruppdateringar och massöverföringar av DNS-data. Eftersom schemat representerar protokollaktivitet styrs det av RFC:er och officiellt tilldelade parameterlistor, som refereras till i den här artikeln när det är lämpligt. DNS-schemat representerar inte DNS-servergranskningshändelser.

Den viktigaste aktiviteten som rapporteras av DNS-servrar är en DNS-fråga, för vilken fältet EventType är inställt på Query.

De viktigaste fälten i en DNS-händelse är:

  • DnsQuery, som rapporterar domännamnet som frågan utfärdades för.

  • SrcIpAddr (alias till IpAddr), som representerar DEN IP-adress som begäran genererades från. DNS-servrar tillhandahåller vanligtvis fältet SrcIpAddr, men DNS-klienter tillhandahåller ibland inte det här fältet och anger bara fältet SrcHostname .

  • EventResultDetails, som rapporterar om begäran lyckades och om inte, varför.

  • När det är tillgängligt , DnsResponseName, som innehåller svaret från servern på frågan. ASIM kräver inte parsning av svaret, och dess format varierar mellan källor.

    Om du vill använda det här fältet i källagnostiskt innehåll söker du efter innehållet med operatorerna has eller contains .

DNS-händelser som samlas in på klientenheten kan också innehålla information om användare och processer .

Riktlinjer för insamling av DNS-händelser

DNS är ett unikt protokoll eftersom det kan korsa ett stort antal datorer. Eftersom DNS använder UDP kopplas även begäranden och svar bort och är inte direkt relaterade till varandra.

Följande bild visar ett förenklat DNS-begärandeflöde, inklusive fyra segment. En verklig begäran kan vara mer komplex, med fler segment inblandade.

Simplified DNS request flow.

Eftersom segmenten för begäran och svar inte är direkt anslutna till varandra i DNS-begärandeflödet kan fullständig loggning leda till betydande duplicering.

Det mest värdefulla segmentet att logga är svaret på klienten. Svaret innehåller domännamnsfrågorna, uppslagsresultatet och KLIENTENs IP-adress. Även om många DNS-system endast loggar det här segmentet finns det ett värde i loggning av de andra delarna. Till exempel drar en DNS-cacheförgiftningsattack ofta nytta av falska svar från en överordnad server.

Om datakällan stöder fullständig DNS-loggning och du har valt att logga flera segment justerar du dina frågor för att förhindra dataduplicering i Microsoft Sentinel.

Du kan till exempel ändra frågan med följande normalisering:

_Im_Dns | where SrcIpAddr != "127.0.0.1" and EventSubType == "response"

Tolkar

Mer information om ASIM-parsare finns i översikten över ASIM-parsare.

Out-of-the-box parsers

Om du vill använda parsers som förenar alla ASIM-parsare och ser till att analysen körs över alla konfigurerade källor använder du den enande parsern _Im_Dns som tabellnamn i frågan.

Listan över DNS-parsare i Microsoft Sentinel innehåller en out-of-the-box-lista med ASIM-parsare.

Lägg till dina egna normaliserade parsers

När du implementerar anpassade parsers för Dns-informationsmodellen namnger du dina KQL-funktioner med formatet vimDns<vendor><Product>. Se artikeln Hantera ASIM-parsare för att lära dig hur du lägger till dina anpassade parsers i DNS-enande parser.

Filtrera parserparametrar

DNS-parsarna stöder filtreringsparametrar. Även om de här parametrarna är valfria kan de förbättra frågeprestandan.

Följande filtreringsparametrar är tillgängliga:

Namn Type Description
Starttime datetime Filtrera endast DNS-frågor som kördes vid eller efter den här tiden.
Endtime datetime Filtrera endast DNS-frågor som har körts vid eller före den här tiden.
srcipaddr sträng Filtrera endast DNS-frågor från den här käll-IP-adressen.
domain_has_any dynamisk/sträng Filtrera endast DNS-frågor där domain (eller query) har något av de angivna domännamnen, inklusive som en del av händelsedomänen. Listans längd är begränsad till 10 000 objekt.
responsecodename sträng Filtrera endast DNS-frågor som svarskodens namn matchar det angivna värdet för.
Exempelvis: NXDOMAIN
response_has_ipv4 sträng Filtrera endast DNS-frågor där svarsfältet innehåller det angivna IP-adressen eller IP-adressprefixet. Använd den här parametern när du vill filtrera på en enda IP-adress eller ett prefix.

Resultat returneras inte för källor som inte ger något svar.
response_has_any_prefix dynamisk Filtrera endast DNS-frågor där svarsfältet innehåller någon av de angivna IP-adresserna eller IP-adressprefixen. Prefix bör sluta med , .till exempel: 10.0..

Använd den här parametern när du vill filtrera på en lista med IP-adresser eller prefix.

Resultat returneras inte för källor som inte ger något svar. Listans längd är begränsad till 10 000 objekt.
Eventtype sträng Filtrera endast DNS-frågor av den angivna typen. Om inget värde anges returneras endast uppslagsfrågor.

Om du till exempel bara vill filtrera DNS-frågor från den senaste dagen som inte kunde matcha domännamnet använder du:

_Im_Dns (responsecodename = 'NXDOMAIN', starttime = ago(1d), endtime=now())

Om du bara vill filtrera DNS-frågor för en angiven lista med domännamn använder du:

let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_Dns (domain_has_any = torProxies)

Vissa parametrar kan acceptera båda värdena av typen dynamic eller ett enda strängvärde. Om du vill skicka en literallista till parametrar som förväntar sig ett dynamiskt värde använder du uttryckligen en dynamisk literal. Exempelvis: dynamic(['192.168.','10.'])

Normaliserat innehåll

En fullständig lista över analysregler som använder normaliserade DNS-händelser finns i DNS-frågesäkerhetsinnehåll.

Schemainformation

DNS-informationsmodellen är anpassad till OSSEM DNS-entitetsschemat.

Mer information finns i DNS-parameterreferensen Internet Assigned Numbers Authority (IANA).

Vanliga ASIM-fält

Viktigt!

Fält som är gemensamma för alla scheman beskrivs i detalj i artikeln vanliga ASIM-fält .

Vanliga fält med specifika riktlinjer

I följande lista nämns fält som har specifika riktlinjer för DNS-händelser:

Fält Klass Typ Beskrivning
Eventtype Obligatorisk Enumerated Anger den åtgärd som rapporterats av posten.

För DNS-poster skulle det här värdet vara DNS-op-koden.

Exempel: Query
EventSubType Valfri Enumerated Antingen request eller response.

För de flesta källor loggas endast svaren, och därför är värdet ofta svar.
EventResultDetails Obligatorisk Enumerated För DNS-händelser innehåller det här fältet DNS-svarskoden.

Obs!
– IANA definierar inte fallet för värdena, så analys måste normalisera ärendet.
– Om källan endast innehåller en numerisk svarskod och inte ett svarskodnamn måste parsern innehålla en uppslagstabell för att utöka med det här värdet.
– Om den här posten representerar en begäran och inte ett svar anger du till NA.

Exempel: NXDOMAIN
EventSchemaVersion Obligatorisk String Den version av schemat som dokumenteras här är 0.1.7.
EventSchema Obligatorisk String Namnet på schemat som dokumenteras här är Dns.
Dvc-fält - - För DNS-händelser refererar enhetsfält till systemet som rapporterar DNS-händelsen.

Alla vanliga fält

Fält som visas i tabellen nedan är gemensamma för alla ASIM-scheman. Alla riktlinjer som anges ovan åsidosätter de allmänna riktlinjerna för fältet. Ett fält kan till exempel vara valfritt i allmänhet, men obligatoriskt för ett specifikt schema. Mer information om varje fält finns i artikeln vanliga ASIM-fält .

Klass Fält
Obligatorisk - EventCount
- EventStartTime
- EventEndTime
- Eventtype
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Rekommenderat - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Valfri - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

Källsystemfält

Fält Klass Typ Description
Src Alias String En unik identifierare för källenheten.

Det här fältet kan vara alias för fälten SrcDvcId, SrcHostname eller SrcIpAddr.

Exempel: 192.168.12.1
SrcIpAddr Rekommenderat IP-adress IP-adressen för klienten som skickade DNS-begäran. För en rekursiv DNS-begäran är det här värdet vanligtvis rapporteringsenheten och i de flesta fall inställt på 127.0.0.1.

Exempel: 192.168.12.1
SrcPortNumber Valfri Heltal Källporten för DNS-frågan.

Exempel: 54312
IpAddr Alias Alias till SrcIpAddr
SrcGeoCountry Valfri Land Det land som är associerat med källans IP-adress.

Exempel: USA
SrcGeoRegion Valfri Region Den region som är associerad med källans IP-adress.

Exempel: Vermont
SrcGeoCity Valfri City Den ort som är associerad med källans IP-adress.

Exempel: Burlington
SrcGeoLatitude Valfri Latitud Latitud för den geografiska koordinat som är associerad med källans IP-adress.

Exempel: 44.475833
SrcGeoLongitude Valfri Longitud Longitud för den geografiska koordinat som är associerad med källans IP-adress.

Exempel: 73.211944
SrcRiskLevel Valfri Heltal Den risknivå som är associerad med källan. Värdet ska justeras till ett intervall på 0 till , med 0 för godartad och 100 för 100en hög risk.

Exempel: 90
SrcOriginalRiskLevel Valfri Heltal Den risknivå som är associerad med källan, enligt rapporteringsenhetens rapporter.

Exempel: Suspicious
SrcHostname Rekommenderat String Källenhetens värdnamn, exklusive domäninformation.

Exempel: DESKTOP-1282V4D
Värdnamn Alias Alias till SrcHostname
SrcDomain Rekommenderat String Källenhetens domän.

Exempel: Contoso
SrcDomainType Villkorsstyrd Enumerated Typen av SrcDomain, om det är känt. Möjliga värden omfattar:
- Windows (till exempel: contoso)
- FQDN (till exempel: microsoft.com)

Krävs om SrcDomain används.
SrcFQDN Valfri String Värdnamnet för källenheten, inklusive domäninformation när det är tillgängligt.

Obs! Det här fältet stöder både traditionellt FQDN-format och Windows-domän\värdnamnsformat. Fältet SrcDomainType återspeglar det format som används.

Exempel: Contoso\DESKTOP-1282V4D
SrcDvcId Valfri String ID:t för källenheten enligt rapporten i posten.

Exempelvis: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
SrcDvcScopeId Valfri String Molnplattformens omfångs-ID som enheten tillhör. SrcDvcScopeId mappas till ett prenumerations-ID i Azure och till ett konto-ID på AWS.
SrcDvcScope Valfri String Molnplattformsomfånget som enheten tillhör. SrcDvcScope mappar till ett prenumerations-ID i Azure och till ett konto-ID på AWS.
SrcDvcIdType Villkorsstyrd Enumerated Typ av SrcDvcId, om det är känt. Möjliga värden omfattar:
- AzureResourceId
- MDEid

Om flera ID:er är tillgängliga använder du det första från listan och lagrar de andra i SrcDvcAzureResourceIdrespektive SrcDvcMDEid.

Obs! Det här fältet krävs om SrcDvcId används.
SrcDeviceType Valfri Enumerated Typ av källenhet. Möjliga värden omfattar:
- Computer
- Mobile Device
- IOT Device
- Other
SrcDescription Valfri String En beskrivande text som är associerad med enheten. Exempel: Primary Domain Controller.

Källanvändarfält

Fält Klass Typ Description
SrcUserId Valfri String En maskinläsbar, alfanumerisk, unik representation av källanvändaren. Mer information och alternativa fält för ytterligare ID:n finns i Användarentiteten.

Exempel: S-1-12-1-4141952679-1282074057-627758481-2916039507
SrcUserScope Valfri String Omfånget, till exempel Microsoft Entra-klientorganisationen, där SrcUserId och SrcUsername definieras. eller mer information och lista över tillåtna värden, se UserScope i artikeln Schemaöversikt.
SrcUserScopeId Valfri String Omfångs-ID:t, till exempel Microsoft Entra-katalog-ID, där SrcUserId och SrcUsername definieras. Mer information och lista över tillåtna värden finns i UserScopeId i artikeln Schemaöversikt.
SrcUserIdType Villkorsstyrd UserIdType Typen av ID som lagras i fältet SrcUserId . Mer information och lista över tillåtna värden finns i UserIdType i artikeln Schemaöversikt.
SrcUsername Valfri Användarnamn Källans användarnamn, inklusive domäninformation när det är tillgängligt. Mer information finns i Användarentiteten.

Exempel: AlbertE
SrcUsernameType Villkorsstyrd UsernameType Anger typen av användarnamn som lagras i fältet SrcUsername . Mer information och en lista över tillåtna värden finns i UsernameType i artikeln Schemaöversikt.

Exempel: Windows
Användare Alias Alias till SrcUsername
SrcUserType Valfri UserType Typ av källanvändare. Mer information och en lista över tillåtna värden finns i UserType i artikeln Schemaöversikt.

Exempelvis: Guest
SrcUserSessionId Valfri String Det unika ID:t för inloggningssessionen för aktören.

Exempel: 102pTUgC3p8RIqHvzxLCHnFlg
SrcOriginalUserType Valfri String Den ursprungliga källanvändartypen, om den tillhandahålls av källan.

Källprocessfält

Fält Klass Typ Description
SrcProcessName Valfri String Filnamnet på den process som initierade DNS-begäran. Det här namnet anses vanligtvis vara processnamnet.

Exempel: C:\Windows\explorer.exe
Bearbeta Alias Alias till SrcProcessName

Exempel: C:\Windows\System32\rundll32.exe
SrcProcessId Valfri String Process-ID (PID) för den process som initierade DNS-begäran.

Exempel: 48610176

Obs! Typen definieras som sträng för att stödja olika system, men i Windows och Linux måste det här värdet vara numeriskt.

Om du använder en Windows- eller Linux-dator och använder en annan typ ska du konvertera värdena. Om du till exempel använde ett hexadecimalt värde konverterar du det till ett decimalvärde.
SrcProcessGuid Valfri String En genererad unik identifierare (GUID) för den process som initierade DNS-begäran.

Exempel: EF3BD0BD-2B74-60C5-AF5C-010000001E00

Målsystemfält

Fält Klass Typ Description
Dst Alias String En unik identifierare för servern som tog emot DNS-begäran.

Det här fältet kan vara alias för fälten DstDvcId, DstHostname eller DstIpAddr.

Exempel: 192.168.12.1
DstIpAddr Valfri IP-adress IP-adressen för servern som tog emot DNS-begäran. För en vanlig DNS-begäran är det här värdet vanligtvis rapporteringsenheten och i de flesta fall inställt på 127.0.0.1.

Exempel: 127.0.0.1
DstGeoCountry Valfri Land Det land som är associerat med mål-IP-adressen. Mer information finns i Logiska typer.

Exempel: USA
DstGeoRegion Valfri Region Den region eller det tillstånd som är associerat med målets IP-adress. Mer information finns i Logiska typer.

Exempel: Vermont
DstGeoCity Valfri City Den ort som är associerad med mål-IP-adressen. Mer information finns i Logiska typer.

Exempel: Burlington
DstGeoLatitude Valfri Latitud Latitud för den geografiska koordinat som är associerad med målets IP-adress. Mer information finns i Logiska typer.

Exempel: 44.475833
DstGeoLongitude Valfri Longitud Longitud för den geografiska koordinat som är associerad med målets IP-adress. Mer information finns i Logiska typer.

Exempel: 73.211944
DstRiskLevel Valfri Heltal Den risknivå som är associerad med målet. Värdet ska justeras till ett intervall på 0 till 100, vilket 0 är godartat och 100 är en hög risk.

Exempel: 90
DstOriginalRiskLevel Valfri Heltal Den risknivå som är associerad med målet, enligt rapporteringsenhetens rapporter.

Exempel: Malicious
DstPortNumber Valfri Heltal Målportnummer.

Exempel: 53
DstHostname Valfri String Målenhetens värdnamn, exklusive domäninformation. Om inget enhetsnamn är tillgängligt lagrar du relevant IP-adress i det här fältet.

Exempel: DESKTOP-1282V4D

Obs! Det här värdet är obligatoriskt om DstIpAddr har angetts.
DstDomain Valfri String Målenhetens domän.

Exempel: Contoso
DstDomainType Villkorsstyrd Enumerated Typ av DstDomain, om det är känt. Möjliga värden omfattar:
- Windows (contoso\mypc)
- FQDN (learn.microsoft.com)

Krävs om DstDomain används.
DstFQDN Valfri String Värdnamnet för målenheten, inklusive domäninformation när det är tillgängligt.

Exempel: Contoso\DESKTOP-1282V4D

Obs! Det här fältet stöder både traditionellt FQDN-format och Windows-domän\värdnamnsformat. DstDomainType återspeglar det format som används.
DstDvcId Valfri String ID:t för målenheten enligt rapporten i posten.

Exempel: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
DstDvcScopeId Valfri String Molnplattformens omfångs-ID som enheten tillhör. DstDvcScopeId mappa till ett prenumerations-ID i Azure och till ett konto-ID på AWS.
DstDvcScope Valfri String Molnplattformsomfånget som enheten tillhör. DstDvcScope mappar till ett prenumerations-ID i Azure och till ett konto-ID på AWS.
DstDvcIdType Villkorsstyrd Enumerated Typ av DstDvcId, om det är känt. Möjliga värden omfattar:
- AzureResourceId
- MDEidIf

Om flera ID:er är tillgängliga använder du det första från listan ovan och lagrar de andra i fälten DstDvcAzureResourceId respektive DstDvcMDEid .

Krävs om DstDeviceId används.
DstDeviceType Valfri Enumerated Typ av målenhet. Möjliga värden omfattar:
- Computer
- Mobile Device
- IOT Device
- Other
DstDescription Valfri String En beskrivande text som är associerad med enheten. Exempel: Primary Domain Controller.

DNS-specifika fält

Fält Klass Typ Description
DnsQuery Obligatorisk String Domänen som begäran försöker lösa.

Obs!
– Vissa källor skickar giltiga FQDN-frågor i ett annat format. I själva DNS-protokollet innehåller frågan till exempel en punkt (.) i slutet, som måste tas bort.
– Dns-protokollet begränsar typen av värde i det här fältet till ett FQDN, men de flesta DNS-servrar tillåter valfritt värde, och det här fältet är därför inte begränsat till enbart FQDN-värden. Framför allt kan DNS-tunnelattacker använda ogiltiga FQDN-värden i frågefältet.
– Dns-protokollet tillåter flera frågor i en enda begäran, men det här scenariot är sällsynt om det hittas alls. Om begäran har flera frågor lagrar du den första i det här fältet och behåller sedan resten i fältet AdditionalFields .

Exempel: www.malicious.com
Domän Alias Alias till DnsQuery.
DnsQueryType Valfri Heltal Koder för DNS-resursposttyp.

Exempel: 28
DnsQueryTypeName Rekommenderat Enumerated Namn på DNS-resursposttyp .

Obs!
– IANA definierar inte skiftläget för värdena, så analys måste normalisera ärendet efter behov.
– Värdet ANY stöds för svarskoden 255.
– Värdet TYPExxxx stöds för ommappade svarskoder, där xxxx är det numeriska värdet för svarskoden, enligt rapporten från BIND DNS-servern.
-Om källan endast innehåller en numerisk frågetypskod och inte ett namn på frågetypen måste parsern innehålla en uppslagstabell för att utöka med det här värdet.

Exempel: AAAA
DnsResponseName Valfri String Innehållet i svaret, som ingår i posten.

DNS-svarsdata är inkonsekventa mellan rapporteringsenheter, är komplexa att parsa och har mindre värde för källagnostisk analys. Därför kräver inte informationsmodellen parsning och normalisering, och Microsoft Sentinel använder en hjälpfunktion för att tillhandahålla svarsinformation. Mer information finns i Hantera DNS-svar.
DnsResponseCodeName Alias Alias till EventResultDetails
DnsResponseCode Valfri Heltal Den numeriska DNS-svarskoden.

Exempel: 3
TransactionIdHex Rekommenderat String DNS-frågans unika ID som tilldelats av DNS-klienten i hexadecimalt format. Observera att det här värdet är en del av DNS-protokollet och skiljer sig från DnsSessionId, nätverksskiktets sessions-ID, som vanligtvis tilldelas av rapporteringsenheten.
NetworkProtocol Valfri Enumerated Transportprotokollet som används av nätverksmatchningshändelsen. Värdet kan vara UDP eller TCP och är oftast inställt på UDP för DNS.

Exempel: UDP
NetworkProtocolVersion Valfri Enumerated Versionen av NetworkProtocol. När du använder den för att skilja mellan IP-versionen använder du värdena IPv4 och IPv6.
DnsQueryClass Valfri Heltal DNS-klass-ID.

I praktiken används endast IN-klassen (ID 1) och därför är det här fältet mindre värdefullt.
DnsQueryClassName Valfri String DNS-klassnamnet.

I praktiken används endast IN-klassen (ID 1) och därför är det här fältet mindre värdefullt.

Exempel: IN
DnsFlags Valfri String Flaggfältet enligt rapporteringsenheten. Om flagginformation anges i flera fält sammanfogar du dem med kommatecken som avgränsare.

Eftersom DNS-flaggor är komplexa att parsa och används mindre ofta av analys krävs inte parsning och normalisering. Microsoft Sentinel kan använda en hjälpfunktion för att tillhandahålla information om flaggor. Mer information finns i Hantera DNS-svar.

Exempel: ["DR"]
DnsNetworkDuration Valfri Heltal Hur lång tid, i millisekunder, för slutförande av DNS-begäran.

Exempel: 1500
Varaktighet Alias Alias till DnsNetworkDuration
DnsFlagsAuthenticated Valfri Booleskt DNS-flaggan AD , som är relaterad till DNSSEC, anger i ett svar att alla data som ingår i svars- och utfärdaravsnitten i svaret har verifierats av servern enligt serverns principer. Mer information finns i RFC 3655 Avsnitt 6.1 för mer information.
DnsFlagsAuthoritative Valfri Booleskt DNS-flaggan AA anger om svaret från servern var auktoritativt
DnsFlagsCheckingDisabled Valfri Booleskt DNS-flaggan CD , som är relaterad till DNSSEC, anger i en fråga att icke-verifierade data är godtagbara för systemet som skickar frågan. Mer information finns i RFC 3655 Avsnitt 6.1 för mer information.
DnsFlagsRecursionAvailable Valfri Booleskt DNS-flaggan RA anger i ett svar att servern stöder rekursiva frågor.
DnsFlagsRecursionDesired Valfri Booleskt DNS-flaggan RD anger i en begäran att klienten vill att servern ska använda rekursiva frågor.
DnsFlagsTruncated Valfri Booleskt DNS-flaggan TC anger att ett svar trunkerades eftersom det överskred den maximala svarsstorleken.
DnsFlagsZ Valfri Booleskt DNS-flaggan Z är en inaktuell DNS-flagga som kan rapporteras av äldre DNS-system.
DnsSessionId Valfri sträng DNS-sessionsidentifieraren enligt rapporteringsenhetens rapport. Det här värdet skiljer sig från TransactionIdHex, dns-frågans unika ID som tilldelats av DNS-klienten.

Exempel: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55
Sessionid Alias Alias till DnsSessionId
DnsResponseIpCountry Valfri Land Det land som är associerat med en av IP-adresserna i DNS-svaret. Mer information finns i Logiska typer.

Exempel: USA
DnsResponseIpRegion Valfri Region Den region eller det tillstånd som är associerat med en av IP-adresserna i DNS-svaret. Mer information finns i Logiska typer.

Exempel: Vermont
DnsResponseIpCity Valfri City Den stad som är associerad med en av IP-adresserna i DNS-svaret. Mer information finns i Logiska typer.

Exempel: Burlington
DnsResponseIpLatitude Valfri Latitud Latitud för den geografiska koordinat som är associerad med en av IP-adresserna i DNS-svaret. Mer information finns i Logiska typer.

Exempel: 44.475833
DnsResponseIpLongitude Valfri Longitud Longitud för den geografiska koordinat som är associerad med en av IP-adresserna i DNS-svaret. Mer information finns i Logiska typer.

Exempel: 73.211944

Kontrollfält

Följande fält används för att representera en inspektion, som en DNS-säkerhetsenhet utförde. De hotrelaterade fälten representerar ett enda hot som är associerat med antingen källadressen, måladressen, en av IP-adresserna i svaret eller DNS-frågedomänen. Om fler än ett hot identifierades som ett hot kan information om andra IP-adresser lagras i fältet AdditionalFields.

Fält Klass Typ Description
UrlCategory Valfri String En DNS-händelsekälla kan också slå upp kategorin för de begärda domänerna. Fältet kallas UrlCategory för att justeras med Microsoft Sentinel-nätverksschemat.

DomainCategory läggs till som ett alias som passar DNS.

Exempel: Educational \\ Phishing
DomainCategory Alias Alias till UrlCategory.
NetworkRuleName Valfri String Namnet eller ID:t för regeln som identifierade hotet.

Exempel: AnyAnyDrop
NetworkRuleNumber Valfri Heltal Numret på regeln som identifierade hotet.

Exempel: 23
Regel Alias String Antingen värdet för NetworkRuleName eller värdet för NetworkRuleNumber. Om värdet för NetworkRuleNumber används ska typen konverteras till sträng.
ThreatId Valfri String ID:t för det hot eller den skadliga kod som identifierades i nätverkssessionen.

Exempel: Tr.124
ThreatCategory Valfri String Om en DNS-händelsekälla även tillhandahåller DNS-säkerhet kan den även utvärdera DNS-händelsen. Den kan till exempel söka efter IP-adressen eller domänen i en databas för hotinformation och tilldela domänen eller IP-adressen med en hotkategori.
ThreatIpAddr Valfri IP-adress En IP-adress som ett hot identifierades för. Fältet ThreatField innehåller namnet på fältet ThreatIpAddr representerar. Om ett hot identifieras i fältet Domän bör det här fältet vara tomt.
ThreatField Villkorsstyrd Enumerated Fältet som ett hot identifierades för. Värdet är antingen SrcIpAddr, DstIpAddr, Domaineller DnsResponseName.
ThreatName Valfri String Namnet på det identifierade hotet enligt rapporteringsenhetens rapporter.
ThreatConfidence Valfri Heltal Konfidensnivån för det identifierade hotet normaliserades till ett värde mellan 0 och 100.
ThreatOriginalConfidence Valfri String Den ursprungliga konfidensnivån för det identifierade hotet, enligt rapporteringsenhetens rapporter.
ThreatRiskLevel Valfri Heltal Risknivån som är associerad med det identifierade hotet normaliserades till ett värde mellan 0 och 100.
ThreatOriginalRiskLevel Valfri String Den ursprungliga risknivån som är associerad med det identifierade hotet, enligt rapporteringsenhetens rapporter.
ThreatIsActive Valfri Booleskt Sant om det identifierade hotet anses vara ett aktivt hot.
ThreatFirstReportedTime Valfri datetime Första gången IP-adressen eller domänen identifierades som ett hot.
ThreatLastReportedTime Valfri datetime Senast IP-adressen eller domänen identifierades som ett hot.

Inaktuella alias och fält

Följande fält är alias som underhålls för bakåtkompatibilitet. De togs bort från schemat den 31 december 2021.

  • Query (alias till DnsQuery)
  • QueryType (alias till DnsQueryType)
  • QueryTypeName (alias till DnsQueryTypeName)
  • ResponseName (alias till DnsReasponseName)
  • ResponseCodeName (alias till DnsResponseCodeName)
  • ResponseCode (alias till DnsResponseCode)
  • QueryClass (alias till DnsQueryClass)
  • QueryClassName (alias till DnsQueryClassName)
  • Flags (alias till DnsFlags)
  • SrcUserDomain

Schemauppdateringar

Ändringarna i version 0.1.2 av schemat är:

Ändringarna i version 0.1.3 av schemat är:

  • Schemat dokumenterar Src*nu uttryckligen fälten , Dst*Process* och User* .
  • Fler Dvc* fält har lagts till för att matcha den senaste definitionen av vanliga fält.
  • Lade till Src och Dst som alias till en ledande identifierare för käll- och målsystemen.
  • Har lagts till valfritt DnsNetworkDuration och Duration, ett alias till det.
  • Valfria fält för geoplats och risknivå har lagts till.

Ändringarna i version 0.1.4 av schemat är:

  • De valfria fälten ThreatIpAddr, , ThreatNameThreatField, ThreatConfidence, ThreatOriginalConfidence, ThreatOriginalRiskLevel, ThreatIsActive, ThreatFirstReportedTimeoch ThreatLastReportedTime.

Ändringarna i version 0.1.5 av schemat är:

  • Fälten har lagts till SrcUserScope, SrcUserSessionId, SrcDvcScopeIdSrcDvcScope, DstDvcScopeId, DstDvcScope, DvcScopeIdoch DvcScope.

Ändringarna i version 0.1.6 av schemat är:

  • Fälten DnsResponseIpCountry, DnsResponseIpRegion, DnsResponseIpCity, DnsResponseIpLatitudeoch DnsResponseIpLongitude.

Ändringarna i version 0.1.7 av schemat är:

  • Fälten har lagts till SrcDescription, SrcOriginalRiskLevel, DstOriginalRiskLevelDstDescription, SrcUserScopeId, NetworkProtocolVersion, Rule, RuleName, RuleNumberoch ThreatId.

Källspecifika avvikelser

Målet med normalisering är att säkerställa att alla källor tillhandahåller konsekvent telemetri. En källa som inte tillhandahåller nödvändig telemetri, till exempel obligatoriska schemafält, kan inte normaliseras. Källor som vanligtvis tillhandahåller all nödvändig telemetri, även om det finns vissa avvikelser, kan dock normaliseras. Avvikelser kan påverka frågeresultatets fullständighet.

I följande tabell visas kända avvikelser:

Source Avvikelser
Microsoft DNS-server som samlats in med HJÄLP av DNS-anslutningsappen och Log Analytics-agenten Anslutningsappen tillhandahåller inte det obligatoriska DnsQuery-fältet för det ursprungliga händelse-ID:t 264 (Svar på en dynamisk uppdatering). Data är tillgängliga vid källan, men vidarebefordras inte av anslutningsappen.
Corelight Zeek Corelight Zeek kanske inte tillhandahåller det obligatoriska DnsQuery-fältet. Vi har observerat sådant beteende i vissa fall där DNS-svarskodens namn är NXDOMAIN.

Hantera DNS-svar

I de flesta fall innehåller loggade DNS-händelser inte svarsinformation, som kan vara stora och detaljerade. Om posten innehåller mer svarsinformation lagrar du den i fältet ResponseName som den visas i posten.

Du kan också ange en extra KQL-funktion med namnet _imDNS<vendor>Response_, som tar det ofördelade svaret som indata och returnerar dynamiskt värde med följande struktur:

[
    {
        "part": "answer"
        "query": "yahoo.com."
        "TTL": 1782
        "Class": "IN"
        "Type": "A"
        "Response": "74.6.231.21"
    }
    {
        "part": "authority"
        "query": "yahoo.com."
        "TTL": 113066
        "Class": "IN"
        "Type": "NS"
        "Response": "ns5.yahoo.com"
    }
    ...
]

Fälten i varje ordlista i det dynamiska värdet motsvarar fälten i varje DNS-svar. Posten part ska innehålla antingen answer, authorityeller additional för att återspegla delen i svaret som ordlistan tillhör.

Dricks

För att säkerställa optimala prestanda anropar du endast funktionen när det imDNS<vendor>Response behövs, och först efter en inledande filtrering för att säkerställa bättre prestanda.

Hantera DNS-flaggor

Parsning och normalisering krävs inte för flaggdata. Lagra i stället de flaggdata som tillhandahålls av rapporteringsenheten i fältet Flaggor . Om det är enkelt att fastställa värdet för enskilda flaggor kan du också använda de dedikerade flaggorna.

Du kan också ange en extra KQL-funktion med namnet _imDNS<vendor>Flags_, som tar det ofördelade svaret eller dedikerade flaggfält som indata och returnerar en dynamisk lista med booleska värden som representerar varje flagga i följande ordning:

  • Autentiserad (AD)
  • Auktoritativ (AA)
  • Kontrollerar inaktiverad (CD)
  • Rekursion tillgänglig (RA)
  • Rekursion önskad (RD)
  • Trunkerad (TC)
  • Z

Nästa steg

Mer information finns i: