论文标题
指示格雷盒模糊的进度,挑战和观点
The Progress, Challenges, and Perspectives of Directed Greybox Fuzzing
论文作者
论文摘要
Greybox Fuzzing是用于软件测试的可扩展且实用的方法。大多数Greybox模糊工具都受到覆盖范围,因为达到高码覆盖范围更有可能找到错误。但是,由于大多数涵盖的代码可能不包含错误,因此盲目扩展代码覆盖范围效率较低,尤其是对于角案例。与覆盖范围引导的Greybox模糊不同,以无方向性的方式增加了代码覆盖范围,导向的GreyBox Fuzzing(DGF)将大部分时间分配用于达到特定目标(例如,漏洞的区域)而不会浪费资源,而不会压力不相关的部分。因此,DGF特别适合诸如补丁测试,错误复制和特殊错误检测等方案。目前,DGF已成为一个活跃的研究领域。但是,DGF具有一般局限性和挑战,值得进一步研究。基于对与DGF密切相关的42个最先进的模糊器的调查,我们进行了首次深入研究,以总结DGF研究进度的经验证据。本文从更广泛的角度研究了DGF,该观点不仅考虑了针对特定代码零件的位置指导类型,还考虑了旨在暴露异常程序行为的行为指导类型。通过分析DGF研究的益处和局限性,我们试图确定当前研究中的差距,同时揭示新的研究机会,并提出进一步研究的领域。
Greybox fuzzing is a scalable and practical approach for software testing. Most greybox fuzzing tools are coverage-guided as reaching high code coverage is more likely to find bugs. However, since most covered codes may not contain bugs, blindly extending code coverage is less efficient, especially for corner cases. Unlike coverage-guided greybox fuzzing which increases code coverage in an undirected manner, directed greybox fuzzing (DGF) spends most of its time allocation on reaching specific targets (e.g., the bug-prone zone) without wasting resources stressing unrelated parts. Thus, DGF is particularly suitable for scenarios such as patch testing,bug reproduction, and special bug detection. For now, DGF has become an active research area. However, DGF has general limitations and challenges that are worth further studying. Based on the investigation of 42 state-of-the-art fuzzers that are closely related to DGF, we conduct the first in-depth study to summarize the empirical evidence on the research progress of DGF. This paper studies DGF from a broader view, which takes into account not only the location-directed type that targets specific code parts, but also the behavior-directed type that aims to expose abnormal program behaviors. By analyzing the benefits and limitations of DGF research, we try to identify gaps in current research, meanwhile, reveal new research opportunities, and suggest areas for further investigation.