Generador polimórfico

Un generador polimórfico,[1]​ también llamado kit de herramientas de polimórfismo o toolkit polimórfico (del inglés polymorphic toolkit), es un software que puede unirse a un malware para hacerlo polimórfico.[2]​ Son módulos de código que un programador puede incorporar al código de su malware para así poder usar sus rutinas. Una vez que el generador polimórfico está vinculado a un malware, se convierte en una parte intrínseca de dicho malware y, por tanto, el marge transportará el generador cuando se propague.[1]

La efectividad de un generador polimórfico se mide por su capacidad para mutar. Para ello necesitan algún tipo de rutina de aleatorización para crear diferentes algoritmos cada vez. Algunos de los generadores permiten al programador de virus sustituir sus propias rutinas de aleatorización en lugar de las originales.[1]

la ventaja que obtienen los virus de los generadores polimórficos es algo cuestionable. Si un programa antivirus es capaz de reconocer la presencia de un generador en particular, generalmente puede detectar todos los virus enmascarados por él.[1]

Este tipo de software es típicamente distribuido vía redes underground y áreas privadas de Internet. Antiguamente también se distribuían por las BBS de intercambio de virus.[1]

Historia

editar

El primer toolkit polimórfico fue creado en 1992 por el desarrollador búlgaro Dark Avenger", se llamaba MtE (abreviatura de Mutation Engine). Permitía convertir virus ordinario en virus polimórficos.[3]​ Este motor sirvió de inspiración a muchos creadores de motores polimórficos. Al poco tiempo aparecieron TPE (siglas de Trident Polymorphic Engine), creado por Masud Khafir, y NED (del inglés NuKE Encryption Device), creado por Nowhere Man.[4]

Desde entonces ha habido múltiples motores polimórficos.[5]​ Algunos ejemplos son:

  • tPE (del inglés TridenT Polymorphic Engine). Creado por Masud Khafir en 1992.[5][6][1]
  • NED (del inglés NuKE Encryption Device). Aparecido en 1992. No era tan avanzado, pero a diferencia de la mayoría de los otros generadores polimórficos, se distribuía como código fuente legible en lugar de un módulo de objeto.[1]
  • DAME (del inglés Dark Angel’s Multiple Encryptor).[6]​ Creado en 1993.[7]
  • DGME (del inglés Darwinian Genetic Mutation Engine).[1]​ Publicado como fuente en el libro "Computer Viruses, Artificial life and Evolution" de Mark Ludwig en 1993.[7]
  • DSME (del inglés Dark Slayer Mutation Engine).[1]​ Creado en 1993.[7]
  • MutaGen.[1]​ Creado en 1994.[7]
  • GPE (del inglés Guns'n'Roses Polymorphic Engine).[1]​ Creado en 1994.[7]
  • DSCE (del inglés Dark Slayer Confusion Engine).[1]​ Creado en 1994.[7]
  • GCAE (del inglés Golden Cicada Abnormal Engine).[7]​ Creado en 1995.[7]
  • SMEG (del inglés The Simulated Metamorphic Encryption Generator). Creado en 1994.[7]
  • ULTIMUTE (del inglés The ULTImate MUTation Engine). Creado en 1993.[7]
  • VICE (del inglés Virogen's Irregular Code Engine). Creado en 1995.[7]
  • CPE (del inglés The Compact Polymorphic Engine). Creado en 1994.[7]
  • VME (del inglés The Visible Mutation Engine). Creado en 1993.[7]
  • PME (del inglés The Phantasie Mutation Engine). Creado en 1995.[7]
  • Mistfall.[5]
  • EXPO.[5]
  • DINA.[5]
  • PPE (siglas de Prizzy polymorphic engine). Fue el primero en usar instrucciones de coprocesador matemático (FPU, siglas de Floting Point Unit).[8]
  • PHATBOT. Usado para crear gusanos polimórficos.[5]
  • ADMmutate. Es usado para crear gusanos polimórficos[5]​ y shellcodes polimórficos (es un motor polimórfico de shellcodes).[9]​ Permite realizar transformaciones metamórficas.[10]
  • JempiScodes. Es usado para crear gusanos polimórficos[5]​ y shellcodes polimórficos (es un motor polimórfico de shellcodes).[9]
  • The CLET team's polymorphic engine. Es usado para crear gusanos polimórficos y shellcodes polimórficos (es un motor polimórfico de shellcodes).[9]​ Permite realizar transformaciones metamórficas.[10]
  • TAPiON.[10]
  • Shikata Gai Nai. Generador polimórfico incluido en Metasploit.[11]
  • Jumpcall additive. Generador polimórfico incluido en Metasploit.[11]
  • Call4dword. Generador polimórfico incluido en Metasploit.[11]
  • fnstenv mov. Generador polimórfico incluido en Metasploit.[11]

Referencias

editar
  1. a b c d e f g h i j k l Polymorphic Generators.
  2. Elements of Computer Security. David Salomon. página 44. Ed. Springer-Verlag. 2010
  3. Elements of Computer Security. David Salomon. página 306. Ed. Springer-Verlag. 2010
  4. VIDA ARTIFICIAL: EL FASCINANTE MUNDO DE LOS VIRUS INFORMÁTICOS. Jesús Manuel Márquez Rivera. 29 de julio de 2003
  5. a b c d e f g h Polymorphic Blending Attacks. Prahlad Fogla et ali. College of Computing, Georgia Institute of Technology. Usenix Security 2006
  6. a b Towards Automated Malware Creation:Code Generation and Code Integration. A. Cani et ali. 25 de enero de 2014
  7. a b c d e f g h i j k l m n Encryption Generators Used in Computer Viruses Part 1. Howard Fuhs. Mayo de 1995
  8. The Art of Computer Virus Research and Defense-Section 6.2 Armored Viruses Archivado el 21 de abril de 2020 en Wayback Machine.. Peter Szor. Symantec Press. 2005
  9. a b c Hybrid Engine for Polymorphic Shellcode Detection. Udo Payer et ali. Incluido en International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment, DIMVA 2005. página 21. Springer 2005
  10. a b c ERES: an extended regular expression signature for polymorphic worm detection. Razieh Eskandari. Incluido en Springer Nature 2019
  11. a b c d On the Infeasibility of Modeling Polymorphic Shellcode. Yingbo Song et ali. Columbia University. 2007