PTrix:面向商用现货二进制程序的高效硬件辅助模糊测试
软件工程
2019-05-28 v1 密码学与安全
摘要
尽管 American Fuzzy Lop (AFL) 作为最优秀的灰盒模糊测试器之一在发现软件缺陷方面十分有效,但在对无源码程序进行测试时效率低下。AFL 的纯二进制模糊测试模式 QEMU-AFL 通常比其有源码模糊测试模式慢 2-5 倍。这一减速主要由繁重的动态插桩引起。近期的模糊测试技术利用 Intel Processor Tracing (PT)(近期 Intel CPU 支持的一种轻量级追踪特性)来消除对动态插桩的需求。然而,我们发现这些基于 PT 的模糊测试技术在对真实世界程序模糊测试时甚至比 QEMU-AFL 更慢,使其效果不如 QEMU-AFL。这一较差性能源于从高度压缩的 PT 追踪中提取代码覆盖信息的速度缓慢。在本工作中,我们提出 PTrix 的设计与实现,通过三种新技术充分释放 PT 用于模糊测试的优势。首先,PTrix 引入一种方案,使 PT 追踪处理与目标程序执行高度并行。其次,它直接以解码后的 PT 追踪作为模糊测试反馈,避免了代价高昂的代码覆盖信息重建。第三,PTrix 以强于基于边的代码覆盖的反馈来维护新反馈,有助于到达 AFL 可能无法触及的新代码空间与缺陷。我们通过将 PTrix 与最先进的模糊测试器比较来评估其性能。结果表明,在相同时长下,PTrix 实现了显著更高的模糊测试速度,并到达了其他模糊测试器遗漏的代码区域。此外,PTrix 在一组先前已被充分模糊测试的二进制程序中发现了 35 个新漏洞,显示出其补充现有模糊测试器的能力。
引用
@article{arxiv.1905.10499,
title = {PTrix: Efficient Hardware-Assisted Fuzzing for COTS Binary},
author = {Yaohui Chen and Dongliang Mu and Jun Xu and Zhichuang Sun and Wenbo Shen and Xinyu Xing and Long Lu and Bing Mao},
journal= {arXiv preprint arXiv:1905.10499},
year = {2019}
}
备注
AsiaCCS'19