test fuzz-01-模糊测试(Fuzz Testing)入门 Atheris、Jazzer、jqf、kelinci、FLA、libfuzzer 对比

本文介绍了如何利用开源工具自动生成Java测试数据,并着重讨论了FuzzTesting(模糊测试)的概念、目标、流程以及Atheris、Jazzer、jqf、Kelinci、FLA和libfuzzer等具体工具的对比,强调了它们在检测安全漏洞和软件缺陷方面的应用。
摘要由CSDN通过智能技术生成

拓展阅读

开源 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息)

开源 Junit performance rely on junit5 and jdk8+.(java 性能测试框架。性能测试。压测。测试报告生成。)

test fuzz-01-模糊测试(Fuzz Testing)

test fuzz-02-模糊测试 JQF + Zest Semantic Fuzzing for Java

test fuzz-03-模糊测试 Atheris A Coverage-Guided, Native Python Fuzzer

test fuzz-04-模糊测试 jazzer Coverage-guided, in-process fuzzing for the JVM

test fuzz-05-模糊测试 kelinci AFL-based fuzzing for Java

test fuzz-06-模糊测试 AFL american fuzzy lop - a security-oriented fuzzer

test fuzz-07-模糊测试 libfuzzer

模糊测试(Fuzz Testing)是什么?

模糊测试(Fuzz Testing)是一种自动化的测试方法,通过向程序、应用程序或系统输入注入大量随机或半随机生成的数据(模糊输入),以寻找潜在的安全漏洞、软件缺陷或异常行为。

模糊测试的目标是通过在输入中引入未知、异常或非预期的数据,评估目标系统的鲁棒性和稳定性。

模糊测试流程:

  1. 选择目标:

    • 确定要进行模糊测试的目标,可以是一个应用程序、库、协议等。选择目标通常基于其重要性、复杂性和潜在的攻击面。
  2. 生成模糊输入:

    • 创建模糊测试工具或使用现有工具生成模糊输入。模糊输入通常是通过对有效输入进行随机修改、添加或删除而生成的。
  3. 注入模糊输入:

    • 将生成的模糊输入注入到目标系统中。这可以通过直接发送网络请求、修改文件、通过标准输入等方式进行。
  4. 监测异常行为:

    • 监测目标系统的行为,包括崩溃、错误消息、异常响应等。模糊测试工具通常会监测程序的执行状态,以检测到任何不正常的行为。
  5. 收集反馈:

    • 收集模糊测试过程中观察到的异常行为。这可能包括崩溃日志、错误报告、程序输出等。
  6. 优化模糊输入生成:

    • 根据反馈信息,调整模糊输入生成策略,以生成更有针对性的模糊输入,提高发现漏洞的效率。
  7. 迭代:

    • 重复模糊测试过程,不断优化生成的模糊输入,直到达到预期的测试目标或发现了潜在的问题。

Atheris、Jazzer、jqf、kelinci、FLA、libfuzzer,给出对比表格

下面是对Atheris、Jazzer、jqf、Kelinci、FLA、libFuzzer的对比表格:

功能/特性AtherisJazzerjqfKelinciFLAlibFuzzer
语言PythonJavaJavaJavaCC++
支持的目标程序类型PythonJavaJavaJavaCC/C++
指导性模糊测试✔️✔️✔️✖️✔️✔️
静态分析✖️✖️✖️✖️✔️✖️
动态二进制插桩✖️✔️✖️✔️✔️✔️
支持的反馈机制覆盖率覆盖率覆盖率路径导向覆盖率覆盖率
支持的变异策略多种多种多种多种多种多种
最小化工具自带✔️✔️依赖Kelinci MinimizerFLA Minimizer✔️
支持并行化✖️✔️✖️✔️✔️✖️
支持网络服务✖️✔️✔️✔️✖️✖️
是否开源✔️✔️✔️✔️✔️✔️

在这里插入图片描述

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值