Técnicas de evasión: cuando un malware sospecha que está siendo “vigilado”

Seguridad

Por Juanjo Galán, Business Strategy de All4Sec, sobre las técnicas de evasión de los malware.

La complejidad en el desarrollo de los malwares ha llevado a los ciberdelincuentes a tratar de anticiparse a las medidas que los fabricantes de productos de seguridad utilizan para intentar detectarlos.

Los malwares actuales ya no se centran solo en generar daños cuando se instalan en los equipos de sus víctimas, sino que también intentan anticiparse ante la sospecha de que pudieran estar siendo “vigilados” por los sistemas de ciber-protección.

Sandboxing

Cuando un cliente intuye que un ejecutable puede contener un malware, este suele enviarse a un Sistema de Sandbox donde un complejo sistema trata de que se ejecute bajo un entorno controlado. Un entorno donde no pueda causar daño, y donde se permita recopilar información de su actividad que sirva para preparar y proteger al resto de los sistemas frente a sus pautas de acción.

Habitualmente estos entornos controlados, o sanboxes, presentan algunas singularidades que los diferencian de las habituales plataformas de las víctimas. Y son precisamente esas singularidades las que los malwares analizan antes de dar los siguientes pasos en el proceso de infección de un equipo.

Básicamente se trata de un procedimiento en el que, previo a su ejecución, el malware chequea determinados parámetros o realiza ciertas consultas de cuyas respuestas depende que continúe su proceso o se desactive, evitando que pueda ser analizado.

Las preguntas que hace un malware antes de ejecutarse

Los chequeos que realizan los malwares antes de avanzar en su ejecución son numerosos. Las sospechas de que puedan estar siendo investigados se activan prácticamente desde que inician su ejecución. Se ha comprobado que analizan múltiples “patrones” con los que tratan de desenmascarar a sus oponentes. Patrones como la presencia de determinados ficheros en el equipo de la víctima, su dirección IP, localización geográfica, el tipo de CPU que utiliza, el número y tipo de procesos que tiene activos o, incluso, la activación del modo “debug” en su ejecución para permitir el registro de datos. Asimismo, el malware suele prestar atención al control de tiempos de ejecución, algo por otra parte muy habitual en los entornos de sandbox, y verifican si el equipo está siendo utilizado por una persona a través, por ejemplo, del número de ficheros que ha abierto recientemente o la actividad que tiene en la navegación por Internet (por ejemplo, analizando si tiene un número mínimo de URLs en el histórico de navegación de su browser). Por verificar, llegan incluso a verificar la temperatura de la CPU, si el equipo tiene una pantalla o cual es su resolución gráfica.

Al final se trata de un conjunto suficientemente extenso de posibilidades que en muchas ocasiones permiten determinar si la ejecución se está llevando a cabo en un entorno simulado. De este modo, y en función de las conclusiones de ese análisis, el malware finalmente podrá permanecer hibernado, sin actividad, a la espera de “mejores momentos” o simplemente desactivarse porque ha descubierto que está siendo controlado.

Cómo pasan desapercibidos

Sin embargo, los malwares también pueden utilizar otros procedimientos mediante los cuales evitan despertar sospechas y, por tanto, llegar a ejecutarse en los sistemas de sus víctimas sin ser detectados. Estas técnicas incluyen multitud de procedimientos, si bien hay algunas que destacan especialmente. A continuación, referimos las más empleadas:

  • Tareas BITS (Background Intelligent Transfer Service) Se trata de tareas que permiten transferir ficheros en entornos Windows y que en ocasiones se utilizan para las descargas de malwares.
  • Modificaciones de los ficheros de registro para ocultar la propia actividad del malware.
  • Ofuscar el malware a través de técnicas de cifrado o referencias a localizaciones de funciones sin utilizar explícitamente el nombre de la función. Se trata de técnicas que dificultan las tareas de los sistemas de protección cuando se trata de identificar las llamadas que hace el malware a servicios críticos de las librerías.
  • Living off the Land. Consiste en cargar y ejecutar un malware directamente en la memoria del equipo sin afectar al sistema de ficheros. De esta forma evitan que se puedan dejar huellas en el equipo. Por ejemplo, los stubs son programas que toman un malware cifrado previamente, lo descifran y lo cargan en memoria sin pasar por el sistema de archivos.
  • Uso de conexiones cifradas para la descarga del malware. Por ejemplo, descargas de ficheros utilizando HTTPS.
  • Uso de Rundll32.exe. El uso de este programa permite cargar y ejecutar librerías dinámicas. Sin embargo, ese uso habilita la posibilidad de ejecutar casi cualquier cosa desde código JavaScript hasta comandos del sistema.
  • Empleo de Regsvr32.exe que permite, por ejemplo, cambiando la extensión de un fichero, hacerle parecer una imagen “jpg” y, sin embargo, ejecutarse como una librería.

La lista de opciones enumeradas es solo una muestra de las posibilidades que un malware tiene de ocultar su presencia. No nos extenderemos en hacer un análisis exhaustivo por no resultar pesados. Lo relevante, en todo caso, es que, frente a este tipo de técnicas de evasión, los profesionales de la ciberseguridad deben desarrollar permanentemente mecanismos que permitan identificarlas, a la vez que tratan de neutralizarlas.

Todo este proceso constituye un desafío que en ocasiones se convierte en una lucha desigual donde los “buenos casi siempre van a remolque de la creatividad de los malos” y en el que los profesionales de la ciberseguridad se enfrenten con los ciberdelincuentes a través de lo que coloquialmente podríamos incluso catalogar como un proceso de “contra-ciberinteligencia” que a menudo va incluida dentro del propio malware.