Infección por virus informáticos: Una aplicación de las redes Bayesianas (parte 1)

Este es el primero de una serie de 2 artículos en los que vamos a desarrollar un modelo basado en redes Bayesianas con el que intentaremos estimar la pobabilidad de que un equipo de usuario resulte infectado por un programa malicioso. En un artículo anterior ya introdujimos este concepto y vimos algún ejemplo.

¿Qué es una red de creencias Bayesiana?

Las redes de creencias Bayesianas (BBN) son una forma gráfica de describir y analizar las relaciones de causa y efecto entre una serie de variables. Las redes constan de nodos (variables) que están interconectadas por grafos que representan las relaciones causales entre ellas.

 

rb_011

Normalmente, la dependencia causal entre los nodos se expresa de forma probabilísitica de manera que el modelo permite representar todos los estados o condiciones posibles de los elementos del mismo y aquellas condiciones que ocurren con mayor (o menor) frecuencia cuando determinados aspectos o condiciones están presentes. Por ejemplo, si un servidor está conectado Internet, la probabilidad de intenos de acceso ilegítimos al mismo aumenta considerablemente.

No hay que olvidar que este tipo de redes son una representación del punto de vista del analista sobre un dominio concreto de la realidad y sobre cómo los factores interaccionan entre sí; por ello, no existe una única red BBN valida para modelar un aspecto de la realidad; por el contrario, existen múltiples redes que pueden representar el mismo proceso. En este sentido, la red es una representación de las creencias del analista sobre la realidad. El modelo Bayesiano, como todo modelo, nunca será equivalente a la realidad que representa, pero sí puede sernos útil para entenderla mejor y ayudarnos a tomar decisiones.

¿Cómo se usan?

Una vez definida la red (generalmente por parte de expertos en el ámbito del problema a estudiar) a cada nodo (variable) se le asigna una tabla de probabilidad asociada (NPT). En aquellas variables que se ven influenciadas por otras, la tabla NPT representa la probabilidad condicionada a los valores de sus variables antecesoras. Una de las grandes ventajas del método es que en esta fase pueden combinarse tanto datos estadísticos cuantitativos que estén disponibles, como estimaciones subjetivas facilitadas por los expertos, lo que las convierte en un método idóneo en aquellos ámbitos en donde se carece de datos históricos o hay bastante incertidumbre.

A partir de esta definición inicial del modelo se puede empezar a experimentar con el mismo, ajustando las probabilidades inicialmente definidas. Este ajuste se puede realizar como consecuencia de la observación empírica de las variables o bien debido a un interés de observar como el modelo se comporta ante diferentes escenarios de tipo “¿Que sucedería sí...?”…. Cuando se introducen de esta manera valores observados en el modelo, entonces se recalculan automáticamente las probabilidades asociadas a todos los nodos de la red. Este tipo de análisis nos permite: observar como se comportan las variables dependientes, ante situaciones extremas hipotéticas (ejemplo de test de estrés); identificar las causas que más influyen en unas determinadas consecuencias e incluso estimar la probabilidad de una determinada consecuencia a partir de la medición empírica de una o varias variables. El proceso de estimación Bayesiano consiste en revisar y refinar de manera continua nuestras creencias subjetivas sobre la realidad, a medida que vamos aumentando la cantidad de datos disponibles.Tratemos de comprender mejor estos conceptos con un ejemplo:

Un ejemplo sencillo

NOTA INICIAL: A continuación vamos a presentar un modelo muy simple con el único propósito de ejemplificar la mecánica de cálculo de las redes Bayesianas. Es un modelo tan naif que no aportaría mucho valor en una situación real. Más adelante, mostraremos un modelo más complejo y de mayor utilidad.

El responsable de un departamento de tecnología utiliza el siguiente modelo mental para explicar las caídas de servicio. De modo simplificado, la disponibilidad del servicio web puede verse afectada por errores de software y/o por fallos de hardware.

POST_EJ_1_1Basándose en mediciones históricas de la calidad del servicio, el responsable del departamento de tecnología estima que el software desarrollado en la compañía suele estar libre de errores en un 99% de los casos. La siguiente tabla de probabilidades (NPT) refleja esta situación:

POST_EJ_1_2Po otro lado, de acuerdo a la documentación técnica del proveedor de hardware, éste tiene una fiabilidad superior al 99,9%:

POST_EJ_1_3A partir del análisis histórico de las incidencias en el servicio ocurridas en los 2 últimos años, el responsable del departamento de tecnología estima que la probabiliad de caída del servicio condicionada a las otras dos variables del modelo es:

POST_EJ_1_4

Modelo Inicial a priori

De acuerdo a estas hipótesis iniciales y aplicando los teoremas de probabilidad condicionada, se obtiene la siguiente red en la que la probabilidad estimada de disponibilidad del servicio en los últimos años, según la información referida, era del 98.906%:

POST_EJ_1_5Escenario #1:

Ahora supongamos que en la última medición de disponibilidad del servidor, observamos que ésta se ha degradado con respecto al nivel de ambición requerido, habiéndose registrado caídas significativas del servicio. Este hecho se registra en el modelo como una observación empírica y,a  partir de esta evidencia, el modelo recalcula las probabilidades asociadas a cada nodo (es lo que se llama la propagación), quedando el modelo de la siguiente manera:

POST_EJ_1_7A partir de esta evidencia, la probabilidad estimada de que esta situacion sea debida a errores por la baja calidad del software ha ascendido hasta un 9,145%. Por su parte la probabilidad de que esto sea debido a un error de hardware ha aumentado tan sólo en un 0.4%; por ello, un error de software es considerado por el responsable de tecnología como la causa más probable de la situación observada.

Escenario #2:

Veamos ahora otro escenario de uso de nuestra red. Supongamos que el responsable de tecnología toma una muestra respresentativa de los últimos módulos de software entregados a partir de la cual verifica que, a diferencia de lo que suponia inicialmente, en un 21% de los casos observados los módulos tenían errores significativos. Se introducen estos datos en el modelo y se recalculan las probabilidades condicionadas obteniéndose los siguientes resultados:

POST_EJ_1_8Puede verse cómo, bajo esta premisa, la probabilidad estimada de caída del servicio asciende hasta el 2,89% (casi un 2% por encima del valor estimado en el modelo inicial). A tenor de estos nuevos datos, la disponibilidad del servicio estimada se reduce a un 97.1%.

Obviamente, como ya hemos advertido, éste modelo de ejemplo es delibaradamente simple y tiene como única utilidad ejemplificar la lógica de cálculo. Un modelo como el presentado, con tan sólo tres nodos, no aporta mucho valor mas allá de cuantificar en cierta medida creencias que el propio sentido común de analista puede evaluar de manera intuitiva. El valor de una red Bayesiana en la vida real se incrementa notablemente cuando se utiliza para modelar relaciones complejas entre un gran número de variables y donde la capacidad mental del analista para evaluar intuitivamente las relaciones entre las variables es muy limitada.

Principales ventajas de las redes Bayesianas

Cuando la red Bayesiana se usa para diagnósticar una situación, el analista introduce aquellos valores que conoce sobre la realidad y ésto permite recalcular las probabilidades asociadas al resto de nodos. Esto hace de las redes Bayesianas una herramienta muy flexible. Se puede empezar a usar modelos simples basados en un conocimiento limitado sobre el dominio de análisis y desarrollar el modelo a medida que se va adquiriendo nuevo conocimiento sobre la materia. Esta es una de las caracterśiticas que da mayor valor a este tipo de herramientas, ya que se puede empezar a trabajar aunque se disponga de informacion limitada, y la red hará un trabajo tan bueno como sea posible a partir de la información disponible. Aún en situaciones con conocimiento limitado el valor proporcionado es alto. Esta es una de las grandes diferencias con los modelos estadísticos tradicionales (ej: regresión) los cuales requieren de la existencia de datos históricos suficientes y apropiados para poder ser aplicados.

Estimación de la probabilidad de que un equipo de usuario resulte infectado

Vamos ahora a desarrollar un modelo un poco más complejo (y útil), para poder estimar la probabilidad de que un equipo de usuario corporativo resulte infectado por un programa malicioso. El modelo (que es tan sólo un borrador inicial) ha sido desarrollado con la participación de varios expertos en seguridad informática y tomando en consideración la literatura existente al respecto. En el modelo propuesto, la potencial infección de una estación de trabajo corporativa depende de:

  • El grado de conciencia del usuario (awareness) sobre las amenzas de Internet y sobre los hábitos de navegación segura.
  • El nivel de restricciones que el usuario tiene a la hora de navegar por Internet y usar el correo eléctronico. Estas restricciones son normalmente articuladas en las empresas a través de reglas de filtrado en los proxys y las pasarleas de correo. Por ejemplo, se puede restringir la navegación de los usuarios a sitios no relacionados con el trabajo, la descarga de archivos desde Internet o el correo, etc… Este tipo de restricciones dependen de la política de seguridad formal o informal de la empresa.
  • La efectividad de otras medidas de seguridad técnicas aplicadas en el equipo , como por ejemplo:
    • Efectividad de los sistemas Anti Virus
    • Los privilegios del usuario a nivel del Sistema Operativo y el dominio
    • La existencia y la efectividad de soluciones que prevengan la instalación de software no autorizado (ej: lista blanca de aplicaciones)
    • El grado de parcheo de los sistemas y aplicaciones usados por el empleado
    • La aplicación consistente de directrices de instalación y configuración segura de equipos y aplicaciones (hardening)

El siguiente diagrama describe estas relacionas en forma de red Bayesiana:

POST_EJ_2_1

Finalizamos aquí esta primera parte. En el siguiente artículo pondremos a prueba nuestro modelo experimental y trataremos de mostrar el valor que puede obtenerse de él. Hasta entonces un fuerte abrazo y gracias por la atención prestada.