第九章:Code-Coverage-Guided Fuzzing

Code-Coverage-guided Fuzzing

其他三种 fuzzing

  • random fuzzing

  • mutation-based fuzzing

  • generation-based fuzzing

  • 上述三种 fuzzing 都存在同样的缺点:它们用于为被测程序生成输入的策略没有反馈循环(the strategy that they use to generate inputs for the program under test has no feedback loop)。

  • 这些方法中的每一种都会为被测程序生成输入,但通常 对程序正在执行什么操作是盲目或不知情的

  • 因此,到目前为止我们所学习的 这三种技术都被称为黑盒技术因为它们完全无视被测程序(尽管可能对其输入格式有一定了解,但并不了解该程序的代码)。

  • 在本章中,我们将介绍 code-coverage-based 及其在流行通用模糊器American Fuzzy Lop (AFL)中的体现。

Code coverage guided Fuzzing

在这里插入图片描述

  • 回想一下前一章节中的以下程序,以及到达第7行(模拟故障发生的位置)的困难。要做到这一点,需要能够生成与字符串“bad!”对应的确切四个字节:在大约43亿种可能性中选择一个。
  • 我们可以克服黑盒模糊测试技术的局限性的一种方法是 允许模糊器监控被测试程序的执行,并 利用这些信息来指导其关于下一个要生成的输入的决策
  • 一种流行的技术是 监控每个输入所达到的代码覆盖率。这种技术被称为 覆盖引导模糊测试。它也被称为 灰盒模糊测试技术,因为与黑盒技术不同,它在部分了解被测试程序方面运作,具体而言就是能够观察每个输入所覆盖(即执行)的程序部分。
  • 美国Fuzzy Lop(AFL)工具推广了覆盖引导模糊测试,并自2013年发布
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值