AFL fuzz性能提升tips
AFL fuzz性能提升tips
在其他条件相同的情况,fuzz性能的提升往往对于fuzz有事半功倍的效果,下面主要来源于afl文档的翻译
1、test cases保持小一点
大的测试用例需要更多时间与内存去解析,在模糊测试的其他步骤效率也会降低
假如你收集的样本很多很大,可以使用afl-cmin去减少数量,再用afl-tmin去减少每个样本的大小
最好不要超过1M,比如afl作者提供的testcases都是很小的,图片基本是10K以下的
.tgz
2、使用更简单的目标
就是目标二进制尽量简单,毕竟执行的代码也少了
、使用llvm插桩
默认的llvm插桩可以获得两倍的性能提升了
llvm模式下还有一个persistent模式,类似于in-process fuzzing mode,libfuzzer就是这种,性能就可以5-10倍了,不过也得看情况,有时可能只是2倍。而deferred fork server模式对于启动开销大的程序性能提升明显,这两种模式都需要编辑源码,但基本就是几行代码的事情。
4、分析优化目标二进制文件
比如有没有提高性能的参数,并不影响fuzz结果,比如测试图片处理程序,输出低质量的性能会好点;还有可以禁用输出以提升性能
还有ASA编译的二进制对于性能的影响还是挺大的,可以考虑使用普通插桩程序fuzz,使用asan编译的二进制去过一下样本。
还有些程序使用sleep(), usleep(), or nanosleep(),——我觉得作者的意思是看看能不能删除或者减少sleep的时长?
还有其他的比如fsync(),可以使用libeatmydata来禁用,它其实是个LD_PRELOAD library
5、只插桩你需要的部分
只对我们想要测试的库插桩,全部库插桩便会降低fuzz的性能
6、并行执行fuzzer
可以启用一个-M,多个-S的方式启用多个afl-fuzz实例,还可以考虑多主机fuzz
7、控制内存使用和超时
使用-m控制内存限制,-t控制超时时间,太大可能对性能有影响,但是有时候不是用-m none,程序又fuzz不了。
对于-t,作者建议在空闲并且性能不错的机器,将时间-t下降为5可能是可能的,但是这个具体还是要看情况啦,默认也没什么大问题,可以对比下性能,自行选择
8、检查操作系统的状态与设置
下面几个因素会影响模糊测试的速度
- 高系统负载。所以使用空闲的机器,不要运行任何不必要,还要占用cpu的程序(浏览器,播放器等)
- 网络文件系统(毕竟网络的,我觉得还是用本地吧),比如fuzzer的输入输出目录,fuzz目标需要的config文件,看着作者也不推荐在home目录,因为很多程序在那里搜索点开头的文件(点开头其实就是隐藏文件或目录)
- CPU按需分配,有时linux系统可能低估了afl或者模糊测试器的短暂的性能需求,linux可以通过下面命令配置
cd /sys/devices/system/cpu
echo performance | tee cpu*/cpufreq/scaling_governor
- 禁用Transparent huge pages,假如这个启用,某些内存分配方案(例如 jemalloc) ,会对模糊测试的性能影响很大,可以通过如下命令禁用
echo never > /sys/kernel/mm/transparent_hugepage/enabled
- 次优的调度策略,这个可能因目标而异,linux作者推荐如下配置
echo 1 >/proc/sys/kernel/sched_child_runs_first
echo 1 >/proc/sys/kernel/sched_autogroup_enabled
9、如果上面都无效,使用-d
这个模式可以使afl-fuzz跳过所有确定性的模糊测试过程
参考
.txt
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2022-04-26,如有侵权请联系 cloudcommunity@tencent 删除二进制内存性能测试程序#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 18 条评论) |
本站网友 期货行情软件下载 | 17分钟前 发表 |
我觉得还是用本地吧) | |
本站网友 黑茶减肥 | 17分钟前 发表 |
使用-d这个模式可以使afl-fuzz跳过所有确定性的模糊测试过程参考.txt本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 中国票务中心 | 7分钟前 发表 |
但是有时候不是用-m none | |
本站网友 mp3合成器 | 18分钟前 发表 |
程序又fuzz不了 | |
本站网友 上海腋臭 | 13分钟前 发表 |
原始发表:2022-04-26 | |
本站网友 男人装图片 | 26分钟前 发表 |
检查操作系统的状态与设置下面几个因素会影响模糊测试的速度高系统负载 | |
本站网友 延续 | 11分钟前 发表 |
毕竟执行的代码也少了 | |
本站网友 已从服务器断开 | 3分钟前 发表 |
对于-t | |
本站网友 感冒清热颗粒 | 12分钟前 发表 |
还有些程序使用sleep() | |
本站网友 沙河口二手房 | 8分钟前 发表 |
太大可能对性能有影响 | |
本站网友 什么品牌的安全套好 | 24分钟前 发表 |
使用-d这个模式可以使afl-fuzz跳过所有确定性的模糊测试过程参考.txt本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 大中国 | 27分钟前 发表 |
不要运行任何不必要 | |
本站网友 四君子汤的功效 | 14分钟前 发表 |
可以考虑使用普通插桩程序fuzz | |
本站网友 欧冠赛 | 5分钟前 发表 |
使用-d这个模式可以使afl-fuzz跳过所有确定性的模糊测试过程参考.txt本文参与 腾讯云自媒体同步曝光计划 | |
本站网友 合阳二手房 | 2分钟前 发表 |
并行执行fuzzer可以启用一个-M | |
本站网友 强克价格 | 27分钟前 发表 |
对于-t | |
本站网友 arrowhead | 30分钟前 发表 |
对于-t |