Differential Fuzzing for Data Distribution Service Programs with Dynamic Configuration

Dohyun Ryu, Giyeol Kim, Daeun Lee, Seongjin Kim, Seungjin Bae, Junghwan Rhee, Taegyu Kim

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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 software implementation 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 DDS-specific 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.

Original languageEnglish (US)
Title of host publicationProceedings - 2024 39th ACM/IEEE International Conference on Automated Software Engineering, ASE 2024
PublisherAssociation for Computing Machinery, Inc
Pages807-818
Number of pages12
ISBN (Electronic)9798400712487
DOIs
StatePublished - Oct 27 2024
Event39th ACM/IEEE International Conference on Automated Software Engineering, ASE 2024 - Sacramento, United States
Duration: Oct 28 2024Nov 1 2024

Publication series

NameProceedings - 2024 39th ACM/IEEE International Conference on Automated Software Engineering, ASE 2024

Conference

Conference39th ACM/IEEE International Conference on Automated Software Engineering, ASE 2024
Country/TerritoryUnited States
CitySacramento
Period10/28/2411/1/24

All Science Journal Classification (ASJC) codes

  • Artificial Intelligence
  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'Differential Fuzzing for Data Distribution Service Programs with Dynamic Configuration'. Together they form a unique fingerprint.

Cite this