¿Se puede considerar a fuzzing como una técnica de prueba de software para cualquier tipo de vulnerabilidad?

3

Estoy haciendo una investigación sobre fuzzing y me gustaría saber la respuesta a la pregunta en el título. Los detalles detallados utilizan las siguientes categorías para las vulnerabilidades:

 Bypass a restriction or similar 
 Cross Site Scripting 
 Denial of service 
 Directory Traversal 
 Execute arbitrary code on vulnerable system 
 Gain Privileges
 Http Response Splitting 
 Memory Corruption 
 Obtain information 
 Overflow vulnerability (includes stack and heap based overflows and other overflows) 
 Cross site request forgery(CSRF) 
 File Inclusion 
 Sql Injection

Lo que me gustaría saber es lo siguiente: ¿se puede considerar que las pruebas de software son confusas? Entonces, por ejemplo, si estoy buscando inyecciones de SQL en alguna aplicación web (como en algunos sistemas CMS) con sqlmap, havij, sqlninja, ¿se puede clasificar eso como fuzzing? Porque en el otro lado, en todos los documentos, la confusión es solo referencias cuando se buscan desbordamientos de búfer: desbordamientos de pila, desbordamientos de pila, desbordamientos / enteros de enteros, errores de cadena de formato.

Por lo tanto, supongo que lo que pregunto es lo siguiente: ¿puede descubrirse que una vulnerabilidad con cualquier herramienta automatizada se puede clasificar como fuzzing?

Gracias de antemano

    
pregunta eleanor 18.02.2012 - 19:59
fuente

1 respuesta

5

La respuesta corta es: no.

Aquí está la respuesta larga: el origen de fuzzing (o prueba de fuzz) está enviando datos aleatorios o datos ligeramente aleatorios ( es decir, apegarse a un determinado formato o mutar algo válido).

El objetivo de fuzzing generalmente es provocar un bloqueo de la aplicación. Luego, este bloqueo se puede analizar con los depuradores o las herramientas de monitoreo de la memoria (es decir, Valgrind) para ver si se activó una vulnerabilidad de corrupción de memoria y corregirla (o explotarla).

Fuzzing le permite iniciar la aplicación con lotes de entradas no válidas y retrasar el análisis profundo de la aplicación hasta que se produzca un bloqueo conocido.

Tanto las pruebas fuzz como el uso de un escáner de vulnerabilidad web tienen en común que son técnicas en el campo de pruebas de vulnerabilidad automatizadas. Sin embargo, los escáneres web encuentran vulnerabilidades específicas que utilizan ataques bastante estratégicos y sofisticados. Variando suposiciones, jugando con el manejo de entrada / salida de aplicaciones web. Los fuzzers no necesitan ser tan inteligentes (aunque pueden serlo, por supuesto).

Oh, esto podría ser menos relevante, pero sqlmap, por ejemplo, no solo analiza las fallas de inyección de SQL, sino que hace un trabajo muy inteligente para explotarlas.

    
respondido por el freddyb 18.02.2012 - 22:43
fuente