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

ESPECIAL

Algoritmo de generación de dominios: Implicaciones en seguridad



Dirección copiada

El DGA es la técnica que cada vez más emplean los ciberdelincuentes para lanzar ataques de malware a través de la generación de miles de dominios. Aprende a detectarlos y apartarlos de tu camino.

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

Alguna vez te ha ocurrido que, al intentar abrir un sitio web, su URL parece una cadena aleatoria de letras y números que carece de sentido. Pues, ten mucho cuidado porque puedes estar en presencia de un DGA, también conocido como algoritmo de generación de dominios.

Los DGA son una técnica empleada por ciberdelincuentes para evadir las medidas de seguridad en las organizaciones, y así quebrar sus defensas e infectar con malware al equipamiento tecnológico. 

Este tipo de vector es capaz de generar cientos o miles de nombres de dominio aleatorios con el fin de ocultar la comunicación entre una máquina cliente infectada y el servidor de comando y control (C&C o C2), donde se resuelven las direcciones IP.

Descubre más sobre el algoritmo DGA y cómo mitigarlos en el siguiente artículo.

Introducción al algoritmo de generación de dominios

De acuerdo con el sitio web Mitre Attack, base de conocimientos que ayuda a modelar tácticas de ciberdelincuencia para detectarlas y detenerlas; los atacantes pueden utilizar DGA para identificar un dominio de destino para el tráfico de comando y control, en lugar de depender de una lista estática de IP’s.

Visualización del tráfico HTTP del sumidero del DGA de la Operación Tovar, llevada a cabo por las fuerzas del orden para desmantelar la botnet Gameover Zeus el 30 de mayo de 2014.

La ventaja de esto es que, al no poder localizarlos, los sistemas de defensa no pueden bloquear, rastrear y apropiarse del canal de comunicación del malware. Mientras tanto, el vector sigue generando y revisando miles de dominios en busca de instrucciones del servidor atacante.

Definición oficial de los DGA

El sitio de seguridad First define a los algoritmos de generación de dominios como vectores que “permiten a los actores de amenazas construir y registrar dominios únicos con gran rapidez para fines maliciosos, como campañas de phishing o comandos y control de malware (C2) que evaden el filtrado”.

Un caso muy común de los DGA son cuando el antivirus de un ordenador localiza una amenaza pero, al buscar la dirección asociada a su origen, descubre que ésta cambia constantemente…

Los DGA, sin embargo, pueden o no comprender letras y números aleatorios. En algunas ocasiones, explica la web de First, estos algoritmos evaden la detección utilizando palabras del diccionario en inglés o de otros idiomas en lugar de una combinación aleatoria de letras y números:

“Carhorsebatterystaplehousewindow.example” podría ser un dominio generado por DGA.

El fin legítimo de los DGA

Si bien los algoritmos de generación de dominio están más asociados a técnicas de ciberataques con malwares, la Cloud Security Alliance resalta que aún existen posibles aplicaciones legítimas de esta tecnología; lo que hace que algunas empresas duden en bloquearlas por completo.

1. Sistemas de alta disponibilidad

Los DGA pueden utilizarse para generar una lista de nombres de dominio alternativos en sistemas críticos que requieren redundancia y disponibilidad. Esto, en términos de resiliencia, garantiza una comunicación ininterrumpida en caso de que falle una red o se caiga el dominio legítimo de un sitio web.

2. Entrega de contenido distribuido

los DGAs podrían aplicarse a redes de distribución de contenido (CDN) que generan dominios dinámicamente para distribuir la carga y mejorar la disponibilidad; al igual que el concepto de redes P2P.

3. Recuperación ante desastres

De vuelta en la continuidad operativa, la CSA concluye en que los algoritmos de generación de dominios pueden emplearse para asignar dominios dinámicamente en situaciones donde una organización necesita restaurar servicios rápidamente.

De este modo, garantizar que las comunicaciones permanezcan intactas a pesar de fallas de DNS o ataques DDoS.

¿Por qué DGA no se aplica legítimamente?

A pesar de su uso para mitigar fallas informáticas, estos posibles usos legítimos no suelen aplicarse por diferentes motivos. Entre ellos:

  • Complejidad de la gestión de dominios generados por DGA
  • Alto riesgo de ser confundidos con actividad maliciosa
  • Problemas con la gestión de certificados
  • Inspección de SSL/TLS problemática

Cómo protegerse contra los 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. Para protegerse, la CSA ofrece estas recomendaciones:

Infografía: Técnicas de detección de DGA

Análisis del tráfico DNS

  • Consultas fallidas y repetitivas revelan intentos de DGA.
  • Patrones anómalos de resolución ayudan a detectar C2 emergentes.

Detección por entropía

  • Los dominios DGA suelen mostrar alta aleatoriedad.
  • Métricas marcan nombres fuera del patrón humano.

PLN para dominios

  • Diferencia nombres legibles de cadenas artificiales.
  • Detecta incoherencias ortográficas y sintácticas.

Inteligencia de amenazas

  • Feeds C2 y dominios maliciosos actualizados.
  • Refuerza listas de bloqueo ante cambios rápidos.

Aprendizaje automático

  • Reconoce patrones de DGA y sus variantes.
  • Clasifica dominios anómalos casi en tiempo real.

Desarrollos y tendencias emergentes en DGA

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 actuales 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