使用Afl-fuzz (American Fuzzy Lop) 进行fuzzing测试(一)——使用初体验

本文介绍了如何使用AFL-fuzz进行模糊测试,包括AFL的优势、安装过程,以及对binutils和ImageMagick进行fuzzing测试的详细步骤。尽管AFL在寻找软件安全问题上表现出色,但在某些复杂程序中可能受限。通过实例,作者展示了如何处理测试过程中的错误和挑战。

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

更新于2017.12.08
转载请注明出处:http://blog.youkuaiyun.com/youkawa/article/details/45696317

1. 具有导向性的模糊测试

Fuzzing技术被证明是当前鉴别软件安全问题方面最强大测试技术。当前大多数远程代码执行和特权提升等比较严重的漏洞都是使用Fuzzing技术挖掘的。然而Fuzzing技术仍然存在着覆盖率低的缺陷。而许多的代码漏洞需要更大的路径覆盖率才能触发,而不是通过纯粹的随机尝试。

为了解决这一问题,已经提出了不少通过提供被测试代码更多的信息去引导和增强测试技术的方法。如简单的语义库蒸馏(corpus distillation),流分析(concolic execution),到纯粹的符号执行(symbolic execution)和静态分析等。

第一种方式(corpus distillation)能很好地工作,但严重依赖于大量的、高质量的合法输入数据的语料库(corpus)。正因为如此,代码覆盖率也只是衡量程序执行状态的一个简单化的度量,这种方式并不适合后续引导fuzzing测试的。

其余的技术(符号执行,concolic执行)一直都被认为是极有前景的。但仍然被可靠性问题和程序执行环境的复杂性所束缚。大部分高价值的程序都有非常复杂的内部状态和执行路径,在这一方面符号执行和concolic技术往往会显得不够健壮(如路径爆炸问题),所以仍然稍逊于传统的fuzzing技术。

AFL号称是当前最高级的Fuzzing测试工具之一。由lcamtuf所开发。通过对源码进行重新编译时进行

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值