Seguridad de aplicaciones
Ejecución simbólica
También conocido como: Análisis simbólico, Ejecución concolic
Definición
Técnica de análisis de programas que ejecuta el código con entradas simbólicas en vez de valores concretos, construyendo restricciones de ruta resueltas por un solver SMT para encontrar bugs.
Ejemplos
- Usar KLEE sobre una biblioteca C para generar entradas que cubran cada rama y disparen asserts.
- Combinar angr con AFL++ para resolver restricciones que el fuzzing solo no puede.
Términos relacionados
Fuzz testing
Técnica de pruebas automatizadas que bombardea un programa con grandes cantidades de entrada malformada, aleatoria o inesperada para descubrir caídas, corrupción de memoria y vulnerabilidades.
Fuzzing guiado por cobertura
Técnica de fuzzing que instrumenta el objetivo para medir cobertura de código y evoluciona entradas que exploran caminos nuevos, mejorando enormemente la eficacia.
Fuzzing por mutación
Estrategia de fuzzing que crea nuevas entradas de prueba mutando aleatoriamente muestras válidas existentes: invirtiendo bits, insertando bytes o combinando archivos.
SAST (Pruebas estáticas de seguridad de aplicaciones)
Análisis automatizado de código fuente, bytecode o binarios —sin ejecutarlo— para detectar debilidades de seguridad como inyección, APIs inseguras o criptografía débil.
Desbordamiento de búfer
Fallo de seguridad de memoria en el que un programa escribe más allá del final de un búfer asignado, corrompiendo memoria adyacente y a menudo permitiendo ejecución de código.
Secure Coding
Secure Coding — definition coming soon.