Partekatu honen bidez:


Referencia del esquema de normalización DNS del Modelo de información de seguridad avanzada (ASIM): versión preliminar pública

El modelo de información de DNS se usa para describir los eventos notificados por un servidor DNS o un sistema de seguridad DNS; Microsoft Sentinel lo usa para habilitar el análisis independiente del origen.

Para obtener más información, consulte Normalización y Modelo avanzado de información de seguridad (SIEM).

Importante

El esquema de normalización de DNS está actualmente en VERSIÓN PRELIMINAR. Esta característica se ofrece sin contrato de nivel de servicio y no se recomienda para cargas de trabajo de producción.

En la página Términos de uso complementarios para las Versiones preliminares de Microsoft Azure se incluyen términos legales adicionales que se aplican a las características de Azure que se encuentran en versión beta, versión preliminar o que todavía no se han publicado para su disponibilidad general.

Información general del esquema

El esquema DNS de ASIM representa la actividad del protocolo DNS. Tanto los servidores DNS como los dispositivos que envían solicitudes DNS a una actividad DNS de registro del servidor DNS. La actividad del protocolo DNS incluye consultas de DNS, actualizaciones del servidor DNS y transferencias masivas de datos DNS. Puesto que el esquema representa la actividad del protocolo, se rige por RFC y listas de parámetros asignados oficialmente, a las que se hace referencia en este artículo cuando corresponda. El esquema DNS no representa eventos de auditoría del servidor DNS.

La actividad más importante notificada por los servidores DNS es una consulta de DNS, para la que el campo EventType se establece en Query.

Los campos más importantes de un evento DNS son:

  • DnsQuery, que informa del nombre de dominio para el que se emitió la consulta.

  • SrcIpAddr (con el alias IpAddr), que representa la dirección IP desde la que se generó la solicitud. Los servidores DNS suelen proporcionar el campo SrcIpAddr, pero los clientes DNS a veces no lo proporcionan y solo proporcionan el campo SrcHostname.

  • EventResultDetails, que informa sobre si la solicitud se ha realizado correctamente y, si no es así, por qué.

  • Cuando esté disponible, DnsResponseName, que contiene la respuesta proporcionada por el servidor a la consulta. ASIM no requiere analizar la respuesta y su formato varía entre orígenes.

    Para usar este campo en contenido independiente del origen, busque en el contenido con los operadores has o contains.

Los eventos DNS recopilados en el dispositivo cliente también pueden incluir información de usuario y proceso.

Directrices para recopilar eventos de DNS

DNS es un protocolo único, en el sentido de que puede aplicarse a un gran número de equipos. Además, dado que DNS usa UDP, las solicitudes y respuestas se desacoplan y no están directamente relacionadas entre sí.

En la imagen siguiente se muestra un flujo de solicitudes de DNS simplificado que incluye cuatro segmentos. Una solicitud real puede ser más compleja, con más segmentos implicados.

Flujo de solicitudes de DNS simplificado.

Puesto que los segmentos de solicitud y respuesta no están conectados directamente entre sí en el flujo de solicitudes de DNS, el registro completo puede dar lugar a una duplicación significativa.

El segmento más valioso para registrar es la respuesta al cliente. La respuesta proporciona las consultas de nombre de dominio, el resultado de la búsqueda y la dirección IP del cliente. Si bien muchos sistemas DNS solo registran este segmento, el registro de las otras partes también tiene su valor. Por ejemplo, un ataque de envenenamiento de la caché de DNS a menudo aprovecha las respuestas falsas de un servidor que precede en la cadena.

Si el origen de datos admite el registro de DNS completo y ha elegido registrar varios segmentos, ajuste las consultas para evitar la duplicación de datos en Microsoft Sentinel.

Por ejemplo, puede modificar la consulta con la normalización siguiente:

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

Analizadores

Para más información sobre los analizadores de ASIM,consulte la introducción a los analizadores de ASIM.

Analizadores de serie

Para usar los analizadores que unifican todos los analizadores de serie de ASIM y asegurarse de que el análisis se ejecuta en todos los orígenes configurados, use el analizador de unificación _Im_Dns como nombre de tabla en la consulta.

Para obtener la lista de analizadores de DNS que proporciona Microsoft Sentinel de serie, consulte la lista de analizadores de ASIM.

Adición de sus propios analizadores normalizados

Al implementar analizadores personalizados para el modelo de información de DNS, asigne un nombre a las funciones KQL con formato vimDns<vendor><Product>. Consulte el artículo Administración de analizadores de ASIM para obtener información sobre cómo agregar los analizadores personalizados al analizador de unificación de DNS.

Filtrado de parámetros del analizador

Los analizadores de DNS admiten parámetros de filtrado. Aunque estos parámetros son opcionales, pueden mejorar el rendimiento de las consultas.

Están disponibles los siguientes parámetros de filtrado:

Nombre Escribir Descripción
starttime datetime Filtre solo las consultas de DNS que se han ejecutado a esta hora o después.
endtime datetime Filtre solo las consultas de DNS que han terminado de ejecutarse a esta hora o antes.
srcipaddr string Filtre solo las consultas de DNS desde esta dirección IP de origen.
domain_has_any dynamic/string Filtre solo las consultas de DNS en las que domain (o query) tenga cualquiera de los nombres de dominio enumerados, incluidos como parte del dominio de evento. La longitud de la lista se limita a 10 000 elementos.
responsecodename string Filtre solo las consultas de DNS para las que el nombre del código de respuesta coincida con el valor proporcionado.
Por ejemplo: NXDOMAIN
response_has_ipv4 string Filtre solo las consultas de DNS en las que el campo de respuesta incluya la dirección IP o el prefijo de dirección IP proporcionados. Use este parámetro cuando quiera filtrar por una única dirección IP o prefijo.

Los resultados no se devuelven para los orígenes que no proporcionan una respuesta.
response_has_any_prefix dinámico Filtre solo las consultas de DNS en las que el campo de respuesta incluya cualquiera de las direcciones IP o prefijos de dirección IP proporcionados. Los prefijos deben terminar por ., por ejemplo: 10.0..

Use este parámetro cuando quiera filtrar por una lista de direcciones IP o prefijos.

Los resultados no se devuelven para los orígenes que no proporcionan una respuesta. La longitud de la lista se limita a 10 000 elementos.
eventtype string Filtre solo las consultas de DNS del tipo especificado. Si no se especifica ningún valor, solo se devuelven consultas de búsqueda.

Por ejemplo, para filtrar solo las consultas de DNS del último día que no pudieron resolver el nombre de dominio, utilice:

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

Para filtrar solo las consultas de DNS para una lista especificada de nombres de dominio, use:

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

Algunos parámetros pueden aceptar la lista de valores de tipo dynamic o un único valor de cadena. Para pasar una lista literal a parámetros que esperan un valor dinámico, use explícitamente un literal dinámico. Por ejemplo: dynamic(['192.168.','10.'])

Contenido normalizado

Para obtener una lista completa de las reglas de análisis que usan eventos DNS normalizados, vea Contenido de seguridad de consultas de DNS.

Detalles del esquema

El modelo de información DNS se alinea con el esquema de entidad de DNS de OSSEM.

Para obtener más información, consulte la referencia de parámetros de DNS de Internet Assigned Numbers Authority (IANA).

Campos comunes de ASIM

Importante

Los campos comunes a todos los esquemas se describen detalladamente en el artículo Campos comunes de ASIM.

Campos comunes con directrices específicas

En la lista siguiente se mencionan los campos que tienen directrices específicas para los eventos de DNS:

Campo Clase Tipo Descripción
EventType Mandatory Enumerated Indica la operación notificada por el registro.

En los registros DNS, este valor es el código de operación de DNS.

Ejemplo: Query
EventSubType Opcionales Enumerated request o response.

En la mayoría de los orígenes solo se registran las respuestas, por lo que este valor suele ser response.
EventResultDetails Mandatory Enumerated Para los eventos de DNS, este campo proporciona el código de respuesta de DNS.

Notas:
- IANA no define las mayúsculas y minúsculas de los valores, por lo que el análisis debe normalizarlas.
- Si el origen solo proporciona un código de respuesta numérico y no un nombre de código de respuesta, el analizador debe incluir una tabla de búsqueda para enriquecerla con este valor.
- Si este registro representa una solicitud y no una respuesta, establézcalo en NA.

Ejemplo: NXDOMAIN
EventSchemaVersion Mandatory String La versión del esquema que se documenta aquí es la 0.1.7.
EventSchema Mandatory String El nombre del esquema que se documenta aquí es DNS.
Campos dvc - - Para los eventos DNS, los campos de dispositivo hacen referencia al sistema que informa del evento DNS.

Todos los campos comunes

Los campos que aparecen en la tabla siguiente son comunes a todos los esquemas de ASIM. Cualquier directriz especificada anteriormente invalida las directrices generales para el campo. Por ejemplo, un campo podría ser opcional en general, pero obligatorio para un esquema específico. Para obtener más información sobre cada campo, consulte el siguiente artículo sobre los campos comunes de ASIM.

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

Campos del sistema de origen

Campo Clase Tipo Descripción
Src Alias String Identificador único del dispositivo de destino.

Este campo puede ser un alias de los campos SrcDvcId, SrcHostname o SrcIpAddr.

Ejemplo: 192.168.12.1
SrcIpAddr Recomendado Dirección IP Dirección IP del cliente que envió la solicitud DNS. En una solicitud de DNS recursiva, este valor suele ser el dispositivo de informes y, en la mayoría de los casos, está establecido en 127.0.0.1.

Ejemplo: 192.168.12.1
SrcPortNumber Opcional Entero Puerto de origen de la consulta de DNS.

Ejemplo: 54312
IpAddr Alias Alias de SrcIpAddr
SrcGeoCountry Opcionales País País asociado con la dirección IP de origen.

Ejemplo: USA
SrcGeoRegion Opcionales Region Región asociada con la dirección IP de origen.

Ejemplo: Vermont
SrcGeoCity Opcionales City (Ciudad) Ciudad asociada con la dirección IP de origen.

Ejemplo: Burlington
SrcGeoLatitude Opcionales Latitud Latitud de la coordenada geográfica asociada con la dirección IP de origen.

Ejemplo: 44.475833
SrcGeoLongitude Opcionales Longitud Longitud de la coordenada geográfica asociada con la dirección IP de origen.

Ejemplo: 73.211944
SrcRiskLevel Opcional Entero Nivel de riesgo asociado con el origen. El valor debe ajustarse a un intervalo de 0 a 100, con 0 para inofensivo y 100 para alto riesgo.

Ejemplo: 90
SrcOriginalRiskLevel Opcional Entero El nivel de riesgo asociado al origen, tal como lo notifica el dispositivo que informa.

Ejemplo: Suspicious
SrcHostname Recomendado String Nombre de host del dispositivo de origen, excepto la información de dominio.

Ejemplo: DESKTOP-1282V4D
Nombre de host Alias Alias de SrcHostname
SrcDomain Recomendado String Dominio del dispositivo de origen.

Ejemplo: Contoso
SrcDomainType Condicional Enumerated Tipo de SrcDomain, si se conoce. Los valores posibles son:
- Windows (por ejemplo, contoso)
- FQDN (por ejemplo, microsoft.com)

Obligatorio si se usa el campo SrcDomain.
SrcFQDN Opcional String Nombre de host del dispositivo de origen, incluida la información de dominio cuando está disponible.

Nota: Este campo admite tanto el formato de FQDN tradicional como el formato de dominio\nombre de host de Windows. El campo SrcDomainType refleja el formato usado.

Ejemplo: Contoso\DESKTOP-1282V4D
SrcDvcId Opcional String Identificador del dispositivo de origen tal y como se muestra en el registro.

Por ejemplo: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
SrcDvcScopeId Opcionales String Identificador del ámbito de la plataforma en la nube a la que pertenece el dispositivo. SrcDvcScopeId se asigna a un identificador de suscripción en Azure y a un identificador de cuenta en AWS.
SrcDvcScope Opcionales String Identificador de la suscripción de la plataforma en la nube a la que pertenece el dispositivo. SrcDvcScope se asigna a un identificador de suscripción en Azure y a un identificador de cuenta en AWS.
SrcDvcIdType Condicional Enumerated Tipo de SrcDvcId, si se conoce. Los valores posibles son:
- AzureResourceId
- MDEid

Si hay varios identificadores disponibles, use el primero de la lista y almacene los demás en los campos SrcDvcAzureResourceId y SrcDvcMDEid, respectivamente.

Nota: Este campo es necesario si se usa el campo SrcDvcId.
SrcDeviceType Opcionales Enumerated Tipo del dispositivo de origen. Los valores posibles son:
- Computer
- Mobile Device
- IOT Device
- Other
SrcDescription Opcionales String Texto descriptivo asociado al dispositivo. Por ejemplo: Primary Domain Controller.

Campos del usuario de origen

Campo Clase Tipo Descripción
SrcUserId Opcional String Representación única, alfanumérica y legible por una máquina del usuario de origen. Para obtener más información y conocer los campos alternativos para los identificadores adicionales, consulteEntidad User.

Ejemplo: S-1-12-1-4141952679-1282074057-627758481-2916039507
SrcUserScope Opcionales String Ámbito, como el inquilino de Microsoft Entra, en el que se definen SrcUserId y SrcUsername. Para obtener más información y una lista de los valores permitidos, consulte UserScope en el artículo Introducción al esquema.
SrcUserScopeId Opcional String El identificador del ámbito, como el identificador de directorio de Microsoft Entra, en el que se definen SrcUserId y SrcUsername. Para más información y para ver una lista de los valores permitidos, consulte UserScopeId en el artículo Introducción al esquema.
SrcUserIdType Condicional UserIdType Tipo del identificador almacenado en el campo SrcUserId. Para obtener más información y una lista de los valores permitidos, consulte UserIdType en el artículo Introducción al esquema.
SrcUsername Opcional Nombre de usuario Nombre de usuario, incluida la información del dominio, cuando esté disponible. Para más información, consulte la Entidad Usuario.

Ejemplo: AlbertE
SrcUsernameType Condicional UsernameType Especifica el tipo de nombre de usuario almacenado en el campo SrcUsername. Para obtener más información y una lista de los valores permitidos, consulte UsernameType en el artículo Introducción al esquema.

Ejemplo: Windows
User Alias Alias de SrcUsername
SrcUserType Opcionales UserType Tipo del usuario de origen. Para obtener más información y una lista de los valores permitidos, consulte UserType en el artículo Introducción al esquema.

Por ejemplo: Guest
SrcUserSessionId Opcionales String Identificador único de la sesión de inicio de sesión del actor.

Ejemplo: 102pTUgC3p8RIqHvzxLCHnFlg
SrcOriginalUserType Opcional String El tipo de usuario de origen original, si lo proporciona el origen.

Campos de proceso de origen

Campo Clase Tipo Descripción
SrcProcessName Opcional String Nombre de archivo del proceso que inició la solicitud de DNS. Por lo general, este nombre se considera el nombre del proceso.

Ejemplo: C:\Windows\explorer.exe
Process Alias Alias de SrcProcessName

Ejemplo: C:\Windows\System32\rundll32.exe
SrcProcessId Opcional String Identificador de proceso (PID) del proceso que inició la solicitud de DNS.

Ejemplo: 48610176

Nota: El tipo se define como cadena para admitir distintos sistemas, pero en Windows y Linux este valor debe ser numérico.

Si usa una máquina Windows o Linux y usa un tipo diferente, asegúrese de convertir los valores. Por ejemplo, si ha utilizado un valor hexadecimal, conviértalo en un valor decimal.
SrcProcessGuid Opcional String Identificador único (GUID) generado del proceso que inició la solicitud de DNS.

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

Campos del sistema de destino

Campo Clase Tipo Descripción
Dst Alias String Identificador único del servidor que recibió la solicitud de DNS.

Este campo puede ser un alias de los campos DstDvcId, DstHostname o DstIpAddr.

Ejemplo: 192.168.12.1
DstIpAddr Opcionales Dirección IP Dirección IP del servidor que recibió la solicitud de DNS. En una solicitud de DNS normal, este valor suele ser el dispositivo de informes y, en la mayoría de los casos, está establecido en 127.0.0.1.

Ejemplo: 127.0.0.1
DstGeoCountry Opcionales País País asociado con la dirección IP de destino. Para obtener más información, consulte Tipos lógicos.

Ejemplo: USA
DstGeoRegion Opcionales Region Región o estado asociados con la dirección IP de destino. Para obtener más información, consulte Tipos lógicos.

Ejemplo: Vermont
DstGeoCity Opcionales City (Ciudad) Ciudad asociada con la dirección IP de destino. Para obtener más información, consulte Tipos lógicos.

Ejemplo: Burlington
DstGeoLatitude Opcionales Latitud Latitud de la coordenada geográfica asociada con la dirección IP de destino. Para obtener más información, consulte Tipos lógicos.

Ejemplo: 44.475833
DstGeoLongitude Opcionales Longitud Longitud de la coordenada geográfica asociada con la dirección IP de destino. Para obtener más información, consulte Tipos lógicos.

Ejemplo: 73.211944
DstRiskLevel Opcional Entero Nivel de riesgo asociado con el destino. El valor debe ajustarse a un intervalo de 0 a 100, siendo 0 inofensivo y 100 de alto riesgo.

Ejemplo: 90
DstOriginalRiskLevel Opcional Entero El nivel de riesgo asociado al destino, tal como lo notifica el dispositivo que informa.

Ejemplo: Malicious
DstPortNumber Opcional Entero Número de puerto de destino.

Ejemplo: 53
DstHostname Opcional String Nombre de host del dispositivo de destino, excepto la información de dominio. Si no hay ningún nombre de dispositivo disponible, almacene la dirección IP correspondiente en este campo.

Ejemplo: DESKTOP-1282V4D

Nota: Este valor es obligatorio si se especifica el campo DstIpAddr.
DstDomain Opcional String Dominio del dispositivo de destino.

Ejemplo: Contoso
DstDomainType Condicional Enumerated El tipo de DstDomain, si se conoce. Los valores posibles son:
- Windows (contoso\mypc)
- FQDN (learn.microsoft.com)

Obligatorio si se usa el campo DstDomain.
DstFQDN Opcional String Nombre de host del dispositivo de destino, incluida la información de dominio cuando esté disponible.

Ejemplo: Contoso\DESKTOP-1282V4D

Nota: Este campo admite tanto el formato de FQDN tradicional como el formato de dominio\nombre de host de Windows. El campo DstDomainType refleja el formato utilizado.
DstDvcId Opcional String Identificador del dispositivo de destino, como se indica en el registro.

Ejemplo: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3
DstDvcScopeId Opcionales String Identificador del ámbito de la plataforma en la nube a la que pertenece el dispositivo. DstDvcScopeId se asigna a un identificador de suscripción en Azure y a un identificador de cuenta en AWS.
DstDvcScope Opcionales String Identificador de la suscripción de la plataforma en la nube a la que pertenece el dispositivo. DstDvcScope se asigna a un identificador de suscripción en Azure y a un identificador de cuenta en AWS.
DstDvcIdType Condicional Enumerated El tipo de DstDvcId, si se conoce. Los valores posibles son:
- AzureResourceId
- MDEidIf

Si hay varios identificadores disponibles, use el primero de la lista y almacene los demás en los campos DstDvcAzureResourceId y DstDvcMDEid, respectivamente.

Obligatorio si se usa el campo DstDeviceId.
DstDeviceType Opcionales Enumerated Tipo del dispositivo de destino. Los valores posibles son:
- Computer
- Mobile Device
- IOT Device
- Other
DstDescription Opcionales String Texto descriptivo asociado al dispositivo. Por ejemplo: Primary Domain Controller.

Campos específicos de DNS.

Campo Clase Tipo Descripción
DnsQuery Mandatory String Dominio que la solicitud intenta resolver.

Notas:
- Algunos orígenes envían consultas FQDN válidas en un formato diferente. Por ejemplo, en el propio protocolo DNS, la consulta incluye un punto (.) al final, que se debe quitar.
- Aunque el protocolo DNS limita el tipo de valor de este campo a un FQDN, la mayoría de los servidores DNS permiten cualquier valor y, por lo tanto, este campo no se limita únicamente a los valores de FQDN. En particular, los ataques de tunelización DNS pueden usar valores FQDN no válidos en el campo de consulta.
- Si bien el protocolo DNS permite varias consultas en una sola solicitud, este escenario es poco frecuente, si es que se da. Si la solicitud tiene varias consultas, almacene la primera en este campo y, opcionalmente, mantenga el resto en el campo AdditionalFields.

Ejemplo: www.malicious.com
Domain Alias Alias de DnsQuery.
DnsQueryType Opcional Entero Los códigos de tipo de registro de recursos DNS.

Ejemplo: 28
DnsQueryTypeName Recomendado Enumerated Los nombres de tipo de registro de recursos DNS.

Notas:
- IANA no define las mayúsculas y minúsculas de los valores, por lo que el análisis debe normalizarlas según sea necesario.
- El valor ANY es compatible con el código de respuesta 255.
- El valor TYPExxxx se admite para códigos de respuesta no asignados, donde xxxx es el valor numérico del código de respuesta según el informe del servidor DNS BIND.
- Si el origen solo proporciona un código de tipo de consulta numérico y no un nombre de tipo de consulta, el analizador debe incluir una tabla de búsqueda para enriquecerla con este valor.

Ejemplo: AAAA
DnsResponseName Opcional String Contenido de la respuesta, tal como se incluye en el registro.

Los datos de la respuesta de DNS son incoherentes entre los dispositivos de informes, son complejos de analizar y tienen menos valor para el análisis independiente del origen. Por lo tanto, el modelo de información no requiere análisis y normalización, y Microsoft Sentinel utiliza una función auxiliar para proporcionar la información de respuesta. Para obtener más información, consulte Control de la respuesta de DNS.
DnsResponseCodeName Alias Alias de EventResultDetails
DnsResponseCode Opcional Entero El código de respuesta numérico de DNS.

Ejemplo: 3
TransactionIdHex Recomendado String Identificador único de consulta de DNS asignado por el cliente DNS, en formato hexadecimal. Tenga en cuenta que este valor forma parte del protocolo DNS y es diferente de DnsSessionId, el identificador de sesión de nivel de red, normalmente asignado por el dispositivo de informes.
NetworkProtocol Opcional Enumerated El protocolo de transporte utilizado por el evento de resolución de red. El valor puede ser UDP o TCP, y suele establecerse en UDP para DNS.

Ejemplo: UDP
NetworkProtocolVersion Opcional Enumerated Versión de NetworkProtocol. Cuando se use para distinguir entre la versión de IP, use los valores IPv4 y IPv6.
DnsQueryClass Opcional Entero El identificador de clase DNS.

En la práctica, solo se usa la clase IN (identificador 1), por lo que este campo resulta menos valioso.
DnsQueryClassName Opcional String El nombre de clase DNS.

En la práctica, solo se usa la clase IN (identificador 1), por lo que este campo resulta menos valioso.

Ejemplo: IN
DnsFlags Opcionales String Campo de marcas, tal como lo proporciona el dispositivo de informes. Si se proporciona información de marca en varios campos, concaténelas con la coma como separador.

Dado que las marcas de DNS son complejas de analizar y se usan con menos frecuencia en el análisis, no es necesario analizar ni normalizar. Microsoft Sentinel puede usar una función auxiliar para proporcionar información de marcas. Para obtener más información, consulte Control de la respuesta de DNS.

Ejemplo: ["DR"]
DnsNetworkDuration Opcional Entero Cantidad de tiempo, en milisegundos, para la finalización de la solicitud de DNS.

Ejemplo: 1500
Duration Alias Alias de DnsNetworkDuration
DnsFlagsAuthenticated Opcionales Boolean La marca DNS AD, que está relacionada con DNSSEC, indica en una respuesta que el servidor ha comprobado todos los datos incluidos en las secciones de respuesta y autoridad de la respuesta según las directivas de ese servidor. Para más información, consulte RFC 3655 sección 6.1.
DnsFlagsAuthoritative Opcionales Boolean La marca DNS AA indica si la respuesta del servidor fue autoritativa.
DnsFlagsCheckingDisabled Opcionales Boolean La marca DNS CD, que está relacionada con DNSSEC, indica en una consulta que los datos no comprobados son aceptables para el sistema que envía la consulta. Para más información, consulte RFC 3655 sección 6.1.
DnsFlagsRecursionAvailable Opcionales Boolean La marca DNS RA indica en una respuesta que ese servidor admite consultas recursivas.
DnsFlagsRecursionDesired Opcionales Boolean La marca DNS RD indica en una solicitud que a ese cliente le gustaría que el servidor usara consultas recursivas.
DnsFlagsTruncated Opcionales Boolean La marca TC de DNS indica que una respuesta se trunca al superar el tamaño máximo de respuesta.
DnsFlagsZ Opcionales Boolean La marca DNS Z es una marca DNS en desuso que podría ser notificada por sistemas DNS antiguos.
DnsSessionId Opcional string Identificador de sesión DNS notificado por el dispositivo de informes. Tenga en cuenta que este valor es diferente de TransactionIdHex, el identificador único de consulta de DNS asignado por el cliente DNS.

Ejemplo: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55
SessionId Alias Alias de DnsSessionId
DnsResponseIpCountry Opcionales País El país asociado a una de las direcciones IP de la respuesta DNS. Para obtener más información, consulte Tipos lógicos.

Ejemplo: USA
DnsResponseIpRegion Opcionales Region La región o el estado asociados a una de las direcciones IP de la respuesta DNS. Para obtener más información, consulte Tipos lógicos.

Ejemplo: Vermont
DnsResponseIpCity Opcionales City La ciudad asociada a una de las direcciones IP de la respuesta DNS. Para obtener más información, consulte Tipos lógicos.

Ejemplo: Burlington
DnsResponseIpLatitude Opcionales Latitud La latitud de la coordenada geográfica asociada a una de las direcciones IP de la respuesta DNS. Para obtener más información, consulte Tipos lógicos.

Ejemplo: 44.475833
DnsResponseIpLongitude Opcionales Longitud La longitud de la coordenada geográfica asociada a una de las direcciones IP de la respuesta DNS. Para obtener más información, consulte Tipos lógicos.

Ejemplo: 73.211944

Campos de inspección

Los siguientes campos se usan para representar una inspección, realizada por un dispositivo de seguridad DNS. Los campos relacionados con amenazas representan una única amenaza asociada a la dirección de origen, a la dirección de destino, a una de las direcciones IP de la respuesta o al dominio de consulta de DNS. Si se identificó más de una amenaza como tal, la información sobre otras direcciones IP se puede almacenar en el campo AdditionalFields.

Campo Clase Tipo Descripción
UrlCategory Opcional String Un origen de eventos de DNS también puede buscar la categoría de los dominios solicitados. El campo se llama UrlCategory para alinearse con el esquema de red de Microsoft Sentinel.

Se agrega DomainCategory como alias que se adapta a DNS.

Ejemplo: Educational \\ Phishing
DomainCategory Alias Alias de UrlCategory.
NetworkRuleName Opcionales String El nombre o identificador de la regla que identificó la amenaza.

Ejemplo: AnyAnyDrop
NetworkRuleNumber Opcional Entero El número de la regla que identificó la amenaza.

Ejemplo: 23
Regla Alias String El valor de NetworkRuleName o el valor de NetworkRuleNumber. Si se usa el valor de NetworkRuleNumber, el tipo se debe convertir en cadena.
ThreatId Opcional String Identificador de la amenaza o del malware identificados en la sesión de red.

Ejemplo: Tr.124
ThreatCategory Opcional String Si un origen de eventos de DNS también proporciona seguridad DNS, puede además evaluar el evento de DNS. Por ejemplo, puede buscar la dirección IP o el dominio en una base de datos de inteligencia sobre amenazas y asignar al dominio o la dirección IP una categoría de amenazas.
ThreatIpAddr Opcionales Dirección IP Dirección IP para la que se identificó una amenaza. El campo ThreatField contiene el nombre del campo ThreatIpAddr que representa. Si se identifica una amenaza en el campo Dominio, este campo debe estar vacío.
ThreatField Condicional Enumerated Campo para el que se identificó una amenaza. El valor es SrcIpAddr, DstIpAddr, Domain o DnsResponseName.
ThreatName Opcional String El nombre de la amenaza identificada, tal como lo notifica el dispositivo que informa.
ThreatConfidence Opcional Entero Nivel de confianza de la amenaza identificada, normalizada en un valor comprendido entre 0 y 100.
ThreatOriginalConfidence Opcionales String El nivel de confianza original de la amenaza identificada, tal como lo notifica el dispositivo que informa.
ThreatRiskLevel Opcional Entero Nivel de riesgo asociado a la amenaza identificada, normalizada en un valor comprendido entre 0 y 100.
ThreatOriginalRiskLevel Opcionales String Nivel de riesgo original asociado a la amenaza identificada, tal como lo notifica el dispositivo que informa.
ThreatIsActive Opcionales Boolean True si la amenaza identificada se considera una amenaza activa.
ThreatFirstReportedTime Opcionales datetime La primera vez que la dirección IP o el dominio se identificaron como una amenaza.
ThreatLastReportedTime Opcionales datetime La primera vez que la dirección IP o el dominio se identificaron como una amenaza.

Alias y campos en desuso

Los campos siguientes son alias que se mantienen por compatibilidad con versiones anteriores. Se quitaron del esquema el 31 de diciembre de 2021.

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

Actualizaciones del esquema

Los cambios en la versión 0.1.2 del esquema son los siguientes:

  • Se ha agregado el campo EventSchema.
  • Se ha agregado el campo de marca dedicado que aumenta el campo combinado Marcas: DnsFlagsAuthoritative, DnsFlagsCheckingDisabled, DnsFlagsRecursionAvailable, DnsFlagsRecursionDesired, DnsFlagsTruncated y DnsFlagsZ.

Los cambios en la versión 0.1.3 del esquema son los siguientes:

  • El esquema ahora documenta explícitamente los campos Src*, Dst*, Process* y User*.
  • Se han agregado más campos Dvc* para que coincidan con la definición de campos comunes más reciente.
  • Se han agregado Src y Dst como alias a un identificador inicial para los sistemas de origen y destino.
  • Se han agregado los campos opcionales DnsNetworkDuration y Duration, un alias.
  • Se han agregado los campos opcionales Ubicación geográfica y Nivel de riesgo.

Los cambios en la versión 0.1.4 del esquema son los siguientes:

  • Se han agregado los campos opcionales ThreatIpAddr, ThreatField, ThreatName, ThreatConfidence, ThreatOriginalConfidence, ThreatOriginalRiskLevel, ThreatIsActive, ThreatFirstReportedTime y ThreatLastReportedTime.

Los cambios en la versión 0.1.5 del esquema son los siguientes:

  • Se han agregado los campos SrcUserScope, SrcUserSessionId, SrcDvcScopeId, SrcDvcScope, DstDvcScopeId, DstDvcScope, DvcScopeId y DvcScope.

Los cambios en la versión 0.1.6 del esquema son los siguientes:

  • Se han agregado los campos DnsResponseIpCountry, DnsResponseIpRegion, DnsResponseIpCity, DnsResponseIpLatitude y DnsResponseIpLongitude.

Los cambios en la versión 0.1.7 del esquema son los siguientes:

  • Se han agregado los campos SrcDescription, SrcOriginalRiskLevel, DstDescription, DstOriginalRiskLevel, SrcUserScopeId, NetworkProtocolVersion, Rule, RuleName, RuleNumber y ThreatId.

Discrepancias específicas del origen

El objetivo de la normalización es asegurarse de que todos los orígenes proporcionan telemetría coherente. No se puede normalizar un origen que no proporcione la telemetría necesaria, como los campos de esquema obligatorios. Sin embargo, los orígenes que normalmente proporcionan toda la telemetría necesaria, incluso si hay algunas discrepancias, se pueden normalizar. Las discrepancias pueden afectar a la integridad de los resultados de la consulta.

En la tabla siguiente se enumeran las discrepancias conocidas:

Origen Discrepancias
Servidor DNS de Microsoft Recopilado mediante el conector DNS y el agente de Log Analytics El conector no proporciona el campo DnsQuery obligatorio para el identificador de evento original 264 (respuesta a una actualización dinámica). Los datos están disponibles en el origen, pero el conector no los reenvía.
Corelight Zeek Es posible que Corelight Zeek no proporcione el campo DnsQuery obligatorio. Hemos observado este comportamiento en determinados casos en los que el nombre del código de respuesta DNS es NXDOMAIN.

Control de la respuesta de DNS

En la mayoría de los casos, los eventos de DNS registrados no incluyen información de la respuesta, que puede ser amplia y detallada. Si el registro incluye más información de respuesta, almacénela en el campo ResponseName tal como aparece en el registro.

También puede proporcionar una función KQL adicional denominada _imDNS<vendor>Response_, que toma la respuesta sin analizar como entrada y devuelve un valor dinámico con la siguiente estructura:

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

Los campos de cada diccionario del valor dinámico corresponden a los campos de cada respuesta de DNS. La entrada part debe incluir answer, authority o additional para reflejar la parte de la respuesta a la que pertenece el diccionario.

Sugerencia

Para garantizar un rendimiento óptimo, llame a la función imDNS<vendor>Response solo cuando sea necesario y solo después de un filtrado inicial para garantizar un mejor rendimiento.

Control de marcas DNS

El análisis y la normalización no son necesarios para los datos de marca. En lugar de ello, almacene los datos de marca proporcionados por el dispositivo de informes en el campo Flags. Si la determinación del valor de las marcas individuales es directa, también puede usar los campos de marcas dedicadas.

También puede proporcionar una función KQL adicional denominada _imDNS<vendor>Flags_, que toma la respuesta sin analizar, o campos de marcas dedicados, como entrada y devuelve una lista dinámica, con valores booleanos que representan cada marca con el siguiente orden:

  • Autenticado (AD)
  • Autoritativo (AA)
  • Comprobación deshabilitada (CD)
  • Recursividad disponible (RA)
  • Recursividad deseada (RD)
  • Truncado (TC)
  • Z

Pasos siguientes

Para más información, consulte: