five

ProFuzzBench

收藏
arXiv2021-01-13 更新2024-06-21 收录
下载链接:
https://github.com/profuzzbench/profuzzbench
下载链接
链接失效反馈
官方服务:
资源简介:
ProFuzzBench是由那不勒斯腓特烈二世大学和墨尔本大学合作创建的数据集,专注于状态化网络协议的模糊测试。该数据集包含10种成熟的、广泛使用的网络协议及其开源软件实现,如FTP、SMTP、SSH等。创建过程中,研究者选择了代表性的协议和软件,确保其在实际应用中的安全性和活跃度。数据集旨在解决网络协议实现中的安全测试问题,特别是状态化协议的测试挑战,通过自动化工具支持高效的模糊测试技术。

ProFuzzBench is a dataset co-created by the University of Naples Federico II and the University of Melbourne, focusing on fuzz testing of stateful network protocols. This dataset includes 10 mature and widely used network protocols along with their open-source software implementations, such as FTP, SMTP, SSH, and others. During its development, researchers selected representative protocols and software to ensure their practical security applicability and active adoption in real-world scenarios. The dataset aims to address security testing issues in network protocol implementations, particularly the testing challenges of stateful protocols, and supports efficient fuzz testing techniques through automated tools.
提供机构:
那不勒斯腓特烈二世大学, 意大利
创建时间:
2021-01-13
搜集汇总
数据集介绍
main_image_url
构建方式
ProFuzzBench的构建基于对网络协议状态性模糊测试的需求,精心挑选了10种广泛使用的网络协议及其开源实现。这些协议包括实时流媒体、电子邮件传输、文件传输、安全远程会话等,每种协议都具有代表性,且在学术研究和商业工具中得到广泛应用。构建过程中,研究团队不仅考虑了协议的成熟度和使用广泛性,还特别关注了协议的状态性特征,确保每个协议实现都能反映出客户端与服务器之间的复杂交互状态。此外,ProFuzzBench还集成了自动化工具,通过Docker容器技术实现了目标软件和模糊测试工具的自动部署与配置,确保实验的可重复性和结果的可比性。
特点
ProFuzzBench的主要特点在于其专注于状态性网络协议的模糊测试,填补了现有基准测试在处理状态性软件方面的空白。该数据集不仅包含了多种成熟且广泛使用的网络协议实现,还提供了详细的协议状态描述,帮助研究人员更好地理解和分析协议的动态行为。此外,ProFuzzBench的自动化工具支持多核架构下的并行测试,显著提高了测试效率。数据集的开源性质也鼓励了社区的参与和扩展,使其成为一个动态更新的研究平台。
使用方法
使用ProFuzzBench进行研究时,首先需要下载并安装相关的Docker容器镜像,这些镜像包含了目标软件和模糊测试工具。随后,用户可以通过提供的自动化脚本配置和编译目标软件,确保其适用于覆盖率驱动的模糊测试。在运行阶段,用户可以选择不同的模糊测试工具,如AFLnwe和AFLnet,并在多核环境下并行执行测试,以提高效率。测试完成后,用户可以利用内置的分析工具生成覆盖率统计数据,包括行覆盖率和分支覆盖率,以及协议状态覆盖率的时间序列,从而进行深入的性能评估和比较分析。
背景与挑战
背景概述
在计算机系统中,协议无处不在,它们通过本地网络或互联网实现各方之间的通信,如即时消息、电子邮件、文件服务和共享、多媒体流媒体等。因此,协议实现成为恶意行为者的诱人目标,因为实现中的漏洞可能被远程利用。然而,测试协议实现的安全性具有挑战性,因为协议本质上是状态性的。这意味着与无状态程序相比,测试的输入空间不仅限于单个消息的格式(这本身可能非常大),而且还进一步扩大了多个消息的潜在组合。因此,协议安全测试需要能够有效测试此类输入空间的技术,同时考虑协议状态。近年来,安全测试的研究主要集中在模糊测试上,模糊测试通过使用输入空间模型(例如协议状态机)或从初始常规输入(种子)变异生成的大量输入自动执行目标系统。
当前挑战
ProFuzzBench数据集面临的挑战包括:1) 状态性协议的模糊测试需要考虑协议状态,这增加了测试的复杂性和输入空间的规模;2) 现有模糊测试基准主要集中在无状态库和程序上,缺乏对状态性软件的支持,这限制了模糊测试技术在协议测试中的应用;3) 构建过程中遇到的挑战包括配置复杂性、多方的协议交互、非确定性执行和测试执行速度慢。此外,协议状态的识别和缺乏正式的协议状态机规范也是重要的研究问题。
常用场景
经典使用场景
ProFuzzBench 数据集的经典使用场景主要集中在网络协议的状态化模糊测试中。该数据集包含了一系列代表性的开源网络服务器,这些服务器实现了流行的网络协议,并配备了自动化实验工具。研究人员可以利用这些工具对协议实现进行深入的安全测试,通过模拟大量输入来发现潜在的漏洞。
解决学术问题
ProFuzzBench 数据集解决了在网络协议模糊测试中常见的学术研究问题,特别是如何有效地测试状态化协议的输入空间。传统的模糊测试方法主要针对无状态程序,而网络协议通常具有复杂的状态转换,这使得测试变得更加困难。该数据集通过提供代表性的实验目标和自动化工具,促进了模糊测试技术的发展,为研究人员提供了一个可重复和量化的评估平台。
衍生相关工作
ProFuzzBench 数据集的发布催生了一系列相关的经典工作,特别是在状态化网络协议模糊测试领域。例如,AFLNET 是一个基于 AFL 的灰盒模糊测试工具,专门用于网络协议的测试,其设计灵感部分来源于 ProFuzzBench 提供的实验环境和目标。此外,该数据集还启发了对多参与方协议模糊测试的研究,如 SIP 协议的模糊测试,这些研究进一步扩展了模糊测试技术的应用范围。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作