GAN-Based Synthetic Test Case Generation for Vehicle ECU Fuzz Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for fuzz testing of vehicle ECUs, such as CAN bus fuzz testing, are inefficient in identifying unknown software vulnerabilities due to overfitting, where machine learning models are limited to generating test cases based on known error-producing inputs, failing to detect vulnerabilities exploited by hackers.

Innovation Solution

A system utilizing a General Adversarial Network (GAN) with a discriminator DNN and a generator DNN is employed to generate synthetic test cases that are likely to expose software vulnerabilities, incorporating randomness to avoid overfitting and identify new types of vulnerabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If machine learning models are trained to generate test cases based on known error-producing inputs, then the models can generate test cases efficiently, but they suffer from overfitting and fail to generate new types of test cases to identify unknown vulnerabilities

Engineering Contradiction:
Improvetest case generation efficiencyVSAvoidability to generate new types of test cases
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

Instead of training the generator to directly produce vulnerable test cases, the patent inverts the approach by training a discriminator to identify vulnerable cases, and using the discriminator's feedback to guide the generator. This adversarial inversion allows the system to overcome overfitting while maintaining efficient test case generation, as the generator learns from the discriminator's critique rather than memorizing training patterns.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent implements a feedback mechanism where the discriminator evaluates generated test cases and provides guidance back to the generator. This closed-loop feedback system enables continuous improvement of test case quality, allowing the generator to learn from mistakes and progressively generate more diverse and effective test cases that can identify unknown vulnerabilities.

Inventive Principle:
Principle #23Feedback

2Loss of time

If synthetic test cases are generated to reduce fuzz testing time, then productivity improves, but the test cases may lack the randomness needed to identify new vulnerability types

Engineering Contradiction:
Improvefuzz testing timeVSAvoidunknown vulnerabilities exploitable by hackers
Core Design Contradiction:
Loss of timeVSObject-affected harmful factors

Solution Approach 1:

The patent introduces dynamics into the test case generation process through the adversarial training mechanism. The generator and discriminator continuously adapt to each other, creating a dynamic system that balances structured generation with exploratory randomness. This allows the system to produce diverse test cases efficiently while maintaining the unpredictability needed to discover new vulnerability types.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of the generation process by using the discriminator's evaluation metrics to guide the generator's output distribution. By adjusting the generator's parameters based on discriminator feedback, the system can control the balance between generating realistic test cases and introducing novel variations that may reveal unknown vulnerabilities.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11762761B2Generating synthetic test cases for network fuzz testing
Publication Date: 2023.09.19 ETAS GROUP
  • US11762761B2 patent drawing
  • US11762761B2 patent drawing
  • US11762761B2 patent drawing

AI summary

A system for generating synthetic test cases for fuzz testing. One example includes an electronic processor. The electronic processor is configured to pre-process training data, use the training data to train a discriminator DNN to evaluate a test case to determine whether the test case is likely to expose a software vulnerability, and use the discriminator DNN to train a generator DNN to generate a test case that is likely to expose a software vulnerability. The electronic processor uses the discriminator DNN to train the generator DNN by determining whether a test case generated by the generator DNN is likely to expose a software vulnerability and sending a determination of whether the test case generated by the generator DNN is likely to expose a software vulnerability to the generator DNN. The electronic processor is further configured to, when the generator DNN is trained, generate one or more test cases.