Simulating black box test results using information from white box testing

US9720798B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9720798-B2
Application numberUS-201213493067-A
CountryUS
Kind codeB2
Filing dateJun 11, 2012
Priority dateOct 27, 2010
Publication dateAug 1, 2017
Grant dateAug 1, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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.

Assignees

Inventors

Classifications

  • Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · CPC title

  • Prevention of errors by analysis, debugging or testing of software · CPC title

  • Program code verification, e.g. Java bytecode verification, proof-carrying code (high-level semantic checks G06F8/43; prevention of errors by analysis, debugging or testing of software G06F11/36) · CPC title

  • Test or assess software · CPC title

  • G06F21/577Primary

    Assessing vulnerabilities and evaluating computer system security · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9720798B2 cover?
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 withi…
Who is the assignee on this patent?
Fink Stephen, Haviv Yinnon A, Hay Roee, and 8 more
What technology area does this patent fall under?
Primary CPC classification G06F21/577. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 01 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).