Affichage des articles dont le libellé est fuzzing. Afficher tous les articles
Affichage des articles dont le libellé est fuzzing. Afficher tous les articles

jeudi 3 décembre 2009

RubyPdfFuzzer v1.01 (mise à jour)

Mise à jour de RubyPdfFuzzer. La version 1.01 ajoute:
- optimisation des Threads, avec utilisation de Mutex pour le nommage des fichiers pdf générés,
- ajout du fuzzing de tableaux et des metadonnées

jeudi 19 novembre 2009

RubyPdfFuzzer - fuzzer de pdf codé en Ruby

Le fuzzing est une technique de recherche de vulnérabilités dans un programme. Elle consiste à introduire, de manière automatisée, des données plus ou moins aléatoires, dans l'une des entrées de l'application cible. Par exemple, il est possible de fuzzer un antivirus en lui demandant d'analyser un grand nombre de fichiers .doc ou .exe modifiés.
Le fuzzing présente deux difficultés:
- les données envoyées en entrée du programme doivent être formatées pour être lisibles par la cible. Il y a donc autant de fuzzers que de protocoles d'entrée de données. Par exemple, un fuzzer de fichiers devra respecter le format Portable Executable (PE). Un fuzzer d'application Web utilisant http devra respecter ce protocole.
- le fuzzing utilisant des données aléatoires n'est pas optimal. Il est possible d'accélérer la recherche de vulnérabilités par l'analyse des données devant normalement être envoyées à l'application cible. Le framework Spike propose des outils pour cela.
Pour comprendre le fuzzing de fichiers, nous vous conseillons la lecture de la présentation faite à BlackHat 2005 par iDefenseLabs (référence n°3). Dans cet article, vous découvrirez le format PDF, l'utilisation de l'outil FileFuzz proposé par iDefenseLabs, ainsi que le codage d'un fuzzer de fichiers pdf: RubyPdfFuzzer.