Cuando el malware sospecha que está siendo “vigilado”
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 ciberseguridad 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 ocultarse ante la sospecha de que pudieran estar siendo “vigilados”.
Sandboxing y plataformas cebo
Cuando un cliente intuye que una aplicación puede contener un malware, este suele enviarla 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 examina 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 para así comprobar si están frente a una víctima real o simplemente frente a un entorno que actúa como cebo.
Entre los patrones que analizan los ciberdelincuentes están la presencia de determinados ficheros en el ordenador de la víctima, su dirección IP, la 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 verifica si el ordenador realmente está siendo utilizado por una persona. Por ejemplo, comprobará el número de ficheros que este 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 cuál es su resolución gráfica.
Al final se trata de un conjunto extenso de opciones que en muchos casos les permiten determinar si la ejecución se está llevando a cabo en un entorno real o simulado. De este modo, y en función de las conclusiones de ese análisis, el malware finalmente permanecerá hibernado, sin actividad. Quedará a la espera de “mejores momentos” o simplemente se desactivará porque habrá descubierto que estaba siendo controlado.
Cómo pasan desapercibidos
Sin embargo, los malwares también utilizan otros procedimientos mediante los cuales evitan despertar sospechas y, por tanto, llegan 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. 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.
El juego del gato y el ratón
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; igual que en el juego del gato y el ratón.
Todo este proceso constituye un desafío. En ocasiones se convierte en una lucha desigual donde los “buenos casi siempre van a remolque de la creatividad de los malos” y en la 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.