GONet: Gradient Oriented Fuzzing for Stateful Network Protocol : Improving and Evaluating Fuzzing Efficiency of Stateful Protocol by Mutating Based on Gradient Information

University essay from KTH/Skolan för elektroteknik och datavetenskap (EECS)

Abstract: 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.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)