基于变异策略的模糊测试:seed与mutation的含义

1. 引入

最早期的模糊测试(fuzz),是生成一些随机的文本序列,对unix系统的命令行输入进行测试。这种古老的方式,也发现了不少漏洞。

但完全随机的fuzz,存在如下问题:
(1)大部分随机文本难以通过语法检查,也就没法正确运行
(2)这种方式只能覆盖一小部分代码,coverage低。

因此,产生的基于变异策略的模糊测试方法。

2. seed与mutation

基于变异策略的模糊测试,有两个重点:
(1)seed:种子,初始的合法输入序列。
(2)mutation:对已经存在的输入序列,进行微调。

3. 样例

假设我们要fuzz一个URL的解析库,则

(1)seed(种子)

  • http://www.google.com/search?q=fuzzing
    注意种子是一个合法的输入。

(2)经过mutation后的输入

  • http://www.g=oNogl.om/search?q=fuzzing/
  • httpX://w)ww.goo(gle.comq/sarc(q=fuzzng
  • hdt8p://"wWw.goole.com/seDarb`*?q=fuzzing
  • hup://www.google.comC/search?q=fuzzing
    注意mutation只做微调。

4. 参考

http://sigsoft.or.kr/wp-content/uploads/2021/01/20210324_005245.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值