$MC^2$:严谨且高效的定向灰盒模糊测试
密码学与安全
2022-09-02 v1
摘要
定向灰盒模糊测试是一种流行的针对性软件测试技术,旨在寻找能够到达程序中一组目标站点的输入。大多数现有定向灰盒模糊测试器未对其性能或最优性提供任何理论分析。本文中,我们引入一个复杂性理论框架,将定向灰盒模糊测试表述为预言机引导的搜索问题,其中关于输入空间的某些反馈(例如,某输入距离目标站点有多近)通过查询预言机获得。我们的框架假设每次预言机查询可返回具有大量但恒定信息量的任意内容。因此,我们以模糊测试算法找到到达目标的输入所需的预言机查询次数作为性能度量。利用该框架,我们设计了一种随机化定向灰盒模糊测试算法,其期望查询次数(关于所有可能输入的数量)为对数级别即可找到到达目标的输入。我们进一步证明,该算法所需的预言机查询次数是最优的,即任何模糊测试算法都无法将查询次数减少超过常数因子。我们在MC中实现了该方法,并在具有挑战性的基准测试(Magma与Fuzzer Test Suite)上以平均高达两个数量级(即)的优势超越最先进的定向灰盒模糊测试器。MC还发现了15个此前未被发现的、其他最先进定向灰盒模糊测试器未能找到的漏洞。
引用
@article{arxiv.2208.14530,
title = {$MC^2$: Rigorous and Efficient Directed Greybox Fuzzing},
author = {Abhishek Shah and Dongdong She and Samanway Sadhu and Krish Singal and Peter Coffman and Suman Jana},
journal= {arXiv preprint arXiv:2208.14530},
year = {2022}
}
备注
To Appear in Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security (CCS '22)