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 Microsoft Sentinel reglas integradas.

Identificación y migración de reglas

Microsoft Sentinel usa análisis de aprendizaje automático para crear incidentes de alta fidelidad y accionables, y algunas de las detecciones existentes pueden ser redundantes en Microsoft Sentinel. Por lo tanto, no migre todas las reglas de detección y análisis a ciegas. Revise estas consideraciones a medida que identifique las reglas de detección existentes.

  • Asegúrese de seleccionar casos de uso que justifiquen la migración de reglas, teniendo en cuenta la prioridad empresarial y la eficacia.
  • Compruebe que comprende los tipos de regla de Microsoft Sentinel.
  • Compruebe que comprende la terminología de la regla.
  • Revise las reglas que no hayan desencadenado ninguna alerta en los últimos 6-12 meses y determine si siguen siendo pertinentes.
  • Elimine las amenazas o alertas de bajo nivel que se omiten 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. Dado que Microsoft Sentinel usa análisis de aprendizaje automático para generar incidentes de alta fidelidad y accionables, 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 consultar las conversaciones de recopilación de datos para garantizar la profundidad y amplitud de los datos en los casos de uso que tiene previsto detectar.
  • Explore los recursos de la comunidad, como SOC Prime Threat Detection Marketplace , para comprobar si las reglas están disponibles.
  • Considere si un convertidor de consultas en línea, como Uncoder.io, puede funcionar para las reglas.
  • Si las reglas no están disponibles o no se pueden convertir, deben crearse manualmente mediante una consulta KQL. Revise la asignación de reglas para crear nuevas 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 tiene un sistema de pruebas en su lugar para cada regla que quiera migrar.

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

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

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

  2. Compruebe si las detecciones están disponibles como plantillas integradas en el Centro de contenido:

    • Si las reglas integradas son suficientes, instale las soluciones pertinentes y use las plantillas para crear reglas para el área de trabajo.

      1. En Microsoft Sentinel, vaya al Centro de contenido de administración de > contenido.
      2. Busque e instale la regla de análisis pertinente.

      Para obtener más información, consulte Detección y administración de Microsoft Sentinel contenido integrado y Creación de reglas de análisis programadas a partir de plantillas.

    • Si tiene detecciones que no están cubiertas por las reglas integradas disponibles en el Centro de contenido, pruebe con un convertidor de consultas en línea, como Uncoder.io para convertir las consultas en 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 soluciones de Content Hub ni un convertidor de reglas en línea son suficientes, deberá crear la regla manualmente. En tales casos, 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 orígenes de datos y tablas de datos en Microsoft Sentinel para identificar las tablas que desea consultar.

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

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

        Considere los filtros, las reglas de correlación, las listas activas, los conjuntos de referencia, las listas de seguimiento, las anomalías de detección, las agregaciones, etc. Puede usar las referencias proporcionadas por el SIEM heredado para comprender 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 proporciona los resultados esperados, es posible que quiera revisar el KQL y probarlo 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, consulte Automatización de la respuesta a amenazas con cuadernos de estrategias en Microsoft Sentinel.

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

Comparación de la terminología de reglas

Esta tabla le ayuda a aclarar el concepto de una 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
Condición del desencadenador Definir en la regla Umbral: número de resultados de consulta
Action • Crear ofensa
• Envío de un nuevo evento
• Agregar al conjunto de referencia o a los datos
• Y más
• Crear alerta o incidente
• Se integra 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 varios escenarios.

Rule Sintaxis Regla de detección de ejemplo (QRadar) Consulta KQL de ejemplo Recursos
Pruebas de propiedades comunes Sintaxis de QRadar Ejemplo de expresión regular
Ejemplo de consulta de filtro AQL
ejemplo igual o no igual
Ejemplo de expresión regular
Ejemplo de consulta de filtro AQL
ejemplo igual o no igual
• Expresión regular: coincide con regex
• Consulta de filtro AQL: operadores de cadena
• igual o no igual: operadores de cadena
Pruebas de fecha y hora Sintaxis de QRadar Ejemplo de día seleccionado del mes
Ejemplo de día seleccionado de la semana
después/antes/en el ejemplo
Ejemplo de día seleccionado del mes
Ejemplo de día seleccionado de la semana
después/antes/en el ejemplo
Operadores de fecha y hora
• Día seleccionado del mes: dayofmonth()
• Día seleccionado de la semana: dayofweek()
• después/antes/a: format_datetime()
Pruebas de propiedades de eventos Sintaxis de QRadar Ejemplo de protocolo IP
Ejemplo de cadena de carga de eventos
Ejemplo de protocolo IP
Ejemplo de cadena de carga de eventos
• Protocolo IP: operadores de cadena
• Cadena de carga de eventos: tiene
Funciones: contadores Sintaxis de QRadar Ejemplo de la propiedad de evento y la hora Ejemplo de la propiedad de evento y la hora resumir
Funciones: condiciones negativas Sintaxis de QRadar Ejemplo de condiciones negativas Ejemplo de condiciones negativas join()
Operadores de cadena
Operadores numéricos
Funciones: simple Sintaxis de QRadar Ejemplo de condiciones simples Ejemplo de condiciones simples o
Pruebas de IP/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 de regla de prueba de propiedades comunes.

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

Esta es la sintaxis de una regla de prueba 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 de prueba de propiedades común 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 prueba 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 de prueba de propiedades común 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 igual o no igual (QRadar)

Esta es la sintaxis de una regla de prueba de propiedades comunes de QRadar de ejemplo que usa el equals operador 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 de prueba de propiedades común que usa igual o no igual.

Pruebas de propiedades comunes: ejemplo igual o no igual (KQL)

Esta es la regla de pruebas de propiedades comunes con el equals operador 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 de día seleccionado del mes (QRadar)

Esta es la sintaxis de una regla de prueba 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 de 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 de día seleccionado de la semana (QRadar)

Esta es la sintaxis de una regla de prueba 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 de la semana seleccionado.

Pruebas de fecha y hora: día seleccionado del ejemplo de semana (KQL)

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

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

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

Esta es la sintaxis de una regla de prueba de fecha y hora de QRadar de ejemplo que usa el afteroperador , beforeo 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: después/antes/en el ejemplo (KQL)

Esta es la regla de pruebas de fecha y hora que usa el afteroperador , beforeo at en KQL.

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

TimeGenerated está en UTC/GMT.

La propiedad event prueba la sintaxis

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

Diagrama que ilustra una propiedad de evento prueba la sintaxis de la regla.

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

Esta es la sintaxis de una regla de prueba de propiedades de eventos 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 propiedad de eventos 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 de eventos (QRadar)

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

and when the Event Payload contains <this string>

Esta es la regla de ejemplo de QRadar.

Diagrama que ilustra una regla de prueba de propiedades de eventos que usa una cadena de carga de eventos.

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

CommonSecurityLog
| where DeviceVendor has "Palo Alto"

search "Palo Alto"

Para optimizar el rendimiento, evite usar el search comando 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 hora y propiedad de evento (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 evento.

Contadores: ejemplo de hora y propiedad de evento (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 propiedad de eventos que se usará para una regla de condiciones negativas.

Diagrama que ilustra una regla de pruebas de propiedades comunes que se va a 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 sencillas.

Ejemplo de condiciones simples (QRadar)

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

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 sencillas.

Ejemplo de condiciones simples (KQL)

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

Sintaxis de pruebas ip/puerto

Esta es la sintaxis de QRadar para una regla de pruebas ip/puerto.

Diagrama que ilustra la sintaxis de una regla de pruebas ip/puerto.

Pruebas ip/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 ip/puerto: ejemplo de puerto de origen (KQL)

CommonSecurityLog
| where SourcePort == 20

Pruebas ip/puerto: ejemplo de IP de origen (QRadar)

Esta es la sintaxis de una regla 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 ip/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 registro.

Ejemplo de origen de registro (QRadar)

Esta es la sintaxis de una regla 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 registro.

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.