A lo largo de los últimos años se ha producido un incremento en el número de malwares diferentes con los que poder realizar actividades poco lícitas por parte de los ciberdelincuentes. Esto produce la necesidad de comprender el funcionamiento de cada uno de ellos para generar sistemas de detección acordes al funcionamiento de los mismos. Como sabemos, el malware puede ser un troyano, spyware, ransomware, worm, adware, entre muchas otras variantes. Desde Cyberbrainers hemos realizado un análisis de los malwares polimórficos y metamórficos, conociendo cómo funcionan y qué técnicas se emplean para ocultarse dentro de los dispositivos infectados, dificultando así su detección.
Índice de contenido
1. Qué es el malware
Previamente a explicar el funcionamiento del polimorfismo y metaformismo en software malicioso, es importante repasar qué es un malware. Un malware es un código o programa que posee la capacidad para producir daños en aquellos equipos donde se introducen, generalmente estos equipos reciben el nombre de infectados. El malware tiene la capacidad de poder ser distribuido masivamente a lo largo de diferentes equipos que se encuentran conectados a la red, además, las consecuencias de haber sido infectado por software malicioso se pueden materializar mucho tiempo después de la intrusión inicial.
Generalmente la infección de los dispositivos se produce cuando navegan por páginas web inseguras, al acceder a enlaces desconocidos (donde se pueden descargar scripts malignos sin que el usuario sea consciente), descargar ficheros en Internet cuya procedencia es desconocida, o incluso descargar archivos adjuntos de correos electrónicos en los que se desconoce al remitente, entre otras muchas fuentes de riesgo. Es importante desmitificar la idea de que el malware es muy complejo de entender y desarrollar, cuando la realidad es que de forma general son conceptualmente sencillos (en base al código fuente que implementan) y algunos pueden estar formados por unas pocas líneas de código que poseen la capacidad de generar daños.
En el siguiente artículo creado por ESET se realiza un análisis exhaustivo del funcionamiento de un ransomware a nivel de código, muy recomendado para entender las bases de este tipo de ataques y sus funciones a bajo nivel.
2. Importancia de las firmas de archivo en el uso de antivirus
Una vez explicado qué es el malware a nivel general, vamos a centrarnos en variantes que han ido apareciendo para evitar que el software malicioso pueda ser detectado y eliminado de los equipos, pero antes es importante definir las ventajas de usar el polimorfismo y metamorfismo a la hora de desarrollar malware por parte de lo cibercriminales. Los antivirus cuentan con un listado de firmas de archivos, la firma o «Magic Number» de un archivo es un conjunto de bytes que se encuentran al principio del archivo y que identifican el tipo de archivo en Hexadecimal, ASCII, etc. Salvo los archivos de texto plano (TXT, JSON, HTML, JS, etc.) prácticamente todos los archivos tienen una firma que los identifica. Es importante no confundir la extensión de un archivo con su firma, siendo esta última la que indica el tipo de archivo, mientras que la extensión solo le indica al SO cómo debe gestionar/abrir el archivo.
Los antivirus emplean listas de firmas de software malicioso para compararlas con las firmas de los archivos que se encuentran dentro del equipo, pudiendo detectar así el malware. Cuando se descubre un nuevo malware, se actualiza dicha lista añadiendo la firma del mismo para proteger a todos los equipos frente a esa nueva variante. Como respuesta a esto, se han desarrollado técnicas que permiten evitar la detección del malware en base a la firma del archivo que implementa, logrando modificar dicha firma periódicamente para mantenerse oculto.
3. Malware polimórfico
El software malicioso polimórfico consiste en mantener la funcionalidad original, modificando el código durante el cifrado, cifrado cada copia del malware con una clave de cifrado diferente, lo que produce que desde el punto de vista de un antivirus, dos archivos que poseen la misma funcionalidad sean totalmente diferentes desde fuera, mientras que si se desencriptan son exactamente iguales. Por ello, para cuando el antivirus detecta que el archivo es un malware en base a su firma, el malware ha mutado y posee una nueva firma totalmente diferente, dificultando la detección. Es decir, cuando el archivo se encripta con una clave de cifrado, su firma o hash original cambia. Esto se debe a que el proceso de cifrado utiliza la clave para modificar los datos iniciales/originales de forma que solo puedan ser visualizados si se posee la clave la descrifrado, por ello, el proceso de cifrado afecta a los bits que conforman el archivo original, lo que a su vez altera su firma o hash.
Una vez el malware polimórfico infecta al equipo, puede generar copias diferentes del mismo (cifra el propio malware con claves de cifrado diferentes, generando copias que a su vez se siguen reproduciendo) o modificar su cifrado de forma periódica para evadir la detección por parte de los programas anti-malware. Es importante mencionar que también puede ocultarse en procesos legítimos del sistema o en archivos de sistema, dificultando aún más la laborar del antivirus para encontrarlos. En resumen, el malware polimórfico cifra su código original y siempre posee la misma funcionalidad, modificando así su apariencia mediante el cifrado de ficheros y la modificación de sus firmas en consecuencia.
4. Malware metamórfico
Este tipo de malware es bastante más complejo que el caso del malware polimórfico debido a que el metamórfico no solo realiza las funciones que implementa el polimorfismo en el software malicioso, sino que también añade la modificación del código original para minimizar las probabilidades de detección por parte de los antivirus. Es decir, el malware metamórfico reescribe su código manteniendo la funcionalidad original, por ejemplo, en el caso de un ransomware la funcionalidad sería cifrar archivos del equipo informático, si se implementase el ransomware metamórfico, no solo se modificaría la firma del archivo en cada ciclo de cifrado, sino que también se reescribiría su código para que difiera en cada caso, siempre asegurando que cualquier copia o modificación del ransomware garantice que se continue con la cifra de ficheros.
Para realizar esta modificación de código se emplean técnicas como permutación de código (se mueve la ubicación de las funciones y de las líneas de código garantizando que la ejecución siempre genere el mismo resultado), expansión y simplificación de código (modificar el código para que aparentemente sea distinto pero se mantenga la misma funcionalidad en cada caso), cambio de nombres (se puede variar el nombre de las variables del código para engañar al antivirus), inserción de código artificial (se añade código redundante que en ocasiones no añade ninguna funcionalidad extra), aleatoriedad, entre otras funciones.
5. Líneas futuras
Como consecuencia, en la actualidad se siguen buscando técnicas que permitan detectar con rapidez tanto el malware polimórfico como metamórfico ya que una vez se reproduce dentro del equipo es muy complejo lograr erradicarlo por completo. Como recomendación, desde Cyberbrainers sugerimos que se tenga especial cuidado al navegador por la red, ya que incluso el mejor de los antivirus puede tener carencias para defender frente estos tipos de malwares tan complejos. En el presente artículo solo se han analizado algunas de las diferencias entre el malware polimórfico y metamórfico, ya que existen muchas variantes de cada uno que pueden presentar características únicas. Pero en general, ambos tipos de softwares maliciosos pueden poner en riesgo la seguridad de los usuarios o de entidades enteras.
En CyberBrainers ayudamos a empresas y usuarios a prevenir, monitorizar y minimizar los daños de un ataque informático o una crisis reputacional. Si estás en esta situación, o si quieres evitar estarlo el día de mañana, escríbenos y te preparamos una serie de acciones para remediarlo.
Monitorización y escucha activa
Ponemos nuestras máquinas a escuchar para identificar potenciales fugas de información, campañas de fraude/extorsión y usurpación de identidad que estén en activo, y/o datos expuestos de ti o de tu organización.
Planes de autoridad y Presencia Digital
Ayudamos a organizaciones y particulares a definir la estrategia e implementar acciones digitales que mitiguen los posibles daños reputacionales que pueda sufrir en el futuro.
Gestión de crisis reputacionales
Cuando el mal ya está hecho, establecemos un calendario de acciones para reducir su duración e impacto, y que la organización y/o persona pueda volver a la normalidad lo antes posible.