Back to Search
Start Over
Finding semantic bugs in file systems with an extensible fuzzing framework
- Source :
- SOSP
- Publication Year :
- 2019
- Publisher :
- ACM, 2019.
-
Abstract
- File systems are too large to be bug free. Although handwritten test suites have been widely used to stress file systems, they can hardly keep up with the rapid increase in file system size and complexity, leading to new bugs being introduced and reported regularly. These bugs come in various flavors: simple buffer overflows to sophisticated semantic bugs. Although bug-specific checkers exist, they generally lack a way to explore file system states thoroughly. More importantly, no turnkey solution exists that unifies the checking effort of various aspects of a file system under one umbrella. In this paper, we highlight the potential of applying fuzzing to find not just memory errors but, in theory, any type of file system bugs with an extensible fuzzing framework: Hydra. Hydra provides building blocks for file system fuzzing, including input mutators, feedback engines, a libOS-based executor, and a bug reproducer with test case minimization. As a result, developers only need to focus on building the core logic for finding bugs of their own interests. We showcase the effectiveness of Hydra with four checkers that hunt crash inconsistency, POSIX violations, logic assertion failures, and memory errors. So far, Hydra has discovered 91 new bugs in Linux file systems, including one in a verified file system (FSCQ), as well as four POSIX violations.
- Subjects :
- File system
Focus (computing)
Memory errors
Computer science
Programming language
Assertion
020206 networking & telecommunications
02 engineering and technology
Fuzz testing
Executor
computer.software_genre
POSIX
TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS
0202 electrical engineering, electronic engineering, information engineering
020201 artificial intelligence & image processing
computer
Buffer overflow
Subjects
Details
- Database :
- OpenAIRE
- Journal :
- Proceedings of the 27th ACM Symposium on Operating Systems Principles
- Accession number :
- edsair.doi...........9f75b67d180265d87f6b8eec6f7d7898
- Full Text :
- https://doi.org/10.1145/3341301.3359662