paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Differential Fuzzing for Data Distribution Service Programs with Dynamic Configuration

面向动态配置的数据分发服务程序的差分模糊测试
ASE Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering2024匹配度 1/10 · 该论文属于网络协议(DDS)的动态模糊测试与缺陷检测,核心手段是配置输入生成与差分模糊测试,与用户的静态分析、LLM/Agent、浮点程序分析、贝叶斯程序分析等方向均无交集;仅在'形式化设计规范/语义缺陷'这一措辞上与 PL 略有表面相似,但方法路线完全不同。引用 1 inbox
Dohyun Ryu, Giyeol Kim, Daeun Lee, Seongjin Kim, Seungjin Bae, Junghwan Rhee, Taegyu Kim
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 DDSFuzz,通过生成 DDS 动态网络配置输入并结合差分模糊测试,有效检测 DDS 程序缺陷。

Data Distribution Service(DDS)是信息物理系统中广泛使用的分布式网络协议,其正式设计规范提供了灵活的 QoS 与安全配置。然而 DDS 程序既存在违反设计规范的语义缺陷,也存在传统软件缺陷。已有网络协议模糊器主要面向客户端-服务器模型,通过变异输入数据包进行测试,未考虑 DDS 特有输入空间(如动态网络拓扑构建、QoS 与 DDS 安全配置)以及 DDS 特有语义缺陷(如错误的拓扑构建)的影响,因此不适用于 DDS 程序。本文提出 DDSFuzz:它将 DDS 动态网络配置输入生成器与定制化的先进数据包变异器集成,生成时考虑 DDS 特有输入空间、DDS 拓扑以及参数配置与依赖关系,从而能够测试仅在特定 DDS 网络配置下可执行的代码;同时基于 DDS 专属 API 与监听器构建差分模糊测试缺陷检测器,以发现 DDS 特有语义缺陷。作者在 Fast DDS、Cyclone DDS 和 OpenDDS 三个主流 DDS 程序上评估,共发现 20 个缺陷,其中 7 个被分配 CVE,且代码覆盖率平均为现有模糊器的 6.44 倍。

问题
DDS 程序同时存在违反设计规范的语义缺陷与传统软件缺陷,而现有网络协议模糊器仅面向客户端-服务器模型变异数据包,未考虑 DDS 特有的动态拓扑、QoS 与安全配置等输入空间及语义缺陷影响,难以有效测试 DDS 程序。
方法
DDSFuzz 将 DDS 动态网络配置输入生成器与定制化的先进数据包变异器集成,生成时考虑 DDS 特有输入空间、拓扑以及参数配置与依赖关系;并基于 DDS 专属 API 与监听器构建差分模糊测试缺陷检测器,以发现 DDS 特有语义缺陷。
评估
在 Fast DDS、Cyclone DDS 和 OpenDDS 三个主流 DDS 程序上评估,DDSFuzz 共发现 20 个缺陷并获得 7 个 CVE,代码覆盖率平均为现有模糊器的 6.44 倍。
原文摘要(Abstract)

Data Distribution Service (DDS) is a distributed network protocol widely used in cyber-physical systems. DDS provides flexible configurations defined in the formal design specification for safety and security. However, DDS programs suffer from both semantic bugs violating design specifications and traditional software bugs. To discover bugs, network protocol fuzzers have focused on testing client-server models by mutating input packets. However, they are unsuitable for fuzzing DDS programs due to a lack of consideration of the DDS-specific features, such as the DDS-specific input spaces (e.g., dynamic network topology formation and QoS and DDS security configurations) and impacts of DDS-specific semantic bugs (e.g., incorrect topology construction).In this paper, we propose DDSFuzz, a fuzzing framework effective for DDS programs by leveraging the DDS-specific features. Specifically, we develop a DDS dynamic network configuration input generator integrated with a customized state-of-the-art packet input mutator. This configuration input generator produces inputs while considering DDS-specific input spaces, DDS topologies, and parameter configurations and dependencies. This scheme enables DDSFuzz to test code that can be executable in certain DDS network configurations. Furthermore, our differential-fuzzing-based bug detector uncovers DDS-specific semantic bugs, built upon DDSspecific APIs and listeners. We evaluate DDSFuzz with three major DDS programs: Fast DDS, Cyclone DDS, and OpenDDS. As a result, DDSFuzz found 20 bugs, and seven CVEs have been assigned. Furthermore, DDSFuzz shows an average of 6.44 times higher code coverage than that of existing fuzzers showing the effectiveness of DDS bug detection.CCS Concepts• Software and its engineering → Software testing and debugging; • Computer systems organization → Robotics; • Security and privacy → Mobile and wireless security.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{RyuKLKBRK24,
  title = {Differential Fuzzing for Data Distribution Service Programs with Dynamic Configuration},
  author = {Dohyun Ryu and Giyeol Kim and Daeun Lee and Seongjin Kim and Seungjin Bae and Junghwan Rhee and Taegyu Kim},
  booktitle = {ASE},
  year = {2024},
  doi = {10.1145/3691620.3695073}
}