工具:Peach

Peach是一款智能模糊测试工具,主要用于发现软件中的安全漏洞和缺陷。它由Michael W Eddington等人开发,并且遵循MIT开源许可证。Peach框架最初是用Python编写的,第一个版本发布于2004年,随后在2007年发布了第二版。目前,最新的第三版Peach3采用了C#语言重写,并且已经开始商业支持。

Peach的工作流程

  1. XML配置文件编写:通过XML文件配置测试案例,其中包含了对数据模型和状态模型的定义。
  2. DataModel:定义发送和接收的数据,支持多种协议特性,例如校验码和固定长度元素等。
  3. StateModel:定义了一个状态机,规定了输入和输出的状态变化,确保测试按照既定的步骤进行。
  4. 其他元素:包括但不限于Publisher、代理和监视器等,用于配置测试的发布和监控测试的执行。

Peach提供了两种主要的模糊测试模式:基于生长的模糊测试和基于变异的模糊测试。它支持并行计算,可以在多台机器上进行分布式测试,以提高测试效率。Peach的可扩展性允许它支持多种格式、网络协议、应用协议等,使其适用于Android设备、装置驱动程序以及嵌入式硬件的安全测试。

Peach的优点

  • 能够运行数百万个自动化测试案例,快速发现复制、登录等漏洞。
  • 根据常见网络协议,使用智能测试用例进行模糊测试,测试范围广泛且复杂。
  • 提供端到端的功能,支持会话测试,记录和处理结果,并能够重新运行失败的测试用例以验证修复的有效性。

此外,Peach还提供了一些其他功能,如日志记录、错误检测等,帮助用户更好地理解测试结果和程序异常。通过这些功能,Peach Fuzzer成为了安全测试领域中一个受欢迎的工具。

Peach3 的变更点

  1. 测试配置的变更:用户可以根据实际需求,修改测试配置,包括测试的参数、测试的数据、测试的流程等。
  2. 数据模型的变更:用户可以根据实际需求,修改数据模型,包括数据的结构、数据的类型、数据的约束等。
  3. 状态模型的变更:用户可以根据实际需求,修改状态模型,包括状态的变化、状态的约束、状态的转移等。
  4. 代理和监控的变更:用户可以根据实际需求,修改代理和监控的设置,包括代理的规则、监控的参数、监控的流程等。

通过这些变更点,用户可以灵活地调整 Peach3 的测试配置和测试过程,以满足他们的个性化需求。同时,这些变更点也可以帮助用户更好地应对复杂多变的测试环境,提高测试的适应性和稳定性。

网址

https://github.com/Caleb1994/peach

[fuzz] 模糊测试工具库

你可能感兴趣的:(工具,安全性测试)