首页> 外文会议>IEEE Symposium on Security and Privacy >Fuzzing File Systems via Two-Dimensional Input Space Exploration
【24h】

Fuzzing File Systems via Two-Dimensional Input Space Exploration

机译:通过二维输入空间探索对文件系统进行模糊处理

获取原文

摘要

File systems, a basic building block of an OS, are too big and too complex to be bug free. Nevertheless, file systems rely on regular stress-testing tools and formal checkers to find bugs, which are limited due to the ever-increasing complexity of both file systems and OSes. Thus, fuzzing, proven to be an effective and a practical approach, becomes a preferable choice, as it does not need much knowledge about a target. However, three main challenges exist in fuzzing file systems: mutating a large image blob that degrades overall performance, generating image-dependent file operations, and reproducing found bugs, which is difficult for existing OS fuzzers. Hence, we present JANUS, the first feedback-driven fuzzer that explores the two-dimensional input space of a file system, i.e., mutating metadata on a large image, while emitting image-directed file operations. In addition, JANUS relies on a library OS rather than on traditional VMs for fuzzing, which enables JANUS to load a fresh copy of the OS, thereby leading to better reproducibility of bugs. We evaluate JANUS on eight file systems and found 90 bugs in the upstream Linux kernel, 62 of which have been acknowledged. Forty-three bugs have been fixed with 32 CVEs assigned. In addition, JANUS achieves higher code coverage on all the file systems after fuzzing 12 hours, when compared with the state-of-the-art fuzzer Syzkaller for fuzzing file systems. JANUS visits 4.19x and 2.01x more code paths in Btrfs and ext4, respectively. Moreover, JANUS is able to reproduce 88-100% of the crashes, while Syzkaller fails on all of them.
机译:文件系统是OS的基本组成部分,太大,太复杂而无法消除错误。但是,文件系统依靠常规的压力测试工具和正式的检查器来查找错误,由于文件系统和操作系统的复杂性不断提高,因此这些缺陷受到了限制。因此,已证明模糊测试是一种有效且实用的方法,它成为首选,因为它不需要太多有关目标的知识。但是,在模糊化文件系统中存在三个主要挑战:对大型图像斑点进行突变以降低整体性能,生成依赖于图像的文件操作,以及重现已发现的错误,这对于现有的操作系​​统模糊测试者来说是困难的。因此,我们提出了JANUS,这是第一个反馈驱动的模糊器,它探索文件系统的二维输入空间,即在发出图像定向文件操作的同时对大图像进行元数据突变。此外,JANUS依靠库OS而不是传统VM进行模糊测试,这使JANUS可以加载OS的新副本,从而提高错误的可再现性。我们在八个文件系统上评估了JANUS,并在上游Linux内核中发现了90个错误,其中62个已被确认。分配了32个CVE修复了43个错误。此外,与最先进的模糊器Syzkaller相比,JANUS在经过12小时的模糊处理后,在所有文件系统上实现了更高的代码覆盖率。 JANUS在Btrfs和ext4中分别访问了4.19倍和2.01倍的代码路径。此外,JANUS能够重现88%至100%的崩溃,而Syzkaller在所有崩溃中均失败。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号