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 oucontains
.
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.
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/região 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 100 e 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/região 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/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 | 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 deDnsQuery
)QueryType
(pseudónimo deDnsQueryType
)QueryTypeName
(pseudónimo deDnsQueryTypeName
)ResponseName
(pseudónimo deDnsResponseName
)ResponseCodeName
(pseudónimo deDnsResponseCodeName
)ResponseCode
(pseudónimo deDnsResponseCode
)QueryClass
(pseudónimo deDnsQueryClass
)QueryClassName
(pseudónimo deDnsQueryClassName
)Flags
(pseudónimo deDnsFlags
)SrcUserDomain
Atualizações de esquema
As alterações na versão 0.1.2 do esquema são:
- Adicionado o campo
EventSchema
. - Adicionado campo de sinalizador dedicado, que aumenta o campo Sinalizadores combinado:
DnsFlagsAuthoritative
,DnsFlagsCheckingDisabled
,DnsFlagsRecursionAvailable
,DnsFlagsRecursionDesired
,DnsFlagsTruncated
, eDnsFlagsZ
.
As alterações na versão 0.1.3 do esquema são:
- O esquema agora documenta
Src*
explicitamente ,Dst*
Process*
eUser*
campos. - Adicionado mais
Dvc*
campos para corresponder à definição de campos comuns mais recente. - Adicionado
Src
eDst
como aliases a um identificador principal para os sistemas de origem e destino. - Adicionado opcional
DnsNetworkDuration
eDuration
, 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
ThreatIpAddr
opcionais ,ThreatField
,ThreatName
,ThreatConfidence
,ThreatOriginalConfidence
,ThreatOriginalRiskLevel
,ThreatIsActive
,ThreatFirstReportedTime
, eThreatLastReportedTime
.
As alterações na versão 0.1.5 do esquema são:
- Adicionados os campos
SrcUserScope
,SrcUserSessionId
, ,SrcDvcScopeId
SrcDvcScope
,DstDvcScopeId
,DstDvcScope
,DvcScopeId
, eDvcScope
.
As alterações na versão 0.1.6 do esquema são:
- Adicionados os campos
DnsResponseIpCountry
,DnsResponseIpRegion
,DnsResponseIpCity
,DnsResponseIpLatitude
, eDnsResponseIpLongitude
.
As alterações na versão 0.1.7 do esquema são:
- Adicionados os campos
SrcDescription
, , ,DstDescription
DstOriginalRiskLevel
,SrcUserScopeId
,NetworkProtocolVersion
,Rule
,RuleName
, eRuleNumber
ThreatId
.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 , answer
authority
ou 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:
- Assista ao Webinar da ASIM ou revise os slides
- Visão geral do ASIM (Advanced Security Information Model, modelo avançado de informações de segurança)
- Esquemas ASIM (Advanced Security Information Model)
- Analisadores ASIM (Advanced Security Information Model)
- Conteúdo do modelo avançado de informações de segurança (ASIM)