fuzzfactory源码阅读(三)特定领域的实现

本文深入探讨了fuzzfactory框架中针对安全测试的特定领域模糊测试实现,包括slow(最大执行路径长度)、perf(发现热点)、mem(加剧内存分配)、valid(有效性Fuzzing)、cmp(平滑硬比较)和diff(增量模糊测试)。通过这些方法,可以更有效地发现潜在的安全漏洞和性能瓶颈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4.1 slow:最大执行路径长度

在这里插入图片描述
我们的第一个特定于域的模糊测试应用程序是将 SlowFuzz 移植到我们的框架。此应用程序的目标是生成输入,以最大化被测程序中的执行路径长度。我们想要定义 is_waypoint(i,S,d) 谓词如下:如果输入 i 的执行导致路径长度高于 S 中的任何其他输入,则应保存该输入。特定于域的反馈映射 dsf 将单键 0 (K = {0}) 映射到自然数 (V = N)。在映射中,dsf (0) 表示测试输入 i 的执行路径长度。这些值聚合为一个数字(A =N),表示在一组输入中观察到的最大执行路径长度
在被测程序的入口点,插入一个将 dsf (0) 设置为 0 的语句。然后,在程序中的每个基本块上,插入一个语句,该语句递增存储在 dsf (0) 处的值。因此,在测试执行期间,每次访问基本块时,dsf (0) 的值都会递增 1。在测试输入执行结束时,dsf (0) 的值将包含执行路径长度。由于此域的化简器函数定义为 初始值为 0 的最大值(参见表 3 的第一行),因此特定于域的反馈 A(S, 0,d) 的聚合值将是 S 中所有输入中观察到的最大执行速率长度。

4.2 perf:发现热点

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

席八

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

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

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

打赏作者

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

抵扣说明:

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

余额充值