当前位置: X-MOL 学术ACM Trans. Storage › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Finding Bugs in File Systems with an Extensible Fuzzing Framework
ACM Transactions on Storage ( IF 2.1 ) Pub Date : 2020-05-19 , DOI: 10.1145/3391202
Seulbae Kim 1 , Meng Xu 1 , Sanidhya Kashyap 1 , Jungyeon Yoon 1 , Wen Xu 1 , Taesoo Kim 1
Affiliation  

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. These bugs come in various flavors: buffer overflows to complicated 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 article, to highlight the potential of applying fuzzing to find any type of file system bugs in a generic way, we propose H ydra , an extensible fuzzing framework. H ydra provides building blocks for file system fuzzing, including input mutators, feedback engines, test executors, and bug post-processors. As a result, developers only need to focus on building the core logic for finding bugs of their interests. We showcase the effectiveness of H ydra with four checkers that hunt crash inconsistency, POSIX violations, logic assertion failures, and memory errors. So far, H ydra has discovered 157 new bugs in Linux file systems, including three in verified file systems (FSCQ and Yxv6).

中文翻译:

使用可扩展的模糊测试框架查找文件系统中的错误

文件系统太大而不能没有错误。尽管手写测试套件已被广泛用于对文件系统施加压力,但它们难以跟上文件系统大小和复杂性的快速增长,从而导致引入新的错误。这些错误有多种形式:缓冲区溢出到复杂的语义错误。尽管存在特定于错误的检查器,但它们通常缺乏彻底探索文件系统状态的方法。更重要的是,不存在将文件系统各个方面的检查工作统一在一个保护伞下的交钥匙解决方案。在本文中,为了突出应用模糊测试以通用方式查找任何类型的文件系统错误的潜力,我们建议 H伊德拉,一个可扩展的模糊测试框架。H伊德拉为文件系统模糊测试提供构建块,包括输入修改器、反馈引擎、测试执行器和错误后处理器。因此,开发人员只需要专注于构建核心逻辑即可找到他们感兴趣的错误。我们展示了 H 的有效性伊德拉有四个检查程序来寻找崩溃不一致、POSIX 违规、逻辑断言失败和内存错误。到目前为止,H伊德拉在 Linux 文件系统中发现了 157 个新错误,其中三个在经过验证的文件系统(FSCQ 和 Yxv6)中。
更新日期:2020-05-19
down
wechat
bug