Binary Hook Feedback Fuzzing for Faster Vulnerability Coverage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current fuzz testing systems are not fast, efficient, and do not provide high-quality testing.
Innovation Solution
A system comprising a fuzzer data generator, a first input subsystem, a fuzzing agent, and a fuzzer evaluation functionality, which continuously generates data units, inputs them into a tested device, adds hooks to predetermined points of interest in a binary executable file, and evaluates the output information to identify security vulnerabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If traditional fuzz testing methods are used, then testing coverage is limited, but testing speed and efficiency are also reduced
Solution Approach 1:
The system segments the fuzzing process into multiple independent components: a fuzzer data generator for creating test inputs, a tested device under test, a fuzzing agent for instrumentation, and evaluation functionality for analysis. Each component operates independently and can be optimized separately, allowing high-speed data generation while maintaining comprehensive security vulnerability coverage through coordinated operation of all segments.
2Manufacturing precision
If comprehensive security vulnerability testing is performed, then testing quality improves, but system performance overhead increases
Solution Approach 1:
The fuzzing agent implements selective instrumentation by adding hooks only at predetermined points of interest in the binary executable file, such as critical security functions and data flow paths, rather than instrumenting the entire codebase. This partial action approach provides comprehensive security vulnerability detection at targeted locations while minimizing the overall performance overhead of the testing system.
Solution Approach 2:
The system introduces a fuzzing agent as an intermediary layer between the test input data and the tested device. This agent acts as a mediator that injects hooks at strategic points to monitor and evaluate security vulnerabilities without directly modifying the core logic of the tested device, thereby maintaining normal performance while enabling thorough security analysis.
3Productivity
If continuous data generation is implemented, then testing efficiency improves, but data quality and relevance may deteriorate
Solution Approach 1:
The system implements a feedback mechanism where the evaluation functionality continuously analyzes the output from the fuzzing agent and feeds this information back to the fuzzer data generator. This feedback loop ensures that the continuously generated test data remains high-quality and relevant by adjusting data generation strategies based on actual vulnerability detection results, preventing degradation of data quality despite high-speed continuous operation.
Data Source
AI summary
A method for fuzzing constituted of: continuously generating units of data; inputting each of the generated units of data into a tested device; and adding each of one or more hooks to a respective one of one or more predetermined points of interest in a binary executable file running on the tested device, wherein responsive to the input units of data, each hook outputs information associated with the respective point of interest, the output information comprising data stored in a respective address of a memory associated with the respective point of interest, wherein the generation of the units of data is responsive to the output information associated with the respective points of interest.


