Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
hasOperator odercontains.
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.
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- MDEidWenn 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-1282V4DHinweis: 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- MDEidIfWenn 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ürDnsQuery) -
QueryType(Alias fürDnsQueryType) -
QueryTypeName(Alias fürDnsQueryTypeName) -
ResponseName(Alias fürDnsResponseName) -
ResponseCodeName(Alias fürDnsResponseCodeName) -
ResponseCode(Alias fürDnsResponseCode) -
QueryClass(Alias fürDnsQueryClass) -
QueryClassName(Alias fürDnsQueryClassName) -
Flags(Alias fürDnsFlags) 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,DnsFlagsTruncatedundDnsFlagsZ.
Die Änderungen in Version 0.1.3 des Schemas sind:
- Das Schema dokumentiert
Src*jetzt explizit die Felder ,Dst*Process*undUser*. - Weitere
Dvc*Felder wurden hinzugefügt, um der neuesten Definition allgemeiner Felder zu entsprechen. -
DstUnd als Aliase zu einem führenden Bezeichner für das Quell- und Zielsystem hinzugefügtSrc. - Optional
DnsNetworkDurationundDurationwurde 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,ThreatFirstReportedTimeundThreatLastReportedTimewurden hinzugefügt.
Die Änderungen in Version 0.1.5 des Schemas sind:
- Die Felder
SrcUserScope,SrcUserSessionId, ,SrcDvcScopeId,SrcDvcScope,DstDvcScopeIdDstDvcScope,DvcScopeId, undDvcScopewurden hinzugefügt.
Die Änderungen in Version 0.1.6 des Schemas sind:
- Die Felder
DnsResponseIpCountry, ,DnsResponseIpRegionDnsResponseIpCity,DnsResponseIpLatitudeundDnsResponseIpLongitudewurden hinzugefügt.
Die Änderungen in Version 0.1.7 des Schemas sind:
- Die Felder
SrcDescription,SrcOriginalRiskLevel, ,DstDescription,DstOriginalRiskLevel,SrcUserScopeId,NetworkProtocolVersion,Rule,RuleName,RuleNumberundThreatIdwurden 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:
- Sehen Sie sich das ASIM-Webinar an, oder überprüfen Sie die Folien
- Übersicht über das erweiterte Sicherheitsinformationsmodell (Advanced Security Information Model, ASIM)
- Advanced Security Information Model (ASIM)-Schemas
- ASIM-Parser (Advanced Security Information Model)
- Inhalt des erweiterten Sicherheitsinformationsmodells (Advanced Security Information Model, ASIM)