Dynamic Test Data Generation for Communication Protocol Fuzzing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing fuzzing methods face challenges in generating appropriate test data groups for communication devices that follow communication protocols, particularly in real-time scenarios where the data structure changes with each communication sequence, potentially leading to inadequate testing and vulnerability detection.

Innovation Solution

A data generation device and method that includes a test data group generating unit and a state determining unit, which generate and adapt test data groups based on the communication device's response and analysis of the communication protocol, using techniques such as proximity substitution and genetic algorithms to ensure appropriate testing and real-time fuzzing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional fuzzing methods are used to generate test data groups, then testing can be performed on detection targets, but the test data groups are not appropriate for communication devices that follow communication protocols, leading to inadequate testing

Engineering Contradiction:
Improvetesting effectivenessVSAvoidadaptability to communication protocols
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The test data group generation is made dynamic by continuously adapting to the communication device's state. The system generates initial test data groups, executes them against the communication device, determines the device's state based on execution results, and then generates subsequent test data groups that are tailored to the determined state. This dynamic adaptation ensures testing effectiveness while maintaining compatibility with communication protocols.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

A feedback mechanism is implemented where the execution results of test data groups are used to determine the state of the communication device, and this state information feeds back into the generation of subsequent test data groups. The system monitors whether the communication device successfully processed each test data group and uses this information to adjust future test data generation, improving both reliability and protocol adaptability.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If test data groups are generated without considering the communication device state, then generation process is simple, but the testing cannot accurately reflect the device's operation state

Engineering Contradiction:
Improvestate detection accuracyVSAvoiddata generation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by generating an initial set of test data groups before formally determining the communication device state. These initial test data groups are used to probe the device and gather information about its state, which then informs the generation of more targeted subsequent test data groups. This preliminary probing approach improves state detection accuracy without overwhelming complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The test data group generation process is segmented into distinct phases: generating initial test data groups, executing them against the communication device, determining device state based on results, and generating subsequent test data groups tailored to the determined state. This segmentation allows the system to manage complexity while achieving precise state detection through iterative refinement.

Inventive Principle:
Principle #1Segmentation

3Productivity

If static test data groups are used for fuzzing, then the testing process is straightforward, but it cannot detect vulnerabilities in real-time as communication protocols evolve

Engineering Contradiction:
Improvereal-time testing capabilityVSAvoidtime for state determination
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system maintains continuous useful action by implementing an iterative cycle where test data groups are generated, executed, and used to determine device state in real-time. Rather than performing a single batch test, the system continuously generates new test data groups based on previously determined states, enabling real-time vulnerability detection as communication protocols evolve during the testing process.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The testing process employs periodic action through repeated cycles of generating test data groups, executing them against the communication device, and determining device state. These periodic iterations allow the system to adapt to evolving communication protocols in real-time, with each cycle building upon the state information from previous cycles to improve testing effectiveness.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS20230385425A1Data generation device, data generation method, and non-transitory storage medium
Publication Date: 2023.11.30 JVC KENWOOD CORP
  • US20230385425A1 patent drawing
  • US20230385425A1 patent drawing
  • US20230385425A1 patent drawing

AI summary

A data generation device includes a test data group generating unit configured to generate a test data group for testing an operation of a communication device which performs communication by sending and receiving a data group according to a communication protocol, and a state determining unit configured to determine a state of the communication device after the communication device has received the test data group, wherein the test data group generating unit is further configured to generate a next test data group for testing the operation of the communication device based on a determination result about the state of the communication device.