Articulo de referencia

Algoritmo de generación de dominios

Los algoritmos de generación de dominios (DGA, por sus siglas en inglés) son algoritmos presentes en diversas familias de malware que se utilizan para generar periódicamente un ...

Los algoritmos de generación de dominios (DGA, por sus siglas en inglés) son algoritmos presentes en diversas familias de malware que se utilizan para generar periódicamente un gran número de nombres de dominio que pueden servir como puntos de encuentro con sus servidores de comando y control . La gran cantidad de posibles puntos de encuentro dificulta que las fuerzas del orden desmantelen eficazmente las botnets , ya que los ordenadores infectados intentarán contactar con algunos de estos nombres de dominio a diario para recibir actualizaciones o comandos. El uso de criptografía de clave pública en el código del malware hace inviable que las fuerzas del orden y otros actores imiten los comandos de los controladores del malware, ya que algunos gusanos rechazan automáticamente cualquier actualización que no esté firmada por dichos controladores.

Por ejemplo, un ordenador infectado podría crear miles de nombres de dominio como www.<galimatías>.com e intentar contactar con una parte de ellos con el fin de recibir una actualización o comandos.

La inclusión del DGA en lugar de una lista de dominios generados previamente (por los servidores de comando y control) en el binario sin ofuscar del malware protege contra un volcado de cadenas que podría introducirse de forma preventiva en un dispositivo de lista negra de red para intentar restringir la comunicación saliente de los hosts infectados dentro de una empresa.

La técnica fue popularizada por la familia de gusanos Conficker .a y .b, que inicialmente generaban 250 nombres de dominio por día. A partir de Conficker.C, el malware generaba 50.000 nombres de dominio diarios, de los cuales intentaba contactar con 500, lo que le daba a una máquina infectada una probabilidad del 1% de actualizarse cada día si los controladores del malware registraban solo un dominio diario. Para evitar que las computadoras infectadas actualizaran su malware, las fuerzas del orden habrían necesitado preregistrar 50.000 nuevos nombres de dominio cada día. Desde el punto de vista del propietario de la botnet, solo tenía que registrar uno o unos pocos dominios de entre los varios que cada bot consultaría diariamente.

Recientemente, otros creadores de malware han adoptado esta técnica. Según la empresa de seguridad de redes Damballa , las cinco familias de malware basadas en DGA más frecuentes en 2011 eran Conficker, Murofet, BankPatch, Bonnana y Bobax. [ 1 ]

DGA también puede combinar palabras de un diccionario para generar dominios. Estos diccionarios pueden estar integrados en el malware o provenir de una fuente pública. [ 2 ] Los dominios generados por DGA tienden a ser más difíciles de detectar debido a su similitud con dominios legítimos.

Ejemplo

def generate_domain ( year : int , month : int , day : int ) -> str : """Genera un nombre de dominio para la fecha dada.""" domain = ""for i in range ( 16 ): year = (( year ^ 8 * year ) >> 11 ) ^ (( year & 0xFFFFFFF0 ) << 17 ) month = (( month ^ 4 * month ) >> 25 ) ^ 16 * ( month & 0xFFFFFFF8 ) day = (( day ^ ( day << 13 )) >> 19 ) ^ (( day & 0xFFFFFFFE ) << 12 ) domain += chr ((( year ^ month ^ day ) % 25 ) + 97 )dominio de retorno + ".com"

Por ejemplo, el 7 de enero de 2014, este método generaría el nombre de dominio intgmxdeadnxuyla.com, mientras que al día siguiente devolvería axwscwsslmiagfah.com. Este sencillo ejemplo fue utilizado por malware como CryptoLocker , antes de que este cambiara a una variante más sofisticada.

Detección

Los nombres de dominio DGA [ 3 ] pueden bloquearse mediante listas negras, pero la cobertura de estas listas negras es deficiente (listas negras públicas) o muy inconsistente (listas negras de proveedores comerciales). [ 4 ] Las técnicas de detección pertenecen a dos clases principales: reactivas y en tiempo real. La detección reactiva se basa en técnicas de agrupamiento no supervisado e información contextual como respuestas de red NXDOMAIN, [ 5 ] información WHOIS , [ 6 ] y DNS pasivo [ 7 ] para realizar una evaluación de la legitimidad del nombre de dominio. Los intentos recientes de detectar nombres de dominio DGA con técnicas de aprendizaje profundo han sido extremadamente exitosos, con puntuaciones F1 de más del 99%. [ 8 ] Estos métodos de aprendizaje profundo suelen utilizar arquitecturas LSTM y CNN , [ 9 ] aunque las incrustaciones de palabras profundas han demostrado ser muy prometedoras para detectar DGA de diccionario. [ 10 ] Sin embargo, estos enfoques de aprendizaje profundo pueden ser vulnerables a técnicas adversarias . [ 11 ] [ 12 ]

Véase también

Referencias

  1. "Las 5 familias de software malicioso más frecuentes basadas en DGA" (PDF) . Damballa . pág.  4. Archivado del original (PDF) el 3 de abril de 2016.
  2. Plohmann, Daniel; Yakdan, Khaled; Klatt, Michael; Bader, Johannes; Gerhards-Padilla, Elmar (2016). "Un estudio de medición integral del malware generador de dominios" (PDF) . 25.º Simposio de Seguridad USENIX : 263–278 .
  3. Shateel A. Chowdhury, "ALGORITMO DE GENERACIÓN DE DOMINIOS – DGA EN MALWARE" , 30 de enero de 2024.
  4. Kührer, Marc; Rossow, Christian; Holz, Thorsten (2014), "Paint It Black: Evaluating the Effectiveness of Malware Blacklists" (PDF) , en Stavrou, Angelos; Bos, Herbert; Portokalidis, Georgios (eds.), Research in Attacks, Intrusions and Defenses , vol. 8688, Springer International Publishing, pp. 1–21 , doi : 10.1007/978-3-319-11379-1_1 , ISBN   9783319113784, consultado el 15 de marzo de 2019
  5. Antonakakis, Manos; et al. (2012). "Del tráfico desechable a los bots: detección del auge del malware basado en DGA" . 21.º Simposio de Seguridad USENIX : 491–506 . 
  6. Curtin, Ryan; Gardner, Andrew; Grzonkowski, Slawomir; Kleymenov, Alexey; Mosquera, Alejandro (2018). "Detección de dominios DGA con redes neuronales recurrentes e información lateral". arXiv : 1810.02023 [ cs.CR ].
  7. Pereira, Mayana; Coleman, Shaun; Yu, Bin; De Cock, Martine; Nascimento, Anderson (2018), "Extracción de diccionario y detección de nombres de dominio generados algorítmicamente en tráfico DNS pasivo" (PDF) , Investigación en ataques, intrusiones y defensas , Lecture Notes in Computer Science, vol. 11050, Springer International Publishing, pp. 295–314 , doi : 10.1007/978-3-030-00470-5_14 , ISBN   978-3-030-00469-9, consultado el 15 de marzo de 2019
  8. Woodbridge, Jonathan; Anderson, Hyrum; Ahuja, Anjum; Grant, Daniel (2016). "Predicción de algoritmos de generación de dominios con redes de memoria a corto y largo plazo". arXiv : 1611.00791 [ cs.CR ].
  9. Yu, Bin; Pan, Jie; Hu, Jiaming; Nascimento, Anderson; De Cock, Martine (2018). "Detección de nombres de dominio DGA basada en el nivel de caracteres" (PDF) . Conferencia Internacional Conjunta sobre Redes Neuronales (IJCNN) de 2018. Río de Janeiro: IEEE. pp. 1–8 . doi : 10.1109/IJCNN.2018.8489147 . ISBN  978-1-5090-6014-6. S2CID 52398612 . 
  10. Koh, Joewie J.; Rhodes, Barton (2018). "Detección en línea de algoritmos de generación de dominios con incrustaciones de palabras sensibles al contexto". 2018 IEEE International Conference on Big Data (Big Data) . Seattle, WA, EE. UU.: IEEE. pp. 2966–2971 . arXiv : 1811.08705 . doi : 10.1109/BigData.2018.8622066 . ISBN  978-1-5386-5035-6. S2CID 53793204 . 
  11. Anderson, Hyrum; Woodbridge, Jonathan; Bobby, Filar (2016). "DeepDGA: Generación y detección de dominios ajustados adversarialmente". arXiv : 1610.01969 [ cs.CR ].
  12. Sidi, Lior; Nadler, Asaf; Shabtai, Asaf (2019). "MaskDGA: Una técnica de evasión de caja negra contra clasificadores DGA y defensas adversarias". arXiv : 1902.08909 [ cs.CR ].

Lecturas adicionales

  • Phillip Porras ; Hassen Saidi; Vinod Yegneswaran (19 de marzo de 2009). "Análisis de la lógica y los puntos de encuentro de Conficker" . Centro de Amenazas de Malware . Laboratorio Internacional de Ciencias de la Computación de SRI . Consultado el 14 de junio de 2013 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  • Lucian Constantin (27 de febrero de 2012). "Los autores de malware amplían el uso de algoritmos de generación de dominios para evadir la detección" . PC World . Consultado el 14 de junio de 2013 .
  • Hongliang Liu, Yuriy Yuzifovich (29 de diciembre de 2017). "Un duelo a muerte de algoritmos de generación de dominios" . Akamai Technologies . Recuperado el 15 de marzo de 2019 .
  • DGA en manos de ciberdelincuentes: un análisis del estado del arte en técnicas de evasión de malware.
  • Agencias de vigilancia de distrito y ciberdelincuentes: un estudio de caso
  • Cómo los delincuentes defienden sus redes ilícitas, Abuse.ch