GONet: Gradient Oriented Fuzzing for Stateful Network Protocol: Improving and Evaluating Fuzzing Efficiency of Stateful Protocol by Mutating Based on Gradient Information
2023 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Student thesisAlternative title
GONet: Gradientorienterad Fuzzing för Tillståndsfullt Nätverksprotokoll : Förbättra och utvärdera fuzzing effektiviteten av stateful protokoll genom att mutera baserat på gradientinformation (Swedish)
Abstract [en]
Network protocol plays a crucial role in supporting a wide range of critical services, of which robustness and reliability are vital. Fuzzing, or fuzz testing, serves as an effective technique to uncover vulnerabilities in software programs. However, fuzzing becomes more complicated when dealing with network protocols due to their massive state. In stateful networks, the current state can be significantly influenced by previous communication, which makes most test cases invalid and leads to low fuzzing efficiency. To overcome these challenges, this thesis proposes GONET, a novel grey-box fuzzer meticulously designed for stateful network protocols. GONET distinguishes itself from other fuzzers by introducing a state space and ingeniously utilizing gradient information from neural networks to guide the seed mutation process. This innovative approach significantly enhances the quality of test cases and leads to a marked increase in fuzzing efficiency. Furthermore, GONET’s lightweight structure enables faster execution of individual fuzzing tests, further enhancing its overall efficiency. Working on two popular protocol implementations, GONET demonstrates its superiority by outperforming two popular stateful protocol fuzzers (AFLNet and AFLNwe) in evaluation metrics of edge coverage and fuzzing speed.
Abstract [sv]
Nätverksprotokoll spelar en avgörande roll för att stödja en mängd kritiska tjänster, där robusthet och tillförlitlighet är av stor betydelse. Fuzzing, eller fuzz-testning, fungerar som en effektiv teknik för att upptäcka sårbarheter i mjukvaruprogram. Men fuzzing blir mer komplicerat när man hanterar nätverksprotokoll på grund av deras massiva tillstånd. I tillståndsbundna nätverk kan det nuvarande tillståndet påverkas betydligt av tidigare kommunikation, vilket gör att de flesta testfall blir ogiltiga och leder till låg fuzzing-effektivitet. För att övervinna dessa utmaningar föreslår denna avhandling GONET, en ny grey-box fuzzer noggrant utformad för tillståndsbundna nätverksprotokoll. GONET skiljer sig från andra fuzzers genom att introducera ett tillståndsrum och genom att skickligt använda gradientinformation från neurala nätverk för att styra seed-mutationsprocessen. Denna innovativa strategi förbättrar avsevärt kvaliteten på testfallen och leder till en betydande ökning av fuzzing-effektiviteten. Dessutom gör GONET:s lätta struktur att enskilda fuzzingtester kan utföras snabbare, vilket ytterligare förbättrar dess totala effektivitet. När det gäller två populära protokollimplementeringar visar GONET sin överlägsenhet genom att överträffa två populära fuzzers för tillståndsbundna protokoll (AFLNet och AFLNwe) i utvärderingsmetriker för kantöverdrag och fuzzing-hastighet.
Place, publisher, year, edition, pages
Stockholm: KTH Royal Institute of Technology , 2023. , p. 45
Series
TRITA-EECS-EX ; 2023:688
Keywords [en]
Fuzzing, Stateful Protocol, Gradient Oriented, Neural Network
National Category
Computer Sciences Computer Engineering
Identifiers
URN: urn:nbn:se:kth:diva-337744OAI: oai:DiVA.org:kth-337744DiVA, id: diva2:1803135
External cooperation
Tsinghua University
Supervisors
Examiners
2023-10-082023-10-062023-10-08Bibliographically approved