IP Library Granted Patent US 9,720,798
Granted Patent B2
US 9,720,798 · App. 13/493,067 · Granted Aug 1, 2017

Simulating black box test results using information from white box testing

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,720,798
App. No.
13/493,067
Granted
Aug 1, 2017
Kind
B2
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.

Claims (16)

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. The method of claim 1 wherein analyzing comprises analyzing each of the milestones to identify any constraints the milestone places on the input in order to allow the control flow to reach the first milestone given the input.

3. The method of claim 1 wherein the computer software is an application.

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.

5. The method of claim 4 wherein the analyzing step comprises analyzing each of the milestones to identify any constraints the milestone places on the input in order to allow the control flow to reach the first milestone given the input.

6. The method of claim 4 wherein the computer software is an application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: HCL TECHNOLOGIES LIMITED
Reel/Frame 050374/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2017
From: FINK, STEPHEN; HAVIV, YINNON A.; HAY, ROEE; PISTOIA, MARCO; SEGAL, ORY; SHARABANI, ADI; SRIDHARAN, MANU; TIP, FRANK; TRIPP, OMER; WEISMAN, OMRI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041024/0756 →