Simulating black box test results using information from white box testing
First Claim
1. A method, comprising:
- statically analyzing computer software and identifying a plurality of milestones, including a first milestone, associated with a potential vulnerability within the computer software, wherein the first milestone indicates a location of a method call, within the source code of the computer software, having the potential vulnerability and a data variable referenced in a source code statement, wherein the potential vulnerability allows the data variable to be accessed by the source code statement without validation;
identifying one or more entry points into the computer software associated with the potential vulnerability by tracing paths from the first milestone, wherein each entry point provides a method location where an interface of the computer software is exposed to receive input external to the computer software;
identifying one or more HTTP request parameter inputs to at least a first one of the one or more entry points that results in a control flow from the first entry point to the first milestone;
automatically identifying, from a consultation of an Extensible Markup Language (XML) configuration file for a web server executing the computer software, a uniform resource locator (URL) of a class representing the computer software having the potential vulnerability based on the first entry point and the one or more identified HTTP request parameter inputs; and
presenting a simulated black box test result via a computer-controlled output medium detailing, for the computer software, a description of the potential vulnerability, the identified URL exposing the potential vulnerability, and one or more of the identified HTTP request parameter inputs that have not been validated.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods are program products for simulating black box test results using information obtained from white box testing, including analyzing computer software (e.g., an application) to identify a potential vulnerability within the computer software application and a plurality of milestones associated with the potential vulnerability, where each of the milestones indicates a location within the computer software application, tracing a path from a first one of the milestones to an entry point into the computer software application, identifying an input to the entry point that would result in a control flow from the entry point and through each of the milestones, describing the potential vulnerability in a description indicating the entry point and the input, and presenting the description via a computer-controlled output medium.
52 Citations
6 Claims
-
1. A method, comprising:
-
statically analyzing computer software and identifying a plurality of milestones, including a first milestone, associated with a potential vulnerability within the computer software, wherein the first milestone indicates a location of a method call, within the source code of the computer software, having the potential vulnerability and a data variable referenced in a source code statement, wherein the potential vulnerability allows the data variable to be accessed by the source code statement without validation; identifying one or more entry points into the computer software associated with the potential vulnerability by tracing paths from the first milestone, wherein each entry point provides a method location where an interface of the computer software is exposed to receive input external to the computer software; identifying one or more HTTP request parameter inputs to at least a first one of the one or more entry points that results in a control flow from the first entry point to the first milestone; automatically identifying, from a consultation of an Extensible Markup Language (XML) configuration file for a web server executing the computer software, a uniform resource locator (URL) of a class representing the computer software having the potential vulnerability based on the first entry point and the one or more identified HTTP request parameter inputs; and presenting a simulated black box test result via a computer-controlled output medium detailing, for the computer software, a description of the potential vulnerability, the identified URL exposing the potential vulnerability, and one or more of the identified HTTP request parameter inputs that have not been validated. - View Dependent Claims (2, 3)
-
-
4. A method, comprising:
-
statically analyzing computer software and identifying a plurality of milestones, including a first milestone, associated with a potential vulnerability within the computer software, wherein each of the milestones indicates a respective location of a method call within a respective source code statement of the computer software, which accesses a data variable, and wherein the source code statement of the first milestone indicates a location of the method call within the computer software which allows the data variable to be accessed and modified without validation based on the potential vulnerability; identifying one or more entry points into the computer software associated with the potential vulnerability by tracing paths from the first milestone, wherein each entry point provides a method location where an interface of the computer software is exposed to receive input external to the computer software, and wherein the tracing comprises constructing a call graph of method invocations within the computer software and utilizing the call graph to trace the paths; identifying one or more HTTP request parameters inputs to at least a first one of the one or more entry points that results in a control flow from the first entry point to the first milestone; automatically identifying, from a consultation of an Extensible Markup Language (XML) configuration file for a web server executing the computer software, a uniform resource locator (URL) of a class representing the computer software having the potential vulnerability based on the first entry point and the one or more HTTP request parameter inputs; and presenting a simulated black box test result via a computer-controlled output medium detailing for the computer software, a description of the potential vulnerability, the identified URL exposing the potential vulnerability, and one or more of the identified HTTP request parameter inputs that have not been validated. - View Dependent Claims (5, 6)
-
Specification