Automated Vulnerability Detection in Computer Routines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Complexity in testing commercial computer applications due to numerous independent code paths and large number of functions, making efficient testing challenging.
Innovation Solution
Automated systems and methods for detecting input/output validation and output resource management vulnerabilities by analyzing computer routines, identifying vulnerable routines, and dynamically manipulating them through testing techniques, including fuzz testing and patch deployment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual testing of computer applications is performed, then testing coverage can be achieved, but the complexity and time required increases significantly due to numerous independent code paths and functions
Solution Approach 1:
The system performs automated self-testing of computer routines by dynamically manipulating inputs and detecting unexpected behaviors without requiring manual intervention. The testing system automatically generates test cases, executes them against targeted routines, and analyzes results to identify vulnerabilities in input/output validation and resource management.
Solution Approach 2:
The patent replaces manual mechanical testing processes with automated computational systems. Instead of human testers manually navigating code paths, the system uses automated routine manipulation techniques including dynamic input modification, buffer size adjustment, and controlled stress testing to exercise code paths and detect vulnerabilities.
2Reliability
If comprehensive testing of all code paths is performed, then vulnerability detection improves, but the time and resources required become prohibitive
Solution Approach 1:
The system segments the testing process by identifying and targeting specific high-risk computer routines that are most likely to contain vulnerabilities in input/output validation and resource management. Rather than testing all routines equally, the system divides attention to focus computational resources on critical paths including buffer operations, memory management functions, and system call interfaces.
Solution Approach 2:
The system applies controlled excessive action by intentionally providing inputs that exceed normal operational parameters, such as buffer size limits or resource constraints. This deliberate stress testing exposes boundary conditions and validation failures that normal operation would not reveal, while the automated nature keeps time consumption manageable.
3Productivity
If automated testing systems are implemented, then testing efficiency improves, but the ability to detect subtle unexpected behaviors may be reduced
Solution Approach 1:
The system incorporates feedback mechanisms by monitoring the actual behavior of computer routines during automated testing and comparing it against expected behavior patterns. When deviations are detected—such as unexpected buffer overflows, memory access violations, or resource management failures—the system logs these anomalies and can adjust subsequent test cases to probe similar vulnerability patterns more deeply.
Data Source
AI summary
In an example embodiment, a system analyzes a set of computer routines. The system may perform an analysis including a determination of a likelihood of vulnerability to unexpected behavior for one or more computer routines of the set. Based upon the analysis, the system may identify one or more computer routines of the set having the likelihood of vulnerability. The system may asynchronously and dynamically manipulate at least one of the one or more computer routines through a testing technique. The system may determine unexpected behavior of at least one of the one or more computer routines.


