Le fuzzing est une méthode s'appuyant sur des outils logiciels (appelés par la suite des fuzzers) pour automatiser l'identification de bugs ou de failles dans des applications. L'apport du fuzzing, dans le domaine de la sécurité informatique, permet de découvrir relativement rapidement des vulnérabilités (des erreurs) parmi des milliers de lignes de code d'un programme (...)
[...] erreur mineure indiquée par un message dans le programme, programme devenu instable . Le fuzzing permet de tester une application client ou serveur, un système d'exploitation ou un matériel. Si le fuzzer envoyait des données totalement fantaisistes, l'application testée rejetterait probablement ces entrées dès qu'elle remarquerait que les données ne correspondent pas à ce qui est attendu. L'idée est de tester l'application avec des données semi-valides qui ne seront pas rejetées immédiatement mais qui pourront tout de même provoquer des erreurs. [...]
[...] Une liste non-exhaustive peut être trouvée sur les site WEB donnés dans Conclusion Le fuzzing ne signe pas la des failles car beaucoup de recherches doivent toujours être réalisées manuellement. En eet, dans la plupart des cas, les vulnérabilités (complexes) échappent à la détection automatisée. Plusieurs éléments compliquent l'utilisation du fuzzing, comme les fuites de mémoire. De plus, un bug peut aussi en cacher un autre et empêcher sa détection. La solution consistera à corriger cette première erreur puis à tester de nouveau. [...]
[...] la seconde composée des frameworks de fuzzing. La dernière catégorie de fuzzers repose sur une API qui peut être facilement utilisée pour créer des entrées et implémenter des protocoles spéciques. Le Fuzzing 2/3 Même si la plupart des fuzzers sont conçus pour tester des protocoles réseau, leur utilisation ne se limite pas à cet unique domaine. Fichiers, API, arguments pour une ligne de commande, entrée standard peuvent également être audités. Ainsi de multiples fuzzers, comme AxMan, existent notamment pour détecter des failles dans les navigateurs Web. [...]
[...] Le fuzzer servira ainsi à bombarder une application de codes volontairement malformés. La méthode du fuzzer consiste à envoyer au système des données du protocole employé quasi conformes et générées aléatoirement. Cette technique permet de tester la réaction d'un programme à des entrées inhabituelles. Si le programme échoue (par exemple, en plantant) alors ce dernier est défectueux. La capacité à identier des anomalies par la méthode d'utilisation de données aléatoires est étroitement corrélée à l'intelligence dont est doté le fuzzer, et donc à son temps de développement. [...]
[...] Cependant, le fuzzing n'est pas le remède miracle car certains bugs ne peuvent être détectés par un fuzzer. Une méthode est de rechercher par le fuzzer les parties les plus critiques puis, par analyse (quand le code source est disponible), d'essayer de remonter les vulnérabilités. Une combinaison des deux méthodes est donc nécessaire pour une bonne analyse d'une application ou d'un système. Références Listes de fuzzers libres http ://www.fuzzing.org/fuzzing-software http ://www.darknet.org.uk/tag/fuzzing/ Magazine MISC [janvier-février 2006] : Recherche de vulnérabilités à l'aide du fuzzing (pages 34 à 41). [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture