Affiliation:
1. Department of Computer Science, National Yang Ming Chiao Tung University (NYCU), Taiwan
Abstract
Massive software applications possess complex data structures or parse complex data structures; in such cases, vulnerabilities in the software become inevitable. The vulnerabilities are the source of cyber-security threats, and discovering this before the software deployment is challenging. Fuzzing is a vulnerability discovery solution that resonates with random-mutation, feedback-driven, coverage-guided, constraint-guided, seed-scheduling, and target-oriented strategies. Each technique is wrapped beneath the black-, white-, and grey-box fuzzers to uncover diverse vulnerabilities. It consists of methods such as identifying structural information about the test cases to detect security vulnerabilities, symbolic and concrete program states to explore the unexplored locations, and full semantics of code coverage to create new test cases. We methodically examine each kind of fuzzers and contemporary fuzzers with a profound observation that addresses various research questions and systematically reviews and analyze the gaps and their solutions. Our survey comprised the recent related works on fuzzing techniques to demystify the fuzzing methods concerning the application domains and the target that, in turn, achieves higher code coverage and sound vulnerability detection.
Funder
National Science and Technology Council of the Republic of China
Publisher
Association for Computing Machinery (ACM)
Subject
General Computer Science,Theoretical Computer Science
Reference189 articles.
1. Adobe 2021. Living off the Land (LotL) Classifier. Retrieved from https://github.com/adobe/libLOL
2. armDeveloper 2011. Embedded Trace Macrocell Architecture Specification in versions of the ARM architecture: ETMv1.0 to ETMv3.5. Retrieved from https://developer.arm.com/documentation/ihi0014/latest
3. NAUTILUS: Fishing for Deep Bugs with Grammars
4. REDQUEEN: Fuzzing with Input-to-State Correspondence
5. Vaggelis Atlidakis Roxana Geambasu Patrice Godefroid Marina Polishchuk and Baishakhi Ray. 2020. Pythia: Grammar-based fuzzing of REST APIs with coverage-guided feedback and learning-based mutations. CoRR abs/2005.11498 (2020). arXiv:2005.11498. https://arxiv.org/abs/2005.11498