Adversarial Deep Neural Network Fuzzing for Security Vulnerability Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current security vulnerability testing methods, such as genetic fuzzing, are limited by initial test conditions and prone to getting stuck in local minima, failing to generate tests outside their scope and leading to high costs and efforts in finding and fixing vulnerabilities.
Innovation Solution
A system and method using an adversarial deep neural network (DNN) for fuzz testing, where input samples are labeled for threat levels, iteratively altered through gradient changes to classify differently, and relabeled samples are used to further train the network, augmenting the corpus of input samples and enhancing test generation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If genetic fuzzing is used for security testing, then test generation is automated, but the method gets stuck in local minima and cannot generate tests outside its limited scope
Solution Approach 1:
The patent introduces a neural network as an intermediary between the fuzzing algorithm and the target code. The neural network learns from labeled input samples and generates adversarial examples that guide the fuzzing process, enabling the system to overcome local minima and explore broader test scopes while maintaining automation.
Solution Approach 2:
The patent changes the parameters of input samples by iteratively altering them to correspond to gradient changes of the neural network. This transforms the fuzzing approach from random mutation to gradient-guided transformation, allowing the system to escape local minima and generate diverse test cases beyond the initial limited scope.
2Measurement precision
If more input samples are used to train the neural network, then classification accuracy improves, but the cost and effort of finding and fixing vulnerabilities increases
Solution Approach 1:
The patent performs preliminary action by pre-labeling a corpus of input samples with threat levels before training the neural network. This pre-prepared labeled data enables the neural network to learn effective classification patterns in advance, improving classification accuracy while reducing the time needed for vulnerability discovery during actual testing.
Solution Approach 2:
The patent uses the neural network continuously to generate relabeled altered input samples that are fed back into the training process. This continuous cycle of generation, relabeling, and retraining maintains and improves classification accuracy over time without requiring additional manual labeling effort, thus reducing vulnerability discovery time.
3Reliability
If adversarial deep neural network fuzzing is used, then unique and significant adversarial tests are generated, but the device complexity increases
Solution Approach 1:
The patent implements a multi-functional system where the neural network serves multiple purposes: classifying input samples, generating adversarial examples, and guiding the fuzzing process. This universal approach improves vulnerability detection effectiveness while managing system complexity by consolidating multiple functions into a single integrated model rather than requiring separate specialized components.
Data Source
AI summary
A method for detecting security vulnerabilities, comprising: generating a corpus of input samples each labeled to indicate a threat level when executed by an input processing code; training a neural network (NN) using the plurality of input samples to classify inputs according to a plurality of labels of the plurality of input samples; for each input sample: iteratively altering the input sample to correspond to a process of gradient change of the NN, until the NN classifies the altered input sample to a different label than a respective label of the input sample; assigning the different label to the altered input sample; using the plurality of relabeled altered input samples to further train the NN and augment the corpus of input samples.


