State Selection Algorithms and Their Impact on The Performance of Stateful Network Protocol Fuzzing

12/24/2021
by   Dongge Liu, et al.
0

The statefulness property of network protocol implementations poses a unique challenge for testing and verification techniques, including Fuzzing. Stateful fuzzers tackle this challenge by leveraging state models to partition the state space and assist the test generation process. Since not all states are equally important and fuzzing campaigns have time limits, fuzzers need effective state selection algorithms to prioritize progressive states over others. Several state selection algorithms have been proposed but they were implemented and evaluated separately on different platforms, making it hard to achieve conclusive findings. In this work, we evaluate an extensive set of state selection algorithms on the same fuzzing platform that is AFLNet, a state-of-the-art fuzzer for network servers. The algorithm set includes existing ones supported by AFLNet and our novel and principled algorithm called AFLNetLegion. The experimental results on the ProFuzzBench benchmark show that (i) the existing state selection algorithms of AFLNet achieve very similar code coverage, (ii) AFLNetLegion clearly outperforms these algorithms in selected case studies, but (iii) the overall improvement appears insignificant. These are unexpected yet interesting findings. We identify problems and share insights that could open opportunities for future research on this topic.

READ FULL TEXT
research
11/12/2015

ICON Challenge on Algorithm Selection

We present the results of the ICON Challenge on Algorithm Selection....
research
10/12/2021

StateAFL: Greybox Fuzzing for Stateful Network Servers

Fuzzing network servers is a technical challenge, since the behavior of ...
research
04/18/2022

Automated Test Generation for REST APIs: No Time to Rest Yet

Modern web services routinely provide REST APIs for clients to access th...
research
02/08/2022

SNPSFuzzer: A Fast Greybox Fuzzer for Stateful Network Protocols using Snapshots

Greybox fuzzing has been widely used in stateless programs and has achie...
research
01/13/2021

ProFuzzBench: A Benchmark for Stateful Protocol Fuzzing

We present a new benchmark (ProFuzzBench) for stateful fuzzing of networ...
research
09/03/2018

Improving Convergence Rate Of IC3

IC3, a well-known model checker, proves a property of a state system ξ b...
research
02/23/2018

Automatic Generation of Precise and Useful Commutativity Conditions (Extended Version)

Reasoning about commutativity between data-structure operations is an im...

Please sign up or login with your details

Forgot password? Click here to reset