lundi 23 février 2009

Technique : le fuzzing

A l'occasion de la sortie d'un outil de fuzzing open source, j'ai découvert cette technique de test d'applications.

L'idée est simple : il s'agit de donner à manger à une application une suite d'entrées aléatoires. Pour une application "ligne de commande", c'est comme si un utilisateur tapait au hasard sur le clavier. Pour une application "graphique", c'est comme si un utilisateur cliquait partout comme un fou.

L'intérêt est bien sûr de détecter des bugs aléatoires ou difficiles à reproduire. Cela peut aussi aider pour trouver des vulnérabilités de sécurité (aux attaques de type "buffer overflow" par exemple).

Des chercheurs de l'université du Wisconsin ont fait un peu leur spécialité du test par fuzzing des outils standards de certains systèmes d'exploitation.

On peut ainsi apprendre que sur MacOSX, en 2006, le test par fuzzing parvient à faire planter :
- 7% des outils en ligne de commande
- 50% des applications Apple également (Finder, iChat, iTunes, ...),
- 100% des applications Microsoft (Excel, Word, Powerpoint, ...),
- 100% des applications Mozilla (Firefox, Camino, ...)

Pourtant Microsoft déclare officiellement utiliser cette technique pour ses tests. On dirait qu'ils ne tirent pas bien parti des résultats...

Alors que les outils en ligne de commande (de type Unix) semblent assez robustes, il reste beaucoup de progrès à faire pour toutes les applications graphiques.

Aucun commentaire:

Enregistrer un commentaire