Aplicación de red bayesiana para seguridad de aplicaciones web

1

¿Cómo se puede usar una red bayesiana para realizar análisis de ataques del tráfico web? Leí un interesante artículo sobre su aplicación.

    
pregunta Ali Ahmad 10.08.2012 - 09:31
fuente

2 respuestas

5

Las redes bayesianas son una forma de modelo probabilístico, mediante el cual se puede usar un conjunto de condiciones para predecir si una afirmación es verdadera o falsa.

Por ejemplo, supongamos que hay dos condiciones que estamos usando para predecir si un disco se está muriendo.

  1. Las escrituras en disco son lentas.
  2. El tráfico es anormalmente alto.

Podríamos formular las probabilidades de esta manera:

  Slow Writes | High Traffic | Disk failing?
--------------+--------------+-- T --|-- F ---
      F       |      F       | 0.05  | 0.95
      F       |      T       | 0.01  | 0.99
      T       |      F       | 0.90  | 0.10
      T       |      T       | 0.45  | 0.55

Esto se puede interpretar de la siguiente manera:

  • Si las escrituras no son lentas y el tráfico no es alto, hay una probabilidad de 0.95 de que el disco no esté fallando.
  • Si las escrituras no son lentas y el tráfico no es alto, hay una probabilidad de 0.99 de que el disco no esté fallando.
  • Si las escrituras son lentas y el tráfico no es alto, hay una probabilidad de 0.90 de que el disco esté fallando.
  • Si las escrituras son lentas y el tráfico es alto, hay una probabilidad de 0.55 de que el disco no esté fallando.

Podemos tomar este tipo de modelo y aplicar el autoaprendizaje. Tomamos un gran conjunto de datos donde se conocen los resultados, y utilizamos esto para construir un modelo de probabilidad.

Por ejemplo, en una red podemos tener pruebas como:

  • > ¿tráfico de 10Mbps TCP proveniente de internet?
  • ¿
  • > 10Mbps tráfico UDP que viene de internet?
  • > ¿5 inicios de sesión fallidos en RDP en los últimos 10 minutos?
  • ¿
  • > 5 inicios de sesión fallidos en SSH en los últimos 10 minutos?
  • ¿La cantidad de conexiones TCP al servidor SQL es > 5?
  • El número de conexiones TCP al servidor HTTP es > 500?
  • ¿El firewall ha registrado > 100 eventos en el último minuto?
  • ¿El tiempo está actualmente dentro de las horas de oficina (9-5)?
  • etc.

Ejecutamos estas pruebas en un conjunto de tráfico conocido en la red e informamos al modelo de los momentos en que se ha intentado o no una infracción. Luego puede verificar qué pruebas tienen más probabilidades de correlacionarse con un tipo particular de evento objetivo y construir un modelo de probabilidad como hicimos anteriormente.

Cuando detectamos nuevas infracciones, le decimos al modelo "esto fue una infracción" y puede intentar mejorar su modelo. También podemos decirlo cuando nos alertó falsamente de una infracción.

Estos modelos pueden volverse extremadamente complejos cuando se trata de un gran número de preguntas y grandes conjuntos de datos, especialmente cuando el modelo contiene preguntas de prueba que se alimentan de submodelos u otras formas de análisis. Como tales, pueden proporcionar un excelente enfoque de coincidencia de patrones para la detección de intrusiones.

    
respondido por el Polynomial 10.08.2012 - 10:43
fuente
1

Está clasificando las solicitudes / paquetes / mensajes en buenos / malos y esta clasificación se basa en una base de datos, que se crea durante el proceso de capacitación, por lo que necesita clasificar el lote inicial usted mismo, y luego continúa. aprendizaje.

    
respondido por el Andrew Smith 10.08.2012 - 09:52
fuente

Lea otras preguntas en las etiquetas