返回
Efficient Fuzzing Infrastructure for Pointer-to-Object Association
DOI:10.1145/3730580.png)
摘要
En 中文
运行时反馈是高效灰盒模糊测试的核心,而运行时反馈的收集是灰盒模糊测试最重要的基础设施。然而,现有模糊测试器在收集程序的内存运行时反馈方面存在困难,而内存是运行程序中最重要且最脆弱的组件。操作系统不支持任意指针与运行时对象之间的关联查询。因此,现有工作仅捕获聚合统计信息(如内存使用情况)或随机量(如指针中存储的随机地址)以提供低精度的内存相关反馈。本文介绍了SPINEL,一种配备全新内存反馈收集基础设施的灰盒模糊测试器。它引入了一个几乎无开销的运行时系统,用于关联任意指针与其对应的运行时对象,并提供空间距离信息作为内存相关模糊测试反馈。为避免对静默错误检测器(如用于检测内存安全违规的 sanitizer)引入累积开销,我们引入了执行后验证技术,以移除昂贵的运行时安全检查,同时保持相同的错误检测能力。我们在33个真实世界程序上的实验表明,与当前最先进的模糊测试器相比,SPINEL 检测到1.30倍至2.33倍的新颖错误。此外,根据受限平均生存时间,SPINEL 在触发由 Magma 基准收集的真实错误方面实现了1.56倍至8.21倍的速度提升。
Keyword:
Fuzz Testing
Domain-Specific Fuzzing
Memory Safety
期刊
A
IF:
6.2
论文数:
1.2K
被引数:
3.4K

