Share via


Referência do esquema de normalização do DNS do ASIM (Modelo de Informações de Segurança Avançado) (versão prévia)

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 a análise independente da origem.

Para obter mais informações, confira Normalização e o ASIM (Modelo de Informações de Segurança Avançado).

Importante

O esquema de normalização DNS está atualmente em VERSÃO PRÉVIA. 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 de versão prévia do Azure incluem termos legais adicionais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Visão geral do esquema

O esquema DNS do ASIM representa a atividade do protocolo DNS. Os servidores DNS e os dispositivos que enviam solicitações DNS para uma atividade DNS de log do servidor DNS. A atividade de protocolo DNS inclui consultas DNS, atualizações de servidor DNS e transferências de dados em massa de DNS. Como o esquema representa atividade de protocolo, ele é regido 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 campo EventType é definido como Query.

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

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

  • O SrcIpAddr (com alias de IpAddr),que representa o endereço IP 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 campoSrcHostname.

  • O EventResultDetails, que informa se a solicitação foi bem-sucedida e, caso contrário, por quê não.

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

    Para usar esse campo no conteúdo independente da origem, pesquise o conteúdo com os operadores has 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 exclusivo, porque pode cruzar um grande número de computadores. Além disso, como o DNS usa UDP, 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 real pode ser mais complexa, com mais segmentos envolvidos.

Simplified DNS request flow.

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

O segmento mais valioso para registrar em log é a resposta para o 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 somente esse segmento, há valor no registro em log das outras partes. Por exemplo, um ataque de falsificação de cache DNS geralmente aproveita respostas falsas de um servidor upstream.

Se a fonte de dados for compatível com o registro em log do DNS completo e você tiver optado por registrar em log 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 os analisadores do ASIM, consulte a Visão geral dos analisadores do ASIM.

Analisadores prontos para uso

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

Para obter a lista dos analisadores de DNS que o Microsoft Sentinel fornece prontos para uso, confira a lista de analisadores ASIM.

Adicionar seus próprios analisadores normalizados

Ao implementar analisadores personalizados para o modelo de informação de DNS, nomeie as funções KQL usando o formato vimDns<vendor><Product>. Consulte o artigo Gerenciar analisadores do ASIM para saber como adicionar os analisadores personalizados ao analisador unificador de DNS.

Filtragem de parâmetros de analisador

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

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

Nome Digitar Descrição
starttime DATETIME Filtre somente consultas DNS executadas nesse horário ou depois dele.
endtime DATETIME Filtre somente consultas DNS que terminaram de ser executadas nesse horário ou antes dele.
srcipaddr string Filtre somente consultas DNS desse endereço IP de origem.
domain_has_any dynamic/string Filtre somente consultas DNS em que o domain (ou query) tenha qualquer um dos nomes de domínio listados, incluindo como parte do domínio de evento. O comprimento da lista é limitado a dez mil itens.
responsecodename string Filtre somente consultas DNS para as quais o nome do código de resposta corresponde ao valor fornecido.
Por exemplo: NXDOMAIN
response_has_ipv4 string Filtre somente consultas DNS nas quais o campo de resposta inclui o endereço IP ou o prefixo de endereço IP fornecido. Use esse 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 dinâmico Filtre somente consultas DNS nas quais o campo de resposta inclui 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 uma lista de endereços IP ou prefixos.

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

Por exemplo, para filtrar somente as consultas DNS do último dia que falharam ao resolver o nome de domínio, use:

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

Para filtrar somente as consultas DNS de 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 uma lista de valores do tipo dynamic ou um só 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 de regras de análise que usam eventos DNS normalizados, confira o Conteúdo de segurança da consulta DNS.

Detalhes do esquema

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

Para saber mais, confira a Referência de parâmetro do DNS da IANA (Internet Assigned Numbers Authority).

Campos comuns do ASIM

Importante

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

Campos comuns com diretrizes específicas

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

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

Para registros DNS, esse valor seria o código de operação DNS.

Exemplo: Query
EventSubType Opcional Enumerated request ou response.

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

Observações:
- A IANA não define o caso para os valores, portanto, a análise deve normalizar o caso.
- Se a origem fornecer apenas um código de resposta numérica, e não um nome do código de resposta, o analisador deverá incluir uma tabela de pesquisa para enriquecer com esse valor.
- Se esse registro representar uma solicitação, e não uma resposta, defina como NA.

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

Todos campos comuns

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

Classe Fields
Obrigatório - EventCount
- EventStartTime
- EventEndTime
- EventType
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Recomendadas - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Opcional - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

Campos do sistema de origem

Campo Classe Tipo Descrição
Src Alias String Um identificador exclusivo do dispositivo de origem.

Esse campo pode gerar alias dos campos SrcDvcId, SrcHostname ou SrcIpAddr.

Exemplo: 192.168.12.1
SrcIpAddr Recomendadas Endereço IP O endereço IP do cliente que envia a solicitação de 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 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 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 Inteiro O nível de risco associado à origem. O valor deve ser ajustado para um intervalo de 0 para 100, com 0 para benigno e 100 para um risco alto.

Exemplo: 90
SrcOriginalRiskLevel Opcional Inteiro O nível de risco associado à ameaça identificada com a origem, conforme relatado pelo dispositivo de relatório.

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

Exemplo: DESKTOP-1282V4D
Nome do host Alias Alias para SrcHostname
SrcDomain Recomendadas String O domínio do dispositivo de origem.

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

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

Observação: esse campo dá suporte ao formato FQDN tradicional e ao formato domínio\nome do host do Windows. O campo SrcDomainType reflete o formato usado.

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

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

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

Observação: esse campo será obrigatório se SrcDvcId for usado.
SrcDeviceType Opcional Enumerated O tipo do dispositivo de origem. Os valores possíveis incluem:
- Computer
- Mobile Device
- IOT Device
- Other
SrcDescription Opcional String Um texto descritivo associado ao dispositivo. Por exemplo: Primary Domain Controller.

Campos do usuário de origem

Campo Classe Tipo Descrição
SrcUserId Opcional Cadeia de caracteres Uma representação exclusiva, alfanumérica e legível pelo computador do usuário de origem. Para obter mais informações e campos alternativos para IDs adicionais, consulte Entidade do 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. Para obter mais informações e uma lista de valores permitidos, consulte UserScope no artigo Visão geral do esquema.
SrcUserScopeId Opcional String A ID do escopo, como o Microsoft Entra Directory ID, na qual são definidos SrcUserId e SrcUsername. 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 da ID armazenada 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 Nome de Usuário O nome de usuário de origem, incluindo informações de domínio, quando disponíveis. Para saber mais, confira A entidade de 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
Usuário 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 Cadeia de caracteres A ID exclusiva da sessão de entrada do Ator.

Exemplo: 102pTUgC3p8RIqHvzxLCHnFlg
SrcOriginalUserType Opcional Cadeia de caracteres O tipo de usuário de origem, se fornecido pela origem.

Campos do processo de origem

Campo Classe Tipo Descrição
SrcProcessName Opcional String O nome do arquivo do processo que iniciou a solicitação DNS. Normalmente, esse nome é 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

Observação: o tipo é definido como uma cadeia de caracteres para ser compatível com sistemas variados, mas no Windows e no Linux esse valor deve ser numérico.

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

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

Campos do sistema de destino

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

Esse campo pode gerar 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, confira Tipos lógicos.

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

Exemplo: Vermont
DstGeoCity Opcional City A cidade associada ao endereço IP de destino. Para obter mais informações, confira 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, confira 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, confira Tipos lógicos.

Exemplo: 73.211944
DstRiskLevel Opcional 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 alto.

Exemplo: 90
DstOriginalRiskLevel Opcional Inteiro O nível de risco associado à ameaça identificada com o destino, conforme relatado pelo dispositivo de relatório.

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

Exemplo: 53
DstHostname Opcional String O nome do 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 nesse campo.

Exemplo: DESKTOP-1282V4D

Observação: esse valor será obrigatório se DstIpAddr for especificado.
DstDomain Opcional String O domínio do dispositivo de destino.

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

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

Exemplo: Contoso\DESKTOP-1282V4D

Observação: esse campo dá suporte ao formato FQDN tradicional e ao formato domínio\nome do host do Windows. O DstDomainType reflete o formato usado.
DstDvcId Opcional Cadeia de caracteres A ID do dispositivo de destino, conforme relatado no registro.

Exemplo: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
DstDvcScopeId Opcional String A ID do escopo da plataforma de nuvem à qual o dispositivo pertence. Mapa do DstDvcScopeId para uma ID da assinatura no Azure e para uma ID da conta no AWS.
DstDvcScope Opcional String O escopo da plataforma de nuvem à qual o dispositivo pertence. Mapa do DstDvcScope para uma ID da assinatura no Azure e para uma ID da conta no AWS.
DstDvcIdType Condicional Enumerated O tipo de DstDvcId, se conhecido. Os 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.

Obrigatório se DstDeviceId for usado.
DstDeviceType Opcional Enumerated O tipo do dispositivo de destino. Os valores possíveis incluem:
- Computer
- Mobile Device
- IOT Device
- Other
DstDescription Opcional String Um texto descritivo associado ao dispositivo. Por exemplo: Primary Domain Controller.

Campos específicos de DNS

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

Observações:
- Algumas origens 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 nesse campo a um FQDN, a maioria dos servidores DNS permite qualquer valor e, portanto, esse campo não se limita apenas a valores FQDN. É importante observar que os ataques de túnel 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 caso seja encontrado. Se a solicitação tiver várias consultas, armazene a primeira nesse campo e, em seguida, e, opcionalmente, mantenha o restante no campo AdditionalFields.

Exemplo: www.malicious.com
Domain Alias Alias para DnsQuery.
DnsQueryType Opcional Inteiro Os códigos de tipo de registro de recurso de DNS.

Exemplo: 28
DnsQueryTypeName Recomendadas Enumerated Os nomes de tipo de registro de recurso de DNS.

Observações:
- A IANA não define o caso para os valores, portanto, a análise deve normalizar o caso conforme necessário.
- O valor ANY é compatível com o código de resposta 255.
- O valor TYPExxxx é compatível com 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 origem fornecer apenas um código de tipo de consulta numérica, e não um nome de tipo de consulta, o analisador deverá incluir uma tabela de pesquisa para enriquecer com esse valor.

Exemplo: AAAA
DnsResponseName Opcional Cadeia de caracteres O conteúdo da resposta, conforme incluído no registro.

Os dados de resposta DNS são inconsistentes em dispositivos de relatório, são complexos de analisar e têm menos valor para a análise independente de origem. Portanto, o modelo de informação não requer análise e normalização, e o Microsoft Sentinel usa uma função auxiliar para fornecer informações de resposta. Para saber mais, confira Lidar com respostas DNS.
DnsResponseCodeName Alias Alias de EventResultDetails
DnsResponseCode Opcional Inteiro O código de resposta numérica do DNS.

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

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

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

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

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

Como os sinalizadores DNS são complexos de serem analisados e são menos frequentemente usados pela análise, 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 de sinalizadores. Para saber mais, confira Lidar com respostas DNS.

Exemplo: ["DR"]
DnsNetworkDuration Opcional Inteiro O tempo total, em milissegundos, para a conclusão da solicitação DNS.

Exemplo: 1500
Duration Alias Alias para DnsNetworkDuration
DnsFlagsAuthenticated Opcional Boolean O sinalizador DNS AD, que está relacionado a 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, confira Seção 6.1 do RFC 3655.
DnsFlagsAuthoritative Opcional Boolean O sinalizador DNS AA indica se a resposta do servidor foi autoritativa
DnsFlagsCheckingDisabled Opcional Boolean O sinalizador DNS CD, que está relacionado a DNSSEC, indica em uma consulta que os dados não verificados são aceitáveis para o sistema que envia a consulta. Para obter mais informações, confira Seção 6.1 do RFC 3655.
DnsFlagsRecursionAvailable Opcional Boolean O sinalizador DNS RA indica em uma resposta que o servidor dá suporte a consultas recursivas.
DnsFlagsRecursionDesired Opcional Boolean O sinalizador DNS RD indica em uma solicitação que o cliente gostaria que o servidor usasse consultas recursivas.
DnsFlagsTruncated Opcional Boolean O sinalizador DNS TC indica que uma resposta foi truncada, pois excedeu o tamanho máximo da resposta.
DnsFlagsZ Opcional Boolean O sinalizador DNS Z é preterido, o que pode ser reportado 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, a ID exclusiva da consulta DNS atribuída pelo cliente DNS.

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

Exemplo: USA
DnsResponseIpRegion Opcional Região A região ou estado associado a um dos endereços IP na resposta do DNS. Para obter mais informações, confira 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, confira 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, confira 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, confira Tipos lógicos.

Exemplo: 73.211944

Campos de inspeção

Os campos a seguir são usados para representar uma inspeção que um dispositivo de segurança DNS executou. Os campos relacionados à ameaça representam uma 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 ameaça, informações sobre outros endereços IP poderão ser armazenadas no campo AdditionalFields.

Campo Classe Tipo Descrição
UrlCategory Opcional String Uma origem de evento DNS também pode procurar a categoria dos domínios solicitados. O campo é chamado de UrlCategory para alinhar com o esquema de rede do Microsoft Sentinel.

DomainCategory é adicionado como alias adequado para o DNS.

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

Exemplo: AnyAnyDrop
NetworkRuleNumber Opcional 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 deverá ser convertido em cadeia de caracteres.
ThreatId Opcional Cadeia de caracteres A ID da ameaça ou do malware identificado na sessão de rede.

Exemplo: Tr.124
ThreatCategory Opcional String Se uma origem de evento DNS também fornecer segurança DNS, ela também poderá avaliar o evento DNS. Por exemplo, ele pode pesquisar o endereço IP ou o domínio em um banco de dados de inteligência contra ameaças e atribuir o domínio ou o endereço IP com uma categoria de ameaça.
ThreatIpAddr Opcional Endereço IP Um endereço IP para o qual uma ameaça foi identificada. O campo ThreatField contém o nome do campo que ThreatIpAddr representa. Se uma ameaça for identificada no campo Domínio, esse campo deverá estar vazio.
ThreatField Condicional Enumerated O campo para o qual uma ameaça foi identificada. O valor é SrcIpAddr, DstIpAddr, Domain ou DnsResponseName.
ThreatName Opcional String O nome da ameaça identificada, conforme relatado pelo dispositivo de relatório.
ThreatConfidence Opcional 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 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 é considerada uma ameaça ativa.
ThreatFirstReportedTime Opcional DATETIME A primeira vez em que o endereço IP ou domínio foi identificado como uma ameaça.
ThreatLastReportedTime Opcional DATETIME A última vez em que o endereço IP ou domínio foi identificado como uma ameaça.

Aliases e campos preteridos

Os seguintes campos são alias mantidos para compatibilidade com versões anteriores. Eles foram removidos do esquema em 31 de dezembro de 2021.

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

Atualizações de esquema

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

  • Adicionou o campo EventSchema.
  • Adicionado campo de sinalizador dedicado que aumenta o campo de Sinalizadores combinados: DnsFlagsAuthoritative, DnsFlagsCheckingDisabled, DnsFlagsRecursionAvailable, DnsFlagsRecursionDesired, DnsFlagsTruncated e DnsFlagsZ.

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

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

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

  • Adicionados os campos opcionais ThreatIpAddr, 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, SrcDvcScopeId, SrcDvcScope, 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, SrcOriginalRiskLevel, DstDescription, DstOriginalRiskLevel, SrcUserScopeId, NetworkProtocolVersion, Rule, RuleName, RuleNumber e ThreatId.

Discrepâncias específicas de origem

O objetivo da normalização é garantir que todas as fontes forneçam telemetria consistente. Uma fonte que não fornece a telemetria necessária, como campos de esquema obrigatórios, não pode ser normalizada. No entanto, as fontes que normalmente fornecem todas as telemetrias necessárias, mesmo se houver 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:

Fonte Discrepâncias
Servidor DNS da Microsoft coletado usando o conector DNS e o agente do Log Analytics O conector não fornece o campo DnsQuery obrigatório para a ID de evento original 264 (resposta a uma atualização dinâmica). Os dados estão disponíveis na origem, mas não são encaminhados pelo conector.
Corelight Zeek Corelight Zeek não pode fornecer o campo DnsQuery obrigatório. Observamos esse comportamento em determinados casos em que o nome do código de resposta DNS é NXDOMAIN.

Lidar com 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 registro incluir mais informações de resposta, armazene-o no campo ResponseName como ele aparece no registro.

Você também pode fornecer uma função KQL extra chamada _imDNS<vendor>Response_, que aceita 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 entrada part deve incluir answer, authority ou additional para refletir a parte da resposta a que o dicionário pertence.

Dica

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

Lidar com sinalizadores DNS

A análise e a normalização não são necessárias para dados de sinalizador. Em vez disso, armazene os dados de sinalizador fornecidos pelo dispositivo de relatório no campo Flags. Se a determinação do valor de sinalizadores individuais for direta, 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 aceita a resposta não analisada, ou campos de sinalizadores dedicados, como entrada e retorna uma lista dinâmica, com valores boolianos que representam cada sinalizador na seguinte ordem:

  • AD (Autenticado)
  • AA (Autoritativo)
  • CD (Verificação desabilitada)
  • RA (Recursão disponível)
  • RD (Recursão desejada)
  • TC (Truncado)
  • Z

Próximas etapas

Para obter mais informações, consulte: