Finding semantic bugs in file systems with an extensible fuzzing framework

67Citations
Citations of this article
107Readers
Mendeley users who have this article in their library.

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.

Author supplied keywords

Cite

CITATION STYLE

APA

Kim, S., Xu, M., Kashyap, S., Yoon, J., Xu, W., & Kim, T. (2019). Finding semantic bugs in file systems with an extensible fuzzing framework. In SOSP 2019 - Proceedings of the 27th ACM Symposium on Operating Systems Principles (pp. 147–161). Association for Computing Machinery, Inc. https://doi.org/10.1145/3341301.3359662

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free