Cuando se hace un análisis de red, una de las cuestiones a resolver es la detección de anomalías, es decir, encontrar todos los eventos que ocurren en la red con un comportamiento malicioso o que nos indiquen que algo extraño está ocurriendo con nuestros servicios.

La creciente cantidad de información que puede pasar por nuestras redes hace de esta una labor compleja y que no podría abordarse de forma eficiente de forma manual, o de hacerse así sería necesario todo un contingente de analistas que estuvieran mirando el tráfico. Además, este tipo de análisis se extiende a los logs de servidores y aplicaciones, lo cual deja como resultado cantidades abrumadoras de datos que deben ser analizados diariamente para poder detectar los problemas y remediarlos rápidamente.

Para hacer de esta tarea algo más eficiente se desarrollan modelos de machine learning que analizan todos los datos y nos arrojan resultados acerca de lo que deberíamos revisar. La variedad de modelos es muy amplia, incluso existen herramientas comerciales que ya tienen modelos formulados y que ayudan con esta tarea. Pero independientemente del modelo o la herramienta a utilizar hay tres problemas con los cuales los analistas se deben enfrentar y que es muy importante conocer para no hacer inferencias que resulten en falsos positivos.

1. Problemas con la alta dimensionalidad

Los problemas de detección de anomalías no suelen estar relacionados con modelos triviales, partiendo del hecho de que se maneja una gran cantidad de datos. Los modelos suelen estar basados en la formación de cluster a partir de los cuales se llega a inferir cuáles son las actividades que no concuerdan con un patrón de comportamiento particular.

Cuando se analiza tráfico de red se tienen muchas variables que monitorear, y por lo tanto las medidas de distancia empiezan a tener una tendencia hacia un promedio que ofusca los resultados del modelo. Además, hay que tener presente que al momento de interpretar los resultados, va a ser mucho más complicado como seres humanos entender soluciones que estén más allá de tres dimensiones, sobre todo desde el punto de vista visual.

En estos casos es importante antes de utilizar cualquier modelo o alguna herramienta hacer un tratamiento previo relacionado con la reducción de las dimensiones de los datos. Uno de los métodos más utilizados es el Análisis en Componentes Principales, que nos puede ayudar a reducir notablemente las dimensiones del problema y con unas pocas variables explicar más del 95% de la variabilidad de los datos, con lo cual podremos detectar los comportamientos anómalos.

2. El dilema con el orden de los datos

Es conocido que los modelos de machine learning pueden responder diferente a la forma en que le sean presentados los datos. Un mismo modelo de clasificación puede converger a resultados diferentes o con velocidades distintas si se cambia el orden en que analiza la información.

Por lo tanto, en el caso de los modelos supervisados es muy importante asegurarse de que el conjunto de datos que se utilice como entrenamiento del modelo cubra una amplia variabilidad del modelo, pero sin llegar al punto de sobreentrenarlo. Y para el caso de los modelos no supervisados, debe probarse con diferentes modelos para no dejar pasar patrones que pudieran estar escondidos en los datos.

No debemos olvidar que todos estos modelos son inductivos, por lo tanto se corre el riesgo de generalizar demasiado un modelo y obtener falsos positivos.

3. Conocimiento del modelo

Cuando se enfrenta un problema es primordial el conocimiento del entorno en el cual se está haciendo el análisis para poder identificar la veracidad en los resultados obtenidos. Esto lo podríamos resumir con Principio de Hanlon: “Nunca atribuir a la maldad algo que se explica adecuadamente por la estupidez”.

En otras palabras, cualquier modelo o herramienta que utilicemos siempre nos va a arrojar un resultado, lo cual no quiere decir que sea algo correcto, y no debemos caer en el error de justificar los resultados por el solo hecho de que fue el resultado de un modelo.

Cuando se detecte algo que pudiera considerarse sospechoso, es primordial preguntarse qué sentido tiene con respecto al negocio y de ser posible compararlo con resultados de otros modelos para contrastar diferentes escenarios.