Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 de origem.
Para obter mais informações, consulte Normalização e o ASIM (Modelo Avançado de Informações de Segurança).
Visão geral do esquema
O esquema DNS do ASIM representa a atividade do protocolo DNS. Tanto os servidores DNS quanto os dispositivos que enviam solicitações DNS para um servidor DNS registram a atividade DNS. A atividade do protocolo DNS inclui consultas DNS, atualizações de servidor DNS e transferências de dados em massa de DNS. Como o esquema representa a atividade do protocolo, ele é regido por RFCs e listas de parâmetros atribuídas oficialmente, 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 (alias para 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 campo SrcHostname .
EventResultDetails, que informa se a solicitação foi bem-sucedida e, se não, por quê.
Quando disponível, DnsResponseName, que contém a resposta fornecida pelo servidor à consulta. O ASIM não requer a análise da resposta e seu formato varia entre as fontes.
Para usar esse campo em conteúdo independente de origem, pesquise o conteúdo com os
hasoperadores oucontains.
Os eventos DNS coletados no dispositivo cliente também podem incluir informações do Usuário e do Processo .
Diretrizes para coletar eventos DNS
O DNS é um protocolo exclusivo, pois 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 de DNS simplificado, incluindo quatro segmentos. Uma solicitação do mundo real pode ser mais complexa, com mais segmentos envolvidos.
Como os segmentos de solicitação e resposta não estão diretamente conectados entre si no fluxo de solicitação DNS, o registro em log completo pode resultar em duplicação significativa.
O segmento mais valioso a ser registrado é 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 tira proveito de respostas falsas de um servidor upstream.
Se sua fonte de dados der 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 unificam todos os analisadores prontos para uso do ASIM 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 Microsoft Sentinel fornece prontos para uso, consulte a lista de analisadores ASIM.
Adicionar 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 de DNS.
Parâmetros do analisador filtrante
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 | Descrição |
|---|---|---|
| starttime | datetime | Filtre somente consultas DNS executadas nesse horário ou após esse período. Esse parâmetro é filtrado TimeGenerated no campo, que é o designador padrão para a hora do evento, independentemente do mapeamento específico do analisador dos campos EventStartTime e EventEndTime. |
| Hora de Término | datetime | Filtre somente as consultas DNS que terminaram de ser executadas nesse horário ou antes disso. Esse parâmetro é filtrado TimeGenerated no campo, que é o designador padrão para a hora do evento, independentemente do mapeamento específico do analisador dos campos EventStartTime e EventEndTime. |
| srcipaddr | cadeia | Filtre apenas consultas DNS deste endereço IP de origem. |
| domain_has_any | dinâmico/cadeia de caracteres | Filtrar somente consultas DNS em que ( domain ou query) tem qualquer um dos nomes de domínio listados, incluindo como parte do domínio do evento. O comprimento da lista é limitado a 10.000 itens. |
| ResponseCodeName | cadeia | Filtrar somente consultas DNS para as quais o nome do código de resposta corresponde ao valor fornecido. Por exemplo: NXDOMAIN |
| response_has_ipv4 | cadeia | Filtrar somente consultas DNS nas quais o campo de resposta inclui o endereço IP fornecido ou o prefixo de endereço IP. Use este parâmetro quando quiser filtrar em 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 | Filtrar somente consultas DNS nas quais o campo de resposta inclui qualquer um dos endereços IP ou prefixos de endereços IP listados. Os prefixos devem terminar com um ., por exemplo: 10.0.. Use este 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 comprimento da lista é limitado a 10.000 itens. |
| Tipo de evento | cadeia | Filtrar 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 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 quanto um único valor de cadeia de caracteres. Para passar uma lista de literais 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, 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 do parâmetro DNS da IANA (Internet Assigned Numbers Authority).
Campos ASIM comuns
Importante
Os campos comuns a todos os esquemas são descritos em detalhes no artigo Campos comuns do ASIM .
Campos comuns com diretrizes específicas
A lista a seguir menciona campos que têm diretrizes específicas para eventos DNS:
| Field | Classe | Tipo | Descrição |
|---|---|---|---|
| EventType | Obrigatório | Enumerado | Indica a operação relatada pelo registro. Para registros DNS, esse valor seria o código de operação DNS. Exemplo: Query |
| EventSubType | Opcional | Enumerado | Pode ser request ou response. Para a maioria das fontes, somente as respostas são registradas e, portanto, o valor geralmente é resposta. |
| EventResultDetails | Obrigatório | Enumerado | 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 fonte fornecer apenas um código de resposta numérico e não um nome de código de resposta, o analisador deverá incluir uma tabela de pesquisa para enriquecer com esse valor. - Se este registro representar uma solicitação e não uma resposta, defina como NA. Exemplo: NXDOMAIN |
| EventSchemaVersion | Obrigatório | SchemaVersion (cadeia de caracteres) | A versão do esquema documentada aqui é a 1.0.0. |
| EventSchema | Obrigatório | Enumerado | 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 | Fields |
|---|---|
| Obrigatório |
-
EventCount - EventStartTime - EventEndTime - Tipo de evento - EventResult - EventProduct - EventVendor - EventSchema - EventSchemaVersion - DVC |
| Recomendado |
-
EventResultDetails - EventSeveridade - EventUid - DvcIpAddr - Nome do host do DVC - DvcDomain - DvcDomainType - DvcFQDN - DvcId - DvcIdType - DvcAction |
| Opcional |
-
EventMessage - EventSubType - EventOriginalUid - EventOriginalType - EventOriginalSubType - EventOriginalResultDetails - EventOriginalSeverity - EventProductVersion - EventReportUrl - EventOwner - DvcZone - DvcMacAddr - DvcOs - DvcOsVersion - DvcOriginalAction - Interface DvcInterface - AdditionalFields - DvcDescription - DvcScopeId - DvcScope |
Campos do sistema de origem
| Campo | Classe | Tipo | Descrição |
|---|---|---|---|
| SRC | Alias | Cadeia de caracteres | Um identificador exclusivo do dispositivo de origem. Esse campo pode alias para os 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/Região | O país/região 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 | Cidade | 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 à origem. O valor deve ser ajustado para um intervalo de 0 até , com 0 para benigno 100e 100 para alto risco.Exemplo: 90 |
| SrcOriginalRiskLevel | Opcional | Cadeia de caracteres | O nível de risco associado à origem, conforme relatado pelo dispositivo de relatório. Exemplo: Suspicious |
| SrcHostname | Recomendado | Nome do host (cadeia de caracteres) | O nome do host do dispositivo de origem, excluindo informações de domínio. Exemplo: DESKTOP-1282V4D |
| Nome do host | Alias | Alias para SrcHostname | |
| SrcDomain | Recomendado | Domínio (cadeia de caracteres) | O domínio do dispositivo de origem. Exemplo: Contoso |
| SrcDomainType | Condicional | Enumerado | O tipo de SrcDomain, se conhecido. Os valores possíveis incluem: - Windows (como : contoso)- FQDN (como : microsoft.com)Obrigatório se SrcDomain for usado. |
| SrcFQDN | Opcional | FQDN (Cadeia de caracteres) | O nome do host do dispositivo de origem, incluindo informações de domínio, quando disponíveis. Observação: este campo suporta o formato FQDN tradicional e o 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 | Cadeia de caracteres | A ID do escopo da plataforma de nuvem à qual o dispositivo pertence. Mapa SrcDvcScopeId para uma ID de assinatura no Azure e para uma ID de conta no AWS. |
| SrcDvcScope | Opcional | Cadeia de caracteres | O escopo da plataforma de nuvem ao qual o dispositivo pertence. Mapa SrcDvcScope para uma ID de assinatura no Azure e para uma ID de conta no AWS. |
| SrcDvcIdType | Condicional | Enumerado | O tipo de SrcDvcId, se conhecido. Os valores possíveis incluem: - AzureResourceId- MDEidSe várias IDs estiverem disponíveis, use a primeira da lista e armazene as outras em SrcDvcAzureResourceId e SrcDvcMDEid, respectivamente. Observação: esse campo é obrigatório se SrcDvcId for usado. |
| SrcDeviceType | Opcional | Enumerado | O tipo do dispositivo de origem. Os valores possíveis incluem: - Computer- Mobile Device- IOT Device- Other |
| SrcDescription | Opcional | Cadeia de caracteres | Um texto descritivo associado ao dispositivo. Por exemplo: Primary Domain Controller. |
Campos de usuário de origem
| Campo | Classe | Tipo | Descrição |
|---|---|---|---|
| SrcUserId | Opcional | Cadeia de caracteres | Uma representação exclusiva, alfanumérica e legível por máquina do usuário de origem. Para obter mais informações e campos alternativos para IDs adicionais, consulte A entidade User. Exemplo: S-1-12-1-4141952679-1282074057-627758481-2916039507 |
| SrcUserScope | Opcional | Cadeia de caracteres | O escopo, como o locatário do Microsoft Entra, no qual SrcUserId e SrcUsername são definidos. ou obter mais informações e uma lista de valores permitidos, consulte UserScope no artigo Visão geral do esquema. |
| SrcUserScopeId | Opcional | Cadeia de caracteres | A ID do escopo, como a ID do Microsoft Entra Directory, 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 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 (cadeia de caracteres) | O nome de usuário de origem, incluindo informações de domínio, quando disponíveis. Para obter mais informações, consulte A entidade User. 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 | O ID exclusivo da sessão de login do Ator. Exemplo: 102pTUgC3p8RIqHvzxLCHnFlg |
| SrcOriginalUserType | Opcional | Cadeia de caracteres | O tipo de usuário de origem original, se fornecido pela fonte. |
Campos de processo de origem
| Campo | Classe | Tipo | Descrição |
|---|---|---|---|
| SrcProcessName | Opcional | Cadeia de caracteres | O nome do arquivo do processo que iniciou a solicitação DNS. Esse nome normalmente é considerado o nome do processo. Exemplo: C:\Windows\explorer.exe |
| Processo | Alias | Alias para o SrcProcessName Exemplo: C:\Windows\System32\rundll32.exe |
|
| SrcProcessId | Opcional | Cadeia de caracteres | A ID do processo (PID) do processo que iniciou a solicitação DNS. Exemplo: 48610176 Observação: o tipo é definido como cadeia de caracteres para dar suporte a sistemas variados, mas no Windows e no Linux esse valor deve ser numérico. Se você estiver usando um computador 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 | GUID (cadeia de caracteres) | Um identificador exclusivo gerado (GUID) do processo que iniciou a solicitação DNS. Exemplo: EF3BD0BD-2B74-60C5-AF5C-010000001E00 |
Campos do sistema de destino
| Campo | Classe | Tipo | Descrição |
|---|---|---|---|
| Horário de verão | Alias | Cadeia de caracteres | Um identificador exclusivo do servidor que recebeu a solicitação DNS. Esse campo pode ser 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/Região | O país/região associado ao endereço IP de destino. Para obter mais informações, consulte Tipos lógicos. Exemplo: USA |
| DstGeoRegion | Opcional | Região | A região, ou estado, associado com o endereço IP de destino. Para obter mais informações, consulte Tipos lógicos. Exemplo: Vermont |
| DstGeoCity | Opcional | Cidade | 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 de alto risco. Exemplo: 90 |
| DstOriginalRiskLevel | Opcional | Cadeia de caracteres | 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 |
| Nome do host de DST | Opcional | Nome do host (cadeia de caracteres) | 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-1282V4DObservação: esse valor será obrigatório se DstIpAddr for especificado. |
| DstDomain | Opcional | Domínio (cadeia de caracteres) | O domínio do dispositivo de destino. Exemplo: Contoso |
| DstDomainType | Condicional | Enumerado | 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 | FQDN (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: este campo suporta o formato FQDN tradicional e o 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 | Cadeia de caracteres | A ID do escopo da plataforma de nuvem à qual o dispositivo pertence. Mapa de DstDvcScopeId para uma ID de assinatura no Azure e para uma ID de conta no AWS. |
| DstDvcScope | Opcional | Cadeia de caracteres | O escopo da plataforma de nuvem ao qual o dispositivo pertence. Mapa DstDvcScope para uma ID de assinatura no Azure e para uma ID de conta no AWS. |
| DstDvcIdType | Condicional | Enumerado | O tipo de DstDvcId, se conhecido. Os valores possíveis incluem: - AzureResourceId- MDEidIfSe várias IDs estiverem disponíveis, use a primeira na lista acima e armazene as outras nos campos DstDvcAzureResourceId ou DstDvcMDEid , respectivamente. Obrigatório se DstDeviceId for usado. |
| DstDeviceType | Opcional | Enumerado | O tipo do dispositivo de destino. Os valores possíveis incluem: - Computer- Mobile Device- IOT Device- Other |
| DstDescription | Opcional | Cadeia de caracteres | Um texto descritivo associado ao dispositivo. Por exemplo: Primary Domain Controller. |
Campos específicos do DNS
| Campo | Classe | Tipo | Descrição |
|---|---|---|---|
| DnsQuery | Obrigatório | Cadeia de caracteres | O domínio que a solicitação tenta resolver. Observações: - 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 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. Mais notavelmente, 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, se for encontrado. Se a solicitação tiver várias consultas, armazene a primeira nesse 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 do Tipo de Registro de Recurso DNS. Exemplo: 28 |
| DnsQueryTypeName | Recomendado | Enumerado | Os nomes do Tipo de Registro de Recurso 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 é 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 origem fornecer apenas um código numérico do tipo de consulta 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 do DNS são inconsistentes em todos os dispositivos de relatório, são complexos de analisar e têm menos valor para análises independentes de origem. 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 resposta DNS. |
| DnsResponseCodeName | Alias | Alias para EventResultDetails | |
| DnsResponseCode | Opcional | Número inteiro | O código de resposta numérica DNS. Exemplo: 3 |
| TransactionIdHex | Recomendado | Hexadecimal (cadeia de caracteres) | A ID exclusiva de consulta DNS conforme atribuída pelo cliente DNS, em formato hexadecimal. Observe que esse valor faz parte do protocolo DNS e é diferente do DnsSessionId, a ID da sessão da camada de rede, normalmente atribuída pelo dispositivo de relatório. |
| NetworkProtocol | Opcional | Enumerado | 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 | Enumerado | 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 | A ID da classe DNS. Na prática, somente a classe IN (ID 1) é usada e, portanto, esse campo é menos valioso. |
| DnsQueryClassName | Recomendado | DnsQueryClassName (String) | O nome da classe DNS. Na prática, somente a classe IN (ID 1) é usada e, portanto, esse campo é menos valioso. Exemplo: IN |
| DnsFlags | Opcional | Cadeia de caracteres | O campo sinalizadores, conforme fornecido pelo dispositivo de relatório. Se informações de sinalizadores 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 usados com menos frequência por 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 obter mais informações, consulte Manipulando 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 |
| Duration | Alias | Alias para DnsNetworkDuration | |
| DnsFlagsAuthenticated | Opcional | booleano | 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. |
| DnsFlagsAuthoritative | Opcional | booleano | O sinalizador DNS AA indica se a resposta do servidor foi autoritativa |
| DnsFlagsCheckingDisabled | Opcional | booleano | 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. |
| DnsFlagsRecursionAvailable | Opcional | booleano | O sinalizador DNS RA indica em uma resposta que o servidor dá suporte a consultas recursivas. |
| DnsFlagsRecursionDesired | Opcional | booleano | O sinalizador DNS RD indica em uma solicitação que o cliente deseja que o servidor use consultas recursivas. |
| DnsFlagsTruncated | Opcional | booleano | O sinalizador DNS TC indica que uma resposta foi truncada porque excedeu o tamanho máximo de resposta. |
| DnsFlagsZ | Opcional | booleano | O sinalizador DNS Z é um sinalizador DNS preterido, que pode ser relatado por sistemas DNS mais antigos. |
| DnsSessionId | Opcional | cadeia | O identificador de sessão DNS conforme relatado pelo dispositivo de relatório. Esse valor é diferente de TransactionIdHex, a ID exclusiva de consulta DNS atribuída pelo cliente DNS. Exemplo: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55 |
| ID da sessão | Alias | Alias para DnsSessionId | |
| DnsResponseIpCountry | Opcional | País/Região | O país/região associado a um dos endereços IP na resposta DNS. Para obter mais informações, consulte Tipos lógicos. Exemplo: USA |
| DnsResponseIpRegion | Opcional | Região | A região, ou o estado, associado a um dos endereços IP na resposta DNS. Para obter mais informações, consulte Tipos lógicos. Exemplo: Vermont |
| DnsResponseIpCity | Opcional | Cidade | 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, realizada por um dispositivo de segurança DNS. Os campos relacionados a ameaças 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 | Descrição |
|---|---|---|---|
| UrlCategory | Opcional | Cadeia de caracteres | Uma origem de evento DNS também pode pesquisar a categoria dos domínios solicitados. O campo é chamado UrlCategory para se alinhar ao esquema de rede do Microsoft Sentinel. DomainCategory é adicionado como um alias que se ajusta ao DNS. Exemplo: Educational \\ Phishing |
| Categoria de domínio | Alias | Alias para UrlCategory. | |
| RuleName | Opcional | Cadeia de caracteres | O nome ou ID da regra que identificou a ameaça. Exemplo: AnyAnyDrop |
| RuleNumber | Opcional | Número inteiro | O número da regra que identificou a ameaça. Exemplo: 23 |
| Rule | Alias | Cadeia de caracteres | O valor de RuleName ou o valor de RuleNumber. Se o valor de RuleNumber for usado, o tipo deverá ser convertido em cadeia de caracteres. |
| RuleNumber | Opcional | int | O número da regra associada ao alerta. por exemplo, 123456 |
| RuleName | Opcional | cadeia | O nome ou a ID da regra associada ao alerta. por exemplo, Server PSEXEC Execution via Remote Access |
| ID da Ameaça | Opcional | Cadeia de caracteres | A ID da ameaça ou malware identificado na sessão de rede. Exemplo: Tr.124 |
| ThreatCategory | Opcional | Cadeia de caracteres | 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 domínio em um banco de dados de inteligência contra ameaças e atribuir ao domínio ou endereço IP 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 | Enumerado | O campo para o qual uma ameaça foi identificada. O valor é SrcIpAddr, DstIpAddr, Domainou DnsResponseName. |
| Nome da Ameaça | Opcional | Cadeia de caracteres | O nome da ameaça identificada, conforme relatado pelo dispositivo de relatório. |
| ThreatConfidence | Opcional | ConfidenceLevel (inteiro) | O nível de confiança da ameaça identificada, normalizado para um valor entre 0 e 100. |
| ThreatOriginalConfidence | Opcional | Cadeia de caracteres | O nível de confiança original da ameaça identificada, conforme relatado pelo dispositivo de relatório. |
| ThreatRiskLevel | Opcional | RiskLevel (Inteiro) | O nível de risco associado à ameaça identificada, normalizado para um valor entre 0 e 100. |
| ThreatOriginalRiskLevel | Opcional | Cadeia de caracteres | O nível de risco original associado à ameaça identificada, conforme relatado pelo dispositivo de relatório. |
| ThreatIsActive | Opcional | booleano | Verdadeiro 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 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 campos a seguir são aliases mantidos para compatibilidade com versões anteriores. Eles foram removidos do esquema em 31 de dezembro de 2021.
-
Query(alias paraDnsQuery) -
QueryType(alias paraDnsQueryType) -
QueryTypeName(alias paraDnsQueryTypeName) -
ResponseName(alias paraDnsResponseName) -
ResponseCodeName(alias paraDnsResponseCodeName) -
ResponseCode(alias paraDnsResponseCode) -
QueryClass(alias paraDnsQueryClass) -
QueryClassName(alias paraDnsQueryClassName) -
Flags(alias paraDnsFlags) SrcUserDomain
Campos de correlação de entidades
Observação
Os colaboradores não precisam preencher esses campos. Os analisadores aplicáveis os preencherão quando o suporte interno da Microsoft for adicionado.
| Campo | Classe | Tipo | Descrição |
|---|---|---|---|
| DstSystemEntityKey | Opcional | Cadeia de caracteres | Um identificador de string estável e determinístico que identifica de forma única o sistema de destino dentro de um único namespace. Esse identificador único em todo o sistema permite correlação com entidades em outros eventos e inventários de entidades. |
| SrcProcessEntityKey | Opcional | Cadeia de caracteres | Um identificador de string estável e determinístico que identifica de forma única o processo fonte dentro de um único namespace. Esse identificador único em todo o sistema permite correlação com entidades em outros eventos e inventários de entidades. |
| SrcSystemEntityKey | Opcional | Cadeia de caracteres | Um identificador de string estável e determinístico que identifica de forma única o sistema de origem dentro de um único namespace. Esse identificador único em todo o sistema permite correlação com entidades em outros eventos e inventários de entidades. |
| SrcUserAdditionalIds | Opcional | Dinâmico | Para a estrutura e uso dos campos, veja Campos com sufixo com AdditionalIds. |
| SrcUserEntityKey | Opcional | Cadeia de caracteres | Um identificador de string estável e determinístico que identifica de forma única o usuário de origem dentro de um único namespace. Esse identificador único em todo o sistema permite correlação com entidades em outros eventos e inventários de entidades. |
Atualizações de esquema
| Versão | Alterações |
|---|---|
| 0.1.2 | - Adicionou o campo EventSchema.- Adicionados campos de flag dedicados, que aumentam o campo combinado de Flags : DnsFlagsAuthoritative, DnsFlagsCheckingDisabled, DnsFlagsRecursionAvailable, DnsFlagsRecursionDesired, DnsFlagsTruncated, e DnsFlagsZ. |
| 0.1.3 | - Documentou explicitamente os Src*campos, Dst*, , Process*e User* .- Adicionaram mais Dvc* campos para corresponder à definição mais recente de campos comuns.- Adicionado Src e Dst como aliases a um identificador inicial para os sistemas de origem e destino.- Adicionou o campo opcional DnsNetworkDuration e Duration como um alias a ele.- Adicionados campos opcionais de geolocalização e nível de risco. |
| 0.1.4 | Adicionados os campos ThreatIpAddropcionais , ThreatField, ThreatName, ThreatOriginalRiskLevelThreatOriginalConfidenceThreatIsActiveThreatConfidence, , ThreatFirstReportedTime, , e .ThreatLastReportedTime |
| 0.1.5 | Adicionados os campos SrcUserScope, SrcUserSessionId, SrcDvcScopeId, SrcDvcScope, DstDvcScopeIdDstDvcScope, DvcScopeIde DvcScope. |
| 0.1.6 | Adicionados os campos DnsResponseIpCountry, DnsResponseIpRegion, DnsResponseIpCity, DnsResponseIpLatitudee DnsResponseIpLongitude. |
| 0.1.7 | Adicionados os campos SrcDescription, SrcOriginalRiskLevel, DstDescription, DstOriginalRiskLevel, SrcUserScopeIdNetworkProtocolVersion, , Rule, RuleName, , RuleNumber, e ThreatId. |
| 1.0.0 | Adicionaram campos de correlação de entidades. |
Discrepâncias específicas da 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 toda a telemetria necessária, mesmo que haja algumas discrepâncias, podem ser normalizadas. Discrepâncias podem afetar a integridade dos resultados da consulta.
A tabela a seguir lista discrepâncias conhecidas:
| Origem | 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 fonte, mas não são encaminhados pelo conector. |
| Corelight Zeek | O Corelight Zeek pode não fornecer o campo DnsQuery obrigatório. Observamos esse comportamento em determinados casos em que o nome do 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 registro incluir mais informações de resposta, armazene-as no campo ResponseName como aparece no registro.
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 , answerauthority, ou additional para refletir a parte da resposta à qual o dicionário pertence.
Dica
Para garantir o desempenho ideal, chame a imDNS<vendor>Response função somente quando necessário e somente após uma filtragem inicial para garantir um melhor desempenho.
Manipulando sinalizadores DNS
Análise e normalização não são necessárias para dados de 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 direta, você também poderá usar os campos 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 boolianos que representam cada sinalizador na seguinte ordem:
- Autenticado (AD)
- Autoritativo (AA)
- Verificação Desabilitada (CD)
- Recursão Disponível (RA)
- Recursão Desejada (RD)
- Truncado (TC)
- Z
Conteúdo relacionado
- Visão geral do ASIM (Modelo Avançado de Informações de Segurança)
- Esquemas do Modelo de Informação de Segurança Avançada (ASIM)
- Analisadores do ASIM (Modelo Avançado de Informações de Segurança)
- Conteúdo do ASIM (Modelo Avançado de Informações de Segurança)
- Azure Sentinel Webinar: A normalização da informação Model-Understanding em Azure Sentinel