One Fuzzing Strategy to Rule Them All

One Fuzzing Strategy to Rule Them All

image-20230217135135806


相关链接

One Fuzzing Strategy to Rule Them All

参考链接

概述

在本文中作者提出了对变异策略havoc的研究,通过调查在不同模糊测试器上havoc的实际执行时间与边覆盖的关系、以及havoc在不同模糊测试器下执行相同时间后边覆盖的差异,作者提出只要给havoc足够的执行时间,就能带来更高的边覆盖,同时也会降低不同模糊器之间的边覆盖差异。同时作者测试了stack size ,以及不同的变异策略(单元变异和块变异)对havoc性能的影响,并基于此提出了一个多臂老虎机模型。


背景

​ 在进行漏洞挖掘中,模糊测试已经成为了一种主流的漏洞挖掘工具。而在此期间出现的很多fuzzer都使用了一种havoc的随机搜索机制,以提高代码的覆盖率。

​ 然而,作者发现,在这些使用了havoc的模糊器中,大部分采用的都是havoc的默认设置,基于此,带着havoc是否还能在fuzzer中表现出更大的潜能这一问题,作者进行了本文的实验研究。

​ 基于覆盖的模糊测试过程如下:

image-20230218133647550

​ 模糊测试器会从语料库中选定一个种子并传递给havov进行变异,havoc的变异由变异次数和编译器叠加次数决定。havoc会根据种子的实时信息决定种子的变异次数,即模糊器需要执行多少次havoc操作。确定havoc的变异次数后,在每次变异之前havoc还需要确定一个变异器叠加次数,并根据该次数从变异策略中随机选择变异方法进行叠加,havoc的变异策略如下所示:

image-20230218135135240

​ 其中红色字体部分为单元变异,表示编译单个字节或单词,而蓝色部分则表示块变异,变异非确定性数量的字节。havoc同时是随机选择变异策略叠加在一起最后生成一个新的种子。

​ 在将havoc集成到模糊器上时,不同的fuzzer之间也存在一定的差别,主要有两种集成方式,顺序执行和多线程并行的方式,其执行过程如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值