En las últimas décadas, la cantidad de información que producimos y almacenamos diariamente ha crecido exponencialmente. El sector de la ciberseguridad no ha sido ajeno a esto pues a medida que se implementan más servicios digitales y se extiende el acceso a internet, se recolectan cada vez mayores cantidades de datos. Por otro lado, proteger los activos digitales ante posibles amenazas es hoy una necesidad más que una opción.
De este contexto surgen varios retos, uno de ellos es poder identificar accesos o logueos maliciosos entre los miles que se registran diariamente. Para tal tarea, la Inteligencia Artificial, en particular el Machine Learning o Aprendizaje Automático, ofrece una solución. En general, el Machine Learning ha sido utilizado para detectar comportamientos anómalos entre un conjunto de eventos o individuos en múltiples áreas. Por ejemplo, en el sector salud para la detección de enfermedades, en la industria para garantizar la calidad de los productos, o en el sector financiero para identificar fraudes.
En este Blog se hace una revisión de cómo se detectan anomalías desde el Machine Learning, se describen los modelos utilizados más comúnmente y se aborda cómo se están implementando en el sector ciberseguridad y qué ventajas representan para este.
Conceptos básicos del Machine Learning
Empezamos presentando algunos conceptos fundamentales básicos del machine learning para la adecuada comprensión del presente blog.
-
Machine learning:
Se puede definir como un subcampo de la inteligencia artificial, dedicado al desarrollo e implementación de algoritmos y modelos estadísticos que le dan la capacidad a los computadores para aprender de los datos, sin la necesidad de ser explícitamente programados.
En machine learning existen, en principio, dos principales tipos de aprendizaje: Supervisado y No supervisado.
-
-
Aprendizaje supervisado:
-
Es un tipo de aprendizaje de machine learning, donde los algoritmos se entrenan sobre datos con etiquetas que nos permitan hacer predicciones sobre datos futuros, no vistos por el algoritmo al aprender el modelo.
Por ejemplo, si quisiéramos construir un modelo con aprendizaje supervisado para decidir si un correo es spam o no, se tendría que entrenar sobre un conjunto de correos donde cada uno especifique si es, o no, spam. Tal especificación corresponde a la etiqueta.
-
-
Aprendizaje no supervisado:
-
En este tipo de aprendizaje de machine learning, a diferencia del supervisado, el algoritmo aprende a partir de datos sin etiquetas. Este tipo de aprendizaje busca descubrir la estructura de los datos para extraer información valiosa sin la ayuda de una respuesta conocida.
El aprendizaje no supervisado se puede clasificar en tres técnicas generales:
- Clusterización(clustering)
- Visualización y Reducción de Dimensionalidad
- Detección de anomalías.
-
-
Detección de anomalías:
-
Técnica de aprendizaje no supervisado que consiste en la identificación de observaciones, elementos o eventos extraños que difieren de la mayoría de los datos.
Con estos conceptos el lector con poco, o nada, de conocimiento en machine learning, debería estar contextualizado con la terminología fundamental para el entendimiento de este artículo.
El resto del blog se centra en la comprensión de la detección de anomalías como técnica de aprendizaje no supervisado y las aplicaciones en el sector de ciberseguridad.
Intuición para Detección de Anomalías
Inicialmente damos una idea básica de cómo funcionan los modelos de detección de anomalías para luego presentarlos.
Suponga que se tiene información de dos variables medidas sobre una serie de individuos o eventos. Esta información es representada gráficamente en un plano cartesiano asignando cada variable a una dimensión. Un ejemplo de esto se encuentra en la Figura 1. De esta manera, se identifican los patrones que puedan presentar los datos.
Adicionalmente, representar gráficamente los eventos u observaciones permite hacerse una primera idea de cuáles son anómalos con respecto al resto, es decir que tienen un comportamiento distinto a los demás. Un ejemplo de esto, son los puntos 1 y 2 de la Figura 1; es fácil notar que se salen de la tendencia ascendente de los demás puntos.
El primero de estos, es anómalo aún teniendo únicamente en cuenta la primera dimensión. Note que en el histograma de esta dimensión, ubicado en la parte superior del gráfico, la posición correspondiente al primer punto anómalo queda lejos de la de los demás puntos. Esto quiere decir que se trata de una anomalía marginal en el sentido de que basta con una variable (la primera) para identificarla.
Por otro lado, el segundo punto anómalo tiene la particularidad de que sus valores en ambas coordenadas no son anómalos por sí solos puesto que caen entre los valores de los demás puntos tanto en el histograma del eje horizontal como en el del eje vertical. Este tipo de anomalías son más difíciles de identificar pues no se distinguen en ninguna variable por separado sino que surgen al estudiar las variables de manera conjunta.
Para extender esta idea intuitiva, los modelos definen una región tal que todo punto que quede fuera de ella es considerado anómalo. Una región rectangular permite identificar eventos anómalos marginalmente en cada variable (como el primero de la Figura 1), mientras que una región elíptica, como la presentada en la Figura 1 puede identificar anomalías conjuntas como la segunda de la misma Figura.
Sin embargo, en la mayoría de aplicaciones reales, los datos siguen patrones más complejos que el observado en la Figura 1, en particular porque usualmente se cuenta con más de dos variables que no pueden ser representadas gráficamente de manera conjunta para poder identificar las anomalías como se hizo en este ejercicio inicial. Esto lleva a la necesidad de considerar modelos que determinen regiones de confianza más flexibles y en más dimensiones que discriminen correctamente anomalías de distintos tipos.
Modelos de detección de anomalías
Para determinar tales anomalías se necesita de un método o un conjunto de pasos y criterios que permitan decidir cuándo a un punto, o colección de puntos, en un espacio de m dimensiones, le es asignada la etiqueta de anómalo. Esto es, un algoritmo que sea capaz de establecer una región de decisión general que separe los puntos normales de los extraños, de tal manera que sea lo suficientemente acertado para reducir la cantidad de falsos positivos.
Existe diversidad de algoritmos de Machine Learning reconocidos que han probado tener altos niveles de exactitud para la detección de puntos anómalos sobre una variedad importante de conjuntos de datos. Estos algoritmos pueden basarse en criterios de distancia, o distribuciones de probabilidad de los datos, o estructuras más complejas como grafos o redes neuronales. A continuación, caracterizamos brevemente cada uno de estos tipos de modelos y nombramos los más comúnmente utilizados:
-
Modelos probabilísticos y estadísticos:
Los métodos estadísticos suponen que los datos normales siguen una cierta distribución estadística (por ejemplo, distribución gaussiana). Estos modelos suelen identificar anomalías como puntos de datos que se desvían significativamente de esta distribución.
Aquí podemos encontrar algoritmos como: ECOD, que detecta anomalías usando funciones de distribución acumulada; COPOD, un detector basado en cópulas (una función de distribución de probabilidad especial); GMM, modelo mixto gaussiano, entre otros.
-
Modelos basados en Proximidad:
Estos métodos identifican anomalías calculando la distancia entre puntos de datos. Aquellos eventos que se distancian considerablemente del resto son considerados anómalos. Dentro de estos tipos de modelos podemos encontrar algoritmos como: Local Outlier Factor, Histogram-based Outlier Score, K-Nearest Neighbors, LOCI(Fast outlier detection using the local correlation integral), entre otros.
-
Modelos basados en ensambles:
Estos modelos se fundamentan en ensemble learning, una técnica propia del machine learning que consiste en aprender de forma conjunta entre múltiples modelos individuales de machine learning. Entre los más conocidos y usados se encuentra Isolation Forest, un detector que por medio de múltiples árboles de decisión separa anomalías seleccionando de forma aleatoria variables y dividiendo los datos a partir de umbrales de forma iterativa. Es un algoritmo que se destaca por su capacidad de detectar anomalías de forma eficiente para grandes conjuntos de datos.
Otros algoritmos de este tipo, que vale la pena nombrar, son: INNE(Isolation-based Anomaly Detection Using Nearest-Neighbor Ensembles), que usa ensambles de k vecinos más cercanos; DIF (Deep Isolation Forest), una extensión de Isolation Forest, LSCP(Locally Selective Combination of Parallel Outlier Ensembles), entre otros.
-
Basados en redes neuronales:
Estos métodos utilizan la capacidad de las redes neuronales para modelar patrones complejos en los datos y detectar desviaciones. Estos tipos de modelos entran dentro del área de deep learning.
-
Basados en grafos:
Estos métodos utilizan la estructura de grafos para identificar patrones anómalos en datos relacionales, como redes sociales o redes de tráfico de datos. Tales modelos detectan anomalías al identificar nodos o aristas cuyas representaciones difieren significativamente de la norma aprendida.
Aplicaciones Modernas de Modelos de Machine Learning en Ciberseguridad
Actualmente la ciberseguridad requiere analizar grandes cantidades de información, tanto por la cantidad de eventos que ocurren constantemente como por todas las variables o características asociadas a cada uno de ellos. Además, el sector enfrenta el reto de que no se cuenta con la cantidad de profesionales que exige la demanda. El Machine Learning o Aprendizaje Automático, como parte de la Inteligencia Artificial (IA) permite dar solución a estas dos dificultades pudiendo sintetizar y pre procesar grandes cantidades de datos.
Una de las maneras en las que el Machine Learning tiene un gran impacto es mediante la identificación de anomalías. Actualmente se están implementando modelos capaces de reducir la cantidad de eventos atípicos que deben ser estudiados por personal formado en el área realizando un primer filtro.
Esto permite mejorar los tiempos de respuesta ante amenazas y compensar la demanda de profesionales. Un ejemplo de esto es la innovadora herramienta Splunk AI que permite a sus usuarios involucrar todo tipo de complementos de Inteligencia Artificial, y Machine Learning en particular, para reducir el tiempo de respuesta a amenazas, automatizar procesos, entre otras funciones.
La gran cantidad de datos con los que se cuenta, que inicialmente representa un reto, potencia la efectividad de los modelos de Machine Learning pues permite que estos “aprendan” los patrones de comportamiento considerados normales incluso si son muy complejos. De esta manera podrán identificar anomalías futuras contrastándolas con la información disponible.
En conclusión, los modelos de Machine Learning de detección de anomalías revolucionan los sistemas de respuesta a amenazas digitales pues reducen el tiempo de respuesta, ahorran horas de trabajo, identifican comportamientos atípicos que no siempre pueden ser detectados por medio de reglas duras y son capaces de procesar un gran volumen de eventos.
Servicio UEBA
En este punto el lector, seguramente, se habrá preguntado ¿A3sec hace uso del ML para la detección de anomalías?¿de qué manera las implementa en el día a día de las organizaciones?. Y es precisamente aquí donde introducimos el UEBA. Este término significa Análisis del Comportamiento de Usuarios y Entidades, y hace referencia a un sistema que, por medio del uso de la analítica de datos, algoritmos de Machine Learning y herramientas de automatización, realiza seguimiento al comportamiento de los usuarios y dispositivos de un sistema informático específico para detectar comportamientos extraños que podrían significar posibles riesgos de ciberseguridad.
Actualmente A3Sec, en su compromiso con el uso eficiente y basado en inteligencia de los datos, ofrece su propio servicio UEBA a través de un software que implementa una serie de algoritmos de detección de anomalías, permitiendo obtener un modelo robusto que sea capaz de detectar posibles comportamientos extraños en los sistemas informáticos de nuestros clientes.
La construcción de tales modelos se desarrolla de manera específica para cada cliente de acuerdo al caso de uso aplicable y los datos disponibles. El desarrollo se realiza a través de una serie de etapas que incluyen:
-
Extracción de los datos:
Provenientes de la fuente de información identificada.
-
La limpieza, preparación y preprocesamiento de los datos
Donde se utilizan herramientas y técnicas del análisis de datos.
-
El modelamiento:
Donde se selecciona el conjunto de algoritmos de detección de anomalías que mejor se adapte al caso de uso.
-
Despliegue del modelo:
Donde se automatizan todas las etapas desarrolladas.
-
Construcción de un tablero dinámico:
Que permita visualizar los resultados diarios y facilite al analista de seguridad encontrar posibles incidentes.
A grosso modo, vemos como el servicio de UEBA de A3Sec, basado en Machine Learning, representa una de las muchas aplicaciones modernas en ciberseguridad que emplean algoritmos de detección de anomalías previamente revisados en este blog. Al igual que otras herramientas, permiten a las organizaciones estar preparadas para eventuales amenazas a la seguridad.