Seleccionar un Objetivo para Fuzzing

  • Posted on: 26 December 2018
  • By: ReYDeS

El primer paso relacionado con un proyecto para realizar un “Fuzzing”, implica decidir cual será el objetivo de evaluación. En aquellos escenarios donde el objetivo puede ser elegido de manera arbitraria, es una buena idea el tratar de maximizar las probabilidades de encontrar una funcionalidad en donde sea factible realizar el procedimiento de “Fuzzing”.

Algo heurístico puede ser utilizado para realizar la evaluación de los objetivos basados en función de potencial “Fuzzing”. A continuación se detalla una lista de algunos temas heurísticos interesantes.

  • Soporte para diferentes tipos de entadas. Asegura la existencia de desviación suficiente entre los tipos de entradas, de tal manera si uno resulta difícil de probar, los otros podrían ser examinados y utilizados.
  • Fácil automatización. Permite al programa objetivo ser fácilmente y programáticamente automatizado para propósitos de las pruebas. Esto usualmente significa el programa puede ser manipulado de tal manera permita la ejecución automática de los casos de prueba generados por un “fuzzer”.
  • Complejidad del software. Comúnmente utilizado como heurística para determinar la probabilidad del software contenga una falla. Esto se debe a la premisa de cosas complejas son más probables de contener errores debido a la cantidad de trabajo necesario para verificar y probar su corrección. Por lo tanto, programas interpretando formatos de archivos soportan muchas opciones y parámetros, siendo más propensos a contener problemas relacionados a la seguridad, porque son más difíciles de entender, y por lo tanto más difíciles de revisar y verificar por fallas.

Fuentes:

https://obj.umiacs.umd.edu/acm_ccs18/Fuzz_testing_CCS18.pdf
http://lcamtuf.coredump.cx/afl/
https://groups.google.com/forum/#!topic/libfuzzer/PSPeG1rmtY4

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: @Alonso_ReYDeS
LinkedIn: pe.linkedin.com/in/alonsocaballeroquezada
Facebook: https://www.facebook.com/alonsoreydes
Youtube: http://www.youtube.com/c/AlonsoCaballero
Resumen de mi CV: http://www.reydes.com/d/?q=node/1