中文

基于可能不变量的反馈驱动模糊测试的程序状态抽象

软件工程 2020-12-22 v1 密码学与安全

摘要

模糊测试在近年已被证明在发现软件缺陷方面极为有效,然而仍存在开放性挑战。覆盖引导模糊测试器的缺陷在于,覆盖某个程序点并不能确保触发故障。其他在理论上应能应对此问题的更敏感技术,例如内存值覆盖,容易导致路径爆炸。在本论文中,我们提出一种用于反馈驱动模糊测试的新反馈,将代码覆盖与数据的“形状”相结合。我们为每个基本块学习可能不变量,以将该块中所用变量描述的空间划分为区域。目标是在反馈中区分基本块以落于空间不同区域的值执行的情形。这更好地近似了程序状态覆盖,并在某些目标上提升了模糊测试器发现缺陷的能力。我们使用 LLVM 和 AFL++ 开发了一个称为 InvsCov 的原型。

关键词

引用

@article{arxiv.2012.11182,
  title  = {Program State Abstraction for Feedback-Driven Fuzz Testing using Likely Invariants},
  author = {Andrea Fioraldi},
  journal= {arXiv preprint arXiv:2012.11182},
  year   = {2020}
}

备注

This is a Master Thesis