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 ocontains
.
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.
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 100 un 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
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 , Domain o 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 aDnsQuery
)QueryType
(alias aDnsQueryType
)QueryTypeName
(alias aDnsQueryTypeName
)ResponseName
(alias aDnsReasponseName
)ResponseCodeName
(alias aDnsResponseCodeName
)ResponseCode
(alias aDnsResponseCode
)QueryClass
(alias aDnsQueryClass
)QueryClassName
(alias aDnsQueryClassName
)Flags
(alias aDnsFlags
)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
,DnsFlagsRecursionDesired
DnsFlagsRecursionAvailable
,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*
eUser*
. - Sono stati aggiunti altri
Dvc*
campi per trovare la corrispondenza con la definizione più recente dei campi comuni. - Aggiunta
Src
eDst
come alias a un identificatore iniziale per i sistemi di origine e di destinazione. - Aggiunta di un alias facoltativo
DnsNetworkDuration
eDuration
. - 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
ThreatIpAddr
facoltativi ,ThreatName
ThreatField
,ThreatConfidence
,ThreatOriginalConfidence
,ThreatOriginalRiskLevel
,ThreatIsActive
,ThreatFirstReportedTime
eThreatLastReportedTime
.
Le modifiche apportate alla versione 0.1.5 dello schema sono:
- Sono stati aggiunti i campi
SrcUserScope
,SrcDvcScope
SrcDvcScopeId
DstDvcScopeId
SrcUserSessionId
,DstDvcScope
,DvcScopeId
, e .DvcScope
Le modifiche apportate alla versione 0.1.6 dello schema sono:
- Sono stati aggiunti i campi
DnsResponseIpCountry
,DnsResponseIpRegion
DnsResponseIpCity
,DnsResponseIpLatitude
, eDnsResponseIpLongitude
.
Le modifiche apportate alla versione 0.1.7 dello schema sono:
- Sono stati aggiunti i campi
SrcDescription
,DstDescription
SrcOriginalRiskLevel
,DstOriginalRiskLevel
,SrcUserScopeId
,NetworkProtocolVersion
,Rule
,RuleNumber
RuleName
, eThreatId
.
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
, authority
o 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: