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
ocontains
.
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.
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 aDnsQuery
)QueryType
(alias aDnsQueryType
)QueryTypeName
(alias aDnsQueryTypeName
)ResponseName
(alias aDnsReasponseName
)ResponseCodeName
(alias aDnsResponseCodeName
)ResponseCode
(alias aDnsResponseCode
)QueryClass
(alias aDnsQueryClass
)QueryClassName
(alias aDnsQueryClassName
)Flags
(alias aDnsFlags
)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
yDnsFlagsZ
.
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*
yUser*
. - Se han agregado más campos
Dvc*
para que coincidan con la definición de campos comunes más reciente. - Se han agregado
Src
yDst
como alias a un identificador inicial para los sistemas de origen y destino. - Se han agregado los campos opcionales
DnsNetworkDuration
yDuration
, 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
yThreatLastReportedTime
.
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
yDvcScope
.
Los cambios en la versión 0.1.6 del esquema son los siguientes:
- Se han agregado los campos
DnsResponseIpCountry
,DnsResponseIpRegion
,DnsResponseIpCity
,DnsResponseIpLatitude
yDnsResponseIpLongitude
.
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
yThreatId
.
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:
- El seminario web de ASIM o las diapositivas
- Introducción al Modelo avanzado de información de seguridad (ASIM)
- Esquemas del Modelo avanzado de información de seguridad (ASIM)
- Analizadores del Modelo avanzado de información de seguridad (ASIM)
- Contenido del Modelo avanzado de información de seguridad (ASIM)