Modificación del contenido para usar el modelo de información de seguridad avanzada (ASIM)

El contenido de seguridad normalizado de Microsoft Sentinel incluye reglas de análisis, consultas de búsqueda proactiva y libros de trabajo que funcionan con analizadores de normalización unificada.

Puede encontrar contenido normalizado y predefinido en galerías de Microsoft Sentinel y catálogo de soluciones de Microsoft Sentinel, crear su propio contenido normalizado o modificar contenido personalizado existente para usar datos normalizados.

En este artículo se explica cómo convertir las reglas de análisis de Microsoft Sentinel existentes para usar datos normalizados de ASIM con advanced Security Information Model (ASIM).

Para comprender cómo se ajusta el contenido normalizado dentro de la arquitectura de ASIM, consulte el diagrama de arquitectura de ASIM.

Modificación del contenido personalizado para usar la normalización

Para permitir que el contenido de Microsoft Sentinel personalizado use la normalización:

  • Modifique las consultas para que usen los analizadores unificadores de ASIM que sean pertinentes para la consulta.

  • Modifique los nombres de campo de la consulta para usar los nombres de campo de esquemas normalizados de ASIM .

  • Cuando corresponda, cambie las condiciones para usar los valores normalizados de los campos de la consulta.

Normalización de muestras para reglas de analítica

Por ejemplo, considere la regla de análisis de DNS Rare client observed with high reverse DNS lookup count, que funciona en eventos de DNS enviados por servidores DNS de Infoblox:

let threshold = 200;
InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
| summarize count() by Client_IP, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (InfobloxNIOS
    | where ProcessName =~ "named" and Log_Type =~ "client"
    | where isnotempty(ResponseCode)
    | where ResponseCode =~ "NXDOMAIN"
    ) on Client_IP
| extend timestamp = TimeGenerated, IPCustomEntity = Client_IP

El código siguiente es la versión independiente del origen, que usa la normalización para proporcionar la misma detección para cualquier origen que proporcione eventos de consulta DNS. En el ejemplo siguiente se usan analizadores de ASIM integrados:

_Im_Dns(responsecodename='NXDOMAIN')
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns(responsecodename='NXDOMAIN')) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr

La versión normalizada independiente del origen tiene las siguientes diferencias:

  • Se utilizan los analizadores normalizados _Im_Dns o imDns en lugar del analizador Infoblox.

  • Los analizadores normalizados obtienen solo eventos de consulta DNS, por lo que no es necesario comprobar el tipo de evento, como hace where ProcessName =~ "named" and Log_Type =~ "client" en la versión de Infoblox.

  • El SrcIpAddr campo se usa en lugar de Client_IP.

  • El filtrado de parámetros del analizador se usa para ResponseCodeName, lo que elimina la necesidad de una cláusula explícita where .

Nota:

Además de admitir cualquier origen DNS normalizado, la versión normalizada es más corta y fácil de entender.

Si el esquema o los analizadores no admiten parámetros de filtrado, los cambios de consulta necesarios para normalizar la regla son similares, salvo que las condiciones de filtrado se mantienen de la consulta original. Por ejemplo:

let threshold = 200;
imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns
    | where isnotempty(ResponseCodeName)
    | where ResponseCodeName =~ "NXDOMAIN"
    ) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr

Consulte más información sobre los siguientes elementos de KQL usados en los ejemplos de normalización de consultas DNS, en la documentación de Kusto:

Para obtener más información sobre KQL, consulte introducción a Lenguaje de consulta Kusto (KQL).

Otros recursos:

Para obtener más información, consulte los siguientes recursos: