Reglas de detección de anomalías
Las reglas de detección de anomalías prueban los resultados de las búsquedas de flujo o de sucesos guardadas para detectar cuándo se producen patrones de tráfico inusuales en la red.
Las reglas de detección de anomalías requieren una búsqueda guardada agrupada alrededor de un parámetro común y un gráfico de serie temporal habilitado. Generalmente, la búsqueda necesita acumular datos antes de que la regla de anomalía devuelva resultados que identifiquen patrones de anomalías, umbrales o cambios de comportamiento.
Reglas de anomalía
Puede probar el tráfico de sucesos y flujos para detectar los cambios en los sucesos a corto plazo en comparación con un intervalo más largo. Por ejemplo, nuevos servicios o aplicaciones que aparecen en una red, un servidor web que se bloquea o cortafuegos que empiezan a denegar el tráfico.
- Cree y guarde una búsqueda que agrupe por origen de registro y muestre solo la columna de recuento.
- Aplique la búsqueda guardada a una regla de anomalía y añada la prueba de regla y cuando el valor promedio (por intervalo) del recuento durante la última 1 hora sea como mínimo 100% diferente del valor promedio (por intervalo) de la misma propiedad durante las últimas 24 horas.
Reglas de umbral
Revisar sucesos o flujos en busca de actividad por encima o por debajo de un rango especificado. Utilice estas reglas para detectar cambios en el uso de ancho de banda en las aplicaciones, servicios anómalos, el número de usuarios conectados a una VPN y detectar grandes transferencias de salida.
Cuando un usuario está involucrado en un delito anterior, establezca automáticamente la respuesta de regla para añadirla al conjunto de referencia. Si tiene una lista de observación de usuarios, añádalos al conjunto de referencia. Ajuste límites aceptables en la regla de umbral.
Son necesarios un conjunto de referencia, WatchUsers, y Key:username para la búsqueda.
select assetuser(sourceip, now()) as 'srcAssetUser',
Applicationname(applicationid)as 'AppName', long(sum(sourcebytes
+destinationbytes)) as 'flowsum' from flows where flowdirection = 'L2R' and
REFERENCESETCONTAINS('Watchusers', username)group by 'srcAssetUser',
applicationid order by 'flowsum' desc last 24 hoursReglas de comportamiento
Revisar sucesos o flujos en busca de cambios de volumen que se producen según patrones regulares para detectar valores extremos. Por ejemplo, un servidor de correo que tiene una retransmisión abierta y que de repente se comunica con muchos hosts o un IPS (sistema de prevención de intrusiones) que empieza a generar numerosas actividades de alerta.
Una regla conductual aprende la frecuencia o volumen de una propiedad durante un periodo predefinido. El período define la línea temporal de comparación de línea base para lo que se está evaluando. Si se establece un período de 1 semana, el comportamiento de la propiedad durante esa semana se aprende y, a continuación, puede utilizar pruebas de regla para recibir alertas de los cambios importantes.
Una vez establecida una regla conductual, el período se ajusta automáticamente. Cuando se aprenden los datos del período, se evalúan continuamente para perfilar el crecimiento empresarial dentro del período; no es necesario cambiar las reglas. Cuanto más tiempo se ejecute una regla conductual, más precisa será. A continuación, puede ajustar las respuestas de regla para capturar cambios más sutiles.
La tabla siguiente describe las opciones de parámetro de prueba de regla conductual.
| Parámetro de prueba de regla | Descripción |
|---|---|
| Período | El valor más importante. El período define el comportamiento de línea base de la propiedad que está probando y que utilizan las otras pruebas de regla. Para definir un período, considere el tipo de tráfico que está supervisando. Por ejemplo, para tráfico de red o procesos que incluyan interacción humana, 1 semana es un buen intervalo de período. Para el seguimiento de servicios automatizados donde los patrones son coherentes, puede que desee crear un período únicamente de 1 día para definir ese patrón de comportamiento. |
| Nivel de tráfico actual | Peso de los datos originales contabilizando los cambios periódicos y los errores aleatorios. Esta prueba de regla plantea la pregunta: "¿son los datos iguales que ayer a la misma hora"? El peso debe estar en el rango de 1 a 100. Un valor más alto coloca más peso en el valor registrado anteriormente. |
| Tendencia de tráfico actual | Peso de los cambios en los datos para cada intervalo de tiempo. Esta prueba de regla plantea la pregunta: "¿en qué medida cambian los datos al comparar este minuto con el minuto anterior"? El peso debe estar en el rango de 1 a 100. Un valor más alto coloca más peso en las tendencias de tráfico que el comportamiento calculado. |
| Comportamiento de tráfico actual | Peso del efecto estacional para cada período. Esta prueba de regla plantea la pregunta: "¿han aumentado los datos en la misma cantidad de la semana 2 a la semana 3, que de la semana 1 a la semana 2?" El peso debe estar en el rango de 1 a 100. Un valor más alto coloca más peso en el comportamiento aprendido. |
| Valor pronosticado | Utilice valores pronosticados para escalar líneas base para hacer que las alertas sean más o menos sensibles. La sensibilidad debe estar en el rango de 1 a 100. Un valor 1 indica que el valor medido no puede ser distinto del valor pronosticado. Un valor 100 indica que el tráfico puede ser más de cuatro veces mayor que el valor predicho. |
La previsión del valor del intervalo de (n+1)th se calcula utilizando la fórmula siguiente:
Fn+1 = Bn + Tn + Tn+1-s
Donde F es el valor pronosticado, B es el valor base del intervalo n, T es el valor de tendencia del intervalo n y T es el valor de tendencia de los intervalos de período transcurridos y s es el número de intervalos dentro del período.
El valor base se calcula utilizando la fórmula siguiente:
Bn+1 = (0.2 + 0.3*(<Current traffic level> / 100.0))*(valuen+1 – Tn+1-s) + (1 – (0.2 + 0.3*(<Current traffic level> / 100.0)))*Tn
El valor de tendencia se calcula utilizando la fórmula siguiente:
Tn+1 = (0.2 + 0.3*(<Current traffic trend> / 100.0))*(Bn+1 - Bn) + (1 - (0.2 + 0.3*(<Current traffic trend> / 100.0)))*Tn
La desviación suavizada D se calcula utilizando la fórmula siguiente:
Dn+1 = (0.2 + 0.3*(<Current traffic behavior> / 100.0))*|valuen+1 – Fn+1| + (1 – (0.2 + 0.3*(<Current traffic behavior> / 100.0)))*Dn+1-s
La regla conductual genera una alerta para el intervalo si la siguiente expresión es falsa:
F – (1 + (sensitivity / 100.0)*3)*D <= value <= F + (1 + (sensitivity / 100.0)*3)*D
Durante el primer período, la regla conductual aprende para los cálculos futuros y no genera ninguna alerta.