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
ellercontains
.
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.
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 | Beskrivning |
---|---|---|
starttime | datetime | Filtrera endast DNS-frågor som kördes vid eller efter den här tiden. |
sluttid | 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. Till exempel: 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. Till exempel: 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 | Valfritt | 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. Anteckningar: – 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 |
Valfritt | - 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 | Beskrivning |
---|---|---|---|
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 | Valfritt | Integer | Källporten för DNS-frågan. Exempel: 54312 |
IpAddr | Alias | Alias till SrcIpAddr | |
SrcGeoCountry | Valfritt | Land | Det land/den region som är associerad med källans IP-adress. Exempel: USA |
SrcGeoRegion | Valfritt | Region | Den region som är associerad med källans IP-adress. Exempel: Vermont |
SrcGeoCity | Valfritt | City | Den ort som är associerad med källans IP-adress. Exempel: Burlington |
SrcGeoLatitude | Valfritt | Latitud | Latitud för den geografiska koordinat som är associerad med källans IP-adress. Exempel: 44.475833 |
SrcGeoLongitude | Valfritt | Longitud | Longitud för den geografiska koordinat som är associerad med källans IP-adress. Exempel: 73.211944 |
SrcRiskLevel | Valfritt | Integer | 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 100 en hög risk.Exempel: 90 |
SrcOriginalRiskLevel | Valfritt | Integer | 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 | Valfritt | 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 | Valfritt | String | ID:t för källenheten enligt rapporten i posten. Till exempel: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
SrcDvcScopeId | Valfritt | 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 | Valfritt | 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 SrcDvcAzureResourceId respektive SrcDvcMDEid. Obs! Det här fältet krävs om SrcDvcId används. |
SrcDeviceType | Valfritt | Enumerated | Typ av källenhet. Möjliga värden omfattar: - Computer - Mobile Device - IOT Device - Other |
SrcDescription | Valfritt | String | En beskrivande text som är associerad med enheten. Exempel: Primary Domain Controller . |
Källanvändarfält
Fält | Klass | Typ | Beskrivning |
---|---|---|---|
SrcUserId | Valfritt | 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 | Valfritt | 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 | Valfritt | 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 | Valfritt | Username | 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 | Valfritt | UserType | Typ av källanvändare. Mer information och en lista över tillåtna värden finns i UserType i artikeln Schemaöversikt. Till exempel: Guest |
SrcUserSessionId | Valfritt | String | Det unika ID:t för inloggningssessionen för aktören. Exempel: 102pTUgC3p8RIqHvzxLCHnFlg |
SrcOriginalUserType | Valfritt | String | Den ursprungliga källanvändartypen, om den tillhandahålls av källan. |
Källprocessfält
Fält | Klass | Typ | Beskrivning |
---|---|---|---|
SrcProcessName | Valfritt | 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 | Valfritt | 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 | Valfritt | 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 | Beskrivning |
---|---|---|---|
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 | Valfritt | 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 | Valfritt | Land | Det land/den region som är associerad med mål-IP-adressen. Mer information finns i Logiska typer. Exempel: USA |
DstGeoRegion | Valfritt | Region | Den region eller det tillstånd som är associerat med målets IP-adress. Mer information finns i Logiska typer. Exempel: Vermont |
DstGeoCity | Valfritt | City | Den ort som är associerad med mål-IP-adressen. Mer information finns i Logiska typer. Exempel: Burlington |
DstGeoLatitude | Valfritt | 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 | Valfritt | 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 | Valfritt | Integer | 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 | Valfritt | Integer | Den risknivå som är associerad med målet, enligt rapporteringsenhetens rapporter. Exempel: Malicious |
DstPortNumber | Valfritt | Integer | Målportnummer. Exempel: 53 |
DstHostname | Valfritt | 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 | Valfritt | 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 | Valfritt | 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 | Valfritt | String | ID:t för målenheten enligt rapporten i posten. Exempel: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
DstDvcScopeId | Valfritt | 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 | Valfritt | 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 | Valfritt | Enumerated | Typ av målenhet. Möjliga värden omfattar: - Computer - Mobile Device - IOT Device - Other |
DstDescription | Valfritt | String | En beskrivande text som är associerad med enheten. Exempel: Primary Domain Controller . |
DNS-specifika fält
Fält | Klass | Typ | Beskrivning |
---|---|---|---|
DnsQuery | Obligatorisk | String | Domänen som begäran försöker lösa. Anteckningar: – 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 | Valfritt | Integer | Koder för DNS-resursposttyp. Exempel: 28 |
DnsQueryTypeName | Rekommenderat | Enumerated | Namn på DNS-resursposttyp . Anteckningar: – 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 | Valfritt | 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 | Valfritt | Integer | 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 | Valfritt | 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 | Valfritt | 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 | Valfritt | Integer | 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 | Valfritt | 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 | Valfritt | 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 | Valfritt | Integer | Hur lång tid, i millisekunder, för slutförande av DNS-begäran. Exempel: 1500 |
Varaktighet | Alias | Alias till DnsNetworkDuration | |
DnsFlagsAuthenticated | Valfritt | 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 | Valfritt | Booleskt | DNS-flaggan AA anger om svaret från servern var auktoritativt |
DnsFlagsCheckingDisabled | Valfritt | 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 | Valfritt | Booleskt | DNS-flaggan RA anger i ett svar att servern stöder rekursiva frågor. |
DnsFlagsRecursionDesired | Valfritt | Booleskt | DNS-flaggan RD anger i en begäran att klienten vill att servern ska använda rekursiva frågor. |
DnsFlagsTruncated | Valfritt | Booleskt | DNS-flaggan TC anger att ett svar trunkerades eftersom det överskred den maximala svarsstorleken. |
DnsFlagsZ | Valfritt | Booleskt | DNS-flaggan Z är en inaktuell DNS-flagga som kan rapporteras av äldre DNS-system. |
DnsSessionId | Valfritt | 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 | Valfritt | Land | Det land/den region som är associerad med en av IP-adresserna i DNS-svaret. Mer information finns i Logiska typer. Exempel: USA |
DnsResponseIpRegion | Valfritt | 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 | Valfritt | City | Den stad som är associerad med en av IP-adresserna i DNS-svaret. Mer information finns i Logiska typer. Exempel: Burlington |
DnsResponseIpLatitude | Valfritt | 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 | Valfritt | 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 | Beskrivning |
---|---|---|---|
UrlCategory | Valfritt | 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 | Valfritt | String | Namnet eller ID:t för regeln som identifierade hotet. Exempel: AnyAnyDrop |
NetworkRuleNumber | Valfritt | Integer | 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 | Valfritt | String | ID:t för det hot eller den skadliga kod som identifierades i nätverkssessionen. Exempel: Tr.124 |
ThreatCategory | Valfritt | 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 | Valfritt | 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 , Domain eller DnsResponseName . |
ThreatName | Valfritt | String | Namnet på det identifierade hotet enligt rapporteringsenhetens rapporter. |
ThreatConfidence | Valfritt | Integer | Konfidensnivån för det identifierade hotet normaliserades till ett värde mellan 0 och 100. |
ThreatOriginalConfidence | Valfritt | String | Den ursprungliga konfidensnivån för det identifierade hotet, enligt rapporteringsenhetens rapporter. |
ThreatRiskLevel | Valfritt | Integer | Risknivån som är associerad med det identifierade hotet normaliserades till ett värde mellan 0 och 100. |
ThreatOriginalRiskLevel | Valfritt | String | Den ursprungliga risknivån som är associerad med det identifierade hotet, enligt rapporteringsenhetens rapporter. |
ThreatIsActive | Valfritt | Booleskt | Sant om det identifierade hotet anses vara ett aktivt hot. |
ThreatFirstReportedTime | Valfritt | datetime | Första gången IP-adressen eller domänen identifierades som ett hot. |
ThreatLastReportedTime | Valfritt | 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 tillDnsQuery
)QueryType
(alias tillDnsQueryType
)QueryTypeName
(alias tillDnsQueryTypeName
)ResponseName
(alias tillDnsResponseName
)ResponseCodeName
(alias tillDnsResponseCodeName
)ResponseCode
(alias tillDnsResponseCode
)QueryClass
(alias tillDnsQueryClass
)QueryClassName
(alias tillDnsQueryClassName
)Flags
(alias tillDnsFlags
)SrcUserDomain
Schemauppdateringar
Ändringarna i version 0.1.2 av schemat är:
- Fältet har lagts till
EventSchema
. - Dedikerat flaggfält har lagts till, vilket utökar det kombinerade fältet Flaggor:
DnsFlagsAuthoritative
,DnsFlagsCheckingDisabled
,DnsFlagsRecursionAvailable
,DnsFlagsRecursionDesired
,DnsFlagsTruncated
ochDnsFlagsZ
.
Ändringarna i version 0.1.3 av schemat är:
- Schemat dokumenterar
Src*
nu uttryckligen fälten ,Dst*
Process*
ochUser*
. - Fler
Dvc*
fält har lagts till för att matcha den senaste definitionen av vanliga fält. - Lade till
Src
ochDst
som alias till en ledande identifierare för käll- och målsystemen. - Har lagts till valfritt
DnsNetworkDuration
ochDuration
, 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
, ,ThreatName
ThreatField
,ThreatConfidence
,ThreatOriginalConfidence
,ThreatOriginalRiskLevel
,ThreatIsActive
,ThreatFirstReportedTime
ochThreatLastReportedTime
.
Ändringarna i version 0.1.5 av schemat är:
- Fälten har lagts till
SrcUserScope
,SrcUserSessionId
,SrcDvcScopeId
SrcDvcScope
,DstDvcScopeId
,DstDvcScope
,DvcScopeId
ochDvcScope
.
Ändringarna i version 0.1.6 av schemat är:
- Fälten
DnsResponseIpCountry
,DnsResponseIpRegion
,DnsResponseIpCity
,DnsResponseIpLatitude
ochDnsResponseIpLongitude
.
Ändringarna i version 0.1.7 av schemat är:
- Fälten har lagts till
SrcDescription
,SrcOriginalRiskLevel
,DstOriginalRiskLevel
DstDescription
,SrcUserScopeId
,NetworkProtocolVersion
,Rule
,RuleName
,RuleNumber
ochThreatId
.
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:
Källa | 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
, authority
eller 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: