¿Sabes qué es una sandbox y para qué se utiliza en ciberseguridad? Los malwares pueden ser archivos muy peligrosos y ejecutarlos en un sistema podría ser altamente destructivo. Por ejemplo, un ransomware es un tipo de malware que encripta nuestros ficheros más importantes; asimismo, un troyano puede robarnos información, etc. Por lo tanto, para examinar un malware en funcionamiento es necesario hacerlo en un entorno virtual apropiado.
El análisis de malware se divide en tres fases, que se suelen realizar en orden:
- Análisis estático: se refiere al estudio del código del malware, sin ejecutarlo ni correr el riesgo de infectarse con el mismo. Gracias a esta fase, un analista puede predecir algunos comportamientos del programa y, por lo tanto, saber qué esperar en el análisis dinámico. Más adelante veremos por qué es importante hacer un análisis estático antes de pasar al siguiente tipo.
- Análisis dinámico: se refiere al tema del cual hablaremos en este post. Es decir, a la ejecución del malware para ver cómo se comporta en un sistema. Para ello se utilizan herramientas y técnicas específicas para entender el malware sin poner en riesgo los equipos de los investigadores.
- Ingeniería inversa: se refiere a una ejecución con código ensamblado del malware y, de este modo, identificar y estudiar detalladamente el paso a paso de su funcionamiento.
¿Qué es una sandbox?
En este post te explicaremos qué es una sandbox, una herramienta utilizada principalmente en la fases de análisis dinámico del malware. También veremos algunos ejemplos de sandbox y los métodos que usan los atacantes para evadir estos programas.
El término sandbox significa “caja de arena” y se refiere a un programa que sirve para simular un entorno virtual apropiado para ejecutar un malware y observar su comportamiento. En otras palabras, una sandbox es una máquina virtual que permite ejecutar diferentes sistemas operativos y simular diversas capacidades de computación.
Algunas de las sandboxes más utilizadas para el análisis de malware en seguridad informática son:
- VirtualBox.
- VMware.
- KVM.
Métodos antisandbox
Para entender qué es una sandbox y cómo usarla apropiadamente, es necesario conocer los métodos que usan los ciberatacantes para evitar que sus programas maliciosos sean ejecutados en entornos virtuales. Los malwares actuales, si están bien diseñados, cuentan con los siguientes tipos de técnicas antisandbox.
Métodos antisandbox simples
🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴
Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en Ciberseguridad por una semanaLos métodos antisandbox simples son, a la vez, fáciles de identificar y evadir. Se trata de funciones embebidas en el código del malware, que detectan especificaciones que serían típicas de una máquina virtual. Por ejemplo:
- Número de cores: 2.
- Tamaño del disco duro: 65 GB.
- Nombre del disco.
- Nombres de las carpetas compartidas.
- Nombres de adaptadores.
- \\.\VBoxMiniRdrDN
- \\.\pipe\VoxMiniRdDN
- \\.\VBoxTrayIPC
- \\.\pipe\VBoxTrayIPC
- \\.\HGFS
- \\.\vmci
- Nombre de pantalla del equipo.
- Tamaño de RAM: 2 ó 4 GB.
- Nombre de usuario.
- Nombre del hardware.
- Número de BIOS.
- Direcciones MAC.
- Directorios reconocibles.
Métodos antisandbox complejos
Ahora sabes qué es una sandbox y los métodos más simples para evadirlas. A continuación, veremos los métodos avanzados para hacerlo.
Timing de la CPU
También se conocen como RDTSC y consisten en descubrir cuál es la velocidad con la que un procesador determinado es capaz de ejecutar órdenes, para ver si coincide con el tiempo de ejecución característico de una máquina virtual. Esto se realiza mediante el envío de órdenes a la CPU del equipo.
Time acceleration
Es uno de los comportamientos antisandbox más lógicos y más comunes. Si después de enviarle órdenes a la CPU del sistema el malware nota que su entorno de ejecución es una máquina virtual, entonces se comporta conectándose a direcciones IP normales o, sencillamente, no haciendo nada.
¿Cómo aprender más sobre sandbox?
Ahora sabes qué es una sandbox y para qué se utiliza en ciberseguridad, ha llegado el momenot de ir un paso más allá. Si quieres aprender más sobre análisis de malware y convertirte en experto en el tema, en KeepCoding tenemos la formación íntegra e intensiva perfecta para ti. Ingresa a nuestro Ciberseguridad Full Stack Bootcamp y especialízate en tan solo 7 meses. ¿A qué sigues esperando? ¡Apúntate ya!