编辑
2024-06-18
Paper
00
请注意,本文编写于 224 天前,最后修改于 224 天前,其中某些信息可能已经过时。

目录

TargetFuzz: Using DARTs to Guide Directed Greybox Fuzzers
作者
现有做法
主要想法
BSCG

😅

TargetFuzz: Using DARTs to Guide Directed Greybox Fuzzers

作者

现有做法

目前没有针对DFG的种子语料库或者种子选择方法,目前的主要工作都是基于覆盖率引导的模糊测试的语料库,这些语料库可能会给DFG带来负面影响。

Q1: 有什么负面影响?

主要想法

提出了一个定向模糊测试种子库。

TargetFuzz 使用一种种子选择策略来选择 DART 语料库中的种子,该策略考虑了种子距离而不仅仅是代码覆盖率。该策略从一个大型种子库中选择与修改后的目标区域 "接近 "的种子子集。配备 DART 语料库的 DGF 工具将大部分模糊时间预算用于强调修改过的代码区域,而不是无关的程序组件。

  • BSCG: 基线种子语料库生成器。由多个覆盖率引导的模糊测试器并行收集语料库,一般只有在初次运行或者目标程序发生重大变化时才会重新收集基线种子。
  • SRA: 种子筛选。SRA对基线种子语料库进行筛选只保留产生相同代码覆盖率的最小种子集。
  • TSS: 从累积的种子语料库中选择种子子集,并输出特定目标的种子语料库(DART语料库)。在选择 DART 语料库的种子时,TSS 会考虑种子距离,只选择与修改代码区域接近的种子。在模糊测试结束之后TargetFuzz会检测是否产生新的崩溃,而后将Fuzzer生成的新种子重新提供给SRA。

BSCG

为了生成基线种子语料库,我们使用了四种不同的基于覆盖率的模糊器基于覆盖率的模糊器是 AFL [18]、Angora [8]、MOpt-AFL [32] 和 honggfuzz [21]。对于我们测试的每个软件,我们在一定的时间限制内使用每个模糊器运行单独的模糊测试会话。一旦模糊测试会话结束,我们收集每个模糊器输出队列中所有增加覆盖率的种子,并将它们组装到基线种子语料库中。

本文作者:Du4t

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!