1

我不明白符号执行与白盒模糊测试有何不同?据我了解,Whitebox Fuzzers 以某种初始输入格式象征性地执行代码。此外,如果有人可以参考 KLEE 和 AFL 工具区分这两种形式,那将会很有帮助。

4

1 回答 1

1

白盒模糊测试不仅可以通过符号执行来完成。来自 Microsoft Research 的 SAGE 是一个使用 concolic 执行(也称为动态符号执行)的白盒模糊器示例,请参阅NDSS08

是的,Whitebox Fuzzers 获得一些种子/种子(初始输入/输入)并用这些符号执行代码。Concolic fuzzer 还使用这些输入与符号执行并行运行代码。

KLEE 是一个使用符号执行的白盒模糊器。

AFL 是一个灰盒模糊器——它仅使用内部结构信息来计算覆盖率,而不是获取新路径。有一些用于 AFL 的工具可以从代码中的比较中获取常量并将它们添加到 AFL 字典中,但这仍然不是白盒模糊测试。

于 2021-11-08T16:13:59.873 回答