FastAFLGo: Toward a Directed Greybox Fuzzing
Source abstract
Abstract
While the size and complexity of software are rapidly increasing, not only is the number of vulnerabilities increasing, but their forms are diversifying. Vulnerability has become an important factor in network attack and defense. Therefore, automatic vulnerability discovery has become critical to ensure software security. Fuzzing is one of the most important methods of vulnerability discovery. It is based on the initial input, i.e., a seed, to generate mutated test cases as new inputs of a tested program in the next execution loop. By monitoring the path coverage, fuzzing can choose high-value test cases for inclusion in the new seed set and capture crashes used for triggering vulnerabilities. Although there have been remarkable achievements in terms of the number of discovered vulnerabilities, the reduction of time cost is still inadequate. This paper proposes a fast directed greybox fuzzing model, FastAFLGo. A fast convergence formula of temperature is designed, and the energy scheduling scheme can quickly determine the best seed to make the program execute toward the target basic blocks. Experimental results show that FastAFLGo can discover more vulnerabilities than the traditional fuzzing method in the same execution time.
Source: openalex_inverted_index · Quality: baseline
Research context
OpenAlex topics: Software Testing and Debugging Techniques · Advanced Malware Detection Techniques · Software Reliability and Analysis Research
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
References (28)
Show source-provided references
1. A reputation management scheme for efficient malicious vehicle identification over 5G networks10.1109/MWC.001.1900456 ↗
2. A survey on access control in the age of internet of things10.1109/JIOT.2020.2969326 ↗
3. Using object detection network for malware detection and identification in network traffic packets10.32604/cmc.2020.010091 ↗
4. Evaluating the topology coverage of BGP monitors10.32604/cmc.2020.06319 ↗
5. An intrusion detection algorithm based on feature graph10.32604/cmc.2019.05821 ↗
6. Mitre, “Cve details,“ 2021. [Online]. Available: https://www.cvedetails.com/browse-by-date.php.
7. Directed greybox fuzzing
8. M. Zalewski, “American fuzzy lop,” 2021. [Online]. Available: https://lcamtuf.coredump.cx/afl.
9. Google, “Honggfuzz,” 2021. [Online]. Available: https://github.com/google/honggfuzz.
10. Llvm, “libFuzzer,” 2021. [Online]. Available: https://www.llvm.org/docs/LibFuzzer.html.
11. CollAFL: Path sensitive fuzzing
12. VUzzer: Application-aware evolutionary fuzzing
13. Coverage-based greybox fuzzing as markov chain10.1109/TSE.2017.2785841 ↗
14. GREYONE: Data flow sensitive fuzzing
15. Steelix: Program-state based binary fuzzing
16. Hawkeye: Towards a desired directed grey-box fuzzer
17. AFLPro: Direction sensitive fuzzing10.1016/j.jisa.2020.102497 ↗
18. Not all coverage measurements are equal: Fuzzing by coverage accounting for input prioritization
19. MUZZ: Thread-aware grey-box fuzzing for effective bug hunting in multithreaded programs
20. Gitlab, “Peach-fuzzer-community,” 2021. [Online]. Available: https://gitlab.com/peachtech/peach-fuzzer-community.
21. Fuzzing with code fragments
22. Learn&Fuzz: machine learning for input fuzzing
23. NEUZZ: Efficient fuzzing with neural program smoothing
24. S2E: A platform for in-vivo multi-path analysis of software systems
25. SOK: (State of) the art of war: Offensive techniques in binary analysis
26. Driller: Augmenting fuzzing through selective symbolic execution
27. Improving function coverage with munch: A hybrid fuzzing and directed symbolic execution approach
28. M. Böhme, V. T. Pham, M. D. Nguyen and A. Roychoudhury, “Aflgo,” 2021. [Online]. Available: https://github.com/aflgo/aflgo.