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:
Compruebe que cuenta con un sistema de pruebas para cada regla que quiere migrar.
Prepare un proceso de validación para las reglas migradas, incluidos escenarios y scripts de prueba completos.
Asegúrese de que el equipo tiene recursos útiles para probar las reglas migradas.
Confirme que tiene los orígenes de datos necesarios conectados y revise los métodos de conexión de datos.
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:
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.
Identifique los atributos, campos o entidades en los datos que desea usar en las reglas.
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.
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.
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.
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:
- Creación de reglas de análisis personalizadas para detectar amenazas Use la agrupación de alertas para reducir el exceso de alertas agrupando las que se producen en un período de tiempo determinado.
- Asignación de campos de datos a entidades en Microsoft Sentinel para permitir que los ingenieros de SOC definan entidades como parte de la evidencia para realizar un seguimiento durante una investigación. La asignación de entidades también permite a los analistas de SOC aprovechar un [gráfico de investigación (investigate-cases.md#use-the-investigation-graph-to-deep-dive) intuitivo que puede ayudar a reducir el tiempo y el esfuerzo.
- Investigación de incidentes con datos de UEBA a modo de ejemplo de cómo usar evidencias para mostrar eventos, alertas y marcadores asociados a un incidente determinado en el panel de vista previa del incidente.
- Lenguaje de consulta Kusto (KQL), que puede usar para enviar solicitudes de solo lectura a la base de datos de Log Analytics para procesar datos y devolver resultados. KQL también se usa en otras servicios Microsoft, como Microsoft Defender para punto de conexión y Application Insights.
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.
Sintaxis de pruebas de propiedades comunes
Esta es la sintaxis de QRadar para una regla de pruebas de propiedades comunes.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Este es un ejemplo de la regla de condiciones negativas basada en las reglas anteriores.
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.
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.
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.
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.
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.
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.
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.
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.