Compara el análisis estático y dinámico de malware, incluyendo las fortalezas y límites de cada uno.
Respuesta breve
El análisis estático examina una muestra sin ejecutarla —hashes, cadenas, imports, encabezados y desensamblado—, así que es seguro y de cobertura completa, pero lo derrotan el empaquetado y la ofuscación. El análisis dinámico detona la muestra en un sandbox aislado y observa el comportamiento real —archivos, registro, procesos, red—, lo que atraviesa la ofuscación pero solo revela lo que se ejecuta en esa sesión y puede ser evadido por malware consciente del sandbox. Los analistas combinan ambos.
Cuando llega un archivo sospechoso, un analista tiene dos lentes complementarias: estudiarlo en reposo o verlo en acción. Los entrevistadores preguntan esto para medir si entiendes los compromisos y si elegirías la técnica adecuada, y si sabes por qué ninguna por sí sola basta.
Análisis estático: sin ejecutarlo
El análisis estático inspecciona el archivo sin ejecución, así que es seguro. El trabajo estático básico extrae hashes de archivo (para comprobar la reputación en inteligencia), cadenas (URL, IP, claves de registro, mensajes de error), el encabezado PE/ELF y la tabla de imports (qué API insinúan capacidades: red, cripto, inyección de procesos). El análisis estático avanzado significa desensamblado/decompilación (IDA, Ghidra) para leer la lógica del código. Su fortaleza es la cobertura: puedes ver rutas de código que nunca se ejecutaron. Su gran debilidad es el empaquetado y la ofuscación: un binario empaquetado revela poco hasta que se desempaqueta en tiempo de ejecución.
Análisis dinámico: detonarlo
El análisis dinámico ejecuta la muestra en un sandbox aislado (una VM con monitorización, instantáneas, red simulada) y registra el comportamiento real: archivos escritos, cambios de registro/claves Run, procesos lanzados, inyección y llamadas de red (C2). Atraviesa directamente el empaquetado porque el malware debe desempaquetarse para ejecutarse. Límites: solo ves lo que se ejecuta en esa sesión —un comportamiento condicionado por una fecha, un objetivo concreto o una respuesta de C2 permanece oculto— y el malware moderno es consciente del sandbox, comprobando artefactos de VM, bajo tiempo de actividad o ausencia de actividad de usuario, y negándose a detonar.
Por qué importa
La respuesta madura es ambos, de forma iterativa: triaje con estático rápido (hash, cadenas, imports), detonación dinámica para el comportamiento y luego vuelta al desensamblado para cubrir las lagunas. Nombrar las fortalezas (estático = cobertura completa pero vencido por la ofuscación; dinámico = comportamiento real pero limitado a la sesión y evadible) muestra que entiendes el flujo de trabajo, no solo las definiciones.
Posibles preguntas de seguimiento
- ¿Por qué el empaquetado o la ofuscación perjudica más al análisis estático que al dinámico?
- ¿Qué trucos usa el malware consciente del sandbox para evadir el análisis dinámico?
- ¿Qué indicadores estáticos básicos extraerías primero de una muestra?