DGA algoritmo de generación de dominios: ¿Cómo combatirlos?

ESPECIAL

Algoritmo de generación de dominios (DGA): ¿Cómo detectarlo y combatirlo?



Dirección copiada

El DGA algoritmo de generación de dominios es la técnica que cada vez más emplean los ciberdelincuentes para lanzar ataques de malware, aprenda a detectarlo y erradicarlo

Publicado el 9 abr 2024



DGA-Algoritmos-de-generacion-de-dominios
Los ciberdelincuentes y los operadores de botnets utilizan los DGA para cambiar con frecuencia los dominios que utilizan al lanzar ofensivas de malware


DGA algoritmo de generación de dominios es una técnica utilizada por ciberdelincuentes para evadir las medidas de seguridad en las organizaciones, y así quebrar sus defensas e infectar con malware al equipamiento tecnológico.

El DGA da origen a cientos o miles de nombres de dominio, aleatoriamente; su objetivo es ocultar la comunicación entre una máquina cliente infectada y el servidor de comando y control (C&C o C2) en el que se resuelven las direcciones IP (protocolo internet).

Introducción a DGA algoritmo de generación de dominios

La técnica que emplean los ciberdelincuentes cada vez con mayor frecuencia para lanzar ataques de malware se llama DGA o algoritmo de generación de dominios.

Los ciberdelincuentes y los operadores de botnets (botnet o red zombi es un grupo de ordenadores o dispositivos que están bajo el control de un atacante) utilizan los DGA para cambiar con frecuencia los dominios que utilizan para lanzar ofensivas de malware.

¿Qué es DGA y cómo funciona su algoritmo?

El funcionamiento del algoritmo de generación de dominios (DGA) sucede a partir de secuencias de caracteres que producen rápidamente cientos o miles de nombres de dominio, mismos que pueden convertirse en puntos de comunicación para que los atacantes se conecten con los servidores de comando y control. 

Con DGA es posible generar hasta miles de dominios cada día, en su mayoría sin registrar. Los ciberdelincuentes usan los dominios no registrados para ocultar los registrados.

Esta acción se traduce en una brecha que facilita la detección por parte de los motores de inspección que utilizan firmas y reputación de IP.

La explicación técnica se resume de acuerdo con lo siguiente:

  • El algoritmo se ejecuta tanto en el cliente como en el origen.
  • Inicia con una semilla que conoce tanto el atacante como el servidor C2.
  • Ambos saben qué dominios se generan y cuál se registra para actuar a manera de canal de comunicación para el malware.
  • En caso de que los sistemas de ciberseguridad identifiquen y bloqueen ese dominio, los atacantes pasan al siguiente dominio, manteniendo así el contacto con el servidor C2.
  • El patrón que se sigue es comprendido tanto por el atacante como por el malware o la botnet.

Importancia y aplicaciones de DGA algoritmo de generación de dominios

A diferencia de otras técnicas y mecanismos utilizados por las áreas de seguridad informática para establecer, reforzar o garantizar la integridad de la información, el algoritmo de generación de dominios es la herramientas que utilizan los ciberdelincuentes para sus ataques de malware.

Por ello es que, desde la estructura de las organizaciones susceptibles de ser atacadas, se requiere de cambiar la perspectiva para entender cuál es la importancia de DGA en función de qué infraestructuras o tecnologías son más vulnerables al malware.

Desafíos de seguridad frente a DGA y métodos de detección

El enorme volumen de tráfico de red que se está recopilando a diario en organizaciones e instituciones representa, por su tamaño, un primer desafío de seguridad frente a DGA.

Junto con él, la naturaleza aleatoria de los dominios generados por estos algoritmos, implica un segundo desafío, en términos de la dificultad en la detección de esta actividad para las técnicas basadas en reglas.

No obstante, el método de detección de machine learning supervisado está dando muy buenos resultados, en combinación con big data.

Ahora bien, en cuanto a la manera de proceder con la detección, esta se hace capturando y analizando paquetes de red y estos son los pasos a seguir:

  1. La detección comienza a través de solicitudes de DNS o de mensajes de respuesta, de preferencia empleando un motor de inspección profunda de paquetes (DPI).
  2. El siguiente paso es la extracción de nombres de dominio, para su posterior análisis, que representa la parte más delicada e importante del proceso.
  3. Enseguida corresponde el turno a la detección de dominios DGA registrados, así como el tráfico a esos dominios.
  4. Por último, aplicar bloqueo al tráfico hacia dominios registrados.

Casos de uso y ejemplos prácticos de DGA

Entre los ejemplos prácticos de algoritmos DGA que se han utilizado está la familia de malware Kraken.

Se descubrió que, en 2008, Kraken empleaba un algoritmo DGA para generar dominios pseudoaleatorios. Estos eran URL (uniform resource locator, por sus siglas en inglés) completos, con cadenas aleatorias que imitaban la gramática inglesa y la estructura de palabras.

Hasta la fecha se siguen encontrando rastros de Kraken en sistemas infectados.

Otro ejemplo es Sunburst DGA, malware de puerta trasera que en 2020 afectó la plataforma Orion de SolarWinds.

En aquel momento se encontraron 165 dominios únicos afectados, pertenecientes a organizaciones de IT (tecnologías de la información), administración pública, educación, finanzas y seguros, de 25 países diferentes.

Más recientemente, en 2022, gracias a los esfuerzos combinados de ESET, Black Lotus Labs, Avast, Microsoft y Unidad 42, una compleja acción legal desactivó la red de bots ZLoader, permitiendo incautar más de 300 dominios DGA.

Cómo protegerse contra amenazas DGA

DGA se emplea para empujar el malware, para hacer que avance, nulificando o rompiendo las defensas que las organizaciones colocan como barreras en sus estrategias de ciberseguridad.

Como sabemos, malware es la denominación de software malicioso que engloba una variedad de ciber amenazas muy comunes, entre las que se cuentan: virus, gusanos, troyanos, adware o spyware.

Aunque la mayor parte de las soluciones antimalware brindan cierto rango defensivo contra estas amenazas (malware y por tanto DGA), a menudo es insuficiente.

Entonces, se recomienda una serie de prácticas para elevar el nivel de protección:

  • Gestión de parches para mantener el software actualizado.
  • Sensibilizar a los usuarios respecto de riesgos de ciberseguridad, así como en el reconocimiento de enlaces, mensajes, sitios web o correos electrónicos potencialmente maliciosos.
  • Emplear filtrado de URL para evitar el acceso a sitios web o enlaces identificados como maliciosos.
  • La utilización de soluciones de seguridad de DNS (sistema de nombres de dominio) orientadas a la detección de DGA mediante la identificación y el bloqueo de la comunicación entre los servidores C2 y el malware.
  • También, aplicar soluciones de seguridad para evitar que los usuarios abran archivos adjuntos maliciosos o puedan habilitarhabiliten macros en documentos adjuntos.
  • Implementar tecnología anti-DGA que utiliza el aprendizaje automático y el big data para identificar actividades anómalas y eliminar sitios maliciosos.

Desarrollos recientes y tendencias en algoritmo de generación de dominios

Los primeros DGA eran sencillos. En general, aplicaban una función hash a la fecha actual y un contador, combinando el resultado con un TLD (top level domain).

Hash es un algoritmo matemático que transforma cualquier bloque arbitrario de datos en una nueva serie de caracteres con una longitud fija.

Los dominios resultantes solo usaban caracteres hexadecimales y tenían un tamaño fijo. Era improbable que ya estuvieran registrados, pero resultaban muy fáciles de identificar.

Conforme los algoritmos DGA han evolucionado, su contraparte, los mecanismos de detección, también lo han hecho.

La variedad de algoritmos DGA que han desarrollado los ciberdelincuentes, con cada vez mayor nivel de sofisticación para evadir la detección, incluyen:

Generador pseudoaleatorio (PRNG)

Es la metodología más común para un DGA. Emplea un generador de semillas aleatorias (por ejemplo, la fecha y hora del sistema); crea secuencias de dominio que son predecibles para el atacante y para el malware.

DGA basado en caracteres

Es el método más simple. Usa una semilla aleatoria para seleccionar el alfabeto o los números para generar nombres de dominio. Al ser simple, o primitivo, es el tipo más fácil de detectar.

DGA basados en diccionarios

Se combinan palabras en forma aleatoria; los dominios generados parecen tanto legibles como legítimos. Los sistemas de seguridad tienen dificultad para detectarlos.

DGA de alta colisión

Por diseño, parecen nombres de dominio legítimos. Se emparejan con dominios de nivel superior (TLD) como .COM, .NET y .ORG, con lo se presenta una mayor probabilidad de que ese dominio producido ya esté registrado.

Esto provoca una colisión que puede agregar caos al proceso de detección.

Impacto en la ciberseguridad: DGA y sus implicaciones

La ingeniería inversa es la metodología que expertos en ciberseguridad han decidido aplicar para identificar algoritmos DGNA, con buenos resultados.

Obtienen una lista de dominios que van a ser utilizados cada día y hacen un bloqueo preventivo de lo que denominan DGA conocidos.

Para la detección de los DGA desconocidos, se trabaja en algoritmos basados en técnicas de machine learning y deep learning, logrando distinguir entre dominios DGA aleatorios (incluso la familia de malware a la que pertenecen) y dominios legítimos.

Consideraciones éticas en el desarrollo y uso de algoritmos DGA

Hay dos perspectivas para revisar las cuestiones éticas relacionadas con los algoritmos DGA, que están en lados opuestos.

Por un lado, los ciberdelincuentes hacen uso intensivo de los DGA como parte de los mecanismos para la instalación de malware, envío de spam, ataques DDoS (denegación de servicio distribuido), es decir, para su uso malicioso.

Al ser atacada la seguridad informática y la privacidad de las personas, hay un cuestionamiento ético complejo derivado de lo perjudicial de tales situaciones.

Por otro lado, están los mecanismos de detección y defensa contra ciber amenazas, que aplican las organizaciones para protegerse a sí mismas y a los usuarios, que son considerados totalmente éticos.

Como ejemplo, el uso de machine learning supervisado, que ya se ha mencionado antes, favorece la detección de DGA y en consecuencia la mitigación de ataques.

En un plano más amplio, debe existir transparencia y responsabilidad acerca del uso y propósito que puedan tener los algoritmos, incluidos los DGA.

Las organizaciones que los desarrollan, bajo la mirada de la ética, están obligadas a evitar su uso malicioso, al mismo tiempo que a responsabilizarse por la protección de los usuarios y la infraestructura digital.

El futuro de DGA: avances tecnológicos y escenarios emergentes

Como si de una guerra se tratara, tanto atacantes como defensores continúan ideando y aplicando fórmulas relacionadas con algoritmos DGA. ¿Qué se espera?

En términos de adaptación, la expectativa es que los algoritmos DGA serán cada vez más sofisticados, acelerando también su frecuencia de cambios para evitar la detección.

Ambos bandos, atacantes y defensores, acelerarán el uso de las técnicas de aprendizaje automático o machine learning.

En unos para detectar patrones en los DGA; en los otros para robustecer esos DGA y hacerlos más resistentes a la detección.

La posibilidad de incorporar en DGA palabras o frases tomadas de publicaciones en redes sociales para generar dominios supuestamente legítimos, es real y factible, como herramienta para los ciberdelincuentes.

Aprovechando la proliferación de dispositivos IoT (internet de las cosas), los ciberdelincuentes pueden diseñar algoritmos DGA para esos equipos, incrementando su capacidad de ataque.

La prevención como enfoque, a partir de un bloqueo de la comunicación inicial entre el malware y los servidores de C&C, para evitar que la botnet se active, en vez de llevar a cabo solo acciones defensivas.

El establecimiento de mecanismos de colaboración entre investigadores, empresas de seguridad y usuarios, compartiendo datos y técnicas de detección es relevante para combatir los DGA.

Para concluir, las estrategias de ciberseguridad deben mantenerse ágiles, flexibles y adaptables ante las nuevas modalidades empleadas por los ciberdelincuentes.

Artículos relacionados

Artículo 1 de 5