Condividi tramite


Riferimento allo schema di normalizzazione DNS advanced security information model (ASIM) (anteprima pubblica)

Il modello di informazioni DNS viene usato per descrivere gli eventi segnalati da un server DNS o da un sistema di sicurezza DNS e viene usato da Microsoft Sentinel per abilitare l'analisi indipendente dall'origine.

Per altre informazioni, vedere Normalizzazione e Advanced Security Information Model (ASIM).

Importante

Lo schema di normalizzazione DNS è attualmente in ANTEPRIMA. Questa funzionalità viene fornita senza un contratto di servizio e non è consigliata per i carichi di lavoro di produzione.

Le condizioni aggiuntive per l'anteprima di Azure includono termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, anteprima o diversamente non ancora disponibili a livello generale.

Panoramica dello schema

Lo schema DNS ASIM rappresenta l'attività del protocollo DNS. Sia i server DNS che i dispositivi che inviano richieste DNS a un'attività DNS del log del server DNS. L'attività del protocollo DNS include query DNS, aggiornamenti del server DNS e trasferimenti di dati in blocco DNS. Poiché lo schema rappresenta l'attività del protocollo, è regolato dalle RFC e dagli elenchi di parametri assegnati ufficialmente, a cui viene fatto riferimento in questo articolo, se appropriato. Lo schema DNS non rappresenta gli eventi di controllo del server DNS.

L'attività più importante segnalata dai server DNS è una query DNS, per cui il EventType campo è impostato su Query.

I campi più importanti in un evento DNS sono:

  • DnsQuery, che segnala il nome di dominio per il quale è stata eseguita la query.

  • SrcIpAddr (aliasato a IpAddr), che rappresenta l'indirizzo IP da cui è stata generata la richiesta. I server DNS in genere forniscono il campo SrcIpAddr, ma i client DNS a volte non forniscono questo campo e forniscono solo il campo SrcHostname .

  • EventResultDetails, che indica se la richiesta è riuscita e, in caso contrario, perché.

  • Se disponibile, DnsResponseName, che contiene la risposta fornita dal server alla query. ASIM non richiede l'analisi della risposta e il relativo formato varia tra le origini.

    Per usare questo campo nel contenuto indipendente dall'origine, cercare il contenuto con gli has operatori o contains .

Gli eventi DNS raccolti nel dispositivo client possono includere anche informazioni sull'utente e sul processo .

Linee guida per la raccolta di eventi DNS

DNS è un protocollo univoco in quanto può attraversare un numero elevato di computer. Inoltre, poiché DNS usa UDP, le richieste e le risposte sono de-accoppiate e non sono direttamente correlate tra loro.

L'immagine seguente mostra un flusso di richiesta DNS semplificato, inclusi quattro segmenti. Una richiesta reale può essere più complessa, con più segmenti coinvolti.

Flusso di richieste DNS semplificato.

Poiché i segmenti di richiesta e risposta non sono direttamente connessi tra loro nel flusso di richiesta DNS, la registrazione completa può comportare una duplicazione significativa.

Il segmento più prezioso da registrare è la risposta al client. La risposta fornisce le query sul nome di dominio, il risultato della ricerca e l'indirizzo IP del client. Anche se molti sistemi DNS registrano solo questo segmento, esiste un valore nella registrazione delle altre parti. Ad esempio, un attacco di avvelenamento da cache DNS spesso sfrutta le risposte fittizie da un server upstream.

Se l'origine dati supporta la registrazione DNS completa e si è scelto di registrare più segmenti, modificare le query per impedire la duplicazione dei dati in Microsoft Sentinel.

Ad esempio, è possibile modificare la query con la normalizzazione seguente:

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

Parser

Per altre informazioni sui parser ASIM, vedere panoramica dei parser ASIM.

Parser predefiniti

Per usare parser che unificano tutti i parser predefiniti di ASIM e assicurarsi che l'analisi venga eseguita in tutte le origini configurate, usare il parser _Im_Dns unificatore come nome di tabella nella query.

Per l'elenco dei parser DNS forniti da Microsoft Sentinel, vedere l'elenco dei parser ASIM.

Aggiungere parser normalizzati personalizzati

Quando si implementano parser personalizzati per il modello di informazioni Dns, denominare le funzioni KQL usando il formato vimDns<vendor><Product>. Fare riferimento all'articolo Gestione dei parser ASIM per informazioni su come aggiungere parser personalizzati al parser di unificazione DNS.

Filtro dei parametri del parser

I parser DNS supportano i parametri di filtro. Anche se questi parametri sono facoltativi, possono migliorare le prestazioni delle query.

Sono disponibili i parametri di filtro seguenti:

Nome Tipo Descrizione
starttime datetime Filtrare solo le query DNS eseguite in o dopo questa volta.
endtime datetime Filtra solo le query DNS che hanno terminato l'esecuzione in o prima di questa volta.
srcipaddr string Filtrare solo le query DNS da questo indirizzo IP di origine.
domain_has_any dynamic/string Filtrare solo le query DNS in cui domain (o query) contiene uno dei nomi di dominio elencati, incluso come parte del dominio eventi. La lunghezza dell'elenco è limitata a 10.000 elementi.
responsecodename string Filtrare solo le query DNS per cui il nome del codice di risposta corrisponde al valore specificato.
Ad esempio: NXDOMAIN
response_has_ipv4 string Filtrare solo le query DNS in cui il campo della risposta include l'indirizzo IP o il prefisso dell'indirizzo IP specificato. Usare questo parametro quando si vuole filtrare in base a un singolo indirizzo IP o prefisso.

I risultati non vengono restituiti per le origini che non forniscono una risposta.
response_has_any_prefix dynamic Filtrare solo le query DNS in cui il campo della risposta include uno qualsiasi dei prefissi di indirizzi IP o indirizzi IP elencati. I prefissi devono terminare con un .oggetto , ad esempio : 10.0..

Usare questo parametro quando si desidera filtrare in base a un elenco di indirizzi IP o prefissi.

I risultati non vengono restituiti per le origini che non forniscono una risposta. La lunghezza dell'elenco è limitata a 10.000 elementi.
eventtype string Filtrare solo le query DNS del tipo specificato. Se non viene specificato alcun valore, vengono restituite solo le query di ricerca.

Ad esempio, per filtrare solo le query DNS dell'ultimo giorno che non è riuscito a risolvere il nome di dominio, usare:

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

Per filtrare solo le query DNS per un elenco specificato di nomi di dominio, usare:

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

Alcuni parametri possono accettare entrambi l'elenco di valori di tipo dynamic o un singolo valore stringa. Per passare un elenco di valori letterali ai parametri che prevedono un valore dinamico, usare in modo esplicito un valore letterale dinamico. Ad esempio: dynamic(['192.168.','10.'])

Contenuto normalizzato

Per un elenco completo delle regole di analisi che usano eventi DNS normalizzati, vedere Contenuto di sicurezza delle query DNS.

Dettagli dello schema

Il modello di informazioni DNS è allineato allo schema di entità DNS OSSEM.

Per altre informazioni, vedere le informazioni di riferimento sui parametri DNS IANA (Internet Assigned Numbers Authority).

Campi comuni di ASIM

Importante

I campi comuni a tutti gli schemi sono descritti in dettaglio nell'articolo Campi comuni ASIM.

Campi comuni con linee guida specifiche

L'elenco seguente include campi con linee guida specifiche per gli eventi DNS:

Campo Classe Type Descrizione
EventType Obbligatorio Enumerated Indica l'operazione segnalata dal record.

Per i record DNS, questo valore sarà il codice operativo DNS.

Esempio: Query
EventSubType Facoltativo Enumerated request o response.

Per la maggior parte delle origini, vengono registrate solo le risposte e pertanto il valore è spesso risposta.
EventResultDetails Obbligatorio Enumerated Per gli eventi DNS, questo campo fornisce il codice di risposta DNS.

Note:
- IANA non definisce il caso per i valori, quindi l'analisi deve normalizzare il caso.
- Se l'origine fornisce solo un codice di risposta numerico e non un nome di codice di risposta, il parser deve includere una tabella di ricerca per arricchire questo valore.
- Se questo record rappresenta una richiesta e non una risposta, impostare su NA.

Esempio: NXDOMAIN
EventSchemaVersion Obbligatorio String La versione dello schema documentata qui è 0.1.7.
EventSchema Obbligatorio String Il nome dello schema documentato qui è Dns.
Campi Dvc - - Per gli eventi DNS, i campi del dispositivo fanno riferimento al sistema che segnala l'evento DNS.

Tutti i campi comuni

I campi visualizzati nella tabella seguente sono comuni a tutti gli schemi ASIM. Tutte le linee guida specificate in precedenza sostituiscono le linee guida generali per il campo. Ad esempio, un campo potrebbe essere facoltativo in generale, ma obbligatorio per uno schema specifico. Per altri dettagli su ogni campo, vedere l'articolo Campi comuni ASIM.

Classe Campi
Obbligatorio - EventCount
- EventStartTime
- EventEndTime
- EventType
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Consigliato - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Facoltativo - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- Campi aggiuntivi
- DvcDescription
- DvcScopeId
- DvcScope

Campi del sistema di origine

Campo Classe Tipo Descrizione
Src Alias String Identificatore univoco del dispositivo di origine.

Questo campo può eseguire l'alias dei campi SrcDvcId, SrcHostname o SrcIpAddr .

Esempio: 192.168.12.1
SrcIpAddr Consigliato Indirizzo IP Indirizzo IP del client che ha inviato la richiesta DNS. Per una richiesta DNS ricorsiva, questo valore è in genere il dispositivo di report e nella maggior parte dei casi impostato su 127.0.0.1.

Esempio: 192.168.12.1
SrcPortNumber Facoltativo Intero Porta di origine della query DNS.

Esempio: 54312
IpAddr Alias Alias per SrcIpAddr
SrcGeoCountry Facoltativo Country Paese/area geografica associato all'indirizzo IP di origine.

Esempio: USA
SrcGeoRegion Facoltativo Paese Area associata all'indirizzo IP di origine.

Esempio: Vermont
SrcGeoCity Facoltativo Città Città associata all'indirizzo IP di origine.

Esempio: Burlington
SrcGeoLatitude Facoltativo Latitude Latitudine della coordinata geografica associata all'indirizzo IP di origine.

Esempio: 44.475833
SrcGeoLongitude Facoltativo Longitude Longitudine della coordinata geografica associata all'indirizzo IP di origine.

Esempio: 73.211944
SrcRiskLevel Facoltativo Intero Livello di rischio associato all'origine. Il valore deve essere regolato in un intervallo di 0 in , con 0 per un rischio non dannoso e 100 per 100un rischio elevato.

Esempio: 90
SrcOriginalRiskLevel Facoltativo Intero Livello di rischio associato all'origine, come segnalato dal dispositivo di report.

Esempio: Suspicious
SrcHostname Consigliato String Nome host del dispositivo di origine, escluse le informazioni sul dominio.

Esempio: DESKTOP-1282V4D
Hostname (Nome host) Alias Alias in SrcHostname
SrcDomain Consigliato String Dominio del dispositivo di origine.

Esempio: Contoso
SrcDomainType Condizionale Enumerated Tipo di SrcDomain, se noto. I valori possibili includono:
- Windows (ad esempio: contoso)
- FQDN (ad esempio: microsoft.com)

Obbligatorio se viene usato SrcDomain .
SrcFQDN Facoltativo String Nome host del dispositivo di origine, incluse le informazioni sul dominio, se disponibili.

Nota: questo campo supporta sia il formato FQDN tradizionale che il formato domain\hostname di Windows. Il campo SrcDomainType riflette il formato utilizzato.

Esempio: Contoso\DESKTOP-1282V4D
SrcDvcId Facoltativo String ID del dispositivo di origine come indicato nel record.

Ad esempio: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
SrcDvcScopeId Facoltativo String L’ID dell'ambito della piattaforma cloud a cui appartiene il dispositivo. SrcDvcScopeId esegue il mapping a un ID sottoscrizione in Azure e a un ID account in AWS.
SrcDvcScope Facoltativo String L'ambito della piattaforma cloud a cui appartiene il dispositivo. SrcDvcScope esegue il mapping a un ID sottoscrizione in Azure e a un ID account in AWS.
SrcDvcIdType Condizionale Enumerated Tipo di SrcDvcId, se noto. I valori possibili includono:
- AzureResourceId
- MDEid

Se sono disponibili più ID, usare il primo dall'elenco e archiviare gli altri rispettivamente in SrcDvcAzureResourceId e SrcDvcMDEid.

Nota: questo campo è obbligatorio se viene usato SrcDvcId .
SrcDeviceType Facoltativo Enumerated Tipo del dispositivo di origine. I valori possibili includono:
- Computer
- Mobile Device
- IOT Device
- Other
SrcDescription Facoltativo String Un testo descrittivo associato al dispositivo. Ad esempio: Primary Domain Controller.

Campi utente di origine

Campo Classe Tipo Descrizione
SrcUserId Facoltativo String Rappresentazione univoca dell'utente di origine leggibile, alfanumerica e leggibile dal computer. Per altre informazioni e per campi alternativi per ID aggiuntivi, vedere L'entità Utente.

Esempio: S-1-12-1-4141952679-1282074057-627758481-2916039507
SrcUserScope Facoltativo String Ambito, ad esempio il tenant di Microsoft Entra, in cui sono definiti SrcUserId e SrcUsername . o più informazioni ed elenco dei valori consentiti, vedere UserScope nell'articolo Panoramica dello schema.
SrcUserScopeId Facoltativo String ID ambito, ad esempio ID directory Microsoft Entra, in cui sono definiti SrcUserId e SrcUsername . per altre informazioni ed elenco dei valori consentiti, vedere UserScopeId nell'articolo Panoramica dello schema.
SrcUserIdType Condizionale UserIdType Tipo dell'ID archiviato nel campo SrcUserId . Per altre informazioni ed elenco dei valori consentiti, vedere UserIdType nell'articolo Panoramica dello schema.
SrcUsername Facoltativo Username Nome utente di origine, incluse le informazioni sul dominio, se disponibili. Per altre informazioni, vedere L'entità Utente.

Esempio: AlbertE
SrcUsernameType Condizionale UsernameType Specifica il tipo di nome utente archiviato nel campo SrcUsername . Per altre informazioni e l'elenco dei valori consentiti, vedere UsernameType nell'articolo Panoramica dello schema.

Esempio: Windows
Utente Alias Alias in SrcUsername
SrcUserType Facoltativo UserType Tipo dell'utente di origine. Per altre informazioni e l'elenco dei valori consentiti, vedere UserType nell'articolo Panoramica dello schema.

Ad esempio: Guest
SrcUserSessionId Facoltativo String ID univoco della sessione di accesso dell'attore.

Esempio: 102pTUgC3p8RIqHvzxLCHnFlg
SrcOriginalUserType Facoltativo String Tipo di utente di origine originale, se fornito dall'origine.

Campi del processo di origine

Campo Classe Tipo Descrizione
SrcProcessName Facoltativo String Nome file del processo che ha avviato la richiesta DNS. Questo nome viene in genere considerato il nome del processo.

Esempio: C:\Windows\explorer.exe
Processo Alias Alias per SrcProcessName

Esempio: C:\Windows\System32\rundll32.exe
SrcProcessId Facoltativo String ID del processo (PID) del processo che ha avviato la richiesta DNS.

Esempio: 48610176

Nota: il tipo è definito come stringa per supportare sistemi diversi, ma in Windows e Linux questo valore deve essere numerico.

Se si usa un computer Windows o Linux e si usa un tipo diverso, assicurarsi di convertire i valori. Ad esempio, se è stato usato un valore esadecimale, convertirlo in un valore decimale.
SrcProcessGuid Facoltativo String Identificatore univoco generato (GUID) del processo che ha avviato la richiesta DNS.

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

Campi di sistema di destinazione

Campo Classe Tipo Descrizione
Dst Alias String Identificatore univoco del server che ha ricevuto la richiesta DNS.

Questo campo può aliasre i campi DstDvcId, DstHostname o DstIpAddr .

Esempio: 192.168.12.1
DstIpAddr Facoltativo Indirizzo IP Indirizzo IP del server che ha ricevuto la richiesta DNS. Per una normale richiesta DNS, questo valore è in genere il dispositivo di report e nella maggior parte dei casi è impostato su 127.0.0.1.

Esempio: 127.0.0.1
DstGeoCountry Facoltativo Country Paese/area geografica associato all'indirizzo IP di destinazione. Per altre informazioni, vedere Tipi logici.

Esempio: USA
DstGeoRegion Facoltativo Paese Area, o stato, associata all'indirizzo IP di destinazione. Per altre informazioni, vedere Tipi logici.

Esempio: Vermont
DstGeoCity Facoltativo Città Città associata all'indirizzo IP di destinazione. Per altre informazioni, vedere Tipi logici.

Esempio: Burlington
DstGeoLatitude Facoltativo Latitude Latitudine della coordinata geografica associata all'indirizzo IP di destinazione. Per altre informazioni, vedere Tipi logici.

Esempio: 44.475833
DstGeoLongitude Facoltativo Longitude Longitudine della coordinata geografica associata all'indirizzo IP di destinazione. Per altre informazioni, vedere Tipi logici.

Esempio: 73.211944
DstRiskLevel Facoltativo Intero Livello di rischio associato alla destinazione. Il valore deve essere regolato in base a un intervallo compreso tra 0 e 100, che 0 è benigno e 100 rappresenta un rischio elevato.

Esempio: 90
DstOriginalRiskLevel Facoltativo Intero Livello di rischio associato alla destinazione, come segnalato dal dispositivo di report.

Esempio: Malicious
DstPortNumber Facoltativo Intero Numero porta di destinazione.

Esempio: 53
DstHostname Facoltativo String Nome host del dispositivo di destinazione, escluse le informazioni sul dominio. Se non è disponibile alcun nome di dispositivo, archiviare l'indirizzo IP pertinente in questo campo.

Esempio: DESKTOP-1282V4D

Nota: questo valore è obbligatorio se si specifica DstIpAddr .
DstDomain Facoltativo String Dominio del dispositivo di destinazione.

Esempio: Contoso
DstDomainType Condizionale Enumerated Tipo di DstDomain, se noto. I valori possibili includono:
- Windows (contoso\mypc)
- FQDN (learn.microsoft.com)

Obbligatorio se viene usato DstDomain .
DstFQDN Facoltativo String Nome host del dispositivo di destinazione, incluse le informazioni sul dominio, se disponibili.

Esempio: Contoso\DESKTOP-1282V4D

Nota: questo campo supporta sia il formato FQDN tradizionale che il formato domain\hostname di Windows. DstDomainType riflette il formato usato.
DstDvcId Facoltativo String ID del dispositivo di destinazione come indicato nel record.

Esempio: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
DstDvcScopeId Facoltativo String L’ID dell'ambito della piattaforma cloud a cui appartiene il dispositivo. DstDvcScopeId esegue il mapping a un ID sottoscrizione in Azure e a un ID account in AWS.
DstDvcScope Facoltativo String L'ambito della piattaforma cloud a cui appartiene il dispositivo. DstDvcScope esegue il mapping a un ID sottoscrizione in Azure e a un ID account in AWS.
DstDvcIdType Condizionale Enumerated Tipo di DstDvcId, se noto. I valori possibili includono:
- AzureResourceId
- MDEidIf

Se sono disponibili più ID, usare il primo nell'elenco precedente e archiviare gli altri rispettivamente nei campi DstDvcAzureResourceId o DstDvcMDEid .

Obbligatorio se viene usato DstDeviceId .
DstDeviceType Facoltativo Enumerated Tipo del dispositivo di destinazione. I valori possibili includono:
- Computer
- Mobile Device
- IOT Device
- Other
DstDescription Facoltativo String Un testo descrittivo associato al dispositivo. Ad esempio: Primary Domain Controller.

Campi specifici di DNS

Campo Classe Tipo Descrizione
DnsQuery Obbligatorio String Dominio che la richiesta tenta di risolvere.

Note:
- Alcune origini inviano query FQDN valide in un formato diverso. Ad esempio, nel protocollo DNS stesso, la query include un punto (.) alla fine, che deve essere rimosso.
- Mentre il protocollo DNS limita il tipo di valore in questo campo a un FQDN, la maggior parte dei server DNS consente qualsiasi valore e questo campo non è quindi limitato solo ai valori FQDN. In particolare, gli attacchi di tunneling DNS possono usare valori FQDN non validi nel campo della query.
- Sebbene il protocollo DNS consenta più query in una singola richiesta, questo scenario è raro, se viene trovato. Se la richiesta include più query, archiviare la prima in questo campo e, facoltativamente, mantenere il resto nel campo AdditionalFields .

Esempio: www.malicious.com
Dominio Alias Alias per DnsQuery.
DnsQueryType Facoltativo Intero Codici del tipo di record di risorse DNS.

Esempio: 28
DnsQueryTypeName Consigliato Enumerated Nomi dei tipi di record di risorse DNS.

Note:
- IANA non definisce il caso per i valori, quindi l'analisi deve normalizzare il caso in base alle esigenze.
- Il valore ANY è supportato per il codice di risposta 255.
- Il valore TYPExxxx è supportato per i codici di risposta non mappati, dove xxxx è il valore numerico del codice di risposta, come segnalato dal server DNS BIND.
-Se l'origine fornisce solo un codice di tipo di query numerico e non un nome del tipo di query, il parser deve includere una tabella di ricerca per arricchire questo valore.

Esempio: AAAA
DnsResponseName Facoltativo String Contenuto della risposta, come incluso nel record.

I dati di risposta DNS sono incoerenti nei dispositivi di report, sono complessi da analizzare e hanno meno valore per l'analisi indipendente dall'origine. Pertanto, il modello informativo non richiede l'analisi e la normalizzazione e Microsoft Sentinel usa una funzione ausiliaria per fornire informazioni sulla risposta. Per altre informazioni, vedere Gestione della risposta DNS.
DnsResponseCodeName Alias Alias a EventResultDetails
DnsResponseCode Facoltativo Intero Codice di risposta numerico DNS.

Esempio: 3
TransactionIdHex Consigliato String ID univoco della query DNS assegnato dal client DNS, in formato esadecimale. Si noti che questo valore fa parte del protocollo DNS e diverso da DnsSessionId, l'ID sessione del livello di rete, in genere assegnato dal dispositivo di report.
NetworkProtocol Facoltativo Enumerated Protocollo di trasporto utilizzato dall'evento di risoluzione di rete. Il valore può essere UDP o TCP ed è in genere impostato su UDP per DNS.

Esempio: UDP
NetworkProtocolVersion Facoltativo Enumerated Versione di NetworkProtocol. Quando viene usata per distinguere tra la versione IP, usare i valori IPv4 e IPv6.
DnsQueryClass Facoltativo Intero ID classe DNS.

In pratica, viene usata solo la classe IN (ID 1) e pertanto questo campo è meno prezioso.
DnsQueryClassName Facoltativo String Nome della classe DNS.

In pratica, viene usata solo la classe IN (ID 1) e pertanto questo campo è meno prezioso.

Esempio: IN
DnsFlags Facoltativo String Campo flag, come fornito dal dispositivo di report. Se le informazioni sui flag vengono fornite in più campi, concatenarle con la virgola come separatore.

Poiché i flag DNS sono complessi da analizzare e sono meno spesso usati da analisi, analisi e normalizzazione non sono necessari. Microsoft Sentinel può usare una funzione ausiliaria per fornire informazioni sui flag. Per altre informazioni, vedere Gestione della risposta DNS.

Esempio: ["DR"]
DnsNetworkDuration Facoltativo Intero Quantità di tempo, espressa in millisecondi, per il completamento della richiesta DNS.

Esempio: 1500
Durata Alias Alias per DnsNetworkDuration
DnsFlagsAuthenticated Facoltativo Booleano Il flag DNS AD , correlato a DNSSEC, indica in una risposta che tutti i dati inclusi nelle sezioni di risposta e autorità della risposta sono stati verificati dal server in base ai criteri di tale server. Per altre informazioni, vedere RFC 3655 Sezione 6.1 .
DnsFlagsAuthoritative Facoltativo Booleano Il flag DNS AA indica se la risposta dal server è autorevole
DnsFlagsCheckingDisabled Facoltativo Booleano Il flag DNS CD , correlato a DNSSEC, indica in una query che i dati non verificati sono accettabili per il sistema che invia la query. Per altre informazioni, vedere RFC 3655 Sezione 6.1 .
DnsFlagsRecursionAvailable Facoltativo Booleano Il flag DNS RA indica in una risposta che il server supporta query ricorsive.
DnsFlagsRecursionDesired Facoltativo Booleano Il flag DNS RD indica in una richiesta che il client vuole che il server usi query ricorsive.
DnsFlagsTruncated Facoltativo Booleano Il flag DNS TC indica che una risposta è stata troncata perché ha superato le dimensioni massime della risposta.
DnsFlagsZ Facoltativo Booleano Il flag DNS Z è un flag DNS deprecato, che potrebbe essere segnalato dai sistemi DNS meno recenti.
DnsSessionId Facoltativo string Identificatore di sessione DNS segnalato dal dispositivo di report. Questo valore è diverso da TransactionIdHex, l'ID univoco della query DNS assegnato dal client DNS.

Esempio: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55
SessionId Alias Alias a DnsSessionId
DnsResponseIpCountry Facoltativo Country Paese/area geografica associata a uno degli indirizzi IP nella risposta DNS. Per altre informazioni, vedere Tipi logici.

Esempio: USA
DnsResponseIpRegion Facoltativo Paese Area, o stato, associata a uno degli indirizzi IP nella risposta DNS. Per altre informazioni, vedere Tipi logici.

Esempio: Vermont
DnsResponseIpCity Facoltativo Città Città associata a uno degli indirizzi IP nella risposta DNS. Per altre informazioni, vedere Tipi logici.

Esempio: Burlington
DnsResponseIpLatitude Facoltativo Latitude Latitudine della coordinata geografica associata a uno degli indirizzi IP nella risposta DNS. Per altre informazioni, vedere Tipi logici.

Esempio: 44.475833
DnsResponseIpLongitude Facoltativo Longitude Longitudine della coordinata geografica associata a uno degli indirizzi IP nella risposta DNS. Per altre informazioni, vedere Tipi logici.

Esempio: 73.211944

Campi di ispezione

I campi seguenti vengono usati per rappresentare un'ispezione, eseguita da un dispositivo di sicurezza DNS. I campi correlati alle minacce rappresentano una singola minaccia associata all'indirizzo di origine, all'indirizzo di destinazione, a uno degli indirizzi IP nella risposta o al dominio di query DNS. Se più minacce sono state identificate come minacce, le informazioni sugli altri indirizzi IP possono essere archiviate nel campo AdditionalFields.

Campo Classe Tipo Descrizione
UrlCategory Facoltativo String Un'origine evento DNS può anche cercare la categoria dei domini richiesti. Il campo è denominato UrlCategory per allinearsi allo schema di rete di Microsoft Sentinel.

DomainCategory viene aggiunto come alias che si adatta al DNS.

Esempio: Educational \\ Phishing
DomainCategory Alias Alias in UrlCategory.
NetworkRuleName Facoltativo String Nome o ID della regola che ha identificato la minaccia.

Esempio: AnyAnyDrop
NetworkRuleNumber Facoltativo Intero Numero della regola che ha identificato la minaccia.

Esempio: 23
Regola Alias String Valore di NetworkRuleName o valore di NetworkRuleNumber. Se viene usato il valore di NetworkRuleNumber , il tipo deve essere convertito in stringa.
ThreatId Facoltativo String ID della minaccia o del malware identificato nella sessione di rete.

Esempio: Tr.124
ThreatCategory Facoltativo String Se un'origine evento DNS fornisce anche la sicurezza DNS, può anche valutare l'evento DNS. Ad esempio, può cercare l'indirizzo IP o il dominio in un database di Intelligence per le minacce e assegnare il dominio o l'indirizzo IP con una categoria di minacce.
ThreatIpAddr Facoltativo Indirizzo IP Indirizzo IP per il quale è stata identificata una minaccia. Il campo ThreatField contiene il nome del campo ThreatIpAddr rappresenta. Se nel campo Dominio viene identificata una minaccia, questo campo deve essere vuoto.
ThreatField Condizionale Enumerated Campo per il quale è stata identificata una minaccia. Il valore è SrcIpAddr, DstIpAddr, Domaino DnsResponseName.
ThreatName Facoltativo String Nome della minaccia identificata, come segnalato dal dispositivo di report.
ThreatConfidence Facoltativo Intero Livello di attendibilità della minaccia identificata, normalizzato in un valore compreso tra 0 e 100.
ThreatOriginalConfidence Facoltativo String Livello di attendibilità originale della minaccia identificata, come segnalato dal dispositivo di report.
ThreatRiskLevel Facoltativo Intero Livello di rischio associato alla minaccia identificata, normalizzato in un valore compreso tra 0 e 100.
ThreatOriginalRiskLevel Facoltativo String Livello di rischio originale associato alla minaccia identificata, come segnalato dal dispositivo di report.
ThreatIsActive Facoltativo Booleano True se la minaccia identificata è considerata una minaccia attiva.
ThreatFirstReportedTime Facoltativo datetime La prima volta che l'indirizzo IP o il dominio sono stati identificati come minaccia.
ThreatLastReportedTime Facoltativo datetime L'ultima volta che l'indirizzo IP o il dominio sono stati identificati come minaccia.

Alias e campi deprecati

I campi seguenti sono alias mantenuti per la compatibilità con le versioni precedenti. Sono stati rimossi dallo schema il 31 dicembre 2021.

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

Aggiornamenti dello schema

Le modifiche apportate alla versione 0.1.2 dello schema sono:

  • Aggiunto il campo EventSchema.
  • Aggiunta del campo flag dedicato, che aumenta il campo flag combinato: DnsFlagsAuthoritative, DnsFlagsCheckingDisabled, DnsFlagsRecursionDesiredDnsFlagsRecursionAvailable, DnsFlagsTruncated, e .DnsFlagsZ

Le modifiche apportate alla versione 0.1.3 dello schema sono:

  • Lo schema ora documenta Src*in modo esplicito i campi , Dst*Process* e User* .
  • Sono stati aggiunti altri Dvc* campi per trovare la corrispondenza con la definizione più recente dei campi comuni.
  • Aggiunta Src e Dst come alias a un identificatore iniziale per i sistemi di origine e di destinazione.
  • Aggiunta di un alias facoltativo DnsNetworkDuration e Duration.
  • Sono stati aggiunti campi facoltativi Posizione geografica e Livello di rischio.

Le modifiche apportate alla versione 0.1.4 dello schema sono:

  • Sono stati aggiunti i campi ThreatIpAddrfacoltativi , ThreatNameThreatField, ThreatConfidence, ThreatOriginalConfidence, ThreatOriginalRiskLevel, ThreatIsActive, ThreatFirstReportedTimee ThreatLastReportedTime.

Le modifiche apportate alla versione 0.1.5 dello schema sono:

  • Sono stati aggiunti i campi SrcUserScope, SrcDvcScopeSrcDvcScopeIdDstDvcScopeIdSrcUserSessionId, DstDvcScope, DvcScopeId, e .DvcScope

Le modifiche apportate alla versione 0.1.6 dello schema sono:

  • Sono stati aggiunti i campi DnsResponseIpCountry, DnsResponseIpRegionDnsResponseIpCity, DnsResponseIpLatitude, e DnsResponseIpLongitude.

Le modifiche apportate alla versione 0.1.7 dello schema sono:

  • Sono stati aggiunti i campi SrcDescription, DstDescriptionSrcOriginalRiskLevel, DstOriginalRiskLevel, SrcUserScopeId, NetworkProtocolVersion, Rule, RuleNumberRuleName, e ThreatId.

Discrepanze specifiche dell'origine

L'obiettivo della normalizzazione è garantire che tutte le origini forniscano dati di telemetria coerenti. Non è possibile normalizzare un'origine che non fornisce i dati di telemetria necessari, ad esempio i campi dello schema obbligatori. Tuttavia, le origini che in genere forniscono tutti i dati di telemetria necessari, anche se esistono alcune discrepanze, possono essere normalizzate. Le discrepanze possono influire sulla completezza dei risultati della query.

Nella tabella seguente sono elencate le discrepanze note:

Origine Discrepanze
Server DNS Microsoft raccolto tramite il connettore DNS e l'agente di Log Analytics Il connettore non fornisce il campo DnsQuery obbligatorio per l'ID evento originale 264 (risposta a un aggiornamento dinamico). I dati sono disponibili nell'origine, ma non inoltrati dal connettore.
Corelight Zeek Corelight Zeek potrebbe non fornire il campo DnsQuery obbligatorio. Questo comportamento è stato osservato in alcuni casi in cui il nome del codice di risposta DNS è NXDOMAIN.

Gestione della risposta DNS

Nella maggior parte dei casi, gli eventi DNS registrati non includono informazioni sulla risposta, che possono essere di grandi dimensioni e dettagliate. Se il record include altre informazioni sulla risposta, archiviarlo nel campo ResponseName come visualizzato nel record.

È anche possibile fornire una funzione KQL aggiuntiva denominata _imDNS<vendor>Response_, che accetta la risposta non analizzata come input e restituisce un valore dinamico con la struttura seguente:

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

I campi in ogni dizionario del valore dinamico corrispondono ai campi in ogni risposta DNS. La part voce deve includere answer, authorityo additional per riflettere la parte nella risposta a cui appartiene il dizionario.

Suggerimento

Per garantire prestazioni ottimali, chiamare la imDNS<vendor>Response funzione solo quando necessario e solo dopo un filtro iniziale per garantire prestazioni migliori.

Gestione dei flag DNS

L'analisi e la normalizzazione non sono necessarie per i dati del flag. Archiviare invece i dati del flag forniti dal dispositivo di report nel campo Flag. Se si determina il valore dei singoli flag, è anche possibile usare i campi flag dedicati.

È anche possibile fornire una funzione KQL aggiuntiva denominata _imDNS<vendor>Flags_, che accetta i campi di flag non verificati o di flag dedicati, come input e restituisce un elenco dinamico, con valori booleani che rappresentano ogni flag nell'ordine seguente:

  • Autenticato (AD)
  • Autorevole (AA)
  • Controllo disabilitato (CD)
  • Ricorsione disponibile (RA)
  • Ricorsione desiderata (RD)
  • Troncato (TC)
  • Z

Passaggi successivi

Per altre informazioni, vedi: