Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Fuzzing

Un article de Wikipédia, l'encyclopédie libre.

Lefuzzing (outest à données aléatoires[1]) est une technique pourtester deslogiciels. L'idée est d'injecter desdonnées aléatoires dans les entrées d'un programme. Si le programme échoue (par exemple en plantant ou en générant une erreur), alors il y a des défauts à corriger. Exemples de points d'entrée d'un programme :

Le grand avantage du fuzzing est que l'écriture de tests est extrêmement simple, ne demande aucune connaissance du fonctionnement du système et permet de trouver des vulnérabilités facilement. D'ailleurs, le fuzzing est également utilisé pour traquer des failles de sécurité ou dans larétro-ingénierie.

La première trace du fuzzing est la publication datant du : « An Empirical Study of the Reliability of UNIX Utilities »[1] écrite par Barton P. Miller, Lars Fredriksen, et Bryan So. Le résumé indique que durant les essais ils ont été capables de faire planter « entre 25 et 33 % des programmes utilitaires de n'importe quelle version d'UNIX ». Le rapport présente les outils de test mais également l'origine des erreurs.

Le fuzzing est tellement simple à utiliser et si efficace pour trouver desvulnérabilités que le chercheur ensécurité informatique Charlie Miller a refusé de dévoiler les vulnérabilitészero day trouvées dans le code de logiciels célèbres (contrairement au règlement du concours de sécurité informatiquePwn2Own), afin de protester contre les éditeurs qui n'utilisent pas assez cette technique simple selon lui[2].

Cette simplicité est toutefois à relativiser lorsqu'il s'agit de trouver des vulnérabilités dans l'implémentation de protocoles notoirement connus (HTTP par exemple) dans des serveurs. En effet, les paramètres d'entrée sont souvent testés et protégés rigoureusement (contrôle de forme), chaque erreur menant à un abandon immédiat de la routine de traitement de la requête test. La probabilité de trouver des vulnérabilités par fuzzing en un temps acceptable devient alors très faible. Pour corriger cela, il est nécessaire de recourir au « smart fuzzing », dont le concept consiste à faire varier progressivement certains paramètres de requêtes et de suites de requêtes pouvant être considérées comme légitimes par les automates cibles, ceci afin de pouvoir pénétrer plus en profondeur dans le cœur du programme attaqué et ainsi de maximiser les probabilités d'identification de vulnérabilités.

Inversement au fuzzing qui est une méthode de test parboîte noire, la méthode de test parboîte blanche analyse un système dont on connaît exactement le fonctionnement.

Références

[modifier |modifier le code]
  1. TermWiki :Fuzz Testing
  2. (fr)Pwn2Own : un hacker refuse de dévoiler à Adobe, Microsoft et Apple leurs failles, par Christophe Auffray (ZDNet France), le

Articles connexes

[modifier |modifier le code]

Liens externes

[modifier |modifier le code]
v ·m
Audit de sécurité informatique
Test
Outils
Attaque
ProtectionSécurité par l'obscurité
Normes ISO/CEI
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Fuzzing&oldid=174149795 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2025 Movatter.jp