Un sandbox (entorno aislado) es un espacio en el que el código no confiable se ejecuta con un acceso muy limitado al resto del sistema, de forma que no pueda dañar al equipo anfitrión.
Dos significados de «sandbox»
Sandbox de aplicaciones. Navegadores, sistemas operativos móviles y muchos programas ejecutan el código arriesgado en un proceso restringido. En Chrome cada página web se renderiza en un proceso aislado sin acceso directo a los archivos; iOS y Android dan a cada app su propio sandbox. Para tomar el control de un dispositivo, el atacante necesita una cadena: un fallo para ejecutar código dentro del sandbox y otro para escapar del sandbox (sandbox escape). Estas cadenas son las que suelen ganar en Pwn2Own.
Sandbox de análisis. Los equipos y productos de seguridad «detonan» archivos y enlaces sospechosos en una máquina virtual desechable y observan qué archivos se crean, qué claves del registro cambian y con qué servidores se conecta la muestra. Así las pasarelas de correo, las plataformas EDR y herramientas abiertas como CAPE revelan la verdadera carga útil del malware.
Evasión de sandbox
Los autores de malware conocen los sandboxes. Su código busca indicios de máquinas virtuales y herramientas de análisis, espera varios minutos antes de actuar, exige movimientos del ratón o un reinicio, o solo se activa en determinados países. Junto con la ofuscación, estos trucos hacen que las muestras parezcan inofensivas en el análisis automático.
Buenas prácticas
- Mantener actualizados navegadores y sistemas operativos: los escapes de sandbox se corrigen con regularidad.
- Abrir los adjuntos no confiables en entornos aislados, como Windows Sandbox o una máquina virtual dedicada.
- No fiarse solo del veredicto del sandbox y combinarlo con detección de comportamiento en los endpoints.