×

Detecting persistent vulnerabilities in web applications

  • US 8,949,992 B2
  • Filed: 05/31/2011
  • Issued: 02/03/2015
  • Est. Priority Date: 05/31/2011
  • Status: Expired due to Fees
First Claim
Patent Images

1. An apparatus, comprising:

  • a memory;

    an application at the memory;

    a static analysis application at the memory;

    a dynamic analysis application at the memory; and

    a processor in communication with the memory and configured to;

    execute an instrumentation application configured to monitor a persistent state of the application;

    perform, by the dynamic analysis application at the memory, a first dynamic analysis to explore the application at the memory to provide for a conveyance of a test payload to the persistent state of the application, including a file that is accessed by the application, wherein the test payload comprises a malware application configured to perform a persistent cross-site scripting (XSS) attack;

    store, at a storage device, the test payload, the test payload transferred to the persistent state of the application, wherein the test payload remains dormant until the test payload is retrieved by the application from the storage device;

    process a notification including information that the test payload is transferred to a location at the storage device;

    perform, by the static analysis application at the memory in response to receiving the notification that the test payload was transmitted to the persistent state, a static analysis to identify a first code location in the application that interacts with the persistent state of the application at the storage device, to identify a first path from an entry point of the application to the first code location in the application, and to identify a second path from the first code location to a second code location in the application that executes a security sensitive operation using retrieved data, the static analysis performed to identify how the persistent XSS attack related to the test payload can attack the application at the memory; and

    perform, by the dynamic analysis application at the memory, a second dynamic analysis to retrieve the test payload from the persistent state via the first path, and to convey the test payload to the second code location via the second path, the second dynamic analysis performed to verify the persistent XSS attack using the first and second paths identified in the static analysis.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×