Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O modelo de informações DNS é utilizado para descrever eventos comunicados por um servidor DNS ou um sistema de segurança DNS e é utilizado por Microsoft Sentinel para ativar a análise agnóstica de origem.
Para obter mais informações, veja Normalização e Modelo avançado de informações de segurança (ASIM).
Descrição geral do esquema
O esquema DNS do ASIM representa a atividade do protocolo DNS. Tanto os servidores DNS como os dispositivos que enviam pedidos DNS para uma atividade DNS de registo de servidor DNS. A atividade do protocolo DNS inclui consultas DNS, atualizações do servidor DNS e transferências de dados em massa de DNS. Uma vez que o esquema representa a atividade do protocolo, é 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 comunicada pelos servidores DNS é uma consulta DNS, para a qual o EventType campo está definido como Query.
Os campos mais importantes num evento DNS são:
DnsQuery, que reporta o nome de domínio para o qual a consulta foi emitida.
O SrcIpAddr (aliased to IpAddr), que representa o endereço IP a partir do qual o pedido foi gerado. Normalmente, os servidores DNS fornecem o campo SrcIpAddr, mas, por vezes, os clientes DNS não fornecem este campo e fornecem apenas o campo SrcHostname .
EventResultDetails, que comunica se o pedido foi bem-sucedido e, se não, porquê.
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 o respetivo formato varia entre origens.
Para utilizar este campo em conteúdo agnóstico de origem, pesquise o conteúdo com os
hasoperadores oucontains.
Os eventos DNS recolhidos no dispositivo cliente também podem incluir informações de Utilizador e Processo .
Diretrizes para recolher eventos DNS
O DNS é um protocolo exclusivo, na qual pode atravessar um grande número de computadores. Além disso, uma vez que o DNS utiliza UDP, os pedidos e as respostas são desacoplados e não estão diretamente relacionados entre si.
A imagem seguinte mostra um fluxo de pedido DNS simplificado, incluindo quatro segmentos. Um pedido do mundo real pode ser mais complexo, com mais segmentos envolvidos.
Uma vez que os segmentos de pedido e resposta não estão diretamente ligados entre si no fluxo de pedidos DNS, o registo completo pode resultar numa 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 regisem apenas este segmento, existe um valor no registo das outras partes. Por exemplo, um ataque de envenenamento por cache DNS tira muitas vezes partido de respostas falsas de um servidor a montante.
Se a origem de dados suportar o registo DNS completo e tiver optado por registar vários segmentos, ajuste as consultas para impedir a duplicação de dados no Microsoft Sentinel.
Por exemplo, pode modificar a 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, veja Descrição geral dos analisadores do ASIM.
Analisadores de fora da caixa
Para utilizar analisadores que unifiquem todos os analisadores asIM fora da caixa e certifique-se de que a sua análise é executada em todas as origens _Im_Dns configuradas, utilize o analisador unificador como o nome da tabela na sua consulta.
Para obter a lista de analisadores de DNS Microsoft Sentinel fornece uma lista de analisadores asim.
Adicionar os seus próprios analisadores normalizados
Ao implementar analisadores personalizados para o modelo de informações Dns, atribua um nome às funções KQL com o formato vimDns<vendor><Product>. Veja o artigo Managing ASIM parsers (Gerir analisadores ASIM ) para saber como adicionar os seus analisadores personalizados ao analisador unificador de DNS.
Filtrar parâmetros do analisador
Os analisadores de DNS suportam parâmetros de filtragem. Embora estes parâmetros sejam opcionais, podem melhorar o desempenho da consulta.
Estão disponíveis os seguintes parâmetros de filtragem:
| Name | Tipo | Descrição |
|---|---|---|
| hora de início | datetime | Filtre apenas as consultas DNS que foram executadas em ou depois desta hora. Este parâmetro filtra no TimeGenerated campo, que é o designador padrão para a hora do evento, independentemente do mapeamento específico do analisador dos campos EventStartTime e EventEndTime. |
| endtime | datetime | Filtre apenas as consultas DNS que terminaram de ser executadas em ou antes desta hora. Este parâmetro filtra no TimeGenerated 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 as consultas DNS deste endereço IP de origem. |
| domain_has_any | dinâmico/cadeia | Filtre apenas as consultas DNS em que o domain (ou query) tem qualquer um dos nomes de domínio listados, incluindo como parte do domínio do evento. O comprimento da lista está limitado a 10 000 itens. |
| responsecodename | cadeia | Filtre apenas as consultas DNS para as quais o nome do código de resposta corresponde ao valor fornecido. Por exemplo: NXDOMAIN |
| response_has_ipv4 | cadeia | Filtre apenas as consultas DNS nas quais o campo de resposta inclui o prefixo de endereço IP ou endereço IP fornecido. Utilize este parâmetro quando quiser filtrar um único endereço IP ou prefixo. Os resultados não são devolvidos para origens que não fornecem uma resposta. |
| response_has_any_prefix | dinâmico | Filtre apenas as 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.. Utilize este parâmetro quando quiser filtrar numa lista de endereços IP ou prefixos. Os resultados não são devolvidos para origens que não fornecem uma resposta. O comprimento da lista está limitado a 10 000 itens. |
| eventtype | cadeia | Filtre apenas as consultas DNS do tipo especificado. Se não for especificado nenhum valor, apenas são devolvidas consultas de pesquisa. |
Por exemplo, para filtrar apenas as consultas DNS do último dia que não conseguiram resolver o nome de domínio, utilize:
_Im_Dns (responsecodename = 'NXDOMAIN', starttime = ago(1d), endtime=now())
Para filtrar apenas consultas DNS para uma lista especificada de nomes de domínio, utilize:
let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_Dns (domain_has_any = torProxies)
Alguns parâmetros podem aceitar a lista de valores do tipo dynamic ou um único valor de cadeia. Para transmitir uma lista literal para parâmetros que esperam um valor dinâmico, utilize 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 utilizam eventos DNS normalizados, veja Conteúdo de segurança da 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, veja Referência de parâmetros DNS da Autoridade de Números Atribuídos à Internet (IANA).
Campos ASIM comuns
Importante
Os campos comuns a todos os esquemas são descritos em detalhe no artigo Campos Comuns do ASIM .
Campos comuns com diretrizes específicas
A lista seguinte menciona campos que têm diretrizes específicas para eventos DNS:
| Campo | Classe | Tipo | Descrição |
|---|---|---|---|
| EventType | Obrigatório | Enumerado | Indica a operação comunicada pelo registo. Para registos DNS, este valor seria o código de operações DNS. Exemplo: Query |
| EventSubType | Opcional | Enumerado | Ou request .response Para a maioria das origens, apenas as respostas são registadas e, portanto, o valor é muitas vezes uma resposta. |
| EventResultDetails | Obrigatório | Enumerado | Para eventos DNS, este campo fornece o código de resposta DNS. Notas: - A IANA não define o caso para os valores, pelo que a análise tem de normalizar o caso. - Se a origem fornecer apenas um código de resposta numérico e não um nome de código de resposta, o analisador tem de incluir uma tabela de referência para enriquecer com este valor. - Se este registo representar um pedido e não uma resposta, defina como NA. Exemplo: NXDOMAIN |
| EventSchemaVersion | Obrigatório | SchemaVersion (Cadeia) | A versão do esquema documentado aqui é 0.1.7. |
| EventSchema | Obrigatório | Enumerado | O nome do esquema documentado aqui é Dns. |
| Campos dvc | - | - | Para eventos DNS, os campos do dispositivo referem-se ao sistema que comunica o evento DNS. |
Todos os campos comuns
Os campos que aparecem na tabela abaixo são comuns a todos os esquemas ASIM. Qualquer orientação 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 obter mais detalhes sobre cada campo, veja o artigo Campos Comuns do ASIM .
| Classe | Campos |
|---|---|
| Obrigatório |
-
EventCount - EventStartTime - EventEndTime - EventType - EventResult - EventProduct - EventVendor - EventSchema - EventSchemaVersion - Dvc |
| Recomendado |
-
EventResultDetails - EventoSeverity - 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 - Campos Adicionais - DvcDescription - DvcScopeId - DvcScope |
Campos do sistema de origem
| Campo | Classe | Tipo | Descrição |
|---|---|---|---|
| Src | Alias | Cadeia | Um identificador exclusivo do dispositivo de origem. Este campo pode alias os campos SrcDvcId, SrcHostname ou SrcIpAddr . Exemplo: 192.168.12.1 |
| SrcIpAddr | Recomendado | Endereço IP | O endereço IP do cliente que enviou o pedido DNS. Para um pedido DNS recursivo, este valor seria normalmente 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 to SrcIpAddr (Alias to 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 | Localidade | 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 para , com 0 para benigno e 100 para 100um risco elevado.Exemplo: 90 |
| SrcOriginalRiskLevel | Opcional | Cadeia | O nível de risco associado à origem, conforme comunicado pelo dispositivo de relatório. Exemplo: Suspicious |
| SrcHostname | Recomendado | Nome do anfitrião (Cadeia) | O nome do anfitrião do dispositivo de origem, excluindo as informações de domínio. Exemplo: DESKTOP-1282V4D |
| Hostname | Alias | Alias to SrcHostname (Alias to SrcHostname) | |
| SrcDomain | Recomendado | Domínio (Cadeia) | 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)Necessário se o SrcDomain for utilizado. |
| SrcFQDN | Opcional | FQDN (Cadeia) | O nome do anfitrião do dispositivo de origem, incluindo informações de domínio quando disponível. Nota: este campo suporta o formato FQDN tradicional e o formato de domínio/nome do anfitrião do Windows. O campo SrcDomainType reflete o formato utilizado. Exemplo: Contoso\DESKTOP-1282V4D |
| SrcDvcId | Opcional | Cadeia | O ID do dispositivo de origem, conforme comunicado no registo. Por exemplo: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| SrcDvcScopeId | Opcional | Cadeia | O ID de âmbito da plataforma na cloud ao qual o dispositivo pertence. O mapa SrcDvcScopeId é mapeado para um ID de subscrição no Azure e para um ID de conta no AWS. |
| SrcDvcScope | Opcional | Cadeia | O âmbito da plataforma na cloud ao qual o dispositivo pertence. O SrcDvcScope mapeia para um ID de subscrição no Azure e para um ID de conta no AWS. |
| SrcDvcIdType | Condicional | Enumerado | O tipo de SrcDvcId, se conhecido. Os valores possíveis incluem: - AzureResourceId- MDEidSe estiverem disponíveis vários IDs, utilize o primeiro da lista e armazene os outros no SrcDvcAzureResourceId e SrcDvcMDEid, respetivamente. Nota: este campo é necessário se o SrcDvcId for utilizado. |
| SrcDeviceType | Opcional | Enumerado | O tipo do dispositivo de origem. Os valores possíveis incluem: - Computer- Mobile Device- IOT Device- Other |
| SrcDescription | Opcional | Cadeia | Um texto descritivo associado ao dispositivo. Por exemplo: Primary Domain Controller. |
Campos de utilizador de origem
| Campo | Classe | Tipo | Descrição |
|---|---|---|---|
| SrcUserId | Opcional | Cadeia | Uma representação exclusiva, alfanumérica e legível pelo computador do utilizador de origem. Para obter mais informações e campos alternativos para IDs adicionais, veja A entidade Utilizador. Exemplo: S-1-12-1-4141952679-1282074057-627758481-2916039507 |
| SrcUserScope | Opcional | Cadeia | O âmbito, como Microsoft Entra inquilino, no qual são definidos SrcUserId e SrcUsername. ou mais informações e lista de valores permitidos, veja UserScope no artigo Descrição Geral do Esquema. |
| SrcUserScopeId | Opcional | Cadeia | O ID de âmbito, como Microsoft Entra ID do Diretório, no qual são definidos SrcUserId e SrcUsername. para obter mais informações e lista de valores permitidos, veja UserScopeId no artigo Descrição Geral do Esquema. |
| SrcUserIdType | Condicional | UserIdType | O tipo do ID armazenado no campo SrcUserId . Para obter mais informações e lista de valores permitidos, veja UserIdType no artigo Descrição Geral do Esquema. |
| SrcUsername | Opcional | Nome de utilizador (Cadeia) | O nome de utilizador de origem, incluindo informações de domínio quando disponíveis. Para obter mais informações, veja A entidade Utilizador. Exemplo: AlbertE |
| SrcUsernameType | Condicional | UsernameType | Especifica o tipo do nome de utilizador armazenado no campo SrcUsername . Para obter mais informações e lista de valores permitidos, veja UsernameType no artigo Descrição Geral do Esquema. Exemplo: Windows |
| Utilizador | Alias | Alias to SrcUsername | |
| SrcUserType | Opcional | UserType | O tipo de utilizador de origem. Para obter mais informações e lista de valores permitidos, veja UserType no artigo Descrição Geral do Esquema. Por exemplo: Guest |
| SrcUserSessionId | Opcional | Cadeia | O ID exclusivo da sessão de início de sessão do Ator. Exemplo: 102pTUgC3p8RIqHvzxLCHnFlg |
| SrcOriginalUserType | Opcional | Cadeia | O tipo de utilizador de origem original, se for fornecido pela origem. |
Campos do processo de origem
| Campo | Classe | Tipo | Descrição |
|---|---|---|---|
| SrcProcessName | Opcional | Cadeia | O nome de ficheiro do processo que iniciou o pedido DNS. Normalmente, este nome é considerado o nome do processo. Exemplo: C:\Windows\explorer.exe |
| Processo | Alias | Alias to the SrcProcessName (Alias to the SrcProcessName) Exemplo: C:\Windows\System32\rundll32.exe |
|
| SrcProcessId | Opcional | Cadeia | O ID do processo (PID) do processo que iniciou o pedido DNS. Exemplo: 48610176 Nota: o tipo é definido como cadeia para suportar sistemas variados, mas no Windows e Linux este valor tem de ser numérico. Se estiver a utilizar um computador Windows ou Linux e tiver utilizado um tipo diferente, certifique-se de que converte os valores. Por exemplo, se utilizou um valor hexadecimal, converta-o num valor decimal. |
| SrcProcessGuid | Opcional | GUID (Cadeia) | Um identificador exclusivo gerado (GUID) do processo que iniciou o pedido DNS. Exemplo: EF3BD0BD-2B74-60C5-AF5C-010000001E00 |
Campos do sistema de destino
| Campo | Classe | Tipo | Descrição |
|---|---|---|---|
| Dst | Alias | Cadeia | Um identificador exclusivo do servidor que recebeu o pedido DNS. Este campo pode alias os campos DstDvcId, DstHostname ou DstIpAddr . Exemplo: 192.168.12.1 |
| DstIpAddr | Opcional | Endereço IP | O endereço IP do servidor que recebeu o pedido DNS. Para um pedido DNS normal, este valor seria normalmente 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, veja 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, veja Tipos lógicos. Exemplo: Vermont |
| DstGeoCity | Opcional | Localidade | A cidade associada ao endereço IP de destino. Para obter mais informações, veja 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, veja 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, veja 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, que 0 é benigno e 100 é um risco elevado. Exemplo: 90 |
| DstOriginalRiskLevel | Opcional | Cadeia | O nível de risco associado ao destino, conforme comunicado pelo dispositivo de relatório. Exemplo: Malicious |
| DstPortNumber | Opcional | Número inteiro | Número da Porta de Destino. Exemplo: 53 |
| DstHostname | Opcional | Nome do anfitrião (Cadeia) | O nome do anfitrião do dispositivo de destino, excluindo as informações de domínio. Se não estiver disponível nenhum nome de dispositivo, armazene o endereço IP relevante neste campo. Exemplo: DESKTOP-1282V4DNota: este valor é obrigatório se dstIpAddr for especificado. |
| DstDomain | Opcional | Domínio (Cadeia) | 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)Necessário se o DstDomain for utilizado. |
| DstFQDN | Opcional | FQDN (Cadeia) | O nome do anfitrião 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 de domínio/nome do anfitrião do Windows. O DstDomainType reflete o formato utilizado. |
| DstDvcId | Opcional | Cadeia | O ID do dispositivo de destino, conforme comunicado no registo. Exemplo: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| DstDvcScopeId | Opcional | Cadeia | O ID de âmbito da plataforma na cloud ao qual o dispositivo pertence. DstDvcScopeId mapeie para um ID de subscrição no Azure e para um ID de conta no AWS. |
| DstDvcScope | Opcional | Cadeia | O âmbito da plataforma na cloud ao qual o dispositivo pertence. O DstDvcScope mapeia para um ID de subscrição no Azure e para um ID de conta no AWS. |
| DstDvcIdType | Condicional | Enumerado | O tipo de DstDvcId, se conhecido. Os valores possíveis incluem: - AzureResourceId- MDEidIfSe estiverem disponíveis vários IDs, utilize o primeiro da lista acima e armazene os outros nos campos DstDvcAzureResourceId ou DstDvcMDEid , respetivamente. Necessário se o DstDeviceId for utilizado. |
| DstDeviceType | Opcional | Enumerado | O tipo do dispositivo de destino. Os valores possíveis incluem: - Computer- Mobile Device- IOT Device- Other |
| DstDescription | Opcional | Cadeia | 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 | O domínio que o pedido tenta resolver. Notas: - Algumas origens enviam consultas FQDN válidas num formato diferente. Por exemplo, no próprio protocolo DNS, a consulta inclui um ponto (.) no final, que tem de 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 a valores FQDN. Mais notavelmente, os ataques de túnel DNS podem utilizar valores FQDN inválidos no campo de consulta. - Embora o protocolo DNS permita múltiplas consultas num único pedido, este cenário é raro, se for encontrado. Se o pedido tiver várias consultas, armazene a primeira neste campo e, em seguida, mantenha o resto no campo AdditionalFields . Exemplo: www.malicious.com |
| Domínio | Alias | Alias para DnsQuery. | |
| DnsQueryType | Opcional | Número inteiro | Os códigos do Tipo de Registo de Recursos DNS. Exemplo: 28 |
| DnsQueryTypeName | Recomendado | Enumerado | Os nomes do Tipo de Registo de Recurso DNS . Notas: - A IANA não define o caso para os valores, pelo que a análise tem de 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, em xxxx que é o valor numérico do código de resposta, conforme comunicado 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 tem de incluir uma tabela de referência para enriquecer com este valor. Exemplo: AAAA |
| DnsResponseName | Opcional | Cadeia | O conteúdo da resposta, conforme incluído no registo. Os dados de resposta DNS são inconsistentes em todos os dispositivos de relatório, são complexos de analisar e têm menos valor para a análise de origem agnóstica. Por conseguinte, o modelo de informações não requer análise e normalização e Microsoft Sentinel utiliza uma função auxiliar para fornecer informações de resposta. Para obter mais informações, veja Handling DNS response (Processar a resposta DNS). |
| DnsResponseCodeName | Alias | Alias to EventResultDetails (Alias para EventResultDetails) | |
| DnsResponseCode | Opcional | Número inteiro | O código de resposta numérico DNS. Exemplo: 3 |
| TransactionIdHex | Recomendado | Hexadecimal (Cadeia) | O ID exclusivo da consulta DNS atribuído pelo cliente DNS, no formato hexadecimal. Tenha em atenção que este valor faz parte do protocolo DNS e é diferente de DnsSessionId, o ID de sessão de camada de rede, normalmente atribuído pelo dispositivo de relatório. |
| NetworkProtocol | Opcional | Enumerado | O protocolo de transporte utilizado pelo evento de resolução de rede. O valor pode ser UDP ou TCP e é normalmente definido como UDP para DNS. Exemplo: UDP |
| NetworkProtocolVersion | Opcional | Enumerado | A versão de NetworkProtocol. Ao utilizá-la para distinguir entre a versão do IP, utilize os valores IPv4 e IPv6. |
| DnsQueryClass | Opcional | Número inteiro | O ID da classe DNS. Na prática, só é utilizada a classe IN (ID 1) e, por conseguinte, este campo é menos valioso. |
| DnsQueryClassName | Recomendado | DnsQueryClassName (Cadeia) | O nome da classe DNS. Na prática, só é utilizada a classe IN (ID 1) e, por conseguinte, este campo é menos valioso. Exemplo: IN |
| DnsFlags | Opcional | Cadeia | O campo sinalizadores, conforme fornecido pelo dispositivo de relatório. Se as informações do sinalizador forem fornecidas em vários campos, concatene-as com vírgulas como separador. Uma vez que os sinalizadores DNS são complexos de analisar e são menos utilizados pela análise, análise e normalização não são necessários. Microsoft Sentinel pode utilizar uma função auxiliar para fornecer informações sobre sinalizadores. Para obter mais informações, veja Handling DNS response (Processar a resposta DNS). Exemplo: ["DR"] |
| DnsNetworkDuration | Opcional | Número inteiro | A quantidade de tempo, em milissegundos, para a conclusão do pedido DNS. Exemplo: 1500 |
| Duração | Alias | Alias to DnsNetworkDuration (Alias to DnsNetworkDuration) | |
| DnsFlagsAuthenticated | Opcional | Booleano | O sinalizador DNS AD , que está relacionado com dNSSEC, indica numa resposta que todos os dados incluídos nas secçõ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 Secçã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 com DNSSEC, indica numa consulta que os dados não verificados são aceitáveis para o sistema que envia a consulta. Para obter mais informações, consulte RFC 3655 Secção 6.1 para obter mais informações. |
| DnsFlagsRecursion Disponível | Opcional | Booleano | O sinalizador DNS RA indica numa resposta que esse servidor suporta consultas recursivas. |
| DnsFlagsRecursionDesired | Opcional | Booleano | O sinalizador DNS RD indica num pedido que esse cliente gostaria que o servidor utilizasse consultas recursivas. |
| DnsFlagsTruncated | Opcional | Booleano | O sinalizador DNS TC indica que uma resposta foi truncada, uma vez que excedeu o tamanho máximo da resposta. |
| DnsFlagsZ | Opcional | Booleano | O sinalizador DNS Z é um sinalizador DNS preterido, que pode ser reportado por sistemas DNS mais antigos. |
| DnsSessionId | Opcional | cadeia | O identificador de sessão DNS, conforme comunicado pelo dispositivo de relatório. Este valor é diferente de TransactionIdHex, o ID exclusivo da consulta DNS atribuído pelo cliente DNS. Exemplo: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55 |
| SessionId | Alias | Alias to DnsSessionId (Alias to 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, veja Tipos lógicos. Exemplo: USA |
| DnsResponseIpRegion | Opcional | Região | A região, ou estado, associado a um dos endereços IP na resposta DNS. Para obter mais informações, veja Tipos lógicos. Exemplo: Vermont |
| DnsResponseIpCity | Opcional | Localidade | A cidade associada a um dos endereços IP na resposta DNS. Para obter mais informações, veja 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, veja 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, veja Tipos lógicos. Exemplo: 73.211944 |
Campos de inspeção
Os seguintes campos são utilizados para representar uma inspeção, que um dispositivo de segurança DNS realizou. Os campos relacionados com 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 do que uma ameaça tiver sido 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 | Uma origem de evento DNS também pode procurar a categoria dos Domínios pedidos. O campo chama-se UrlCategory para alinhar com o esquema de rede Microsoft Sentinel. DomainCategory é adicionado como um alias adequado ao DNS. Exemplo: Educational \\ Phishing |
| DomainCategory | Alias | Alias para UrlCategory. | |
| RuleName | Opcional | Cadeia | 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 |
| Regra | Alias | Cadeia | O valor de RuleName ou o valor de RuleNumber. Se o valor de RuleNumber for utilizado, o tipo deve ser convertido em cadeia. |
| RuleNumber | Opcional | int | O número da regra associada ao alerta. Por exemplo, 123456 |
| RuleName | Opcional | cadeia | O nome ou ID da regra associada ao alerta. Por exemplo, Server PSEXEC Execution via Remote Access |
| ThreatId | Opcional | Cadeia | O ID da ameaça ou software maligno identificado na sessão de rede. Exemplo: Tr.124 |
| ThreatCategory | Opcional | Cadeia | Se uma origem de evento DNS também fornecer segurança DNS, também poderá avaliar o evento DNS. Por exemplo, pode procurar o endereço IP ou domínio numa base de dados de informações sobre 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. |
| ThreatField | Condicional | Enumerado | O campo para o qual foi identificada uma ameaça. O valor é SrcIpAddr, DstIpAddr, ou DomainDnsResponseName. |
| ThreatName | Opcional | Cadeia | O nome da ameaça identificada, conforme comunicado pelo dispositivo de relatório. |
| ThreatConfidence | Opcional | ConfidenceLevel (Número Inteiro) | O nível de confiança da ameaça identificada, normalizado para um valor entre 0 e 100. |
| ThreatOriginalConfidence | Opcional | Cadeia | O nível de confiança original da ameaça identificado, conforme comunicado pelo dispositivo de relatório. |
| ThreatRiskLevel | Opcional | RiskLevel (Número Inteiro) | O nível de risco associado à ameaça identificada, normalizado para um valor entre 0 e 100. |
| ThreatOriginalRiskLevel | Opcional | Cadeia | O nível de risco original associado à ameaça identificado, conforme comunicado 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 que o endereço IP ou domínio foi identificado como uma ameaça. |
Aliases e campos preteridos
Os seguintes campos são aliases que são mantidos para retrocompatibilidade. Foram removidos do esquema a 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
Atualizações de esquema
As alterações na versão 0.1.2 do esquema são:
- Adicionado o campo
EventSchema. - Foi adicionado o campo de sinalizador dedicado, que aumenta o campo de Sinalizadores combinado:
DnsFlagsAuthoritative,DnsFlagsCheckingDisabled,DnsFlagsRecursionAvailable,DnsFlagsRecursionDesired,DnsFlagsTruncatedeDnsFlagsZ.
As alterações na versão 0.1.3 do esquema são:
- O esquema agora documenta explicitamente os campos
Src*,Dst*Process*eUser*. - Foram adicionados mais
Dvc*campos para corresponder à definição de campos comuns mais recente. - Adicionados
SrceDstcomo aliases a um identificador à esquerda para os sistemas de origem e destino. - Adicionado opcional
DnsNetworkDurationeDuration, um alias ao mesmo. - Foram adicionados os campos Localização Geográfica e Nível de Risco opcionais.
As alterações na versão 0.1.4 do esquema são:
- Foram adicionados os campos opcionais
ThreatIpAddr,ThreatField,ThreatName,ThreatConfidence,ThreatOriginalConfidence,ThreatOriginalRiskLevel,ThreatIsActive,ThreatFirstReportedTimeeThreatLastReportedTime.
As alterações na versão 0.1.5 do esquema são:
- Foram adicionados os campos
SrcUserScope,SrcUserSessionId,SrcDvcScopeId,SrcDvcScope,DstDvcScopeId,DstDvcScope,DvcScopeIdeDvcScope.
As alterações na versão 0.1.6 do esquema são:
- Foram adicionados os campos
DnsResponseIpCountry,DnsResponseIpRegion,DnsResponseIpCity,DnsResponseIpLatitudeeDnsResponseIpLongitude.
As alterações na versão 0.1.7 do esquema são:
- Foram adicionados os campos
SrcDescription,SrcOriginalRiskLevel,DstDescription,DstOriginalRiskLevel,SrcUserScopeId,NetworkProtocolVersion,Rule,RuleName,RuleNumbereThreatId.
Discrepâncias específicas da origem
O objetivo da normalização é garantir que todas as origens fornecem telemetria consistente. Não é possível normalizar uma origem que não forneça a telemetria necessária, como campos de esquema obrigatórios. No entanto, as origens que normalmente fornecem toda a telemetria necessária, mesmo que existam algumas discrepâncias, podem ser normalizadas. As discrepâncias podem afetar a conclusão dos resultados da consulta.
A tabela seguinte lista discrepâncias conhecidas:
| Source (Origem) | Discrepâncias |
|---|---|
| Servidor DNS da Microsoft Recolhido com o conector DNS e o Agente do Log Analytics | 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 origem, mas não são reencaminhados pelo conector. |
| Corelight Zeek | O Corelight Zeek pode não fornecer o campo DnsQuery obrigatório. Observámos este 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 registados 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.
Também pode fornecer uma função KQL extra denominada _imDNS<vendor>Response_, que utiliza a resposta não preparada como entrada e devolve um 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, authorityou additional para refletir a parte na resposta à qual o dicionário pertence.
Sugestão
Para garantir um desempenho ideal, chame a imDNS<vendor>Response função apenas quando necessário e apenas após uma filtragem inicial para garantir um melhor desempenho.
Processar sinalizadores DNS
A análise e a normalização não são necessárias para sinalizar dados. Em vez disso, armazene os dados de sinalizador fornecidos pelo dispositivo de relatório no campo Sinalizadores . Se determinar o valor de sinalizadores individuais for direto, também pode utilizar os campos de sinalizadores dedicados.
Também pode fornecer uma função KQL extra denominada _imDNS<vendor>Flags_, que utiliza a resposta não preparada ou campos de sinalizador dedicados, como entrada e devolve uma lista dinâmica, com valores booleanos que representam cada sinalizador pela seguinte ordem:
- Autenticado (AD)
- Autoritativo (AA)
- Verificar Desativado (CD)
- Recursion Available (RA)
- Recursion Desired (RD)
- Truncado (TC)
- Z
Passos seguintes
Para mais informações, consulte:
- Ver o Webinar do ASIM ou rever os diapositivos
- Descrição geral do Modelo de Informação de Segurança Avançada (ASIM)
- Esquemas do Modelo de Informação de Segurança Avançada (ASIM)
- Analisadores do Modelo de Informação de Segurança Avançada (ASIM)
- Conteúdo do Modelo de Informação de Segurança Avançada (ASIM)