Directed fuzzing is a useful testing technique that aims to efficiently reach target code sites in a program. The core of directed fuzzing is the guiding mechanism that directs the fuzzing to the specified target. A general guiding mechanism adopted in existing directed fuzzers is to calculate the control-flow distance between the current progress and the target, and use that as feedback to guide the directed fuzzing. A fundamental problem with the existing guiding mechanism is that the distance calculation is \emph{feasibility-unaware}. In this work, we propose feasibility-aware directed fuzzing named AFLGopher. Our new feasibility-aware distance calculation provides pragmatic feedback to guide directed fuzzing to reach targets efficiently. We propose new techniques to address the challenges of feasibility prediction. Our new classification method allows us to predict the feasibility of all branches based on limited traces, and our runtime feasibility-updating mechanism gradually and efficiently improves the prediction precision. We implemented AFLGopher and compared AFLGopher with state-of-the-art directed fuzzers including AFLGo, enhanced AFLGo, WindRanger, BEACON and SelectFuzz. AFLGopher is 3.76x, 2.57x, 3.30x, 2.52x and 2.86x faster than AFLGo, BEACON, WindRanger, SelectFuzz and enhanced AFLGo, respectively, in reaching targets. AFLGopher is 5.60x, 5.20x, 4.98x, 4.52x, and 5.07x faster than AFLGo, BEACON, WindRanger, SelectFuzz and enhanced AFLGo, respectively, in triggering known vulnerabilities.


翻译:定向模糊测试是一种有效的测试技术,旨在高效地到达程序中的目标代码位置。定向模糊测试的核心在于引导机制,该机制将模糊测试导向指定的目标。现有定向模糊测试工具普遍采用的引导机制是计算当前执行进度与目标之间的控制流距离,并将其作为反馈来指导定向模糊测试。现有引导机制的一个根本问题在于距离计算是“可行性无感知”的。在本工作中,我们提出了名为AFLGopher的可行性感知定向模糊测试方法。我们新的可行性感知距离计算提供了实用的反馈,以高效引导定向模糊测试到达目标。我们提出了新技术来解决可行性预测的挑战。新的分类方法使我们能够基于有限的执行轨迹预测所有分支的可行性,而运行时可行性更新机制则逐步高效地提升预测精度。我们实现了AFLGopher,并将其与最先进的定向模糊测试工具(包括AFLGo、增强版AFLGo、WindRanger、BEACON和SelectFuzz)进行了比较。在到达目标方面,AFLGopher分别比AFLGo、BEACON、WindRanger、SelectFuzz和增强版AFLGo快3.76倍、2.57倍、3.30倍、2.52倍和2.86倍。在触发已知漏洞方面,AFLGopher分别比AFLGo、BEACON、WindRanger、SelectFuzz和增强版AFLGo快5.60倍、5.20倍、4.98倍、4.52倍和5.07倍。

0
下载
关闭预览

相关内容

Python图像处理,366页pdf,Image Operators Image Processing in Python
NAACL 2019 | 一种考虑缓和KL消失的简单VAE训练方法
PaperWeekly
20+阅读 · 2019年4月24日
论文报告 | Graph-based Neural Multi-Document Summarization
科技创新与创业
15+阅读 · 2017年12月15日
国家自然科学基金
0+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
相关基金
国家自然科学基金
0+阅读 · 2017年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员