|
|
Fuzzgrind, un fuzzer intelligent et automatique
Par Ludovic Blin,
secuobs.com
Le 10/06/2009
Résumé : L’outil Fuzzgrind, présenté lors du SSTIC 2009, permet de parcourir l’ensemble des branchements d’un exécutable, en s’appuyant sur Valgrind et STP - Lire l'article
La technique du fuzzing permet de rechercher les bugs présents dans un programme, grâce à l’injection de données invalides générées de manière plus ou moins aléatoires. Cependant, un tel outil peut tout aussi bien générer des données de manière complètement aléatoire, ou bien en respectant des contraintes particulières. Il est également possible de surveiller en même tempsl’application ciblée, notamment pour détecter les plantages.
Le projet Fuzzgrind, présenté lors du SSTIC 2009 par Gabriel Campana de la société française SOGETI, offre l’avantage d’une technique avancée de génération des entrées du programme, combinée avec un monitoring de son exécution. Cela de manière à pouvoir parcourir l’ensemble des chemins d’exécution possibles du binaire.
Il est basé sur le concept d’exécution symbolique. Ainsi, l’outil part d’un fichier d’un format valide pour l’application testée, et enregistre le chemin d’exécution suivi par l’application, ainsi que toutes les contraintes (tests lors des instructions de branchement). A partir de ce chemin « normal », Fuzzgrind va modifier le fichier valide pour pouvoir explorer toutes les branches possibles de l’application testée.
Pour cela, il utilise deux composants logiciels libres. Tout d’abord, Valgrind, un environnement permettant la création d’outils d’analyse binaire dynamique. Un plug-in pour ce dernier a été développé, permettant la recherche des conditions de chemins, lors de l’exécution du code, par traçage de données marquées.
Le moteur de résolution de contraintes STP prend ensuite le relais, à partir de la liste des conditions de chemins, pour générer un nouveau fichier de test, qui explorera un chemin différent. Notons que les erreurs de l’application cible sont également détectées, via un programme utilisant ptrace.
Cette technique paraît particulièrement efficace, d’autant plus qu’il suffit de spécifier un fichier valide pour une application cible pour que Fuzzgrind commence à rechercher des bugs de manière automatique. Plusieurs failles ont été trouvées avec cet outil, notamment dans la libtiff 3.8.2 (faille à l’origine du déblocage de l’Iphone et de la PSP), swfextract, ou encore readelf.
- Article suivant : Le traçage de traître(s) pas aussi simple qu’il n’y paraît
- Article précédent : Une compromission via le bus PCI et l’aide d’un processeur FPGA
- Article suivant dans la catégorie Outils : Veiled un réseau chiffré et anonyme type Darknet avec un simple navigateur Web
- Article précédent dans la catégorie Outils : ARPFreeze facilite la protection de Microsoft Windows contre l'ARP Poisonning et les Man in the Middle
| Mini-Tagwall des articles publiés sur SecuObs : | | | | sécurité, exploit, windows, microsoft, réseau, attaque, vulnérabilité, outil, système, audit, virus, internet, données, présentation, linux, metasploit, protocol, bluetooth, vista, shell, scanner, réseaux, rootkit, paquet, trames, source, conférence, téléphone, wishmaster, noyau, engineering, mobile, sysun, https, téléphones, mémoire, patch, intel, botnet, libre, rapport, scapy, reverse, contourner, securitech |
| Mini-Tagwall de l'annuaire video : | | | | vmware, security, virus, biometric, windows, lockpicking, password, metasploit, botnet, tutorial, crypt, linux, attack, network, iphone, server, exploit, wimax, conficker, virtu, virtual, engineering, cisco, reverse, ettercap, wireshark, hacker, firewall, knoppix, arduino, internet, rootkit, wireless, source, brucon, backtrack, openbsd, systm, overflow, openssh, conference, buffer, access, remote, defcon |
| Mini-Tagwall des articles de la revue de presse : | | | | security, microsoft, windows, hacker, attack, network, vulnerability, google, exploit, malware, internet, remote, iphone, server, inject, patch, apple, twitter, mobile, virus, ebook, facebook, vulnérabilité, crypt, source, linux, password, intel, research, virtual, phish, access, tutorial, trojan, social, privacy, firefox, adobe, overflow, office, cisco, conficker, botnet, pirate, sécurité |
| Mini-Tagwall des Tweets de la revue Twitter : | | | | security, linux, botnet, attack, metasploit, cisco, defcon, phish, exploit, google, inject, server, firewall, network, twitter, vmware, windows, microsoft, compliance, vulnerability, python, engineering, source, kernel, crypt, social, overflow, nessus, crack, hacker, virus, iphone, patch, virtual, javascript, malware, conficker, pentest, research, email, password, adobe, apache, proxy, backtrack |
|
|
|
|
|