摘要尽管越来越多地研究兴趣,但现有的定向灰色盒模糊剂并不能很好地扩展程序复杂性。在本文中,我们确定了当前有向灰色盒子模糊的两个主要可扩展性挑战。特别是,我们发现传统的覆盖反馈并不总是为达到目标计划点提供卑鄙的指导,并且现有的种子距离机制在具有复杂控制结构的程序中不能很好地运行。为了解决这些问题,我们提出了一个新颖的魔力,名为dafl。dafl选择与目标局部相关的代码零件,并仅从这些部分获得覆盖反馈。此外,考虑到程序执行的数据流语义,它计算精确的种子距离。结果是有希望的。在41个现实世界中,DAFL能够在给定时间内添加4、6、9和5个错误,分别与AFL,AFLGO,Windranger和Beacon相符。此外,在所有模糊剂产生中位数TTE的情况下,DAFL的平均速度至少要快4.99倍,而包括Aflgo,Windranger和Beacon在内的3个最先进的定向绒毛。
摘要 — 定向灰盒模糊测试 (DGF) 可以通过寻求到达程序位置或按顺序探索某些位置来快速发现或重现程序中的错误。然而,由于其静态阶段划分和粗粒度的能量调度,以前的 DGF 工具在面对多个目标位置(简称目标)时表现不佳。在本文中,我们提出了多目标定向灰盒模糊测试,旨在在模糊测试活动中到达多个程序位置。具体而言,我们提出了一种新颖的策略来自适应地协调探索和利用阶段,以及一种新颖的能量调度策略,通过考虑种子和目标位置之间的更多关系。我们在一个名为 LeoFuzz 的工具中实现了我们的方法,并在崩溃重现、真正验证和实际程序中的漏洞暴露方面对其进行了评估。实验结果表明,LeoFuzz 在有效性和效率方面优于六种最先进的模糊测试器,即 QYSM、AFLGo、Lolly、Berry、Beacon 和 WindRanger。此外,LeoFuzz 在实际程序中检测到 23 个新漏洞,其中 11 个已分配 CVE ID。
在本文中,我们提出了一个预测定向灰盒模糊测试器 DeepGo,它可以结合历史和预测信息来引导 DGF 通过最佳路径到达目标站点。我们首先提出路径转换模型,该模型将 DGF 建模为通过特定路径转换序列到达目标站点的过程。突变产生的新种子将导致路径转换,而高奖励路径转换序列对应的路径表示通过它到达目标站点的可能性很高。然后,为了预测路径转换和相应的奖励,我们使用深度神经网络构建虚拟集成环境 (VEE),它逐渐模仿路径转换模型并预测尚未采取的路径转换的奖励。为了确定最佳路径,我们开发了一个强化学习模糊测试 (RLF) 模型来生成具有最高序列奖励的转换序列。RLF 模型可以结合历史和预测的路径转换来生成最佳路径转换序列,以及指导模糊测试突变策略的策略。最后,为了练习高奖励路径转换序列,我们提出了行动组的概念,全面优化模糊测试的关键步骤,实现高效到达目标的最优路径。我们在 2 个基准测试套件(共 25 个程序,100 个目标站点)上对 DeepGo 进行了测试。实验结果表明,与 AFLGo、BEACON、WindRanger 和 ParmeSan 相比,DeepGo 在到达目标站点方面分别实现了 3.23 倍、1.72 倍、1.81 倍和 4.83 倍的加速比,在暴露已知漏洞方面分别实现了 2.61 倍、3.32 倍、2.43 倍和 2.53 倍的加速比。