基于静态前瞻分析的定向灰盒模糊测试
软件工程
2019-05-20 v1 密码学与安全
摘要
自动测试生成通常旨在生成输入以探索被测程序中的新路径从而发现错误。因此,现有工作侧重于通过使用离线静态分析将探索引导至更可能包含错误的程序部分。在本文中,我们引入一种使用在线静态分析的定向灰盒模糊测试新技术,该分析将模糊测试器引导至一组目标位置,例如位于程序最近修改的部分中。这是通过首先语义分析模糊测试器测试套件中某个输入所探索的每条程序路径来实现的。然后该分析的结果用于控制模糊测试器的专用能量调度,该调度决定从测试套件中对输入进行模糊测试的频率。我们通过扩展一个最先进的工业级以太坊智能合约模糊测试器来实现我们的技术,并在 27 个真实基准上评估其有效性。使用在线分析特别适合智能合约领域,因为它不需要任何代码插桩——对合约的插桩会改变其语义。我们的实验表明,对于到达 83% 的具有挑战性的目标位置(中位数加速高达 14 倍),定向模糊测试显著优于标准灰盒模糊测试。
引用
@article{arxiv.1905.07147,
title = {Targeted Greybox Fuzzing with Static Lookahead Analysis},
author = {Valentin Wüstholz and Maria Christakis},
journal= {arXiv preprint arXiv:1905.07147},
year = {2019}
}