Please use this identifier to cite or link to this item: https://hdl.handle.net/11264/2843
Title: Adaptive Mutation Operator Scheduling in Protocol Fuzzing
Authors: Watkins, Patricia
Royal Military College of Canada
Lachine, Brian
Keywords: Fuzzing
Software Testing
Issue Date: 1-Jun-2026
Abstract: Fuzzing has emerged as a critical technique in software testing for identifying bugs and vulnerabilities. It works by generating test inputs, often using randomness to produce unusual cases, which are then executed against the target software to attempt to expose abnormal program behaviour. Protocol fuzzing is a specialized form which focuses on testing network protocol implementations. It presents an interesting challenge in that the fuzzer must manage exchanges of messages that influence the program's state. AFLNet is a popular protocol fuzzer which adapted greybox mutational fuzzing for protocol targets. In addition to standard byte mutations, AFLNet introduced region mutations which apply modifications to the message sequence rather than the message content. No prior work has analyzed how AFLNet applies its two mutation types, leaving potential inefficiencies that may limit the code coverage achieved. The current random-based approach may squander valuable execution time on ineffective mutations, as the effectiveness of mutation types and operators varies across targets. This research seeks to improve its coverage performance to more thoroughly test protocol implementations for security vulnerabilities and unintended behaviour. The aim of this research is to evaluate the impact of a region mutation-focused target-adaptive mutation strategy on code coverage in AFLNet. This approach utilizes the multi-armed bandit algorithms, Thompson Sampling and Linear Thompson Sampling, to dynamically adjust the selection of mutation types and operators during the fuzzing process. This design, known as Target-Adaptive Mutation Strategy (TAMS), can learn which mutations are most effective for a given target using code coverage feedback. Validation experiments were conducted across five diverse protocol targets: LightFTP (FTP), DNSmasq (DNS), Exim (SMTP), OpenSSH (SSH), and Kamailio (SIP). The performance of the TAMS design was compared to AFLNet with its original mutation strategy using median branch coverage results. The results showed that AFLNet-TAMS achieved improved coverage on OpenSSH with the highest performing configuration seeing a 0.641% increase. The four other targets resulted in comparable coverage to baseline, with Kamailio experiencing lower coverage in some configurations, particularly when the delete region mutation operator is included. Additionally, a 52.2% reduction in average seed length was observed across targets in TAMS implementations.
Le fuzzing est une technique essentielle dans les tests logiciels pour identifier les bogues et les vulnérabilités. Il consiste à générer des entrées, souvent en recourant au hasard pour produire des cas inhabituels, qui sont ensuite exécutées sur le logiciel cible afin de détecter des comportements anormaux. Le fuzzing de protocole est une forme spécialisée qui se concentre sur le test des implémentations de protocoles réseau. Il présente un défi intéressant dans la mesure où le fuzzer doit gérer les échanges de messages qui influencent l'état du programme. AFLNet est un fuzzer de protocole populaire qui a adapté le fuzzing mutationnel greybox pour les cibles de protocole. En plus des mutations d'octets standard, AFLNet a introduit des mutations de région qui appliquent des modifications à la séquence de messages. Aucun travail antérieur n'a analysé la manière dont AFLNet applique ses deux types de mutation, laissant des inefficacités potentielles qui pourraient limiter la couverture de code atteinte. L'approche actuelle basée sur le hasard risque de gaspiller un temps d'exécution précieux sur des mutations inefficaces, car l'efficacité des types de mutation et des opérateurs varie selon les cibles. Ce travail cherche à améliorer la couverture de code de AFLNet pour tester plus en profondeur les implémentations de protocoles afin de découvrir des failles de sécurité et des comportements indésirables. L'objectif de cette recherche est d'évaluer l'impact d'une stratégie de mutation adaptative ciblée, axée sur la mutation de région, sur la couverture de code dans AFLNet. Cette approche utilise les algorithmes de bandit à plusieurs bras, l'échantillonnage de Thompson et l'échantillonnage linéaire de Thompson, pour ajuster de manière dynamique la sélection des types de mutations et des opérateurs au cours du fuzzing. Cette conception, connue sous le nom de stratégie de mutation adaptative à la cible (TAMS), permet d'apprendre quelles mutations sont les plus efficaces pour une cible donnée en utilisant le retour d'information sur la couverture de code. Des expériences de validation ont été menées sur cinq cibles de protocole différentes: LightFTP (FTP), DNSmasq (DNS), Exim (SMTP), OpenSSH (SSH) et Kamailio (SIP). Les performances de l'approche TAMS ont été comparées à celles de AFLNet avec sa stratégie de mutation d'origine, en utilisant les résultats de couverture de branche médiane. Les résultats ont montré que le fuzzer AFLNet-TAMS a atteint une couverture améliorée sur OpenSSH, la meilleure configuration atteignant une augmentation de 0,641 %. Les quatre autres cibles ont fourni une couverture comparable à celle de la référence, Kamailio présentant une couverture inférieure dans certaines configurations, en particulier lorsque l'opérateur de mutation de région delete est inclus. De plus, une réduction de 52,2 % de la longueur moyenne des entrées de base a été observée sur l'ensemble des cibles dans les implémentations TAMS.
URI: https://hdl.handle.net/11264/2843
Appears in Collections:Theses

Files in This Item:
File Description SizeFormat 
20260526_Watkins_Thesis.pdf975.29 kBUnknownView/Open


Items in eSpace are protected by copyright, with all rights reserved, unless otherwise indicated.