A greybox fuzzer is an automated software testing tool that generates new test inputs by applying randomly chosen mutators (e.g., flipping a bit or deleting a block of bytes) to a seed input in random order and adds all coverage-increasing inputs to the corpus of seeds. We hypothesize that the order in which mutators are applied to a seed input has an impact on the effectiveness of greybox fuzzers. In our experiments, we fit a linear model to a dataset that contains the effectiveness of all possible mutator pairs and indeed observe the conjectured interaction effect. This points us to more efficient fuzzing by choosing the most promising mutator sequence with a higher likelihood. We propose MuoFuzz, a greybox fuzzer that learns and chooses the most promising mutator sequences. MuoFuzz learns the conditional probability that the next mutator will yield an interesting input, given the previously selected mutator. Then, it samples from the learned probability using a random walk to generate mutator sequences. We compare the performance of MuoFuzz to AFL++, which uses a fixed selection probability, and MOPT, which optimizes the selection probability of each mutator in isolation. Experimental results on the FuzzBench and MAGMA benchmarks show that MuoFuzz achieves the highest code coverage and finds four bugs missed by AFL++ and one missed by both AFL++ and MOPT.


翻译:灰盒模糊测试器是一种自动化软件测试工具,它通过将随机选择的变异算子(例如翻转比特或删除字节块)以随机顺序应用于种子输入来生成新的测试输入,并将所有能提高覆盖率的输入添加到种子语料库中。我们假设变异算子应用于种子输入的顺序会影响灰盒模糊测试器的有效性。在我们的实验中,我们使用线性模型拟合了一个包含所有可能变异算子对有效性的数据集,并确实观察到了所推测的交互效应。这为我们指出了通过以更高概率选择最有希望的变异算子序列来实现更高效模糊测试的方向。我们提出了MuoFuzz,一种能够学习并选择最有希望变异算子序列的灰盒模糊测试器。MuoFuzz学习在给定先前选择的变异算子的条件下,下一个变异算子将产生有趣输入的条件概率。然后,它使用随机游走从学习到的概率中采样以生成变异算子序列。我们将MuoFuzz的性能与使用固定选择概率的AFL++以及单独优化每个变异算子选择概率的MOPT进行了比较。在FuzzBench和MAGMA基准测试上的实验结果表明,MuoFuzz实现了最高的代码覆盖率,并发现了四个AFL++遗漏的错误以及一个AFL++和MOPT均遗漏的错误。

0
下载
关闭预览

相关内容

IFIP TC13 Conference on Human-Computer Interaction是人机交互领域的研究者和实践者展示其工作的重要平台。多年来,这些会议吸引了来自几个国家和文化的研究人员。官网链接:http://interact2019.org/
FlowQA: Grasping Flow in History for Conversational Machine Comprehension
专知会员服务
34+阅读 · 2019年10月18日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
60+阅读 · 2019年10月17日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
STRCF for Visual Object Tracking
统计学习与视觉计算组
15+阅读 · 2018年5月29日
Focal Loss for Dense Object Detection
统计学习与视觉计算组
12+阅读 · 2018年3月15日
国家自然科学基金
13+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
Arxiv
12+阅读 · 2021年3月25日
A Survey on Bayesian Deep Learning
Arxiv
64+阅读 · 2020年7月2日
Arxiv
11+阅读 · 2019年4月15日
Arxiv
13+阅读 · 2019年4月9日
VIP会员
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
STRCF for Visual Object Tracking
统计学习与视觉计算组
15+阅读 · 2018年5月29日
Focal Loss for Dense Object Detection
统计学习与视觉计算组
12+阅读 · 2018年3月15日
相关论文
Arxiv
12+阅读 · 2021年3月25日
A Survey on Bayesian Deep Learning
Arxiv
64+阅读 · 2020年7月2日
Arxiv
11+阅读 · 2019年4月15日
Arxiv
13+阅读 · 2019年4月9日
相关基金
国家自然科学基金
13+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员