Coverage-based Greybox Fuzzing as Markov Chain

本文探讨了基于覆盖率的灰盒模糊测试(CGF)方法,通过马尔可夫链模型优化路径探索。研究指出,通过调整能量分配策略,特别是指数调度,可以显著提高CGF的效率,更快地发现程序中的漏洞。AFLFast作为AFL的改进版,在保持同等模糊量的情况下,能以更快的速度找到未报告的CVE。
摘要由CSDN通过智能技术生成

基于覆盖的灰盒模糊马尔可夫链

摘要

基于覆盖率的灰盒模糊(CGF)是一种不需要程序分析的随机测试方法。一个新的测试是通过稍微改变一个种子输入来生成的。如果测试练习了一条新的有趣的路径,它将被添加到种子集中;否则,它将被丢弃。我们观察到,大多数测试采用相同的少数“高频”路径,并制定策略,通过向低频路径倾斜,探索更多具有相同测试次数的路径。
我们使用马尔可夫链模型解释CGF的挑战和机遇,马尔可夫链模型规定了模糊化执行路径的种子生成执行路径J的输入的概率。每个状态(即种子)都有一个能量,指定从该种子生成的输入数量。我们表明,如果能量与平稳分布的密度成反比,并且每次选择种子时单调增加,则CGF的效率会显著提高。能量由功率计划控制。
我们通过扩展AFL实现了指数调度。在24小时内,AFLFast暴露了3个未经AFL暴露的先前未报告的CVE,并以比AFL快7倍的速度暴露了6个先前未报告的CVE。AFLFast比AFL至少产生一个数量级的独特崩溃。

主要内容

在本文中,我们提出了几种策略,将大部分模糊工作集中在低频路径上,以便在相同模糊量的情况下探索更多的路径。
AFL实现了一个功率调度,该调度分配一个能量,该能量在选择种子进行模糊化的时间s(i)内持续。几乎每次选择种子时,都会生成相同数量的输入。在某些情况下,AFL分配的能量可能远远超过发现新的有趣路径所需的最小能量;在其他情况下,AFL可能分配不到足够的能量。相比之下,AFLFast实现了一个功率调度,分配的能量为指数s(i)。当种子第一次模糊时,分配的能量非常低。此后,每次选择种子时ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值