Please use this identifier to cite or link to this item:
https://hdl.handle.net/11264/2423
Title: | Syntax-Aware Greybox Protocol Fuzzing |
Authors: | Généreux, Sébastien Royal Military College Roberge, Vincent Lachine, Brian |
Keywords: | Fuzzing AFLNet Protocol Syntax |
Issue Date: | 2025 |
Abstract: | Fuzzing helps find potential vulnerabilities in applications by sending crafted inputs to them and observing their response. Code coverage achieved by those inputs is maximized to increase the likelihood of finding bugs. In the case of fuzzing network applications there is an additional layer beyond code coverage; state-space. Most bugs in network applications require them to be in a particular state; the bug is said to be stateful. To explore that state space, protocol fuzzers must model the state space in some way and try to abide by protocol syntax. AFLNet has become the protocol fuzzer most often compared to or extended in recent research. Efforts to make AFLNet faster have achieved significant code coverage improvements. Meanwhile, efforts to improve AFLNet’s state-modelling and state-exploration features have shown mixed and limited results. The aim of this research is to determine how adding syntax-awareness in AFLNet’s mutation process changes the code coverage impact of state feedback features in AFLNet. This is based on the hypothesis that the current input crafting process generates mainly invalid inputs which do not make it beyond the network application’s initial protocol parsing logic. To limit scope, the syntax-aware mutation process and validation are done for the File Transfer Protocol only. An ablation study of AFLNet features is completed across multiple target applications to measure the current code coverage impact of state feedback features. The same experiments are repeated using our syntax-aware fuzzer, AFLNet-packmute, and then compared to the results of the ablation study. Measuring and discussing the change in code coverage impact achieves the aim of the research. We find that syntax-awareness increases the effectiveness of two AFLNet state feedback features, while decreasing the effectiveness of one. Le fuzzing permet de trouver des vulnérabilités potentielles dans les applications en leur envoyant des entrées et en observant leur réponse. La couverture du code obtenue par ces entrées est maximisée pour augmenter la probabilité de trouver des bogues. Dans le cas du fuzzing d’applications réseau, il existe une couche supplémentaire au-delà de la couverture du code: l’espace d'état. La plupart des bogues dans les applications réseau exigent qu’elles soient dans un état particulier; on dit qu’elles sont des bogues avec état. Pour explorer l’espace d’état, les fuzzers de protocole doivent modéliser l’espace d’état et essayer de respecter la syntaxe du protocole. AFLNet est devenu le fuzzer de protocole le plus souvent comparé à ou étendu dans les recherches récentes. Les efforts visant à rendre AFLNet plus rapide ont permis d’améliorer considérablement la couverture du code. Contrairement, les efforts visant à améliorer les fonctions de modélisation et d’exploration de l’état d’AFLNet ont donné des résultats mixtes et limités. L’objectif de cette recherche est de déterminer comment l’ajout de la prise en compte de la syntaxe dans le processus de mutation d’AFLNet modifie l’impact sur la couverture du code des caractéristiques de retour d’information sur l’état dans AFLNet. Cet recherce se fonde sur l’hypothèse selon laquelle le processus de mutation actuel génère principalement des entrées non valides qui ne vont pas au-delà de la logique initiale d’analyse du protocole. Pour limiter le champ d’application, le processus de mutation sensible à la syntaxe et la validation ne sont effectués que pour le protocole File Transfer. Une étude d’ablation des caractéristiques de retour d’état d’AFLNet est réalisée sur plusieurs applications cibles afin de mesurer leur impact sur la couverture du code actuel. Les mêmes expériences sont répétées en utilisant notre fuzzer sensible à la syntaxe, AFLNet-packmute, puis comparées aux résultats de l’étude d’ablation. La mesure et l’analyse de l’impact de la couverture du code nous permettent d’atteindre l’objectif de la recherche. Nous constatons que le processus sensible à la syntaxe augmente l’efficacité de deux caractéristiques de retour d’état d’AFLNet, tout en diminuant l’efficacité d’une seule. |
URI: | https://hdl.handle.net/11264/2423 |
Appears in Collections: | Theses |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
genereux-masc-thesis_FINAL.pdf | Thesis Submission for Sébastien Généreux | 2.14 MB | Adobe PDF | View/Open |
Items in eSpace are protected by copyright, with all rights reserved, unless otherwise indicated.