- 简介与任何模糊测试工具一样,指导基于生成器的模糊测试工具(GBF)以达到特定的代码目标可以提高模糊测试工具的效果。在以前的工作中,覆盖率引导的模糊测试工具使用了静态分析、污点分析和约束求解方法的组合来解决这个问题。然而,这些技术都不是特别为使用输入生成器构造程序输入的GBF而设计的。我们观察到,输入生成器携带了有关输入结构的信息,这些信息通过程序输入的类型组成自然存在。 在本文中,我们为Java GBF引入了基于类型的变异启发式和常量字符串查找。我们的关键直觉是,如果能够确定哪些输入的子部分(类型)可能会影响分支决策,那么集中于变异构造这些类型的生成器的选择很可能会实现所需的覆盖范围。我们使用我们的技术对AWSLambda应用程序进行模糊测试。与基准GBF工具相比,结果显示应用程序覆盖范围平均提高了近20%,在包含第三方代码时提高更大。
- 图表
- 解决问题本论文旨在解决Generator-Based Fuzzers (GBF)的目标定向问题,通过使用基于类型的变异启发式算法和常量字符串查找技术,提高Java GBF的效率。
- 关键思路本论文的关键思路是利用输入生成器所携带的输入结构信息,通过识别哪些输入子部分(类型)可能影响分支决策,从而集中变异生成这些类型的选择,以达到期望的覆盖率。
- 其它亮点本论文使用了自己设计的类型变异启发式算法和常量字符串查找技术,应用于AWS Lambda应用的GBF测试中。结果表明,与基准GBF工具相比,平均覆盖率提高了近20%,当包含第三方代码时,提高幅度更大。
- 在此领域的相关研究中,以往的覆盖率引导模糊器使用了静态分析、污点分析和约束求解等技术,但这些技术并不是特别为GBF而设计的。
沙发等你来抢
去评论
评论
沙发等你来抢