Imagínate un virus o entidad maliciosa que puede adaptarse y cambiar con el tiempo. Este cambiaformas se camufla cambiando su “composición genética”, si se quiere, es código, para esconderse de aquellos que buscan destruirlo. Desafortunadamente, este escenario no es solo algo que tengas que soñar. Si bien puede parecer sacado de una novela de ciencia ficción, el malware polimórfico es demasiado real en el mundo de la seguridad informática. Y tampoco es un desarrollo nuevo: esta forma mutante de malware ha existido desde al menos los años 80 con la creación del malware llamado 1260. Analizamos en esta publicación qué es el malware polimórfico, cuáles son sus efectos, cómo protegernos y los principales ejemplos de este tipo de malware.
¿Qué es el malware polimórfico?
El malware polimórfico es un tipo de malware que cambia constantemente sus características identificables para evadir la detección. Muchas de las formas comunes de malware pueden ser polimórficas, incluidos virus, gusanos, bots, troyanos o registradores de pulsaciones de teclas. Las técnicas polimórficas implican características identificables que cambian con frecuencia, como nombres y tipos de archivos o claves de cifrado, para que el malware sea irreconocible para muchas técnicas de detección.
El polimorfismo se utiliza para evadir la detección de coincidencia de patrones en la que se basan las soluciones de seguridad como el software antivirus. Si bien ciertas características del malware polimórfico cambian, su propósito funcional sigue siendo el mismo.
Por ejemplo, un virus polimórfico continuará propagándose e infectando dispositivos incluso si su firma cambia para evitar la detección. Al cambiar las características para generar una nueva firma, las soluciones de detección basadas en firmas no reconocerán el archivo como malicioso. Incluso si la nueva firma se identifica y se agrega a la base de datos de firmas de las soluciones antivirus, el malware polimórfico puede continuar cambiando firmas y realizando ataques sin ser detectado.
En ciberseguridad, el término polimorfismo tiene una connotación menos positiva. En este contexto, polimórfico se refiere a la capacidad de un malware para cambiar y adaptar continuamente sus características para evitar la detección. El malware polimórfico empareja un motor de mutación con un código autopropagado para cambiar continuamente su «apariencia» y utiliza cifrado (u otros métodos) para ocultar su código.
Origen y evolución del malware con código polimórfico
Mark Washburn introdujo el primer malware polimórfico llamado 1260 en 1990. Otro malware fue escrito en 1992 por un hacker llamado Dark Avenger para evitar el reconocimiento de patrones por parte del software antivirus. Uno de los programas maliciosos polimórficos más comunes es Virut.
El virus 1260 tiene muchas técnicas interesantes que fueron previamente predichas por Fred Cohen. El virus utiliza dos teclas deslizantes para descifrar su cuerpo, pero lo que es más importante, inserta instrucciones basura en su descifrador. Estas instrucciones son basura en el código. No tienen otra función que alterar la apariencia del descifrador.
El siguiente desarrollo importante en la historia de los virus polimórficos fue MtE, un motor de mutación escrito por el búlgaro Dark Avenger. La primera versión MtE fue lanzada durante el verano de 1991, seguida más tarde por otra versión a principios de 1992. La idea del motor de mutación se basa en el desarrollo modular. Para los escritores de virus novatos, era difícil escribir un virus polimórfico. Sin embargo, los creadores de virus más avanzados acudieron en su ayuda. El motor MtE se lanzó como un objeto que podría vincularse a cualquier virus simple.
W95 / HPS y W95 / Marburg 18 fueron los primeros virus en utilizar motores polimórficos reales de 32 bits. Estos dos virus fueron creados por el infame escritor de virus español, GriYo, en 1998. También creó varios virus altamente polimórficos anteriormente en DOS, como el virus Implant.
Al igual que el motor polimórfico de Implant, el motor polimórfico de HPS es potente y avanzado. Admite subrutinas que utilizan instrucciones CALL / RET y saltos condicionales con desplazamiento distinto de cero.
Diferencia entre malware polimórfico y metamórfico
La gente suele pensar que el malware polimórfico y el malware metamórfico son lo mismo, y en la superficie, lo son: son software adaptativo y mutante que los piratas informáticos utilizan para infiltrarse y robar información mientras evitan la detección. Y tanto el malware polimórfico como el metamórfico tienen como objetivo eludir las soluciones antimalware tradicionales. Sin embargo, aunque sus objetivos son los mismos, la forma en que los alcanza cada tipo de malware es diferente.
Una de las cosas que diferencia al malware metamórfico del polimórfico es que reescribe completamente su código para que cada versión recién propagada de sí mismo ya no coincida con su iteración anterior. Esto difiere del malware polimórfico, que altera parte de su código pero conserva una parte de su código que permanece igual (lo que lo hace un poco más fácil de identificar que el malware metamórfico). En pocas palabras, el malware polimórfico es un leopardo que cambia sus manchas. El malware metamórfico es un tigre que se convierte en león.
Aunque ambos tipos de malware son difíciles de escribir (incluso un pequeño error puede generar problemas importantes que pueden impedir su funcionamiento), el malware metamórfico es más difícil de desarrollar que el malware polimórfico porque su creador puede utilizar múltiples técnicas de transformación. Estos métodos pueden incluir «cambio de nombre de registros, permutación de código, expansión de código, reducción de código e inserción de código basura».
Método de infección
El malware polimórfico existe en muchas formas: Algunos de estos tipos de malware son virus, bots, troyanos, gusanos y registradores de pulsaciones de teclas. Independientemente del tipo, lo que hace que este malware sea tan eficaz es su complejidad y velocidad. El malware polimórfico utiliza código polimórfico para cambiar rápidamente, con una frecuencia de hasta 15-20 segundos.
Debido a que muchos proveedores de anti-malware utilizan métodos de detección tradicionales basados en firmas para detectar y bloquear código malicioso, significa que cuando identifican la nueva firma, el malware ya se ha convertido en algo nuevo. Como resultado, la mayoría de las soluciones de seguridad simplemente no pueden mantenerse al día o no pueden detectar estas amenazas.
El malware polimórfico se aprovecha de la ignorancia de los empleados y de las vulnerabilidades de día cero no reconocidas para causar estragos. Si un empleado hace clic en un archivo adjunto en un correo electrónico de phishing o proporciona información a través de un sitio web de phishing, abre toda su red, empresa y datos confidenciales para atacar. Y cuando la amenaza evoluciona continuamente, es más difícil de identificar y mucho menos de eliminar.
La elección de no educar a tus empleados o parchear vulnerabilidades conocidas deja a tu empresa como un blanco fácil. Microsoft lanzó recientemente un parche para una vulnerabilidad crítica de ejecución de código remoto que existía en los Servicios de escritorio remoto en determinados sistemas operativos de Windows. Este parche tiene como objetivo prevenir posibles ataques generalizados que podrían ser explotados por malware adaptativo y otras amenazas.
El malware puede atacar o ingresar al sistema con una variedad de procesos como cambio de nombre de archivo, compresión y cifrado. Además de esto, el malware también puede ingresar al sistema a través de procesos como la adición de datos y los datos pre-pendientes. Para la mutación, se utiliza un motor polimórfico, que mantiene intacto el algoritmo original del malware. Esto significa que el código sigue cambiando cada vez que se ejecuta, pero la función del código permanecerá inalterada.
El cifrado es la técnica más común para ocultar este código para que no se detecte y, por lo tanto, la detección de malware polimórfico nunca ha sido una tarea fácil. En este proceso, el cuerpo principal del código de malware, conocido como carga útil, está encriptado y no generará ningún significado. Para que el código funcione como antes, siempre se agrega una función de descifrado con el código. Cuando se ejecuta el código completo, la función de descifrado lee la carga útil y descifra el código antes de ejecutarlo.
Ejemplos de malware polimórfico
Los investigadores han descubierto que el 97% de las infecciones de malware emplean técnicas polimórficas. Si bien algunas de estas tácticas existen desde la década de 1990, en la última década ha surgido una nueva ola de malware polimórfico agresivo. Aquí tienes algunos ejemplos de virus polimórficos:
LoveLetter
El gusano Loveletter, memorable por su apego «LOVE-LETTER-FOR-YOU» y la línea de asunto «ILOVEYOU», fue uno de los primeros gusanos en ganar una gran cantidad de atención de los medios. También fue uno de los primeros en alcanzar un número de daños de miles de millones de dólares.
El virus llega en un correo electrónico con el asunto «ILOVEYOU» con un archivo adjunto «LOVE-LETTER-FOR-YOU.TXT.vbs» que se animó a la gente a abrir. El cuerpo del mensaje es «por favor revise la carta de amor adjunta que viene de mí». La línea del remitente será la dirección desde la que se envió. El usuario debe descargar y ejecutar el gusano haciendo clic en él.
El gusano Loveletter provocó cortes generalizados de correo electrónico. Más de 45 millones de computadoras en todo el mundo supuestamente han sido infectadas por varias cepas del gusano. Los tipos de industrias afectadas incluyen empresas de alimentos, medios de comunicación, gigantes automotrices y tecnológicos, así como agencias gubernamentales, universidades e instituciones médicas de todo el mundo.
Storm Worm Email
El infame correo electrónico no deseado enviado en 2007 con el asunto «230 muertos mientras la tormenta azota Europa» fue, en un momento dado, responsable de hasta el 8% de todas las infecciones globales de malware. Cuando se abre el archivo adjunto del mensaje, el malware instala el servicio wincom32 y un troyano en la computadora del destinatario, transformándolo en un bot. Una de las razones por las que el gusano de tormenta era tan difícil de detectar con el software antivirus tradicional era que el código malicioso utilizado se transformaba cada 30 minutos aproximadamente.
CryptoWall
CryptoWall es una cepa de ransomware polimórfica que cifra los archivos en la computadora de la víctima y exige el pago de un rescate por su descifrado. El constructor polimórfico utilizado en Cryptowall se utiliza para desarrollar lo que es esencialmente una nueva variante para cada víctima potencial.
Virlock
El ransomware Virlock se vio por primera vez en 2014, pero en septiembre de 2016 se descubrió que era capaz de propagarse a través de las redes a través de aplicaciones de colaboración y almacenamiento en la nube. Esta cepa utiliza una variedad de técnicas de amenaza.
A diferencia de la mayoría de los ransomware, esta variedad no solo cifra los archivos seleccionados, sino que también los convierte en un infectador de archivos polimórfico como un virus. Además de los archivos que estamos acostumbrados a ver como objetivos, Virlock también infecta archivos binarios. Esto significa que Virlock arma cada archivo que infecta, cualquier usuario que abra un archivo infectado también infectará y cifrará todos los archivos de ese usuario.
CryptXXX
CryptXXX es un software malicioso de la categoría criptográfica distribuido con Angler Exploit Kit. Una vez dentro, CryptXXX encripta varios archivos almacenados en las unidades locales y extraíbles. Los archivos han sido encriptados mediante RSA4096, un algoritmo asimétrico de encriptación. Esto quiere decir que se ha generado durante la encriptación una clave pública (usada para encriptar) y otra privada (usada para desencriptar).
Para restaurar los archivos, los afectados necesitan una clave privada que se almacena en servidores remotos que pertenecen a los ciberdelincuentes. Para conseguir el desencriptador (con una clave privada integrada), las víctimas deben pagar supuestamente una recompensa. Aparte de eso, CryptXXX recaba varios tipos de datos privados (datos de navegación, cookies, etc.).
CryptoLocker
Cryptolocker es una amenaza de malware que ganó notoriedad en los últimos años. Es un caballo de Troya que infecta tu computadora y luego busca archivos para cifrar. Esto incluye todo lo que esté en tus discos duros y todos los medios conectados, por ejemplo, memorias USB o cualquier unidad de red compartida.
Además, el malware busca archivos y carpetas que almacenas en la nube. Solo las computadoras que ejecutan una versión de Windows son susceptibles a Cryptolocker; el troyano no tiene como objetivo Mac. Una vez que tu computadora de escritorio o portátil está infectada, los archivos se «bloquean» mediante lo que se conoce como cifrado asimétrico. Este método se basa en dos «claves», una pública y otra privada. Los piratas informáticos cifran los datos utilizando la clave pública, pero solo pueden descifrarse utilizando la clave privada única que poseen.
Wannacry
WannaCry es un ransomware que se propaga aprovechando una vulnerabilidad en el protocolo de Windows Server Message Block (SMB). El protocolo SMB permite la comunicación entre máquinas Windows en una red, y la implementación de Microsoft podría ser engañada por paquetes especialmente diseñados para ejecutar el código de un atacante.
WannaCry Ransomware explotó en 2017, infectando a más de 230,000 computadoras en todo el mundo y causando daños valorados en miles de millones de dólares. En 2018 se observaron oleadas adicionales de ransomware.
WannaCry fue difundido por EternalBlue, un exploit de día cero que usa una versión antigua del protocolo Server Block Message (SMB). Se cree que el exploit fue descubierto por la Agencia de Seguridad Nacional de EE.UU. (NSA) y luego fue obtenido por un grupo de piratas informáticos llamado Shadow Brokers.
¿Cómo protegerse frente a estas amenazas?
La protección contra el malware polimórfico requiere un enfoque en capas para la seguridad empresarial que combine personas, procesos y tecnología. Hay una serie de mejores prácticas que las empresas deben seguir para la protección contra malware polimórfico, que van desde las mejores prácticas generales para la protección contra malware hasta soluciones especializadas para la detección basada en el comportamiento.
A continuación, se incluyen algunos consejos clave para protegerse contra el malware polimórfico:
Mantén tu software actualizado
Una forma sencilla de ayudar a prevenir infecciones de malware es mantener actualizadas las diversas aplicaciones y herramientas de software que utiliza tu empresa. Los fabricantes de software empresarial como Microsoft, Oracle y Adobe publican regularmente actualizaciones de software que contienen parches de seguridad críticos para vulnerabilidades conocidas. La ejecución de software obsoleto con vulnerabilidades de seguridad deja a tu empresa expuesta a vulnerabilidades que pueden conducir a una variedad de infecciones de malware.
No hagas clic en enlaces o archivos adjuntos sospechosos
Los correos electrónicos de phishing u otras comunicaciones electrónicas no solicitadas pueden contener enlaces o archivos adjuntos maliciosos que se utilizan para propagar malware. Educar a los usuarios finales sobre cómo reconocer enlaces y archivos adjuntos sospechosos puede ayudar a mitigar este vector de entrada común para los ataques de malware.
Usa contraseñas seguras y cámbialas con regularidad
Asegurarse de que tus cuentas estén protegidas con contraseñas seguras y únicas es otra de las mejores prácticas para la protección contra malware. Educa a los usuarios finales sobre las contraseñas seguras y utiliza funciones como la autenticación multifactor o administradores de contraseñas seguras cuando sea necesario.
Aprovecha las herramientas de detección basadas en el comportamiento
Debido a que el malware polimórfico está diseñado para evadir la detección mediante herramientas antivirus tradicionales, las mejores soluciones para esta amenaza utilizan técnicas de detección avanzadas basadas en el comportamiento. Las soluciones de detección basadas en el comportamiento, como la detección y respuesta de endpoints o la protección avanzada contra amenazas, pueden identificar las amenazas en tiempo real, antes de que los datos se vean comprometidos.
La protección contra malware basada en el comportamiento es más precisa que los métodos tradicionales basados en firmas que tienen dificultades para hacer frente a los ataques polimórficos.
Escribe aquí tu comentario