论文标题

有效的灰色灰色模糊以检测内存错误

Efficient Greybox Fuzzing to Detect Memory Errors

论文作者

Ba, Jinsheng, Duck, Gregory J., Roychoudhury, Abhik

论文摘要

Greybox Fuzzing是一种可检测到现代软件系统中安全漏洞和其他错误的经过验证有效的测试方法。 Greybox fuzzing也可以与消毒剂(例如AsseldSanitizer(ASAN))结合使用,以进一步增强对某些类别的错误检测,例如缓冲区溢出和无使用后的错误错误。但是,消毒剂还引入了额外的性能开销,这可能会降低灰箱模式模糊性能 - 以2.36倍的顺序与阿桑(Asan)模糊 - 部分否定了首先使用消毒剂的好处。最近的研究将额外的开销归因于计划的启动/拆卸成本,这些成本可以主导叉子模式的模糊。 在本文中,我们提出了一种新的内存错误消毒器设计,该设计专门针对叉形模糊进行了优化。基本思想是使用随机代币而不是脱节元数据(如传统消毒剂设计使用)来标记对象边界。然后将所有读/写操作仪器检查以检查令牌,如果存在,将检测到内存错误。由于我们的设计不使用不相交的元数据,因此它也非常轻巧,这意味着程序启动和拆除成本被最小化,以使叉子模糊化的好处。我们以Rezzan工具的形式实施设计,并根据配置显示改进的模糊性能开销为1.14-1.27X。

Greybox fuzzing is a proven and effective testing method for the detection of security vulnerabilities and other bugs in modern software systems. Greybox fuzzing can also be used in combination with a sanitizer, such as AddressSanitizer (ASAN), to further enhance the detection of certain classes of bugs such as buffer overflow and use-after-free errors. However, sanitizers also introduce additional performance overheads, and this can degrade the performance of greybox mode fuzzing -- measured in the order of 2.36X for fuzzing with ASAN -- partially negating the benefit of using a sanitizer in the first place. Recent research attributes the extra overhead to program startup/teardown costs that can dominate fork-mode fuzzing. In this paper, we present a new memory error sanitizer design that is specifically optimized for fork-mode fuzzing. The basic idea is to mark object boundaries using randomized tokens rather than disjoint metadata (as used by traditional sanitizer designs). All read/write operations are then instrumented to check for the token, and if present, a memory error will be detected. Since our design does not use a disjoint metadata, it is also very lightweight, meaning that program startup and teardown costs are minimized for the benefit of fork-mode fuzzing. We implement our design in the form of the ReZZan tool, and show an improved fuzzing performance overhead of 1.14-1.27X, depending on the configuration.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源