Referenz zum Advanced Security Information Model (ASIM) DNS-Normalisierungsschema

Das DNS-Informationsmodell wird verwendet, um ereignisse zu beschreiben, die von einem DNS-Server oder einem DNS-Sicherheitssystem gemeldet werden, und wird von Microsoft Sentinel verwendet, um quellunabhängige Analysen zu ermöglichen.

Weitere Informationen finden Sie unter Normalization and the Advanced Security Information Model (ASIM).

Schemaübersicht

Das ASIM-DNS-Schema stellt die DNS-Protokollaktivität dar. Sowohl DNS-Server als auch Geräte, die DNS-Anforderungen an einen DNS-Server senden, protokollieren die DNS-Aktivität. Die DNS-Protokollaktivität umfasst DNS-Abfragen, DNS-Serverupdates und DNS-Massendatenübertragungen. Da das Schema die Protokollaktivität darstellt, wird es von RFCs und offiziell zugewiesenen Parameterlisten gesteuert, auf die in diesem Artikel gegebenenfalls verwiesen wird. Das DNS-Schema stellt keine DNS-Serverüberwachungsereignisse dar.

Die wichtigste Aktivität, die von DNS-Servern gemeldet wird, ist eine DNS-Abfrage, für die das EventType Feld auf Queryfestgelegt ist.

Die wichtigsten Felder in einem DNS-Ereignis sind:

  • DnsQuery, die den Domänennamen meldet, für den die Abfrage ausgegeben wurde.

  • Der SrcIpAddr (Alias für IpAddr), der die IP-Adresse darstellt, aus der die Anforderung generiert wurde. DNS-Server stellen in der Regel das Feld SrcIpAddr bereit, aber DNS-Clients stellen dieses Feld manchmal nicht bereit und geben nur das Feld SrcHostname an.

  • EventResultDetails: Gibt an, ob die Anforderung erfolgreich war und wenn nicht, warum.

  • Falls verfügbar, DnsResponseName, der die antwort enthält, die vom Server für die Abfrage bereitgestellt wurde. ASIM erfordert keine Analyse der Antwort, und das Format variiert je nach Quelle.

    Um dieses Feld in quellenunabhängigen Inhalten zu verwenden, durchsuchen Sie den Inhalt mit dem has Operator oder contains .

DNS-Ereignisse, die auf dem Clientgerät erfasst werden, können auch Benutzer - und Prozessinformationen enthalten.

Richtlinien für das Sammeln von DNS-Ereignissen

DNS ist ein eindeutiges Protokoll, da es eine große Anzahl von Computern durchqueren kann. Da DNS UDP verwendet, sind Anforderungen und Antworten außerdem nicht direkt miteinander verknüpft.

Die folgende Abbildung zeigt einen vereinfachten DNS-Anforderungsfluss, einschließlich vier Segmenten. Eine reale Anforderung kann komplexer sein, wobei mehr Segmente beteiligt sind.

Vereinfachter DNS-Anforderungsfluss.

Da Anforderungs- und Antwortsegmente im DNS-Anforderungsfluss nicht direkt miteinander verbunden sind, kann die vollständige Protokollierung zu einer erheblichen Duplizierung führen.

Das wertvollste zu protokollierende Segment ist die Antwort an den Client. Die Antwort enthält die Domänennamenabfragen, das Nachschlageergebnis und die IP-Adresse des Clients. Während viele DNS-Systeme nur dieses Segment protokollieren, ist die Protokollierung der anderen Teile von Nutzen. Beispielsweise nutzt ein DNS-Cachevergiftungsangriff häufig gefälschte Antworten von einem Upstream-Server.

Wenn Ihre Datenquelle die vollständige DNS-Protokollierung unterstützt und Sie sich entschieden haben, mehrere Segmente zu protokollieren, passen Sie Ihre Abfragen an, um die Datenduplizierung in Microsoft Sentinel zu verhindern.

Beispielsweise können Sie Ihre Abfrage mit der folgenden Normalisierung ändern:

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

Parser

Weitere Informationen zu ASIM-Parsern finden Sie in der Übersicht über ASIM-Parser.

Sofort einsatzbereite Parser

Um Parser zu verwenden, die alle standardmäßigen ASIM-Parser vereinheitlichen und sicherstellen möchten, dass Ihre Analyse in allen konfigurierten Quellen ausgeführt wird, verwenden Sie den vereinheitlichenden Parser _Im_Dns als Tabellennamen in Ihrer Abfrage.

Die Liste der DNS-Parser, die Microsoft Sentinel sofort verfügbar sind, finden Sie in der Liste der ASIM-Parser.

Hinzufügen eigener normalisierter Parser

Wenn Sie benutzerdefinierte Parser für das DNS-Informationsmodell implementieren, benennen Sie Ihre KQL-Funktionen im Format vimDns<vendor><Product>. Lesen Sie den Artikel Verwalten von ASIM-Parsern , um zu erfahren, wie Sie Ihre benutzerdefinierten Parser zum vereinheitlichenden DNS-Parser hinzufügen.

Filtern von Parserparametern

Die DNS-Parser unterstützen das Filtern von Parametern. Diese Parameter sind zwar optional, können aber die Abfrageleistung verbessern.

Die folgenden Filterparameter sind verfügbar:

Name Typ Beschreibung
starttime Datum/Uhrzeit Filtern Sie nur DNS-Abfragen, die zu oder nach diesem Zeitpunkt ausgeführt wurden. Dieser Parameter filtert nach dem TimeGenerated Feld, das der Standardbezeichner für den Zeitpunkt des Ereignisses ist, unabhängig von der parserspezifischen Zuordnung der Felder EventStartTime und EventEndTime.
endtime Datum/Uhrzeit Filtern Sie nur DNS-Abfragen, die zu oder vor diesem Zeitpunkt ausgeführt wurden. Dieser Parameter filtert nach dem TimeGenerated Feld, das der Standardbezeichner für den Zeitpunkt des Ereignisses ist, unabhängig von der parserspezifischen Zuordnung der Felder EventStartTime und EventEndTime.
srcipaddr string Filtern Sie nur DNS-Abfragen aus dieser Quell-IP-Adresse.
domain_has_any dynamic/string Filtern Sie nur DNS-Abfragen, bei denen domain (oder query) über einen der aufgeführten Domänennamen verfügt, einschließlich als Teil der Ereignisdomäne. Die Länge der Liste ist auf 10.000 Elemente beschränkt.
antwortcodename string Filtern Sie nur DNS-Abfragen, für die der Antwortcodename mit dem angegebenen Wert übereinstimmt.
Beispiel: NXDOMAIN
response_has_ipv4 string Filtern Sie nur DNS-Abfragen, in denen das Antwortfeld die angegebene IP-Adresse oder das IP-Adresspräfix enthält. Verwenden Sie diesen Parameter, wenn Sie nach einer einzelnen IP-Adresse oder einem Präfix filtern möchten.

Für Quellen, die keine Antwort bereitstellen, werden keine Ergebnisse zurückgegeben.
response_has_any_prefix Dynamische Filtern Sie nur DNS-Abfragen, in denen das Antwortfeld eine der aufgeführten IP-Adressen oder IP-Adresspräfixe enthält. Präfixe sollten mit einem .enden, z. B. . 10.0.

Verwenden Sie diesen Parameter, wenn Sie nach einer Liste von IP-Adressen oder Präfixen filtern möchten.

Für Quellen, die keine Antwort bereitstellen, werden keine Ergebnisse zurückgegeben. Die Länge der Liste ist auf 10.000 Elemente beschränkt.
Eventtype string Filtern Sie nur DNS-Abfragen des angegebenen Typs. Wenn kein Wert angegeben wird, werden nur Suchabfragen zurückgegeben.

Wenn Sie beispielsweise nur DNS-Abfragen vom letzten Tag filtern möchten, an dem der Domänenname nicht aufgelöst werden konnte, verwenden Sie Folgendes:

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

Um nur DNS-Abfragen für eine angegebene Liste von Domänennamen zu filtern, verwenden Sie Folgendes:

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

Einige Parameter können sowohl eine Liste von Werten vom Typ dynamic als auch einen einzelnen Zeichenfolgenwert akzeptieren. Um eine Literalliste an Parameter zu übergeben, die einen dynamischen Wert erwarten, verwenden Sie explizit ein dynamisches Literal. Beispiel: dynamic(['192.168.','10.'])

Normalisierter Inhalt

Eine vollständige Liste der Analyseregeln, die normalisierte DNS-Ereignisse verwenden, finden Sie unter Sicherheitsinhalte für DNS-Abfragen.

Schemadetails

Das DNS-Informationsmodell ist am OSSEM-DNS-Entitätsschema ausgerichtet.

Weitere Informationen finden Sie in der DNS-Parameterreferenz zur Internet Assigned Numbers Authority (IANA).

Allgemeine ASIM-Felder

Wichtig

Felder, die allen Schemas gemeinsam sind, werden im Artikel Allgemeine Felder für ASIM ausführlich beschrieben.

Allgemeine Felder mit bestimmten Richtlinien

In der folgenden Liste werden Felder mit spezifischen Richtlinien für DNS-Ereignisse aufgeführt:

Field Class Type Beschreibung
EventType Erforderlich Aufgelistet Gibt den vom Datensatz gemeldeten Vorgang an.

Für DNS-Einträge ist dieser Wert der DNS-Op-Code.

Beispiel: Query
EventSubType Optional Aufgelistet Möglich sind request oder response.

Bei den meisten Quellen werden nur die Antworten protokolliert, und daher ist der Wert häufig antwort.
EventResultDetails Erforderlich Aufgelistet Für DNS-Ereignisse stellt dieses Feld den DNS-Antwortcode bereit.

Hinweise:
– IANA definiert nicht die Groß-/Kleinschreibung für die Werte, sodass die Analyse den Fall normalisieren muss.
– Wenn die Quelle nur einen numerischen Antwortcode und keinen Antwortcodenamen bereitstellt, muss der Parser eine Nachschlagetabelle enthalten, um mit diesem Wert anzureichern.
– Wenn dieser Datensatz eine Anforderung und keine Antwort darstellt, legen Sie auf NA fest.

Beispiel: NXDOMAIN
EventSchemaVersion Erforderlich SchemaVersion (Zeichenfolge) Die hier dokumentierte Version des Schemas ist 0.1.7.
EventSchema Erforderlich Aufgelistet Der Name des hier dokumentierten Schemas lautet Dns.
Dvc-Felder - - Bei DNS-Ereignissen verweisen Gerätefelder auf das System, das das DNS-Ereignis meldet.

Alle gemeinsamen Felder

Felder, die in der folgenden Tabelle angezeigt werden, sind für alle ASIM-Schemas gemeinsam. Jede oben angegebene Richtlinie setzt die allgemeinen Richtlinien für das Feld außer Kraft. Beispielsweise kann ein Feld im Allgemeinen optional, aber für ein bestimmtes Schema obligatorisch sein. Weitere Informationen zu den einzelnen Feldern finden Sie im Artikel Zu den allgemeinen ASIM-Feldern .

Class Fields
Erforderlich - EventCount
- EventStartTime
- EventEndTime
- Eventtype
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Empfohlen - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Optional - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

Quellsystemfelder

Feld Class Typ Beschreibung
Src Alias Zeichenfolge Ein eindeutiger Bezeichner des Quellgeräts.

Dieses Feld kann ein Alias für die Felder SrcDvcId, SrcHostname oder SrcIpAddr sein.

Beispiel: 192.168.12.1
SrcIpAddr Empfohlen IP-Adresse Die IP-Adresse des Clients, der die DNS-Anforderung gesendet hat. Bei einer rekursiven DNS-Anforderung ist dieser Wert in der Regel das meldende Gerät und in den meisten Fällen auf 127.0.0.1festgelegt.

Beispiel: 192.168.12.1
SrcPortNumber Optional Integer Quellport der DNS-Abfrage.

Beispiel: 54312
IpAddr Alias Alias für SrcIpAddr
SrcGeoCountry Optional Land Das Land/die Region, das der Quell-IP-Adresse zugeordnet ist.

Beispiel: USA
SrcGeoRegion Optional Region Die Region, die der Quell-IP-Adresse zugeordnet ist.

Beispiel: Vermont
SrcGeoCity Optional Stadt/Ort Der Ort, der der Quell-IP-Adresse zugeordnet ist.

Beispiel: Burlington
SrcGeoLatitude Optional Breitengrad Der Breitengrad der geografischen Koordinate, die der Quell-IP-Adresse zugeordnet ist.

Beispiel: 44.475833
SrcGeoLongitude Optional Längengrad Der Längengrad der geografischen Koordinate, die der Quell-IP-Adresse zugeordnet ist.

Beispiel: 73.211944
SrcRiskLevel Optional Integer Die der Quelle zugeordnete Risikostufe. Der Wert sollte auf einen Bereich von 0100bis angepasst werden, mit 0 für gutartig und 100 für ein hohes Risiko.

Beispiel: 90
SrcOriginalRiskLevel Optional Zeichenfolge Die risikobehaftete Ebene, die der Quelle zugeordnet ist, wie vom Melden des Geräts gemeldet.

Beispiel: Suspicious
SrcHostname Empfohlen Hostname (Zeichenfolge) Der Hostname des Quellgeräts ohne Domäneninformationen.

Beispiel: DESKTOP-1282V4D
Hostname Alias Alias für SrcHostname
SrcDomain Empfohlen Domäne (Zeichenfolge) Die Domäne des Quellgeräts.

Beispiel: Contoso
SrcDomainType Bedingte Aufgelistet Der Typ von SrcDomain, sofern bekannt. Mögliche Werte sind:
- Windows (z. B.: contoso)
- FQDN (z. B.: microsoft.com)

Erforderlich, wenn SrcDomain verwendet wird.
SrcFQDN Optional FQDN (Zeichenfolge) Der Hostname des Quellgeräts, einschließlich Domäneninformationen, sofern verfügbar.

Hinweis: Dieses Feld unterstützt sowohl das herkömmliche FQDN-Format als auch das Windows-Format Domäne\Hostname. Das Feld SrcDomainType gibt das verwendete Format an.

Beispiel: Contoso\DESKTOP-1282V4D
SrcDvcId Optional Zeichenfolge Die ID des Quellgeräts, wie im Datensatz gemeldet.

Beispiel: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
SrcDvcScopeId Optional Zeichenfolge Die Bereichs-ID der Cloudplattform, zu der das Gerät gehört. SrcDvcScopeId wird einer Abonnement-ID auf Azure und einer Konto-ID in AWS zugeordnet.
SrcDvcScope Optional Zeichenfolge Der Cloudplattformbereich, zu dem das Gerät gehört. SrcDvcScope wird einer Abonnement-ID auf Azure und einer Konto-ID in AWS zugeordnet.
SrcDvcIdType Bedingte Aufgelistet Der Typ von SrcDvcId, sofern bekannt. Mögliche Werte sind:
- AzureResourceId
- MDEid

Wenn mehrere IDs verfügbar sind, verwenden Sie die erste aus der Liste, und speichern Sie die anderen in SrcDvcAzureResourceId bzw . SrcDvcMDEid.

Hinweis: Dieses Feld ist erforderlich, wenn SrcDvcId verwendet wird.
SrcDeviceType Optional Aufgelistet Der Typ des Quellgeräts. Mögliche Werte sind:
- Computer
- Mobile Device
- IOT Device
- Other
SrcDescription Optional Zeichenfolge Ein beschreibender Text, der dem Gerät zugeordnet ist. Beispiel: Primary Domain Controller.

Quellbenutzerfelder

Feld Class Typ Beschreibung
SrcUserId Optional Zeichenfolge Eine maschinenlesbare, alphanumerische, eindeutige Darstellung des Quellbenutzers. Weitere Informationen und alternative Felder für zusätzliche IDs finden Sie unter Die Entität User.

Beispiel: S-1-12-1-4141952679-1282074057-627758481-2916039507
SrcUserScope Optional Zeichenfolge Der Bereich, z. B. Microsoft Entra Mandant, in dem SrcUserId und SrcUsername definiert sind. oder weitere Informationen und eine Liste der zulässigen Werte finden Sie unter UserScope im Artikel Schemaübersicht.
SrcUserScopeId Optional Zeichenfolge Die Bereichs-ID, z. B. Microsoft Entra Verzeichnis-ID, in der SrcUserId und SrcUsername definiert sind. Weitere Informationen und eine Liste der zulässigen Werte finden Sie unter UserScopeId im Artikel Schemaübersicht.
SrcUserIdType Bedingte UserIdType Der Typ der ID, die im Feld SrcUserId gespeichert ist. Weitere Informationen und eine Liste der zulässigen Werte finden Sie unter UserIdType im Artikel Schemaübersicht.
SrcUsername Optional Benutzername (Zeichenfolge) Der Quellbenutzername, einschließlich Domäneninformationen, sofern verfügbar. Weitere Informationen finden Sie unter Die Entität User.

Beispiel: AlbertE
SrcUsernameType Bedingte UsernameType Gibt den Typ des Benutzernamens an, der im Feld SrcUsername gespeichert ist. Weitere Informationen und eine Liste der zulässigen Werte finden Sie unter UsernameType im Artikel Schemaübersicht.

Beispiel: Windows
Benutzer Alias Alias für SrcUsername
SrcUserType Optional UserType Der Typ des Quellbenutzers. Weitere Informationen und eine Liste der zulässigen Werte finden Sie unter UserType im Artikel Schemaübersicht.

Beispiel: Guest
SrcUserSessionId Optional Zeichenfolge Die eindeutige ID der Anmeldesitzung des Actors.

Beispiel: 102pTUgC3p8RIqHvzxLCHnFlg
SrcOriginalUserType Optional Zeichenfolge Der ursprüngliche Quellbenutzertyp, wenn er von der Quelle bereitgestellt wird.

Quellprozessfelder

Feld Class Typ Beschreibung
SrcProcessName Optional Zeichenfolge Der Dateiname des Prozesses, der die DNS-Anforderung initiiert hat. Dieser Name wird in der Regel als Prozessname betrachtet.

Beispiel: C:\Windows\explorer.exe
Prozess Alias Alias für SrcProcessName

Beispiel: C:\Windows\System32\rundll32.exe
SrcProcessId Optional Zeichenfolge Die Prozess-ID (PID) des Prozesses, der die DNS-Anforderung initiiert hat.

Beispiel: 48610176

Hinweis: Der Typ ist als Zeichenfolge definiert, um unterschiedliche Systeme zu unterstützen, aber unter Windows und Linux muss dieser Wert numerisch sein.

Wenn Sie einen Windows- oder Linux Computer verwenden und einen anderen Typ verwendet haben, stellen Sie sicher, dass Sie die Werte konvertieren. Wenn Sie beispielsweise einen Hexadezimalwert verwendet haben, konvertieren Sie ihn in einen Dezimalwert.
SrcProcessGuid Optional GUID (Zeichenfolge) Ein generierter eindeutiger Bezeichner (GUID) des Prozesses, der die DNS-Anforderung initiiert hat.

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

Zielsystemfelder

Feld Class Typ Beschreibung
Dst Alias Zeichenfolge Ein eindeutiger Bezeichner des Servers, der die DNS-Anforderung empfangen hat.

Dieses Feld kann ein Alias für die Felder DstDvcId, DstHostname oder DstIpAddr sein.

Beispiel: 192.168.12.1
DstIpAddr Optional IP-Adresse Die IP-Adresse des Servers, der die DNS-Anforderung empfangen hat. Bei einer regulären DNS-Anforderung ist dieser Wert in der Regel das meldende Gerät und in den meisten Fällen auf 127.0.0.1festgelegt.

Beispiel: 127.0.0.1
DstGeoCountry Optional Land Das Land/die Region, das der Ziel-IP-Adresse zugeordnet ist. Weitere Informationen finden Sie unter Logische Typen.

Beispiel: USA
DstGeoRegion Optional Region Die Region oder der Status, die der Ziel-IP-Adresse zugeordnet ist. Weitere Informationen finden Sie unter Logische Typen.

Beispiel: Vermont
DstGeoCity Optional Stadt/Ort Der Ort, der der Ziel-IP-Adresse zugeordnet ist. Weitere Informationen finden Sie unter Logische Typen.

Beispiel: Burlington
DstGeoLatitude Optional Breitengrad Der Breitengrad der geografischen Koordinate, die der Ziel-IP-Adresse zugeordnet ist. Weitere Informationen finden Sie unter Logische Typen.

Beispiel: 44.475833
DstGeoLongitude Optional Längengrad Der Längengrad der geografischen Koordinate, die der Ziel-IP-Adresse zugeordnet ist. Weitere Informationen finden Sie unter Logische Typen.

Beispiel: 73.211944
DstRiskLevel Optional Integer Die Risikostufe, die dem Ziel zugeordnet ist. Der Wert sollte auf einen Bereich von 0 bis 100 angepasst werden, wobei 0 gutartig und 100 ein hohes Risiko darstellt.

Beispiel: 90
DstOriginalRiskLevel Optional Zeichenfolge Die Risikostufe, die dem Ziel zugeordnet ist, wie vom Melden des Geräts gemeldet.

Beispiel: Malicious
DstPortNumber Optional Integer Zielportnummer.

Beispiel: 53
DstHostname Optional Hostname (Zeichenfolge) Der Hostname des Zielgeräts ohne Domäneninformationen. Wenn kein Gerätename verfügbar ist, speichern Sie die relevante IP-Adresse in diesem Feld.

Beispiel: DESKTOP-1282V4D

Hinweis: Dieser Wert ist obligatorisch, wenn DstIpAddr angegeben ist.
DstDomain Optional Domäne (Zeichenfolge) Die Domäne des Zielgeräts.

Beispiel: Contoso
DstDomainType Bedingte Aufgelistet Der Typ von DstDomain, sofern bekannt. Mögliche Werte sind:
- Windows (contoso\mypc)
- FQDN (learn.microsoft.com)

Erforderlich, wenn DstDomain verwendet wird.
DstFQDN Optional FQDN (Zeichenfolge) Der Hostname des Zielgeräts, einschließlich Domäneninformationen, falls verfügbar.

Beispiel: Contoso\DESKTOP-1282V4D

Hinweis: Dieses Feld unterstützt sowohl das herkömmliche FQDN-Format als auch das Windows-Format Domäne\Hostname. DstDomainType gibt das verwendete Format an.
DstDvcId Optional Zeichenfolge Die ID des Zielgeräts, wie im Datensatz gemeldet.

Beispiel: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
DstDvcScopeId Optional Zeichenfolge Die Bereichs-ID der Cloudplattform, zu der das Gerät gehört. DstDvcScopeId wird einer Abonnement-ID auf Azure und einer Konto-ID in AWS zugeordnet.
DstDvcScope Optional Zeichenfolge Der Cloudplattformbereich, zu dem das Gerät gehört. DstDvcScope wird einer Abonnement-ID auf Azure und einer Konto-ID in AWS zugeordnet.
DstDvcIdType Bedingte Aufgelistet Der Typ von DstDvcId, sofern bekannt. Mögliche Werte sind:
- AzureResourceId
- MDEidIf

Wenn mehrere IDs verfügbar sind, verwenden Sie die erste aus der obigen Liste, und speichern Sie die anderen in den Feldern DstDvcAzureResourceId bzw . DstDvcMDEid .

Erforderlich, wenn DstDeviceId verwendet wird.
DstDeviceType Optional Aufgelistet Der Typ des Zielgeräts. Mögliche Werte sind:
- Computer
- Mobile Device
- IOT Device
- Other
DstDescription Optional Zeichenfolge Ein beschreibender Text, der dem Gerät zugeordnet ist. Beispiel: Primary Domain Controller.

DNS-spezifische Felder

Feld Class Typ Beschreibung
DnsQuery Erforderlich Zeichenfolge Die Domäne, die die Anforderung aufzulösen versucht.

Hinweise:
– Einige Quellen senden gültige FQDN-Abfragen in einem anderen Format. Beispielsweise enthält die Abfrage im DNS-Protokoll selbst einen Punkt (.) am Ende, der entfernt werden muss.
– Während das DNS-Protokoll den Werttyp in diesem Feld auf einen FQDN beschränkt, lassen die meisten DNS-Server jeden Wert zu, und dieses Feld ist daher nicht auf FQDN-Werte beschränkt. Insbesondere können DNS-Tunnelangriffe ungültige FQDN-Werte im Abfragefeld verwenden.
– Während das DNS-Protokoll mehrere Abfragen in einer einzelnen Anforderung zulässt, ist dieses Szenario selten, wenn es überhaupt gefunden wird. Wenn die Anforderung mehrere Abfragen enthält, speichern Sie die erste in diesem Feld, und behalten Sie dann und optional den Rest im Feld AdditionalFields bei.

Beispiel: www.malicious.com
Domäne Alias Alias für DnsQuery.
DnsQueryType Optional Integer Die Codes des DNS-Ressourceneintragstyps.

Beispiel: 28
DnsQueryTypeName Empfohlen Aufgelistet Die Namen des DNS-Ressourceneintragstyps .

Hinweise:
– IANA definiert nicht die Groß-/Kleinschreibung für die Werte, sodass analysen den Fall nach Bedarf normalisieren müssen.
– Der Wert ANY wird für den Antwortcode 255 unterstützt.
– Der Wert TYPExxxx wird für nicht zugeordnete Antwortcodes unterstützt, wobei xxxx der numerische Wert des Antwortcodes ist, wie vom BIND-DNS-Server gemeldet.
- Wenn die Quelle nur einen numerischen Abfragetypcode und keinen Abfragetypnamen bereitstellt, muss der Parser eine Nachschlagetabelle enthalten, um mit diesem Wert anzureichern.

Beispiel: AAAA
DnsResponseName Optional Zeichenfolge Der Inhalt der Antwort, wie er im Datensatz enthalten ist.

Die DNS-Antwortdaten sind auf allen Berichtsgeräten inkonsistent, sind komplex zu analysieren und haben weniger Wert für quellenunabhängige Analysen. Daher erfordert das Informationsmodell keine Analyse und Normalisierung, und Microsoft Sentinel verwendet eine Hilfsfunktion, um Antwortinformationen bereitzustellen. Weitere Informationen finden Sie unter Behandeln von DNS-Antworten.
DnsResponseCodeName Alias Alias für EventResultDetails
DnsResponseCode Optional Integer Der numerische DNS-Antwortcode.

Beispiel: 3
TransactionIdHex Empfohlen Hexadezimal (Zeichenfolge) Die vom DNS-Client zugewiesene eindeutige ID der DNS-Abfrage im Hexadezimalformat. Beachten Sie, dass dieser Wert Teil des DNS-Protokolls ist und sich von DnsSessionId unterscheidet, der Sitzungs-ID der Netzwerkebene, die in der Regel vom Melden des Geräts zugewiesen wird.
NetworkProtocol Optional Aufgelistet Das vom Netzwerkauflösungsereignis verwendete Transportprotokoll. Der Wert kann UDP oder TCP sein und wird am häufigsten auf UDP für DNS festgelegt.

Beispiel: UDP
NetworkProtocolVersion Optional Aufgelistet Die Version von NetworkProtocol. Wenn Sie es verwenden, um zwischen DER IP-Version zu unterscheiden, verwenden Sie die Werte IPv4 und IPv6.
DnsQueryClass Optional Integer Die DNS-Klassen-ID.

In der Praxis wird nur die IN-Klasse (ID 1) verwendet, und daher ist dieses Feld weniger wertvoll.
DnsQueryClassName Empfohlen DnsQueryClassName (String) Der DNS-Klassenname.

In der Praxis wird nur die IN-Klasse (ID 1) verwendet, und daher ist dieses Feld weniger wertvoll.

Beispiel: IN
DnsFlags Optional Zeichenfolge Das Feld "Flags", wie vom Melden des Geräts bereitgestellt. Wenn Flaginformationen in mehreren Feldern bereitgestellt werden, verketten Sie sie mit Komma als Trennzeichen.

Da DNS-Flags komplex zu analysieren sind und seltener von Analysen verwendet werden, sind Analyse und Normalisierung nicht erforderlich. Microsoft Sentinel können eine Hilfsfunktion verwenden, um Flaginformationen bereitzustellen. Weitere Informationen finden Sie unter Behandeln von DNS-Antworten.

Beispiel: ["DR"]
DnsNetworkDuration Optional Integer Die Zeitspanne in Millisekunden für den Abschluss der DNS-Anforderung.

Beispiel: 1500
Duration Alias Alias für DnsNetworkDuration
DnsFlagsAuthenticated Optional Boolean Das DNS-Flag AD , das sich auf DNSSEC bezieht, gibt in einer Antwort an, dass alle Daten, die in den Antwort- und Autoritätsabschnitten der Antwort enthalten sind, vom Server gemäß den Richtlinien dieses Servers überprüft wurden. Weitere Informationen finden Sie unter RFC 3655, Abschnitt 6.1 .
DnsFlagsAuthoritative Optional Boolean Das DNS-Flag AA gibt an, ob die Antwort vom Server autoritativ war.
DnsFlagsCheckingDisabled Optional Boolean Das DNS-Flag CD , das sich auf DNSSEC bezieht, gibt in einer Abfrage an, dass nicht verifizierte Daten für das System akzeptabel sind, das die Abfrage sendet. Weitere Informationen finden Sie unter RFC 3655, Abschnitt 6.1 .
DnsFlagsRecursionAvailable Optional Boolean Das DNS-Flag RA gibt in einer Antwort an, dass dieser Server rekursive Abfragen unterstützt.
DnsFlagsRecursionDesired Optional Boolean Das DNS-Flag RD gibt in einer Anforderung an, dass der Client möchte, dass der Server rekursive Abfragen verwendet.
DnsFlagsTruncated Optional Boolean Das DNS-Flag TC gibt an, dass eine Antwort abgeschnitten wurde, da sie die maximale Antwortgröße überschritten hat.
DnsFlagsZ Optional Boolean Das DNS-Flag Z ist ein veraltetes DNS-Flag, das möglicherweise von älteren DNS-Systemen gemeldet wird.
DnsSessionId Optional string Der DNS-Sitzungsbezeichner, der vom meldend-Gerät gemeldet wird. Dieser Wert unterscheidet sich von TransactionIdHex, der vom DNS-Client zugewiesenen eindeutigen DNS-Abfrage-ID.

Beispiel: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55
Sessionid Alias Alias für DnsSessionId
DnsResponseIpCountry Optional Land Das Land/die Region, das einer der IP-Adressen in der DNS-Antwort zugeordnet ist. Weitere Informationen finden Sie unter Logische Typen.

Beispiel: USA
DnsResponseIpRegion Optional Region Die Region oder der Status, die einer der IP-Adressen in der DNS-Antwort zugeordnet ist. Weitere Informationen finden Sie unter Logische Typen.

Beispiel: Vermont
DnsResponseIpCity Optional Stadt/Ort Der Ort, der einer der IP-Adressen in der DNS-Antwort zugeordnet ist. Weitere Informationen finden Sie unter Logische Typen.

Beispiel: Burlington
DnsResponseIpLatitude Optional Breitengrad Der Breitengrad der geografischen Koordinate, die einer der IP-Adressen in der DNS-Antwort zugeordnet ist. Weitere Informationen finden Sie unter Logische Typen.

Beispiel: 44.475833
DnsResponseIpLongitude Optional Längengrad Der Längengrad der geografischen Koordinate, die einer der IP-Adressen in der DNS-Antwort zugeordnet ist. Weitere Informationen finden Sie unter Logische Typen.

Beispiel: 73.211944

Inspektionsfelder

Die folgenden Felder werden verwendet, um eine Überprüfung darzustellen, die von einem DNS-Sicherheitsgerät durchgeführt wurde. Die bedrohungsbezogenen Felder stellen eine einzelne Bedrohung dar, die entweder der Quelladresse, der Zieladresse, einer der IP-Adressen in der Antwort oder der DNS-Abfragedomäne zugeordnet ist. Wenn mehrere Bedrohungen als Bedrohung identifiziert wurden, können Informationen zu anderen IP-Adressen im Feld AdditionalFieldsgespeichert werden.

Feld Class Typ Beschreibung
UrlCategory Optional Zeichenfolge Eine DNS-Ereignisquelle kann auch die Kategorie der angeforderten Domänen nachschlagen. Das Feld heißt UrlCategory, um es am Microsoft Sentinel Netzwerkschema auszurichten.

DomainCategory wird als Alias hinzugefügt, der für DNS geeignet ist.

Beispiel: Educational \\ Phishing
DomainCategory Alias Alias für UrlCategory.
Rulename Optional Zeichenfolge Der Name oder die ID der Regel, die die Bedrohung identifiziert hat.

Beispiel: AnyAnyDrop
RuleNumber Optional Integer Die Nummer der Regel, die die Bedrohung identifiziert hat.

Beispiel: 23
Rule Alias Zeichenfolge Entweder der Wert von RuleName oder der Wert von RuleNumber. Wenn der Wert von RuleNumber verwendet wird, sollte der Typ in eine Zeichenfolge konvertiert werden.
RuleNumber Optional int Die Nummer der Regel, die der Warnung zugeordnet ist.

E.g. 123456
Rulename Optional string Der Name oder die ID der Regel, die der Warnung zugeordnet ist.

E.g. Server PSEXEC Execution via Remote Access
ThreatId Optional Zeichenfolge Die ID der Bedrohung oder Schadsoftware, die in der Netzwerksitzung identifiziert wurde.

Beispiel: Tr.124
Bedrohungskategorie Optional Zeichenfolge Wenn eine DNS-Ereignisquelle auch DNS-Sicherheit bereitstellt, kann sie auch das DNS-Ereignis auswerten. Es kann beispielsweise nach der IP-Adresse oder Domäne in einer Threat Intelligence-Datenbank suchen und die Domäne oder IP-Adresse mit einer Bedrohungskategorie zuweisen.
ThreatIpAddr Optional IP-Adresse Eine IP-Adresse, für die eine Bedrohung identifiziert wurde. Das Feld ThreatField enthält den Namen des Felds ThreatIpAddr darstellt. Wenn eine Bedrohung im Feld Domäne identifiziert wird, sollte dieses Feld leer sein.
ThreatField Bedingte Aufgelistet Das Feld, für das eine Bedrohung identifiziert wurde. Der Wert ist entweder SrcIpAddr, DstIpAddr, Domainoder DnsResponseName.
ThreatName Optional Zeichenfolge Der Name der identifizierten Bedrohung, wie vom Melden des Geräts gemeldet.
ThreatConfidence Optional ConfidenceLevel (Integer) Das Konfidenzniveau der identifizierten Bedrohung, normalisiert auf einen Wert zwischen 0 und 100.
ThreatOriginalConfidence Optional Zeichenfolge Das ursprüngliche Konfidenzniveau der identifizierten Bedrohung, wie vom Melden des Geräts gemeldet.
ThreatRiskLevel Optional RiskLevel (Integer) Die Risikostufe, die der identifizierten Bedrohung zugeordnet ist, normalisiert auf einen Wert zwischen 0 und 100.
ThreatOriginalRiskLevel Optional Zeichenfolge Die ursprüngliche Risikostufe, die der identifizierten Bedrohung zugeordnet ist, wie vom Melden des Geräts gemeldet.
ThreatIsActive Optional Boolean True, wenn die identifizierte Bedrohung als aktive Bedrohung angesehen wird.
ThreatFirstReportedTime Optional Datum/Uhrzeit Beim ersten Mal wurde die IP-Adresse oder Domäne als Bedrohung identifiziert.
ThreatLastReportedTime Optional Datum/Uhrzeit Der Zeitpunkt, zu dem die IP-Adresse oder Domäne zuletzt als Bedrohung identifiziert wurde.

Veraltete Aliase und Felder

Die folgenden Felder sind Aliase, die aus Gründen der Abwärtskompatibilität verwaltet werden. Sie wurden am 31. Dezember 2021 aus dem Schema entfernt.

  • Query (Alias für DnsQuery)
  • QueryType (Alias für DnsQueryType)
  • QueryTypeName (Alias für DnsQueryTypeName)
  • ResponseName (Alias für DnsResponseName)
  • ResponseCodeName (Alias für DnsResponseCodeName)
  • ResponseCode (Alias für DnsResponseCode)
  • QueryClass (Alias für DnsQueryClass)
  • QueryClassName (Alias für DnsQueryClassName)
  • Flags (Alias für DnsFlags)
  • SrcUserDomain

Schemaaktualisierungen

Die Änderungen in Version 0.1.2 des Schemas sind:

  • Das Feld EventSchemawurde hinzugefügt.
  • Dediziertes Flagfeld hinzugefügt, das das kombinierte Feld "Flags " erweitert: DnsFlagsAuthoritative, DnsFlagsCheckingDisabled, DnsFlagsRecursionAvailable, DnsFlagsRecursionDesired, DnsFlagsTruncatedund DnsFlagsZ.

Die Änderungen in Version 0.1.3 des Schemas sind:

  • Das Schema dokumentiert Src*jetzt explizit die Felder , Dst*Process* und User* .
  • Weitere Dvc* Felder wurden hinzugefügt, um der neuesten Definition allgemeiner Felder zu entsprechen.
  • Dst Und als Aliase zu einem führenden Bezeichner für das Quell- und Zielsystem hinzugefügtSrc.
  • Optional DnsNetworkDuration und Durationwurde ein Alias hinzugefügt.
  • Optionale Felder "Geografischer Standort" und "Risikostufe" hinzugefügt.

Die Änderungen in Version 0.1.4 des Schemas sind:

  • Die optionalen Felder ThreatIpAddr, , ThreatField, ThreatName, ThreatOriginalConfidenceThreatConfidence, ThreatOriginalRiskLevel, ThreatIsActive, ThreatFirstReportedTimeund ThreatLastReportedTimewurden hinzugefügt.

Die Änderungen in Version 0.1.5 des Schemas sind:

  • Die Felder SrcUserScope, SrcUserSessionId, , SrcDvcScopeId, SrcDvcScope, DstDvcScopeIdDstDvcScope, DvcScopeId, und DvcScopewurden hinzugefügt.

Die Änderungen in Version 0.1.6 des Schemas sind:

  • Die Felder DnsResponseIpCountry, , DnsResponseIpRegionDnsResponseIpCity, DnsResponseIpLatitudeund DnsResponseIpLongitudewurden hinzugefügt.

Die Änderungen in Version 0.1.7 des Schemas sind:

  • Die Felder SrcDescription, SrcOriginalRiskLevel, , DstDescription, DstOriginalRiskLevel, SrcUserScopeId, NetworkProtocolVersion, Rule, RuleName, RuleNumberund ThreatIdwurden hinzugefügt.

Quellenspezifische Abweichungen

Das Ziel der Normalisierung besteht darin, sicherzustellen, dass alle Quellen konsistente Telemetriedaten bereitstellen. Eine Quelle, die nicht die erforderlichen Telemetriedaten bereitstellt, z. B. obligatorische Schemafelder, kann nicht normalisiert werden. Quellen, die in der Regel alle erforderlichen Telemetriedaten bereitstellen, können jedoch normalisiert werden, auch wenn einige Abweichungen vorliegen. Abweichungen können sich auf die Vollständigkeit der Abfrageergebnisse auswirken.

In der folgenden Tabelle sind bekannte Abweichungen aufgeführt:

Quelle Diskrepanzen
Mit dem DNS-Connector und dem Log Analytics-Agent gesammelter Microsoft DNS-Server Der Connector stellt nicht das obligatorische DnsQuery-Feld für die ursprüngliche Ereignis-ID 264 (Antwort auf ein dynamisches Update) bereit. Die Daten sind an der Quelle verfügbar, werden aber nicht vom Connector weitergeleitet.
Corelight Zeek Corelight Zeek stellt möglicherweise nicht das obligatorische DnsQuery-Feld bereit. Wir haben dieses Verhalten in bestimmten Fällen beobachtet, in denen der NAME des DNS-Antwortcodes lautet NXDOMAIN.

Behandeln von DNS-Antworten

In den meisten Fällen enthalten protokollierte DNS-Ereignisse keine Antwortinformationen, die groß und detailliert sein können. Wenn Ihr Datensatz weitere Antwortinformationen enthält, speichern Sie ihn im Feld ResponseName , wie es im Datensatz angezeigt wird.

Sie können auch eine zusätzliche KQL-Funktion namens _imDNS<vendor>Response_bereitstellen, die die nicht analysierte Antwort als Eingabe akzeptiert und einen dynamischen Wert mit der folgenden Struktur zurückgibt:

[
    {
        "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"
    }
    ...
]

Die Felder in jedem Wörterbuch im dynamischen Wert entsprechen den Feldern in jeder DNS-Antwort. Der part Eintrag sollte entweder answer, authorityoder additional enthalten, um den Teil in der Antwort widerzuspiegeln, zu dem das Wörterbuch gehört.

Tipp

Um eine optimale Leistung sicherzustellen, rufen Sie die imDNS<vendor>Response Funktion nur bei Bedarf und erst nach einer anfänglichen Filterung auf, um eine bessere Leistung sicherzustellen.

Behandeln von DNS-Flags

Analyse und Normalisierung sind für Flagdaten nicht erforderlich. Speichern Sie stattdessen die vom Berichterstellungsgerät bereitgestellten Flagdaten im Feld Flags . Wenn die Bestimmung des Werts einzelner Flags einfach ist, können Sie auch die dedizierten Flags-Felder verwenden.

Sie können auch eine zusätzliche KQL-Funktion namens _imDNS<vendor>Flags_bereitstellen, die die nicht analysierte Antwort oder dedizierte Flagfelder als Eingabe akzeptiert und eine dynamische Liste mit booleschen Werten zurückgibt, die jedes Flag in der folgenden Reihenfolge darstellen:

  • Authentifiziert (AD)
  • Autoritativ (AA)
  • Überprüfung deaktiviert (CD)
  • Rekursion verfügbar (RA)
  • Rekursion Desired (RD)
  • Abgeschnitten (TC)
  • Z

Nächste Schritte

Weitere Informationen finden Sie unter: