Partilhar via


A referência do esquema de normalização de DNS ASIM (Advanced Security Information Model) (visualização pública)

O modelo de informações DNS é usado para descrever eventos relatados por um servidor DNS ou um sistema de segurança DNS e é usado pelo Microsoft Sentinel para habilitar análises independentes da fonte.

Para obter mais informações, consulte Normalização e o modelo avançado de informações de segurança (ASIM).

Importante

O esquema de normalização de DNS está atualmente em visualização. Esse recurso é fornecido sem um contrato de nível de serviço e não é recomendado para cargas de trabalho de produção.

Os Termos Suplementares do Azure Preview incluem termos legais adicionais que se aplicam a funcionalidades do Azure que estão em versão beta, pré-visualização ou ainda não disponibilizadas para disponibilidade geral.

Descrição geral do esquema

O esquema DNS ASIM representa a atividade do protocolo DNS. Tanto os servidores DNS como os dispositivos que enviam pedidos DNS para um servidor DNS registam a atividade DNS. A atividade do protocolo DNS inclui consultas DNS, atualizações do servidor DNS e transferências de dados em massa DNS. Como o esquema representa a atividade do protocolo, ele é governado por RFCs e listas de parâmetros oficialmente atribuídas, que são referenciadas neste artigo quando apropriado. O esquema DNS não representa eventos de auditoria do servidor DNS.

A atividade mais importante relatada pelos servidores DNS é uma consulta DNS, para a qual o EventType campo está definido como Query.

Os campos mais importantes em um evento DNS são:

  • DnsQuery, que informa o nome de domínio para o qual a consulta foi emitida.

  • O SrcIpAddr (aliased para IpAddr), que representa o endereço IP a partir do qual a solicitação foi gerada. Os servidores DNS normalmente fornecem o campo SrcIpAddr, mas os clientes DNS às vezes não fornecem esse campo e fornecem apenas o campo SrcHostname .

  • EventResultDetails, que informa se a solicitação foi bem-sucedida e, em caso negativo, por quê.

  • Quando disponível, DnsResponseName, que contém a resposta fornecida pelo servidor para a consulta. O ASIM não requer a análise da resposta e seu formato varia entre as fontes.

    Para usar este campo em conteúdo independente da fonte, pesquise o conteúdo com os has operadores ou contains .

Os eventos DNS coletados no dispositivo cliente também podem incluir informações de Usuário e Processo .

Diretrizes para coletar eventos DNS

O DNS é um protocolo único na medida em que pode atravessar um grande número de computadores. Além disso, como o DNS usa UDP, as solicitações e respostas são desacopladas e não estão diretamente relacionadas entre si.

A imagem a seguir mostra um fluxo de solicitação DNS simplificado, incluindo quatro segmentos. Uma solicitação do mundo real pode ser mais complexa, com mais segmentos envolvidos.

Fluxo de solicitação DNS simplificado.

Como os segmentos de solicitação e resposta não estão diretamente conectados entre si no fluxo de solicitação DNS, o registro completo pode resultar em duplicação significativa.

O segmento mais valioso a registar é a resposta ao cliente. A resposta fornece as consultas de nome de domínio, o resultado da pesquisa e o endereço IP do cliente. Embora muitos sistemas DNS registrem apenas esse segmento, há valor em registrar as outras partes. Por exemplo, um ataque de envenenamento de cache DNS geralmente se aproveita de respostas falsas de um servidor upstream.

Se sua fonte de dados oferecer suporte ao log DNS completo e você tiver optado por registrar vários segmentos, ajuste suas consultas para evitar a duplicação de dados no Microsoft Sentinel.

Por exemplo, você pode modificar sua consulta com a seguinte normalização:

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

Analisadores

Para obter mais informações sobre analisadores ASIM, consulte a visão geral dos analisadores ASIM.

Analisadores prontos para uso

Para usar analisadores que unifiquem todos os analisadores ASIM prontos para uso e garantir que sua análise seja executada em todas as fontes configuradas, use o analisador _Im_Dns unificador como o nome da tabela em sua consulta.

Para obter a lista dos analisadores DNS fornecidos pelo Microsoft Sentinel prontos para uso, consulte a lista de analisadores ASIM.

Adicione seus próprios analisadores normalizados

Ao implementar analisadores personalizados para o modelo de informações Dns, nomeie suas funções KQL usando o formato vimDns<vendor><Product>. Consulte o artigo Gerenciando analisadores ASIM para saber como adicionar seus analisadores personalizados ao analisador unificador DNS.

Parâmetros do analisador de filtragem

Os analisadores DNS suportam parâmetros de filtragem. Embora esses parâmetros sejam opcionais, eles podem melhorar o desempenho da consulta.

Os seguintes parâmetros de filtragem estão disponíveis:

Nome Tipo Description
Hora de início datetime Filtre apenas consultas DNS executadas durante ou após esse período.
tempo de fim datetime Filtre apenas consultas DNS que terminaram de ser executadas durante ou antes desse período.
srcipaddr string Filtre apenas consultas DNS deste endereço IP de origem.
domain_has_any dinâmico/string Filtre apenas consultas DNS em que o domain (ou query) tenha qualquer um dos nomes de domínio listados, inclusive como parte do domínio do evento. O tamanho da lista é limitado a 10.000 itens.
ResponseCodeName string Filtre apenas consultas DNS para as quais o nome de código de resposta corresponde ao valor fornecido.
Por exemplo: NXDOMAIN
response_has_ipv4 string Filtre apenas consultas DNS nas quais o campo de resposta inclua o endereço IP fornecido ou o prefixo do endereço IP. Use este parâmetro quando quiser filtrar um único endereço IP ou prefixo.

Os resultados não são retornados para fontes que não fornecem uma resposta.
response_has_any_prefix dynamic Filtre apenas consultas DNS nas quais o campo de resposta inclua qualquer um dos endereços IP ou prefixos de endereço IP listados. Os prefixos devem terminar com um ., por exemplo: 10.0..

Use esse parâmetro quando quiser filtrar em uma lista de endereços IP ou prefixos.

Os resultados não são retornados para fontes que não fornecem uma resposta. O tamanho da lista é limitado a 10.000 itens.
tipo de evento string Filtre apenas consultas DNS do tipo especificado. Se nenhum valor for especificado, somente consultas de pesquisa serão retornadas.

Por exemplo, para filtrar apenas consultas DNS do último dia que não conseguiram resolver o nome de domínio, use:

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

Para filtrar apenas consultas DNS para uma lista especificada de nomes de domínio, use:

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

Alguns parâmetros podem aceitar tanto a lista de valores do tipo dynamic ou um único valor de cadeia de caracteres. Para passar uma lista literal para parâmetros que esperam um valor dinâmico, use explicitamente um literal dinâmico. Por exemplo: dynamic(['192.168.','10.'])

Conteúdo normalizado

Para obter uma lista completa das regras de análise que usam eventos DNS normalizados, consulte Conteúdo de segurança de consulta DNS.

Detalhes do esquema

O modelo de informações DNS está alinhado com o esquema de entidade DNS OSSEM.

Para obter mais informações, consulte a referência de parâmetro DNS da Internet Assigned Numbers Authority (IANA).

Campos ASIM comuns

Importante

Os campos comuns a todos os esquemas são descritos em detalhes no artigo Campos comuns do ASIM.

Domínios comuns com orientações específicas

A lista a seguir menciona campos que têm diretrizes específicas para eventos DNS:

Campo Classe Tipo Descrição
Tipo de Evento Obrigatório Enumerated Indica a operação relatada pelo registro.

Para registros DNS, esse valor seria o código operacional DNS.

Exemplo: Query
SubTipo de Evento Opcional Enumerated request ou response.

Para a maioria das fontes, apenas as respostas são registradas e, portanto, o valor geralmente é resposta.
EventResultDetails Obrigatório Enumerated Para eventos DNS, este campo fornece o código de resposta DNS.

Notas:
- A IANA não define o caso para os valores, então a análise deve normalizar o caso.
- Se a fonte fornecer apenas um código de resposta numérico e não um nome de código de resposta, o analisador deve incluir uma tabela de pesquisa para enriquecer com este valor.
- Se este registo representar um pedido e não uma resposta, defina como NA.

Exemplo: NXDOMAIN
EventSchemaVersion Obrigatório String A versão do esquema documentada aqui é 0.1.7.
EventSchema Obrigatório String O nome do esquema documentado aqui é Dns.
Campos Dvc - - Para eventos DNS, os campos de dispositivo referem-se ao sistema que relata o evento DNS.

Todos os campos comuns

Os campos que aparecem na tabela abaixo são comuns a todos os esquemas ASIM. Qualquer diretriz especificada acima substitui as diretrizes gerais para o campo. Por exemplo, um campo pode ser opcional em geral, mas obrigatório para um esquema específico. Para obter mais detalhes sobre cada campo, consulte o artigo Campos comuns do ASIM.

Classe Campos
Obrigatório - EventCount
- EventStartTime
- EventEndTime
- Tipo de Evento
- EventResult
- EventoProduto
- EventVendor
- EventSchema
- EventSchemaVersion
- DVC
Recomendado - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcNome do host
- DvcDomínio
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Opcional - EventMessage
- SubTipo de Evento
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- Proprietário do Evento
- DvcZona
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- Campos Adicionais
- DvcDescrição
- DvcScopeId
- DvcScope

Campos do sistema de origem

Campo Classe Tipo Description
Src Alias String Um identificador exclusivo do dispositivo de origem.

Este campo pode usar o alias dos campos SrcDvcId, SrcHostname ou SrcIpAddr .

Exemplo: 192.168.12.1
SrcIpAddr Recomendado Endereço IP O endereço IP do cliente que enviou a solicitação DNS. Para uma solicitação DNS recursiva, esse valor normalmente seria o dispositivo de relatório e, na maioria dos casos, definido como 127.0.0.1.

Exemplo: 192.168.12.1
SrcPortNumber Opcional Número inteiro Porta de origem da consulta DNS.

Exemplo: 54312
IpAddr Alias Alias para SrcIpAddr
SrcGeoCountry Opcional País O país associado ao endereço IP de origem.

Exemplo: USA
SrcGeoRegion Opcional País/Região A região associada ao endereço IP de origem.

Exemplo: Vermont
SrcGeoCity Opcional City A cidade associada ao endereço IP de origem.

Exemplo: Burlington
SrcGeoLatitude Opcional Latitude A latitude da coordenada geográfica associada ao endereço IP de origem.

Exemplo: 44.475833
SrcGeoLongitude Opcional Longitude A longitude da coordenada geográfica associada ao endereço IP de origem.

Exemplo: 73.211944
SrcRiskLevel Opcional Número inteiro O nível de risco associado à fonte. O valor deve ser ajustado para uma faixa de 0 , com 0 para benigno 100e 100 para um alto risco.

Exemplo: 90
SrcOriginalRiskLevel Opcional Número inteiro O nível de risco associado à fonte, conforme relatado pelo dispositivo de relatório.

Exemplo: Suspicious
SrcHostname Recomendado String O nome de host do dispositivo de origem, excluindo informações de domínio.

Exemplo: DESKTOP-1282V4D
Nome de Anfitrião Alias Alias para SrcHostname
Domínio Src Recomendado String O domínio do dispositivo de origem.

Exemplo: Contoso
SrcDomainType Condicional Enumerated O tipo de SrcDomain, se conhecido. Valores possíveis incluem:
- Windows (tais como: contoso)
- FQDN (tais como: microsoft.com)

Necessário se SrcDomain for usado.
SrcFQDN Opcional String O nome de host do dispositivo de origem, incluindo informações de domínio, quando disponíveis.

Nota: Este campo suporta o formato FQDN tradicional e o formato domínio\nome de anfitrião do Windows. O campo SrcDomainType reflete o formato usado.

Exemplo: Contoso\DESKTOP-1282V4D
SrcDvcId Opcional String A ID do dispositivo de origem, conforme relatado no registro.

Por exemplo: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
SrcDvcScopeId Opcional String O ID de escopo da plataforma de nuvem ao qual o dispositivo pertence. O SrcDvcScopeId é mapeado para uma ID de assinatura no Azure e para uma ID de conta na AWS.
SrcDvcScope Opcional String O escopo da plataforma de nuvem ao qual o dispositivo pertence. O SrcDvcScope é mapeado para uma ID de assinatura no Azure e para uma ID de conta na AWS.
SrcDvcIdType Condicional Enumerated O tipo de SrcDvcId, se conhecido. Valores possíveis incluem:
- AzureResourceId
- MDEid

Se várias IDs estiverem disponíveis, use a primeira da lista e armazene as outras em SrcDvcAzureResourceId e SrcDvcMDEid, respectivamente.

Nota: Este campo é obrigatório se SrcDvcId for usado.
SrcDeviceType Opcional Enumerated O tipo do dispositivo de origem. Valores possíveis incluem:
- Computer
- Mobile Device
- IOT Device
- Other
SrcDescrição Opcional String Um texto descritivo associado ao dispositivo. Por exemplo: Primary Domain Controller.

Campos de usuário de origem

Campo Classe Tipo Description
SrcUserId Opcional String Uma representação única, alfanumérica e legível por máquina do utilizador de origem. Para obter mais informações e campos alternativos para IDs adicionais, consulte A entidade Usuário.

Exemplo: S-1-12-1-4141952679-1282074057-627758481-2916039507
SrcUserScope Opcional String O escopo, como o locatário do Microsoft Entra, no qual SrcUserId e SrcUsername são definidos. ou mais informações e lista de valores permitidos, consulte UserScope no artigo Visão geral do esquema.
SrcUserScopeId Opcional String A ID do escopo, como a ID do Diretório do Microsoft Entra, na qual SrcUserId e SrcUsername são definidos. para obter mais informações e uma lista de valores permitidos, consulte UserScopeId no artigo Visão geral do esquema.
SrcUserIdType Condicional UserIdType O tipo de ID armazenado no campo SrcUserId . Para obter mais informações e uma lista de valores permitidos, consulte UserIdType no artigo Visão geral do esquema.
SrcUsername Opcional Username O nome de usuário de origem, incluindo informações de domínio, quando disponíveis. Para obter mais informações, consulte A entidade Usuário.

Exemplo: AlbertE
SrcUsernameType Condicional UsernameType Especifica o tipo do nome de usuário armazenado no campo SrcUsername . Para obter mais informações e uma lista de valores permitidos, consulte UsernameType no artigo Visão geral do esquema.

Exemplo: Windows
Utilizador Alias Alias para SrcUsername
SrcUserType Opcional UserType O tipo do usuário de origem. Para obter mais informações e uma lista de valores permitidos, consulte UserType no artigo Visão geral do esquema.

Por exemplo: Guest
SrcUserSessionId Opcional String O ID exclusivo da sessão de entrada do Ator.

Exemplo: 102pTUgC3p8RIqHvzxLCHnFlg
SrcOriginalUserType Opcional String O tipo de usuário de origem original, se fornecido pela fonte.

Campos do processo de origem

Campo Classe Tipo Description
SrcProcessName Opcional String O nome do arquivo do processo que iniciou a solicitação DNS. Este nome é normalmente considerado como o nome do processo.

Exemplo: C:\Windows\explorer.exe
Processo Alias Alias para o SrcProcessName

Exemplo: C:\Windows\System32\rundll32.exe
SrcProcessId Opcional String A ID do processo (PID) do processo que iniciou a solicitação DNS.

Exemplo: 48610176

Nota: O tipo é definido como string para suportar sistemas variados, mas no Windows e Linux esse valor deve ser numérico.

Se você estiver usando uma máquina Windows ou Linux e usou um tipo diferente, certifique-se de converter os valores. Por exemplo, se você usou um valor hexadecimal, converta-o em um valor decimal.
SrcProcessGuid Opcional String Um identificador exclusivo (GUID) gerado do processo que iniciou a solicitação DNS.

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

Campos do sistema de destino

Campo Classe Tipo Description
Dst Alias String Um identificador exclusivo do servidor que recebeu a solicitação DNS.

Este campo pode usar o alias dos campos DstDvcId, DstHostname ou DstIpAddr .

Exemplo: 192.168.12.1
DstIpAddr Opcional Endereço IP O endereço IP do servidor que recebeu a solicitação DNS. Para uma solicitação DNS regular, esse valor normalmente seria o dispositivo de relatório e, na maioria dos casos, definido como 127.0.0.1.

Exemplo: 127.0.0.1
DstGeoCountry Opcional País O país associado ao endereço IP de destino. Para obter mais informações, consulte Tipos lógicos.

Exemplo: USA
DstGeoRegion Opcional País/Região A região, ou estado, associado ao endereço IP de destino. Para obter mais informações, consulte Tipos lógicos.

Exemplo: Vermont
DstGeoCity Opcional City A cidade associada ao endereço IP de destino. Para obter mais informações, consulte Tipos lógicos.

Exemplo: Burlington
DstGeoLatitude Opcional Latitude A latitude da coordenada geográfica associada ao endereço IP de destino. Para obter mais informações, consulte Tipos lógicos.

Exemplo: 44.475833
DstGeoLongitude Opcional Longitude A longitude da coordenada geográfica associada ao endereço IP de destino. Para obter mais informações, consulte Tipos lógicos.

Exemplo: 73.211944
DstRiskLevel Opcional Número inteiro O nível de risco associado ao destino. O valor deve ser ajustado para um intervalo de 0 a 100, sendo 0 benigno e 100 um risco elevado.

Exemplo: 90
DstOriginalRiskLevel Opcional Número inteiro O nível de risco associado ao destino, conforme relatado pelo dispositivo de relatório.

Exemplo: Malicious
DstPortNumber Opcional Número inteiro Número da porta de destino.

Exemplo: 53
DstHostname Opcional String O nome de host do dispositivo de destino, excluindo informações de domínio. Se nenhum nome de dispositivo estiver disponível, armazene o endereço IP relevante neste campo.

Exemplo: DESKTOP-1282V4D

Nota: Este valor é obrigatório se DstIpAddr for especificado.
DstDomínio Opcional String O domínio do dispositivo de destino.

Exemplo: Contoso
DstDomainType Condicional Enumerated O tipo de DstDomain, se conhecido. Valores possíveis incluem:
- Windows (contoso\mypc)
- FQDN (learn.microsoft.com)

Obrigatório se DstDomain for usado.
DstFQDN Opcional String O nome de host do dispositivo de destino, incluindo informações de domínio, quando disponíveis.

Exemplo: Contoso\DESKTOP-1282V4D

Nota: Este campo suporta o formato FQDN tradicional e o formato domínio\nome de anfitrião do Windows. O DstDomainType reflete o formato usado.
DstDvcId Opcional String A ID do dispositivo de destino, conforme relatado no registro.

Exemplo: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
DstDvcScopeId Opcional String O ID de escopo da plataforma de nuvem ao qual o dispositivo pertence. O DstDvcScopeId é mapeado para uma ID de assinatura no Azure e para uma ID de conta na AWS.
DstDvcScope Opcional String O escopo da plataforma de nuvem ao qual o dispositivo pertence. O DstDvcScope é mapeado para uma ID de assinatura no Azure e para uma ID de conta na AWS.
DstDvcIdType Condicional Enumerated O tipo de DstDvcId, se conhecido. Valores possíveis incluem:
- AzureResourceId
- MDEidIf

Se várias IDs estiverem disponíveis, use a primeira da lista acima e armazene as outras nos campos DstDvcAzureResourceId ou DstDvcMDEid , respectivamente.

Necessário se DstDeviceId for usado.
DstDeviceType Opcional Enumerated O tipo do dispositivo de destino. Valores possíveis incluem:
- Computer
- Mobile Device
- IOT Device
- Other
DstDescrição Opcional String Um texto descritivo associado ao dispositivo. Por exemplo: Primary Domain Controller.

Campos específicos do DNS

Campo Classe Tipo Description
DnsQuery Obrigatório String O domínio que a solicitação tenta resolver.

Notas:
- Algumas fontes enviam consultas FQDN válidas em um formato diferente. Por exemplo, no próprio protocolo DNS, a consulta inclui um ponto (.) no final, que deve ser removido.
- Embora o protocolo DNS limite o tipo de valor neste campo a um FQDN, a maioria dos servidores DNS permite qualquer valor e, portanto, este campo não está limitado apenas aos valores FQDN. Mais notavelmente, os ataques de encapsulamento DNS podem usar valores FQDN inválidos no campo de consulta.
- Embora o protocolo DNS permita várias consultas em uma única solicitação, esse cenário é raro, se for encontrado. Se a solicitação tiver várias consultas, armazene a primeira neste campo e, opcionalmente, mantenha o restante no campo AdditionalFields .

Exemplo: www.malicious.com
Domínio Alias Alias para DnsQuery.
DnsQueryType Opcional Número inteiro Os códigos DNS Resource Record Type.

Exemplo: 28
DnsQueryTypeName Recomendado Enumerated Os nomes do Tipo de Registro de Recurso DNS.

Notas:
- A IANA não define o caso para os valores, então a análise deve normalizar o caso conforme necessário.
- O valor ANY é suportado para o código de resposta 255.
- O valor TYPExxxx é suportado para códigos de resposta não mapeados, onde xxxx é o valor numérico do código de resposta, conforme relatado pelo servidor DNS BIND.
-Se a fonte fornecer apenas um código de tipo de consulta numérica e não um nome de tipo de consulta, o analisador deve incluir uma tabela de pesquisa para enriquecer com esse valor.

Exemplo: AAAA
DnsResponseName Opcional String O conteúdo da resposta, tal como consta do registo.

Os dados de resposta DNS são inconsistentes entre dispositivos de relatório, são complexos de analisar e têm menos valor para análises independentes da fonte. Portanto, o modelo de informações não requer análise e normalização, e o Microsoft Sentinel usa uma função auxiliar para fornecer informações de resposta. Para obter mais informações, consulte Manipulando a resposta DNS.
DnsResponseCodeName Alias Alias para EventResultDetails
DnsResponseCode Opcional Número inteiro O código de resposta numérica DNS.

Exemplo: 3
TransactionIdHex Recomendado String O ID exclusivo da consulta DNS, conforme atribuído pelo cliente DNS, em formato hexadecimal. Observe que esse valor faz parte do protocolo DNS e é diferente de DnsSessionId, o ID de sessão da camada de rede, normalmente atribuído pelo dispositivo de relatório.
Protocolo de rede Opcional Enumerated O protocolo de transporte usado pelo evento de resolução de rede. O valor pode ser UDP ou TCP e é mais comumente definido como UDP para DNS.

Exemplo: UDP
NetworkProtocolVersion Opcional Enumerated A versão do NetworkProtocol. Ao usá-lo para distinguir entre a versão IP, use os valores IPv4 e IPv6.
DnsQueryClass Opcional Número inteiro O ID da classe DNS.

Na prática, apenas a classe IN (ID 1) é usada e, portanto, este campo é menos valioso.
DnsQueryClassName Opcional String O nome da classe DNS.

Na prática, apenas a classe IN (ID 1) é usada e, portanto, este campo é menos valioso.

Exemplo: IN
DnsFlags Opcional String O campo de sinalizadores, conforme fornecido pelo dispositivo de relatório. Se as informações do sinalizador forem fornecidas em vários campos, concatene-os com vírgula como separador.

Como os sinalizadores DNS são complexos de analisar e são menos usados por análises, a análise e a normalização não são necessárias. O Microsoft Sentinel pode usar uma função auxiliar para fornecer informações sobre sinalizadores. Para obter mais informações, consulte Manipulando a resposta DNS.

Exemplo: ["DR"]
DnsNetworkDuration Opcional Número inteiro A quantidade de tempo, em milissegundos, para a conclusão da solicitação DNS.

Exemplo: 1500
Duração Alias Alias para DnsNetworkDuration
DnsFlagsAutenticado Opcional Boolean O sinalizador DNS AD , que está relacionado ao DNSSEC, indica em uma resposta que todos os dados incluídos nas seções de resposta e autoridade da resposta foram verificados pelo servidor de acordo com as políticas desse servidor. Para obter mais informações, consulte RFC 3655 Seção 6.1 para obter mais informações.
DnsFlagsAutoritativo Opcional Boolean O sinalizador DNS AA indica se a resposta do servidor foi autoritativa
DnsFlagsCheckingDisabled Opcional Boolean O sinalizador DNS CD , que está relacionado ao DNSSEC, indica em uma consulta que dados não verificados são aceitáveis para o sistema que envia a consulta. Para obter mais informações, consulte RFC 3655 Seção 6.1 para obter mais informações.
DnsFlagsRecursionDisponível Opcional Boolean O sinalizador DNS RA indica em uma resposta que esse servidor oferece suporte a consultas recursivas.
DnsFlagsRecursionDesired Opcional Boolean O sinalizador DNS RD indica em uma solicitação que esse cliente gostaria que o servidor usasse consultas recursivas.
DnsFlagsTruncado Opcional Boolean O sinalizador DNS TC indica que uma resposta foi truncada por exceder o tamanho máximo da resposta.
DnsFlagsZ Opcional Boolean O sinalizador DNS Z é um sinalizador DNS preterido, que pode ser relatado por sistemas DNS mais antigos.
DnsSessionId Opcional string O identificador de sessão DNS, conforme relatado pelo dispositivo de relatório. Esse valor é diferente de TransactionIdHex, o ID exclusivo da consulta DNS conforme atribuído pelo cliente DNS.

Exemplo: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55
SessionId Alias Alias para DnsSessionId
DnsResponseIpCountry Opcional País O país associado a um dos endereços IP na resposta DNS. Para obter mais informações, consulte Tipos lógicos.

Exemplo: USA
DnsResponseIpRegion Opcional País/Região A região, ou estado, associado a um dos endereços IP na resposta DNS. Para obter mais informações, consulte Tipos lógicos.

Exemplo: Vermont
DnsResponseIpCity Opcional City A cidade associada a um dos endereços IP na resposta DNS. Para obter mais informações, consulte Tipos lógicos.

Exemplo: Burlington
DnsResponseIpLatitude Opcional Latitude A latitude da coordenada geográfica associada a um dos endereços IP na resposta DNS. Para obter mais informações, consulte Tipos lógicos.

Exemplo: 44.475833
DnsResponseIpLongitude Opcional Longitude A longitude da coordenada geográfica associada a um dos endereços IP na resposta DNS. Para obter mais informações, consulte Tipos lógicos.

Exemplo: 73.211944

Campos de inspeção

Os campos a seguir são usados para representar uma inspeção executada por um dispositivo de segurança DNS. Os campos relacionados à ameaça representam uma única ameaça associada ao endereço de origem, ao endereço de destino, a um dos endereços IP na resposta ou ao domínio de consulta DNS. Se mais de uma ameaça foi identificada como uma ameaça, as informações sobre outros endereços IP podem ser armazenadas no campo AdditionalFields.

Campo Classe Tipo Description
UrlCategory Opcional String Uma fonte de eventos DNS também pode procurar a categoria dos Domínios solicitados. O campo é chamado UrlCategory para alinhar com o esquema de rede do Microsoft Sentinel.

DomainCategory é adicionado como um alias adequado ao DNS.

Exemplo: Educational \\ Phishing
DomainCategory Alias Alias para UrlCategory.
NetworkRuleName Opcional String O nome ou ID da regra que identificou a ameaça.

Exemplo: AnyAnyDrop
NetworkRuleNumber Opcional Número inteiro O número da regra que identificou a ameaça.

Exemplo: 23
Regra Alias String O valor de NetworkRuleName ou o valor de NetworkRuleNumber. Se o valor de NetworkRuleNumber for usado, o tipo deve ser convertido em string.
ThreatId Opcional String O ID da ameaça ou malware identificado na sessão de rede.

Exemplo: Tr.124
ThreatCategory Opcional String Se uma fonte de eventos DNS também fornecer segurança DNS, ela também poderá avaliar o evento DNS. Por exemplo, ele pode procurar o endereço IP ou domínio em um banco de dados de inteligência de ameaças e atribuir o domínio ou endereço IP com uma categoria de ameaça.
ThreatIpAddr Opcional Endereço IP Um endereço IP para o qual foi identificada uma ameaça. O campo ThreatField contém o nome do campo que ThreatIpAddr representa. Se for identificada uma ameaça no campo Domínio , este campo deverá estar vazio.
Campo de Ameaças Condicional Enumerated O campo para o qual foi identificada uma ameaça. O valor é SrcIpAddr, DstIpAddr, Domain, ou DnsResponseName.
Nome da Ameaça Opcional String O nome da ameaça identificada, conforme relatado pelo dispositivo de relatório.
ThreatConfidence Opcional Número inteiro O nível de confiança da ameaça identificada, normalizado para um valor entre 0 e 100.
ThreatOriginalConfidence Opcional String O nível de confiança original da ameaça identificada, conforme relatado pelo dispositivo de relatório.
ThreatRiskLevel Opcional Número inteiro O nível de risco associado à ameaça identificada, normalizado para um valor entre 0 e 100.
ThreatOriginalRiskLevel Opcional String O nível de risco original associado à ameaça identificada, conforme relatado pelo dispositivo de relatório.
ThreatIsActive Opcional Boolean True se a ameaça identificada for considerada uma ameaça ativa.
ThreatFirstReportedTime Opcional datetime A primeira vez que o endereço IP ou domínio foram identificados como uma ameaça.
ThreatLastReportedTime Opcional datetime A última vez que o endereço IP ou domínio foi identificado como uma ameaça.

Aliases e campos preteridos

Os campos a seguir são aliases que são mantidos para compatibilidade com versões anteriores. Eles foram retirados do esquema em 31 de dezembro de 2021.

  • Query (pseudónimo de DnsQuery)
  • QueryType (pseudónimo de DnsQueryType)
  • QueryTypeName (pseudónimo de DnsQueryTypeName)
  • ResponseName (pseudónimo de DnsReasponseName)
  • ResponseCodeName (pseudónimo de DnsResponseCodeName)
  • ResponseCode (pseudónimo de DnsResponseCode)
  • QueryClass (pseudónimo de DnsQueryClass)
  • QueryClassName (pseudónimo de DnsQueryClassName)
  • Flags (pseudónimo de DnsFlags)
  • SrcUserDomain

Atualizações de esquema

As alterações na versão 0.1.2 do esquema são:

As alterações na versão 0.1.3 do esquema são:

  • O esquema agora documenta Src*explicitamente , Dst*Process* e User* campos.
  • Adicionado mais Dvc* campos para corresponder à definição de campos comuns mais recente.
  • Adicionado Src e Dst como aliases a um identificador principal para os sistemas de origem e destino.
  • Adicionado opcional DnsNetworkDuration e Duration, um alias a ele.
  • Adicionados campos opcionais de Localização Geográfica e Nível de Risco.

As alterações na versão 0.1.4 do esquema são:

  • Adicionados os campos ThreatIpAddropcionais , ThreatField, ThreatName, ThreatConfidence, ThreatOriginalConfidence, ThreatOriginalRiskLevel, ThreatIsActive, ThreatFirstReportedTime, e ThreatLastReportedTime.

As alterações na versão 0.1.5 do esquema são:

  • Adicionados os campos SrcUserScope, SrcUserSessionId, , SrcDvcScopeIdSrcDvcScope, DstDvcScopeId, DstDvcScope, DvcScopeId, e DvcScope.

As alterações na versão 0.1.6 do esquema são:

  • Adicionados os campos DnsResponseIpCountry, DnsResponseIpRegion, DnsResponseIpCity, DnsResponseIpLatitude, e DnsResponseIpLongitude.

As alterações na versão 0.1.7 do esquema são:

  • Adicionados os campos SrcDescription, , , DstDescriptionDstOriginalRiskLevel, SrcUserScopeId, NetworkProtocolVersion, Rule, RuleName, e RuleNumberThreatId. SrcOriginalRiskLevel

Discrepâncias específicas da fonte

O objetivo da normalização é garantir que todas as fontes forneçam telemetria consistente. Uma fonte que não forneça a telemetria necessária, como campos de esquema obrigatórios, não pode ser normalizada. No entanto, as fontes que normalmente fornecem toda a telemetria necessária, mesmo que haja algumas discrepâncias, podem ser normalizadas. As discrepâncias podem afetar a integridade dos resultados da consulta.

A tabela a seguir lista as discrepâncias conhecidas:

Origem Discrepâncias
Servidor DNS da Microsoft Coletado usando o conector DNS e o Agente de Análise de Log O conector não fornece o campo DnsQuery obrigatório para o ID de evento original 264 (Resposta a uma atualização dinâmica). Os dados estão disponíveis na fonte, mas não são encaminhados pelo conector.
Corelight Zeek Corelight Zeek pode não fornecer o campo DnsQuery obrigatório. Temos observado tal comportamento em certos casos em que o nome de código de resposta DNS é NXDOMAIN.

Manipulando a resposta DNS

Na maioria dos casos, os eventos DNS registrados não incluem informações de resposta, que podem ser grandes e detalhadas. Se o seu registo incluir mais informações de resposta, armazene-o no campo ResponseName tal como aparece no registo.

Você também pode fornecer uma função KQL extra chamada _imDNS<vendor>Response_, que usa a resposta não analisada como entrada e retorna o valor dinâmico com a seguinte estrutura:

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

Os campos em cada dicionário no valor dinâmico correspondem aos campos em cada resposta DNS. A part entrada deve incluir , answerauthorityou additional para refletir a parte na resposta à qual o dicionário pertence.

Gorjeta

Para garantir um desempenho ideal, chame a imDNS<vendor>Response função apenas quando necessário e somente após uma filtragem inicial para garantir um melhor desempenho.

Manipulando sinalizadores DNS

A análise e a normalização não são necessárias para os dados do sinalizador. Em vez disso, armazene os dados do sinalizador fornecidos pelo dispositivo de relatório no campo Sinalizadores. Se a determinação do valor de sinalizadores individuais for simples, você também poderá usar os campos de sinalizadores dedicados.

Você também pode fornecer uma função KQL extra chamada _imDNS<vendor>Flags_, que usa a resposta não analisada, ou campos de sinalizador dedicados, como entrada e retorna uma lista dinâmica, com valores booleanos que representam cada sinalizador na seguinte ordem:

  • Autenticado (AD)
  • Autoritativo (AA)
  • Verificação desativada (CD)
  • Recursão Disponível (RA)
  • Recursão Desejada (RD)
  • Truncado (TC)
  • Z

Próximos passos

Para obter mais informações, consulte: