Un ejemplo de algoritmo de generación de dominios es el DGA del gusano Conficker, que se utilizó para generar un gran número de nombres de dominio únicos para su infraestructura de mando y control.
Un algoritmo de generación de dominios (DGA) es un programa que genera un gran número de nuevos nombres de dominio. Los ciberdelincuentes y los operadores de botnets utilizan algoritmos de generación de dominios para cambiar con frecuencia los dominios que utilizan para lanzar ataques de malware. Esta técnica permite a los hackers evitar soluciones de detección de malware que bloquean nombres de dominio específicos y direcciones IP estáticas.
¿Por qué los ciberdelincuentes utilizan algoritmos de generación de dominios?
Los atacantes utilizan malware para infectar un gran número de ordenadores o dispositivos dentro de los entornos de TI corporativos. Los atacantes pueden emitir comandos a estos bots o equipos infectados por malware y recopilar información de ellos mediante un servidor de comando y control (servidor C2), que normalmente también es un equipo alojado en un sistema comprometido. Esta red de bots, o botnet, se puede utilizar para propagar spam, robar datos confidenciales o llevar a cabo campañas de denegación de servicio (DDoS) distribuidas y otros ciberataques.
Para evitar estas actividades maliciosas, los servicios y soluciones de ciberseguridad intentan identificar las direcciones IP de los equipos y sitios web implicados en la comunicación entre los servidores C2 y los dispositivos infectados, bloqueando cualquier tráfico que vaya a esas direcciones IP o provenga de ellas en función de la inteligencia ante amenazas de un proveedor de seguridad de red. Para continuar con sus ataques, los ciberdelincuentes deben cambiar continuamente de dominio para evitar su detección mediante listas de bloqueo, filtros de firmas, puertas de enlace de seguridad, sistemas de reputación, sistemas de prevención de intrusiones, y otras tecnologías de seguridad.
Mediante el uso de DGA para generar un gran número de nombres de dominio, los ciberdelincuentes pueden cambiar rápidamente de dominio a un ritmo que dificulta que los motores de detección sigan el ritmo.
¿Cómo funcionan los algoritmos de generación de dominios?
Los algoritmos de generación de dominios son aplicaciones que utilizan secuencias de caracteres para producir rápidamente miles de nombres de dominio que podrían servir como punto de encuentro en el que los atacantes se pueden comunicar con los servidores C2. Estos algoritmos pueden generar decenas de miles de nombres de dominio DGA cada día, la mayoría de ellos sin registrar. Los piratas informáticos utilizan los dominios no registrados para ocultar los registrados, lo que facilita la detección por parte de los motores de inspección que utilizan firmas y reputación de IP. El algoritmo se ejecuta tanto en el cliente como en el origen. Comienza con una semilla conocida tanto por el atacante como por el servidor C2, lo que permite a ambos saber qué dominios se generarán y qué dominio se registrará para servir como canal de comunicación para el malware. Si los sistemas de seguridad identifican y bloquean ese dominio, los atacantes pueden cambiar rápidamente al siguiente dominio para mantener el contacto con el servidor C2, siguiendo un patrón que tanto el hacker como el malware o la botnet entienden.
¿Qué tipos de DGA existen?
Los hackers han desarrollado diferentes tipos de DGA para aumentar su capacidad de crear dominios maliciosos al tiempo que eluden la detección.
- Los DGA de generador de números pseudoaleatorios (PRNG) son la metodología más común, ya que utilizan una semilla aleatoria (a menudo la fecha y hora del sistema) para generar secuencias de dominio que tanto el atacante como el malware pueden predecir.
- Los DGA basados en caracteres utilizan una semilla aleatoria para generar nombres de dominio con letras o números. Estos DGA son los más fáciles de detectar.
- Los DGA basados en diccionarios combinan aleatoriamente palabras para generar dominios que parecen legibles y que son más difíciles de detectar para los sistemas de seguridad, ya que parecen dominios legítimos.
- Los DGA de alta colisión están diseñados para parecer nombres de dominio legítimos y se emparejan con dominios de nivel superior (TLD) como .com, .net y .org. Con los DGA de alta colisión, existe una mayor probabilidad de que el dominio producido ya esté registrado, lo que provoca una “colisión” que puede añadir una capa de confusión al proceso de detección.
¿Cómo pueden detectar las organizaciones los dominios DGA?
Los pasos que siguen las organizaciones para prevenir el malware también pueden evitar los DGA. Dado que los algoritmos de generación de dominios se utilizan para hacer avanzar el malware, la mayoría de las soluciones antimalware ofrecen defensas básicas contra estas amenazas. Las prácticas recomendadas incluyen:
- Adopte una cadencia de parches óptima para mantener el software actualizado, evitando que los atacantes aprovechen las vulnerabilidades del software para penetrar en las defensas e instalar malware.
- Realizar cursos de concienciación sobre la seguridad para ayudar a los usuarios a reconocer enlaces, sitios web y correos electrónicos potencialmente maliciosos que puedan formar parte de un ataque de malware.
- Utilice el filtrado de URL para evitar que los usuarios accedan a sitios web o hagan clic en enlaces que se sabe que son maliciosos.
- Implemente soluciones de seguridad para bloquear la capacidad de los usuarios de abrir archivos adjuntos maliciosos o habilitar macros en documentos adjuntos.
- Elija soluciones de seguridad de DNS que puedan ayudar a la detección de DGA mediante la identificación y el bloqueo de la comunicación entre los servidores C2 y el malware mediante el tráfico de DNS, que a menudo puede pasar a través de firewalls sin necesidad de inspección.
- Implemente tecnología anti-DGA que utiliza el aprendizaje automático y el big data para identificar actividades anómalas y eliminar sitios maliciosos.
Preguntas frecuentes
Tres factores que se pueden utilizar en los algoritmos de generación de dominios son el tiempo, la semilla aleatoria y los cálculos matemáticos.
Los DGA son útiles para los ciberdelincuentes porque les permiten cambiar constantemente los dominios utilizados para la comunicación con los equipos infectados, lo que dificulta a los investigadores de seguridad y a las fuerzas del orden el seguimiento y el desmantelamiento de su infraestructura.
La principal diferencia entre un algoritmo de generación de dominios y una lista de palabras es que un DGA genera nombres de dominio algorítmicamente basados en ciertos factores, mientras que una lista de palabras es una lista estática de nombres de dominio predeterminados que puede utilizar un malware o botnet con fines de comunicación. Los DGA proporcionan un mayor nivel de variabilidad e imprevisibilidad en comparación con las listas de palabras.
Por qué los clientes eligen Akamai
Akamai es la empresa de ciberseguridad y cloud computing que potencia y protege los negocios online. Nuestras soluciones de seguridad líderes en el mercado, nuestra inteligencia ante amenazas consolidada y nuestro equipo de operaciones globales proporcionan una defensa en profundidad para proteger los datos y las aplicaciones empresariales. Las soluciones integrales de cloud computing de Akamai garantizan el rendimiento y una buena relación calidad-precio en la plataforma más distribuida del mundo. Las grandes empresas confían en Akamai, ya que les ofrece una fiabilidad, una escalabilidad y una experiencia inigualables en el sector, idóneas para crecer con seguridad.