FuzzBuilderEx
- Abstract
Fuzzing is widely utilized as a practical test method to determine unknown vulnerabilities in software. Although fuzzing shows excellent results for code coverage and crash count, it is not easy to apply these effects to library fuzzing. A library cannot run independently; it is only executed by an application called a customer program. In particular, a fuzzing executable and a seed corpus are needed to execute the library code by calling a specific function sequence and passing the input of the fuzzer to reproduce the various states of the library. However, preparing the environment for library fuzzing is challenging because it relies on the human expertise and requires both an understanding of the library and fuzzing knowledge. This study proposes FuzzBuilderEx , a system that provides an automated fuzzing environment for a library by utilizing the test framework to resolve this problem. FuzzBuilderEx conducts a static/dynamic analysis of the test code to automatically generate seed corpus and fuzzing executables that enable library fuzzing. Furthermore, the automatically generated seed corpus and fuzzing executable are compatible with existing fuzzers, such as the American Fuzzy Lop (AFL). This study applied FuzzBuilderEx to nine open-source libraries for performance evaluation and confirmed the effects of an increase in code coverage by 31.2% and a unique crash count of 58.7% compared to previous studies. Notably, we detected three zero-day vulnerabilities and registered one of them in the common vulnerabilities and exposures (CVE) database.
2. Related paper
Jeon, Sanghoon, et al. "Automatically Seed Corpus and Fuzzing Executables Generation Using Test Framework." IEEE Access 10 (2022): 90408-90428.
@article{jeon2022automatically,
title={Automatically Seed Corpus and Fuzzing Executables Generation Using Test Framework},
author={Jeon, Sanghoon and Ryu, Minsoo and Kim, Dongyoung and Kim, Huy Kang},
journal={IEEE Access},
year={2022},
publisher={IEEE}
}
3. Software download
4. Contact
Email: kppw99@gmail.com
GitHub@kppw99