¿Cómo debo configurar el sistema operativo para las pruebas fuzz?

4

¿Debo configurar mi sistema operativo de alguna manera en particular, si voy a hacer algunas pruebas fuzz? ¿Debo desactivar ASLR (asignación aleatoria de espacio de direcciones)? ¿Importa?

    
pregunta D.W. 08.09.2011 - 23:26
fuente

3 respuestas

1

Recomiendo usar un marco de fuzzing que tenga un arnés de prueba como el que se encuentra en Peach Fuzz . Un arnés de prueba adjuntará un depurador a su aplicación de destino y hará un seguimiento de los informes de fallos y el caso de prueba de fuzz que lo causó. Cuando la aplicación de destino falla, el arnés reiniciará la aplicación y continuará con las pruebas.

ASLR, zonas NX, Canarias, cookies de pila, etc., etc., no causarán problemas con el proceso de confusión. Sin embargo, esto hará que sea muy difícil explotar la vulnerabilidad de corrupción de memoria cuando la encuentre.

    
respondido por el rook 09.09.2011 - 21:08
fuente
6

ASLR es un término amplio que abarca muchas técnicas y protecciones diferentes. En general, las formas básicas de ASLR (por ejemplo, la aleatorización de la pila) se utilizan para hacer que el desarrollo de los exploits sea más difícil o imposible, pero no evita el desencadenamiento del error y el bloqueo de una aplicación. Fuzzing debería funcionar igual con ASLR habilitado o no.

    
respondido por el john 09.09.2011 - 14:36
fuente
3

Desde lo alto de mi cabeza, no creo que algo importe tanto de una manera u otra, me parece que es más efectivo para prevenir que un error se convierta en una vulnerabilidad. Cada vez que su fuzzer obtiene un resultado fuera de rango, usted está seguro de que puede ser usado en su contra; No estoy seguro de que aslr lo cambie, ya que hay muchas maneras de evitarlo (dependiendo de la configuración, la plataforma, yada yada).

De todos modos, yo diría que debería hacer que el sistema sea lo más flexible posible para darle a su Fuzzer la máxima posibilidad de encontrar huecos con éxito: no hay firewall, gran cantidad de usuarios, gran cantidad de ancho de banda, muchos procesadores si está en un multiproceso. aplicación para maximizar la posibilidad de condiciones de carrera, etc.

También recomendaría fuzzing mientras se ejecuta en más de un sistema operativo, ya que las bibliotecas pueden comportarse de manera diferente. Eso se aplica particularmente a Windows, que tiene muchas cosas buenas de depuración. No sé mucho sobre osx, pero si puedes hacer que tus cosas funcionen allí, es probable que encuentres un entorno sustancialmente diferente.

Por favor, publique los resultados. Tengo curiosidad por saber cómo funciona esto.

    
respondido por el Steve Dispensa 09.09.2011 - 04:03
fuente

Lea otras preguntas en las etiquetas