基于进化变异的模糊测试作为一种蒙特卡洛树搜索
软件工程
2022-06-16 v2 密码学与安全
摘要
基于覆盖的灰盒模糊测试(CGF)已被证实在发现安全漏洞方面行之有效。种子调度,即从种子池中选择一个输入作为下一轮模糊测试迭代种子的过程,在 CGF 中起着核心作用。尽管已提出众多种子调度策略,其中大多数独立对待这些种子,并未显式考虑种子间的关系。本研究中,我们提出一个关键观察:种子间的关系对种子调度具有价值。我们通过考察并利用种子间的变异关系,设计提出了“种子变异树”。借助“种子变异树”,我们进一步将种子调度问题建模为蒙特卡洛树搜索(MCTS)问题。即,基于 MCTS 的估计,我们通过最优路径遍历该“种子变异树”来选择下一轮模糊测试的种子。我们在 AFL 之上实现了原型 AlphaFuzz,在 AFL++ 之上实现了 AlphaFuzz++。在三个数据集(UniFuzz 数据集、CGC 二进制程序以及 12 个真实世界二进制程序)上的评估结果表明,AlphaFuzz 与 AlphaFuzz++ 在更高代码覆盖率和更多已发现漏洞方面优于当前最优模糊测试器。特别地,AlphaFuzz 发现了 3 个带 CVE 的新漏洞。
引用
@article{arxiv.2101.00612,
title = {Evolutionary Mutation-based Fuzzing as Monte Carlo Tree Search},
author = {Yiru Zhao and Xiaoke Wang and Lei Zhao and Yueqiang Cheng and Heng Yin},
journal= {arXiv preprint arXiv:2101.00612},
year = {2022}
}