Fuzzer open-source utilise un algorithme évolutif pour produire des entrées de test personnalisées

Au cours de la dernière décennie, les fuzzers sont devenus les outils les plus utilisés pour tester la sécurité des logiciels et la robustesse. Générer des entrées aléatoires et les alimenter à une application, ils aident à détecter le comportement du programme indésirable tel que les bogues et les vulnérabilités.

Fandango, un nouvel outil de fuzzing open-source, utilise un algorithme évolutif pour générer automatiquement des myriades d'entrées de test de haute qualité qui satisfont les contraintes définies. Faisant progressivement des tests basés sur la langue par une étape décisive, Fandango utilise une procédure itérative modélisée sur l'évolution biologique, produisant des entrées personnalisées qui couvrent à la fois la sémantique et la syntaxe. Désormais disponible dans sa version 1.0, Fandango a été développé par des chercheurs du Centre Cispa Helmholtz
pour la sécurité de l'information.

Les chercheurs de CISPA José Antonio Zamudio Amaya et le professeur Dr. Andreas Zeller ont introduit l'algorithme bio-inspiré au Fuzzing des logiciels. Dans une émulation de l'évolution biologique, leur algorithme effectue un processus de mutation et de sélection pour produire des entrées qui correspondent étroitement aux conditions du testeur. Leur article est publié dans la revue Actes de l'ACM sur l'ingénierie logicielle.

Zamudio explique: « L'algorithme évolutif est assez simple. Nous commençons par une population d'intrants qui proviennent des spécifications d'un programme. Et puis nous faisons deux choses: d'abord, muté ces intrants pour déclencher différents changements et deuxièmement, traversons ces intrants, nous évaluons la qualité de la qualité des contributions. testeur. « 

Ce processus se traduit par des entrées de test valides personnalisées pour explorer spécifiquement des parties particulières du programme testées.

Fandango offre un contrôle complet sur les entrées de test

Bien qu'il ne s'agisse pas du premier outil de fuzzing pour automatiser la génération de tests, Fandango est le premier outil qui donne aux testeurs de logiciels un contrôle complet sur les caractéristiques des entrées qu'ils génèrent. Comme l'explique Zeller, « Contrairement à un fuzzer normal, Fandango produit des entrées qui sont sous le contrôle du testeur, car nous supposons que les testeurs a) savent à quoi ressemble une entrée typique et b) ont tendance à avoir une idée où les bugs typiques peuvent être.

Fandango permet aux testeurs non seulement de spécifier la syntaxe de l'entrée, c'est-à-dire la structure qu'ils souhaitent avoir, mais aussi de définir la sémantique de l'entrée, c'est-à-dire sa signification et ses propriétés spécifiques.

Pour illustrer les avantages de Fandango pour les tests de logiciels, Zeller utilise l'exemple d'une boutique en ligne pour les meubles sur mesure, où les clients sont tenus de saisir des valeurs individuelles pour la hauteur, la longueur et la profondeur qui, prises ensemble, déterminent la taille d'un meuble.

« Dans ce cas, » explique Zeller, « il serait intéressant de voir ce que fait le programme lorsque je dis, par exemple, » ce meuble devrait avoir une longueur de moins de zéro ou une surface de siège d'un kilomètre carré.  » À l'aide de notre algorithme évolutif, Fandango pourrait calculer automatiquement les valeurs pour tous ces champs individuels – la longueur, la longueur, la profondeur – qui satisferait précisément l'état de cette immense surface d'un kilomètre carré. « 

Commentaires invités: Fandango est disponible sur github

Pour permettre aux testeurs et programmeurs de logiciels de bénéficier de leurs recherches, Zamudio et Zeller ont rendu Fandango disponible sur Github. Le programme est open-source et se présente sous la forme d'un simple outil de ligne de commande, accompagné de tutoriels et de documentation étendue. Les chercheurs du CISPA invitent également ouvertement des commentaires dans le but d'améliorer encore plus leur fuzzer.

« J'ai hâte de voir comment les gens utilisent Fandango et ce qu'ils suggèrent de mettre en œuvre davantage. J'ai déjà parlé à des gens de diverses entreprises. L'idée de contrôler ce qui devrait être testé et l'idée de pouvoir vérifier les résultats d'un calcul est une véritable aubaine pour eux », explique Zeller.

La recherche CISPA sur Fandango sera présentée au Symposium international sur les tests et analyses de logiciels (ISSTA 2025) à Trondheim, en Norvège le 27 juin 2025.

Fourni par Cispa Helmholtz Center for Information Security

Newsletter

Rejoignez notre newsletter pour des astuces chaque semaine