ejecución simbólica vs fuzzing

1

Creo que entiendo la diferencia entre fuzzing y la ejecución simbólica, especialmente cuando se trata de tener un programa que espera valores específicos (en este caso, la ejecución simbólica funcionará y fuzzing probablemente no).

Sin embargo, ¿hay alguna razón por la que no solo utilicemos la ejecución simbólica en lugar de fuzzing cuando podamos (es decir, si no estamos tratando con un programa grande) y no usamos fuzzing en absoluto?

¿Cuándo deberíamos usar ambos?

    
pregunta rullzing 13.12.2017 - 23:41
fuente

1 respuesta

1
  

cuando podamos

Ese suele ser el problema, aquí.

Incluso con el acceso al código fuente, no es fácil reinterpretar un programa para encontrar entradas de problemas.

De hecho, es uno de los problemas más difíciles de la informática para "revertir" un programa para ver qué información causó que hiciera algo específico.

Entonces, la realidad es que incluso si a veces teóricamente es posible interpretar las entradas de un programa como símbolos utilizados en el flujo del programa que conducen a un comportamiento deseado (o no deseado) más adelante, generalmente es mucho más difícil y requiere mucho tiempo encontrarlo. Tales símbolos entonces solo para probar entradas aleatorias.

    
respondido por el Marcus Müller 13.12.2017 - 23:54
fuente

Lea otras preguntas en las etiquetas