什么是模糊测试?

AFLFast:加速版的AFL,Fuzzing速度确实会比原版快一些。
地址:https://github.com/mboehme/aflfast

  1. Radamsa
    Radamsa是一个开源的模糊测试工具,通常用于测试程序对格式错误和潜在恶意输入的承受能力。Radamsa最大的卖点就是其准确性。GitLab上的开发者页面列出了这款模糊测试器在流行软件中发现的真实漏洞。它易于编写脚本,并且易于启动和运行。地址:https://github.com/Hwangtaewon/radamsa
  2. Honggfuzz
    Honggfuzz是由谷歌开发的,和AFL类似,采用遗传算法进行编译,是一个多进程和多线程的模糊生成器,所以用Honggfuzz进行fuzzing的速度非常快,在安全漏洞发现中的表现十分突出。根据该工具开发者的说法,它是唯一找到OpenSSL中导致发布全球安全补丁的关键漏洞的模糊测试工具。
    Honggfuzz不仅仅适用于Windows。它可以测试在Linux、Mac甚至Android环境下运行的应用程序。由于它能够在多个平台下工作,Honggfuzz提供了一个完整的示例和测试用例目录,开发人员可以使用这些示例和测试用例,也可以根据自己的需要进行修改。
    地址:https://github.com/google/honggfuzz
  3. LibfuzzerLibFuzzer与被测试的库链接,并通过特定的模糊入口点(也称为“目标函数”)向被测试的库提供模糊输入。随后,模糊生成器跟踪触及的代码区域,并在输入数据的语料库中生成变异,以此来扩大代码覆盖率。地址:https://llvm.org/docs/LibFuzzer.html
  4. OSS-Fuzz
    什么是模糊测试?

OSS-Fuzz 能够针对开源软件进行持续的模糊测试,它的目的是利用更新的模糊测试技术与可拓展的分布式执行相结合,提高一般软件基础架构的安全性与稳定性。OSS-Fuzz 结合了多种模糊测试技术/漏洞捕捉技术(即原来的libfuzzer)与清洗技术(即原来的 AddressSanitizer),并且通过 ClusterFuzz 为大规模可分布式执行提供了测试环境。
帮助开源 区使用创建更安全的应用,OSS-Fuzz在实现这一目标方面做得相当成功。OSS-Fuzz在200个开源程序中发现了超过14000个漏洞。地址:https://github.com/google/oss-fuzz
6. boofuzz
boofuzz模糊测试框架是基于已经不再维护的Sulley开发的。该工具使用Sulley核心代码,但致力于不断改良。boofuzz是作为Python库安装的。开发人员增加了在线文档、对更多通信媒介的支持、可扩展故障检测和一个易于使用的界面。该工具还将串行模糊测试、以太 和UDP广播添加到了默认功能里。boofuzz还可将测试结果以CSV文件格式导出,以便在修复检出故障时可以先研究所有被触发问题的完整列表。
地址:https://github.com/jtpereyda/boofuzz
7. Bfuzz当红模糊测试工具之一,发现了逼出Epiphany Web补丁的漏洞和可致Mozilla Firefox触发缓冲区溢出的漏洞。
BFuzz是基于输入的模糊测试器,以URL和浏览器作为其输入方式。这个意义上讲,该工具很像DAST工具,适合重度依赖这些东西的公司企业,因为BFuzz使用类似的测试方法,但找寻不同类型的错误。
地址:https://github.com/RootUp/BFuzz

  1. PeachTech Peach Fuzzer

PeachTech Peach Fuzzer是PeachTech公司出品的商业模糊测试工具,很多繁琐的事情都不需要测试人员亲力亲为了。测试人员只需要用该公司所谓的Peach Pit加载并配置该模糊测试引擎即可。
Peach Pit是预先编写好的测试定义,覆盖一系列不同平台。PeachTech表示,每个Pit包含适用特定目标的规范,比如目标摄入的数据结构,数据流入和流出被测设备或应用程序的方式等。这样测试人员就可以几乎不用设置,便能将精力集中在他们的模糊测试上了。用户使用PeachTech创建自己的Pit也很简单,令Peach Fuzzer还可用于专用系统。
由于Peach Fuzzer引擎可以Peach Pit编程的原因,几乎所有系统都在该工具的测试范围之内:Mac、Windows、Linux,也可以用于模糊测试 络协议、嵌入式系统、驱动、物联 设备,只要是能接受命令而易受模糊输入困扰的系统,就能用Peach Fuzzer进行测试。
地址:http://www.peach.tech/products/peach-fuzzer/

AI模糊测试采用机器学习及类似技术查找应用或系统中的漏洞。智能约束算法和遗传算法是两种主流的智能模糊测试算法,上面提到的AFL就是采用遗传算法。此外,还有一些AI模糊测试工具:

  1. 微软开发的Security Risk Detection (MSRD)MSRD是一个人工智能驱动的动态应用安全测试服务,可以优化web应用开发周期,以便在bug和安全风险被引入代码库时识别和纠正它们。
    地址:https://www.microsoft.com/en-us/security-risk-detection/

  2. ClusterFuzz
    American Fuzzy Lop (AFL)使用遗传算法。该工具集是基于云的新工具Fuzzbuzz的核心,也是谷歌ClusterFuzz项目的一部分。ClusterFuzz是一个高度可伸缩的模糊测试基础设施,Google使用ClusterFuzz对所有Google产品进行模糊化,并将其作为OSS-fuzz的后端。
    地址:https://security.googleblog.com/2019/02/open-sourcing-clusterfuzz.html

  3. Fuzzbuzz
    Fuzzbuzz是一个模糊测试平台,通过自动化的复杂的基础设施管理和设置以及与工具的连接,将模糊化集成到DevOps工作流中。该平台在发现缺陷时发出警 ,消除重复数据,并对其进行分类,以消除噪音和误 。
    地址:https://www.fuzzbuzz.io/

模糊测试的目的是发现软件安全漏洞,已经成为软件安全测试的主流测试技术,迄今为止,这项技术已经帮助人们在各种软件中发现了数千个安全漏洞。而且,随着“软件定义一切”和万物互联时代的到来,软件安全必将日益重要。因此,作为软件测试人员,有必要掌握模糊测试的技术和工具。想了解更多模糊测试技术,可以点击“阅读原文”,参考微软研究员于2020年4月发表的文章“Fuzzing: Hack, Art, and Science”


软件测试自学资料

软件测试入门到项目实战,7小时从小白到白领的软件测试快速入门课程

软件测试实战教程 《学车不》APP实战软件测试

首次公开丨黑马头条软件测试实战项目 完整版

软件测试基础手把手带你Excel实现管理接口用例

软件测试基础-手把手教你搞懂测试环境项目部署

软件测试教程Charles抓包工具测试实战

软件测试工程师必备MySQL数据库,mysql系统精讲+课后练习

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月5日
下一篇 2022年1月5日

相关推荐