中文

跌入兔子洞:辅助探索策略如何促进灰盒模糊测试?

软件工程 2024-09-25 v2

摘要

目前已提出许多辅助探索策略,以帮助灰盒模糊测试器探索由严格且复杂的分支条件(如等式约束)保护的程序状态。尽管这些策略在其原始论文中展现了有希望的结果,但它们的评估很少遵循等效的协议,例如,它们很少在相同的基准上进行评估。此外,对于这些策略所探索的程序状态的具体细节缺乏充分的研究,这可能会混淆此类策略的未来应用与开发。因此,迫切需要对辅助探索策略的有效性、通用性和局限性进行全面研究,以启发其未来发展。为此,我们首次对灰盒模糊测试器的辅助探索策略进行了全面研究。具体而言,我们首先收集了代表主流辅助探索策略的九个最新模糊测试器作为研究对象,并收集了 21 个真实世界项目以组成我们的基准套件。在基准套件上评估这些对象后,我们惊讶地发现,字典策略是最具前景的,因为它不仅在探索程序状态方面取得了与其他所研究的辅助探索策略相似甚至略好的性能,而且更易于增强。因此,我们提出了 CDFUZZ,它在基线模糊测试器 AFL 的基础上为每个种子生成定制字典,以改进原始的字典策略。评估结果表明,与我们研究中表现最佳者(即采用字典策略的 AFL++)相比,CDFUZZ 在所有基准项目上的边覆盖率平均提高了 16.1%。CDFUZZ 还成功暴露了 37 个先前未知的漏洞,其中 9 个已确认,7 个已被相应开发者修复。

关键词

引用

@article{arxiv.2409.14541,
  title  = {Tumbling Down the Rabbit Hole: How do Assisting Exploration Strategies Facilitate Grey-box Fuzzing?},
  author = {Mingyuan Wu and Jiahong Xiang and Kunqiu Chen and Peng DI and Shin Hwei Tan and Heming Cui and Yuqun Zhang},
  journal= {arXiv preprint arXiv:2409.14541},
  year   = {2024}
}

备注

Accepted at ICSE 2025