Migración de reglas de detección de QRadar a Microsoft Sentinel

En este artículo se describe cómo identificar, comparar y migrar las reglas de detección de QRadar a reglas integradas de Microsoft Sentinel.

Identificación y migración de reglas

Microsoft Sentinel usa análisis de aprendizaje automático para crear incidentes de alta fidelidad sobre los que se puede actuar; algunas de las detecciones que ya tiene pueden ser redundantes en Microsoft Sentinel. Por tanto, no migre todas las reglas de detección y análisis a ciegas. Revise estas consideraciones cuando identifique las reglas de detección existentes.

  • Asegúrese de seleccionar los casos de uso que justifican la migración de reglas, teniendo en cuenta la prioridad empresarial y la eficacia.
  • Asegúrese de entender los tipos de reglas de Microsoft Sentinel.
  • Asegúrese de entender la terminología de las reglas.
  • Revise las reglas que no hayan desencadenado ninguna alerta en los últimos 6 a 12 meses y determine si siguen siendo pertinentes.
  • Elimine las amenazas o alertas de bajo nivel que omite de forma rutinaria.
  • Use la funcionalidad existente y compruebe si las reglas de análisis integradas de Microsoft Sentinel podrían abordar los casos de uso actuales. Como Microsoft Sentinel usa análisis de aprendizaje automático para generar incidentes procesables y muy fiables, es probable que algunas de las detecciones existentes ya no sean necesarias.
  • Confirme los orígenes de datos conectados y revise los métodos de conexión de datos. Vuelva a revisar las conversaciones de recopilación de datos para garantizar la profundidad y la amplitud de los datos en todos los casos de uso que piensa detectar.
  • Explore los recursos de la comunidad, como SOC Prime Threat Detection Marketplace, para comprobar si las reglas están disponibles.
  • Piense si un convertidor de consultas en línea, como Uncoder.io, podría funcionar en las reglas.
  • Si las reglas no están disponibles o no se pueden convertir, se deben crear manualmente mediante una consulta de KQL. Revise la asignación de reglas para crear consultas.

Obtenga más información sobre los procedimientos recomendados para migrar reglas de detección.

Para migrar las reglas de análisis a Microsoft Sentinel:

  1. Compruebe que cuenta con un sistema de pruebas para cada regla que quiere migrar.

    1. Prepare un proceso de validación para las reglas migradas, incluidos escenarios y scripts de prueba completos.

    2. Asegúrese de que el equipo tiene recursos útiles para probar las reglas migradas.

    3. Confirme que tiene los orígenes de datos necesarios conectados y revise los métodos de conexión de datos.

  2. Compruebe si las detecciones están disponibles como plantillas integradas en Microsoft Sentinel:

    • Si las reglas integradas son suficientes, use plantillas de reglas integradas para crear reglas para su propia área de trabajo.

      En Microsoft Sentinel, vaya a la pestaña Configuración > Análisis > Plantillas de reglas y cree y actualice cada regla de análisis pertinente.

      Para más información, consulte Detección de amenazas integrada.

    • Si tiene detecciones que no están cubiertas por las reglas integradas de Microsoft Sentinel, pruebe un convertidor de consultas en línea, como Uncoder.io, para convertir las consultas a KQL.

      Identifique la condición del desencadenador y la acción de regla y, a continuación, construya y revise la consulta KQL.

    • Si ni las reglas integradas ni un convertidor de reglas en línea son suficientes, deberá crear la regla manualmente. En tal caso, siga estos pasos para empezar a crear la regla:

      1. Identifique los orígenes de datos que desea usar en la regla. Querrá crear una tabla de asignación entre los orígenes de datos y las tablas de datos de Microsoft Sentinel para identificar las tablas que quiere consultar.

      2. Identifique los atributos, campos o entidades en los datos que desea usar en las reglas.

      3. Identifique los criterios y la lógica de la regla. En esta fase, puede que desee usar plantillas de regla como ejemplos para construir las consultas KQL.

        Considere la posibilidad de usar filtros, reglas de correlación, listas activas, conjuntos de referencias, listas de control, anomalías de detección, agregaciones, etcétera. Puede usar las referencias proporcionadas por la solución de SIEM heredada para entender cómo asignar mejor la sintaxis de consulta.

      4. Identifique la condición del desencadenador y la acción de regla y, a continuación, construya y revise la consulta KQL. Al revisar la consulta, considere la posibilidad de usar los recursos de guía de optimización de KQL.

  3. Pruebe la regla con cada uno de los casos de uso pertinentes. Si no consigue los resultados esperados, es posible que quiera revisar la consulta de KQL y probarla de nuevo.

  4. Cuando esté satisfecho, puede considerar la regla migrada. Cree un cuaderno de estrategias para la acción de regla según sea necesario. Para obtener más información, vea Automatización de la respuesta a amenazas con cuadernos de estrategias en Microsoft Sentinel.

Obtenga más información sobre las reglas de análisis:

Comparación de la terminología de las reglas

Esta tabla ayuda a aclarar el concepto de regla en Microsoft Sentinel en comparación con QRadar.

QRadar Microsoft Sentinel
Tipo de regla • Eventos
• Flujo
• Común
• Ofensa
• Reglas de detección de anomalías
• Consulta programada
• Fusión
• Seguridad de Microsoft
• Análisis de comportamiento de Machine Learning (ML)
Criterios Definir en condición de prueba Definir en KQL
Desencadenar condición Definir en regla Umbral: número de resultados de la consulta
Acción • Crear ofensa
• Enviar un evento nuevo
• Agregar al conjunto de referencias o a los datos
• Y más
• Crear alerta o incidente
• Integrar con Logic Apps

Asignación y comparación de ejemplos de reglas

Use estos ejemplos para comparar y asignar reglas de QRadar a Microsoft Sentinel en distintos escenarios.

Regla Syntax Regla de detección de ejemplo (QRadar) Consulta de KQL de ejemplo Recursos
Pruebas de propiedades comunes Sintaxis de QRadar Ejemplo de expresión regular
Ejemplo de consulta de filtro de AQL
Ejemplo Es igual a, No es igual a
Ejemplo de expresión regular
Ejemplo de consulta de filtro de AQL
Ejemplo Es igual a, No es igual a
• Expresión regular: coincide con la expresión regular
• Consulta de filtro de AQL: operadores de cadena
• Es igual a, No es igual a: operadores de cadena
Pruebas de fecha y hora Sintaxis de QRadar Ejemplo Día seleccionado del mes
Ejemplo Día seleccionado de la semana
Ejemplo Antes de, después de o el
Ejemplo Día seleccionado del mes
Ejemplo Día seleccionado de la semana
Ejemplo Antes de, después de o el
Operadores de fecha y hora
• Día seleccionado del mes: dayofmonth()
• Día seleccionado de la semana: dayofweek()
• Después de/antes de/el: format_datetime()
Pruebas de propiedades de evento Sintaxis de QRadar Ejemplo de protocolo IP
Ejemplo de cadena de carga del evento
Ejemplo de protocolo IP
Ejemplo de cadena de carga del evento
• Protocolo IP: operadores de cadena
• Cadena de carga del evento: tiene
Funciones: contadores Sintaxis de QRadar Ejemplo de propiedad de evento y hora Ejemplo de propiedad de evento y hora summarize
Funciones: condiciones negativas Sintaxis de QRadar Ejemplo de condiciones negativas Ejemplo de condiciones negativas join()
Operadores de cadena
Operadores numéricos
Funciones: sencillas Sintaxis de QRadar Ejemplo de condiciones simples Ejemplo de condiciones simples or
Pruebas de IP o puerto Sintaxis de QRadar Ejemplo de puerto de origen
Ejemplo de IP de origen
Ejemplo de puerto de origen
Ejemplo de IP de origen
Pruebas de origen de registro Sintaxis de QRadar Ejemplo de origen de registro Ejemplo de origen de registro

Sintaxis de pruebas de propiedades comunes

Esta es la sintaxis de QRadar para una regla de pruebas de propiedades comunes.

Diagrama que ilustra una sintaxis habitual de regla de prueba de propiedad.

Pruebas de propiedades comunes: ejemplo de expresión regular (QRadar)

Esta es la sintaxis de una regla de pruebas de propiedades comunes de QRadar de ejemplo que usa una expresión regular:

when any of <these properties> match <this regular expression>

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla habitual de prueba de propiedad que usa una expresión regular.

Pruebas de propiedades comunes: ejemplo de expresión regular (KQL)

Esta es la regla de pruebas de propiedades comunes con una expresión regular en KQL.

CommonSecurityLog
| where tostring(SourcePort) matches regex @"\d{1,5}" or tostring(DestinationPort) matches regex @"\d{1,5}"

Pruebas de propiedades comunes: ejemplo de consulta de filtro de AQL (QRadar)

Esta es la sintaxis de una regla de pruebas de propiedades comunes de QRadar de ejemplo que usa una consulta de filtro de AQL.

when the event matches <this> AQL filter query

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla habitual de prueba de propiedad que usa una consulta de filtro A Q L.

Pruebas de propiedades comunes: ejemplo de consulta de filtro de AQL (KQL)

Esta es la regla de pruebas de propiedades comunes con una consulta de filtro de AQL en KQL.

CommonSecurityLog
| where SourceIP == '10.1.1.10'

Pruebas de propiedades comunes: ejemplo Es igual a, No es igual a (QRadar)

Esta es la sintaxis de una regla de pruebas de propiedades comunes de QRadar de ejemplo que usa el operador equals o not equals.

and when <this property> <equals/not equals> <this property>

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla habitual de prueba de propiedad que usa el signo de igual o su contrario.

Pruebas de propiedades comunes: ejemplo Es igual a, No es igual a (KQL)

Esta es la regla de pruebas de propiedades comunes con el operador equals o not equals en KQL.

CommonSecurityLog
| where SourceIP == DestinationIP

Sintaxis de pruebas de fecha y hora

Esta es la sintaxis de QRadar para una regla de pruebas de fecha y hora.

Diagrama que ilustra una sintaxis de regla de pruebas de fecha y hora.

Pruebas de fecha y hora: ejemplo Día seleccionado del mes (QRadar)

Esta es la sintaxis de una regla de pruebas de fecha y hora de QRadar de ejemplo que usa un día seleccionado del mes.

and when the event(s) occur <on/after/before> the <selected> day of the month

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla de pruebas de fecha y hora que usa un día seleccionado.

Pruebas de fecha y hora: ejemplo Día seleccionado del mes (KQL)

Esta es la regla de pruebas de fecha y hora con un día seleccionado del mes en KQL.

SecurityEvent
 | where dayofmonth(TimeGenerated) < 4

Pruebas de fecha y hora: ejemplo Día seleccionado de la semana (QRadar)

Esta es la sintaxis de una regla de pruebas de fecha y hora de QRadar de ejemplo que usa un día seleccionado de la semana:

and when the event(s) occur on any of <these days of the week{Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}>

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla de pruebas de fecha y hora que usa un día seleccionado de la semana.

Pruebas de fecha y hora: ejemplo Día seleccionado de la semana (KQL)

Esta es la regla de pruebas de fecha y hora con un día seleccionado de la semana en KQL.

SecurityEvent
 | where dayofweek(TimeGenerated) between (3d .. 5d)

Pruebas de fecha y hora: ejemplo Después de/antes de/el (QRadar)

Esta es la sintaxis de una regla de pruebas de fecha y hora de QRadar de ejemplo que usa el operador after, before o at.

and when the event(s) occur <after/before/at> <this time{12.00AM, 12.05AM, ...11.50PM, 11.55PM}>

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla de pruebas de fecha y hora que usa el operador after/before/at.

Pruebas de fecha y hora: ejemplo Después de/antes de/el (KQL)

Esta es la regla de pruebas de fecha y hora que usa el operador after, before o at en KQL.

SecurityEvent
| where format_datetime(TimeGenerated,'HH:mm')=="23:55"

TimeGenerated está en UTC/GMT.

Sintaxis de pruebas de propiedades de eventos

Esta es la sintaxis de QRadar para una regla de pruebas de propiedades de eventos.

Diagrama que ilustra una sintaxis de regla de pruebas de propiedades de evento.

Pruebas de propiedades de evento: ejemplo de protocolo IP (QRadar)

Esta es la sintaxis de una regla de pruebas de propiedades de eventos de QRadar de ejemplo que usa un protocolo IP.

and when the IP protocol is one of the following <protocols>

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla de pruebas de propiedades de evento que usa un protocolo I P.

Pruebas de propiedades de evento: ejemplo de protocolo IP (KQL)

CommonSecurityLog
| where Protocol in ("UDP","ICMP")

Pruebas de propiedades de evento: ejemplo de cadena de carga del evento (QRadar)

Esta es la sintaxis de una regla de pruebas de propiedades de evento de QRadar de ejemplo que usa un valor de cadena Event Payload.

and when the Event Payload contains <this string>

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla de pruebas de propiedades de evento que usa una cadena de carga del evento.

Pruebas de propiedades de evento: ejemplo de cadena de carga del evento (KQL)

CommonSecurityLog
| where DeviceVendor has "Palo Alto"

search "Palo Alto"

Para optimizar el rendimiento, evite usar el comando search si ya conoce el nombre de la tabla.

Funciones: sintaxis de contadores

Esta es la sintaxis de QRadar para una regla de funciones que usa contadores.

Diagrama que ilustra la sintaxis de una regla de funciones que usa contadores.

Contadores: ejemplo de propiedad de evento y hora (QRadar)

Esta es la sintaxis de una regla de funciones de QRadar de ejemplo que usa un número definido de propiedades de evento en un número definido de minutos.

and when at least <this many> events are seen with the same <event properties> in <this many> <minutes>

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla de funciones que usa propiedades de eventos.

Contadores: ejemplo de propiedad de evento y hora (KQL)

CommonSecurityLog
| summarize Count = count() by SourceIP, DestinationIP
| where Count >= 5

Funciones: sintaxis de condiciones negativas

Esta es la sintaxis de QRadar para una regla de funciones que usa condiciones negativas.

Diagrama que ilustra la sintaxis de una regla de funciones que usa condiciones negativas.

Ejemplo de condiciones negativas (QRadar)

Esta es la sintaxis de una regla de funciones de QRadar de ejemplo que usa condiciones negativas.

and when none of <these rules> match in <this many> <minutes> after <these rules> match with the same <event properties>

Estas son dos reglas definidas en QRadar. Las condiciones negativas se basarán en estas reglas.

Diagrama que ilustra una regla de pruebas de propiedades de eventos que se usará para una regla de condiciones negativas.

Diagrama que ilustra una regla de pruebas de propiedades habituales que se usará para una regla de condiciones negativas.

Este es un ejemplo de la regla de condiciones negativas basada en las reglas anteriores.

Diagrama que ilustra una regla de funciones con condiciones negativas.

Ejemplo de condiciones negativas (KQL)

let spanoftime = 10m;
let Test2 = (
CommonSecurityLog
| where Protocol !in ("UDP","ICMP")
| where TimeGenerated > ago(spanoftime)
);
let Test6 = (
CommonSecurityLog
| where SourceIP == DestinationIP
);
Test2
| join kind=rightanti Test6 on $left. SourceIP == $right. SourceIP and $left. Protocol ==$right. Protocol

Funciones: sintaxis de condiciones sencillas

Esta es la sintaxis de QRadar para una regla de funciones que usa condiciones sencillas.

Diagrama que ilustra la sintaxis de una regla de funciones que usa condiciones simples.

Ejemplo de condiciones simples (QRadar)

Esta es la sintaxis de una regla de funciones de QRadar de ejemplo que usa condiciones simples.

and when an event matches <any|all> of the following <rules>

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla de funciones con condiciones simples.

Ejemplo de condiciones simples (KQL)

CommonSecurityLog
| where Protocol !in ("UDP","ICMP") or SourceIP == DestinationIP

Sintaxis de pruebas de IP o puerto

Esta es la sintaxis de QRadar para una regla de pruebas de IP o puerto.

Diagrama que ilustra la sintaxis de una regla de pruebas de IP o de puerto.

Pruebas de IP o puerto: ejemplo de puerto de origen (QRadar)

Esta es la sintaxis de una regla QRadar de ejemplo que especifica un puerto de origen.

and when the source port is one of the following <ports>

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla que especifica un puerto de origen.

Pruebas de IP o puerto: ejemplo de puerto de origen (KQL)

CommonSecurityLog
| where SourcePort == 20

Pruebas de IP o puerto: ejemplo de IP de origen (QRadar)

Esta es la sintaxis de una regla de QRadar de ejemplo que especifica una dirección IP de origen.

and when the source IP is one of the following <IP addresses>

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla que especifica una dirección IP de origen.

Pruebas de IP o puerto: ejemplo de IP de origen (KQL)

CommonSecurityLog
| where SourceIP in (“10.1.1.1”,”10.2.2.2”)

Sintaxis de pruebas de origen de registro

Esta es la sintaxis de QRadar para una regla de pruebas de origen de registro.

Diagrama que ilustra la sintaxis de una regla de pruebas de origen de registros.

Ejemplo de origen de registro (QRadar)

Esta es la sintaxis de una regla de QRadar de ejemplo que especifica orígenes de registro.

and when the event(s) were detected by one or more of these <log source types>

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla que especifica orígenes de registros.

Ejemplo de origen de registro (KQL)

OfficeActivity
| where OfficeWorkload == "Exchange"

Pasos siguientes

En este artículo, ha aprendido a asignar las reglas de migración de QRadar a Microsoft Sentinel.