Saltar al contenido
uencoder

Symbolic Execution

La ejecución simbólica ejecuta un programa con variables simbólicas en lugar de valores concretos, analiza todos los caminos factibles y genera automáticamente entradas que activan cada uno.

Propósito

Analizar con precisión el comportamiento del programa, generando automáticamente pruebas de alta cobertura y entradas que disparan vulnerabilidades.

Mecanismo

Las variables se representan simbólicamente; las condiciones de camino se acumulan como restricciones. En las bifurcaciones divide los caminos y comprueba la factibilidad con un solver SMT. La explosión de caminos es el principal cuello de botella. KLEE y angr realizan ejecución simbólica de C/binarios.

Casos de uso

  • Generación de pruebas
  • Análisis de vulnerabilidades
  • Cobertura de caminos

References