En la era digital actual, se transmiten constantemente grandes volúmenes de datos a través de diversos puntos de acceso en redes, hardware y software. Cada uno de estos puntos representa un reto para los equipos de ciberseguridad al momento de identificar posibles brechas que están intentando ser aprovechadas por actores de amenaza. Un ataque suele manifestarse a través de alteraciones en el comportamiento normal de un sistema, por lo que uno de los procesos más críticos en ciberseguridad es la detección de anomalías o la identificación de patrones inusuales que puedan indicar compromisos [1].
Diversos proveedores han desarrollado sus propias aproximaciones para identificar estas anomalías de comportamiento utilizando inteligencia artificial y aprendizaje automático, con el objetivo de detectar desviaciones del comportamiento estándar. Sin embargo, la mayoría de estas implementaciones requieren establecer una línea base considerada normal y disponer de verdaderos positivos de eventos anómalos como punto de partida. Esto implica la necesidad de recursos y tiempo significativos para la recopilación de datos y, lo más importante, puede llevar a generalizaciones inapropiadas que no reflejan adecuadamente la realidad operativa de una infraestructura específica.
En este contexto, las técnicas más avanzadas cobran relevancia. Este artículo examinará el uso de grafos aplicados al aprendizaje por representación, con el fin de explorar su aplicación en sistemas ciber físicos y la identificación de patrones anómalos.
Entendiendo Grafos
Un grafo es una estructura de datos utilizada para modelar o representar relaciones entre entidades, en este caso cada nodo o vértice simboliza una entidad, mientras que cada conexión entre dos nodos representa una relación entre ellas [2].
Para ejemplificar lo anterior, se puede pensar en una red social en donde cada nodo representa a una persona y cada conexión representa distintas relaciones entre ellas. Este concepto también puede aplicarse a estructuras más complejas como lo son los grafos de ciberseguridad.
En la figura 1, vemos un grafo donde el nodo correspondiente con un servidor web que tiene servicios locales (flechas sobre sí mismo), se comunica con un dispositivo IoT, recupera información de una base de datos, se autentica en el servidor dedicado y cuyos servicios son monitorizados por un administrador de red.
En este ejemplo, un atacante podría comprometer el dispositivo IoT, moverse lateralmente a la base de datos robando información sensible, desactivar la autenticación al comprometer el servidor de autenticación y finalmente podría escalar privilegios usando la conexión entre el dispositivo IoT a la estación de trabajo del administrador de red.
Figura 1. Ejemplo de grafo para cinco entidades en una infraestructura genérica.
Para mitigar estos riesgos, se pueden implementar diferentes medidas de ciberseguridad, como segmentación de red, implementación de autenticación multifactor, configurar alertas para la estación de trabajo y mantener actualizado el dispositivo IoT.
Entonces ¿Cómo se pueden utilizar los grafos para capturar comportamientos anómalos generados por un atacante en el ejemplo mencionado anteriormente?
Grafos y Análisis de Comportamiento
Los grafos pueden ser extremadamente útiles para detectar comportamientos anómalos en escenarios de alta complejidad. En el ámbito de la ciberseguridad, son particularmente valiosos para la identificación de ataques a sistemas, ya que permiten modelar y analizar las complejas interacciones entre diferentes entidades dentro de una infraestructura.
A continuación se muestra una manera de hacer uso de la herramienta cómo se puede utilizar Graph Machine Learning (GML) para detectar cada etapa del ataque del ejemplo mencionado anteriormente y destacar los beneficios específicos de esta metodología.
Compromiso del Dispositivo IoT:
Los dispositivos IoT y sus interacciones pueden ser representados como un grafo (figura 2), donde los nodos representan los dispositivos y las aristas representan las comunicaciones y transacciones.
Figura 2. Ejemplo de grafo para distintos dispositivos IoT.
Utilizando técnicas como embeddings de nodos, es posible detectar cambios inusuales en el comportamiento del Dispositivo IoT. Por ejemplo, si el dispositivo empieza a comunicarse con nodos (dispositivos o sistemas) con los que no tenía interacciones previas, esto puede ser una señal de compromiso.
En la figura 3, podemos ver esta dinámica con líneas discontinuas de color naranja que han surgido para los dispositivos IoT: car, TV, camera, door lock y thermostat. Estos dispositivos figuran entre algunos de los más vulnerables de acuerdo con [3].
Figura 3. Ejemplos de cambios inusuales en la comunicación entre dispositivos IoT.
Movimiento Lateral
El grafo puede incluir todos los dispositivos y sistemas, junto con sus conexiones. El movimiento lateral del atacante puede detectarse si se observa que hay una nueva conexión desde el Dispositivo IoT hacia un nodo importante de la red. En la figura 4, podemos ver conexiones hacia PC, house o home security systems y sensor que han surgido a partir del compromiso de ciertos dispositivos IoT.
Figura 4. Ejemplos de movimiento lateral en la comunicación entre dispositivos IoT.
Desactivación de la Autenticación
El compromiso del Servidor de Autenticación puede ser detectado si se observan conexiones inusuales desde dispositivos que normalmente no interactúan con este servidor, especialmente si esas conexiones intentan modificar configuraciones de seguridad. El grafo puede capturar estas interacciones y se puede identificar un comportamiento que no encaje con los patrones normales de la red.
Siguiendo con nuestro ejemplo, en la figura 5 se muestran nodos que pueden comprometerse dado que manejan data sensible, como el nodo de home security systems, o que constituyen puntos de entrada para la comunicación como luces y termostatos inteligentes, así como laptops y finalmente dispositivos menos seguros como smart TV o automóvil conectado a la red.
Figura 5. Ejemplos dispositivos IoT susceptibles a desactivación de autenticación (nodos resaltados con círculo rojo).
Escalamiento de Privilegios
En un grafo de autenticaciones y permisos, los roles y permisos de los usuarios pueden ser analizados. Un cambio en los privilegios de un nodo (por ejemplo, un cambio en los permisos del Dispositivo IoT) puede ser detectado si se analiza el grafo en busca de comunidades y roles. Si el Dispositivo IoT repentinamente adquiere permisos asociados a una estación de trabajo del administrador, esto puede indicar un escalamiento de privilegios.
En nuestro ejemplo (figura 6) los nodos más vulnerables son típicamente los que influencian o administran control en la red permitiéndole a un atacante ganar acceso o control sobre partes críticas de la red. Esto corresponde con nodos como central (cloud hub), el sistema de seguridad del hogar, acceso remoto a computadoras personales y finalmente, datos personales o de localización que podrían obtenerse de dispositivos inteligentes como los nodos de TV o automóvil.
Figura 6. Ejemplos dispositivos fase final de ataque, donde se ha comprometido el nodo central. Los nodos con doble círculo constituyen los dispositivos más vulnerables en este ejemplo.
Caso de estudio: Detección de anomalías en una red
Como vimos en nuestro ejemplo, uno de los casos de aplicación más importantes para la detección de comportamientos anómalos ocurre dentro de una red y es aún más importante en una infraestructura real de Firewall donde se tienen muchas más instancias sujetas a vulnerabilidad.
Desde A3Sec, hemos diseñado un pipeline que nos permite usar grafos como representaciones de una red para detectar anomalías propias de cada cliente. Este flujo de trabajo consiste en 5 pasos que nos permiten determinar si un evento es anómalo o no:
Recolección de datos:
Estos logs contienen información detallada sobre las conexiones de red, incluyendo IPs de origen y destino, puertos, protocolos, tiempos de conexión y resultados de políticas de seguridad.
Construcción del grafo:
Los nodos en el grafo representan las entidades de la red, como usuarios, dispositivos, servidores y servicios. Las aristas representan las interacciones entre estos nodos, como conexiones de red, autenticaciones y transferencias de datos.
Extracción de variables útiles:
Se extraen características útiles de los datos del grafo, como la frecuencia de conexiones, el tiempo promedio de conexión y la variabilidad de los puertos utilizados.
Entrenamiento de Modelos:
Se utiliza un esquema de votación, donde cada modelo vota sobre la anomalía de un evento.
Detección de anomalías:
Nuestro enfoque busca determinar comportamientos extraños a distintos niveles, por lo que podemos encontrar anomalías relacionadas con escaneos de puertos, exfiltración de datos, ataques de fuerza bruta y accesos no autorizados.
¿Por qué sería útil esta metodología?
Detección Temprana:
El sistema de detección basado en grafos permite identificar escaneos de puertos y accesos no autorizados antes de que se produzcan daños significativos. Esto fue posible gracias a la identificación de patrones inusuales en la estructura del grafo y los embeddings de nodos.
Reducción de Falsos Positivos:
El uso de un esquema de votación con múltiples modelos permite reducir los falsos positivos, mejorando la precisión de las detecciones.
Visibilidad y Comprensión Mejorada:
El análisis del grafo proporciona una visión clara de la topología de la red y las interacciones entre los dispositivos, lo que facilita la comprensión de las posibles rutas de ataque y las vulnerabilidades.
Respuesta Rápida a Incidentes:
La capacidad de identificar rápidamente comportamientos anómalos permite a los equipos de seguridad responder de manera eficaz, mitigando los riesgos y reforzando las políticas de seguridad donde fuera necesario.
La implementación de Graph Machine Learning para la detección de anomalías en los logs de un firewall demuestran ser una solución efectiva para identificar y mitigar amenazas de manera proactiva. La capacidad de analizar relaciones complejas y patrones de comportamiento en una red es crucial para mantener la seguridad en un entorno de TI cada vez más complejo. Además, la reducción de falsos positivos y la mejora de la visibilidad sobre las actividades de la red son beneficios clave que justifican la inversión en estas tecnologías avanzadas.
Este caso de uso demuestra cómo las técnicas de GML pueden fortalecer significativamente la postura de seguridad de una organización, proporcionando una herramienta poderosa para la detección y respuesta a incidentes de seguridad.
Bibliografía
[1] W. Lim, K. S. Yong, B. T. Lau, and C. C. Tan, “Future of generative adversarial networks(GAN) for anomaly detection in network security: A Review,” Computers & Security, vol.139, p. 103733, Apr. 2024. doi:10.1016/j.cose.2024.103733.
[2] W. L. Hamilton, Graph Representation Learning. Springer International, 2020
[3] M. K. Ryan and K. Y. Rozier, A survey and analysis of recent IOT device vulnerabilities, Mar. 2024. doi:10.21203/rs.3.rs-3982790/v1