IP Library › Granted Patent US 10,505,966
Granted Patent B2
US 10,505,966 · App. 15/615,527 · Granted Dec 10, 2019

Cross-site request forgery (CSRF) vulnerability detection

Inventor: Martin Johns (Karlsruhe, DE)
Assignee: SAP SE
H04L63/1433G06F21/554G06F21/64H04L63/1416H04L63/1483G06F9/45533G06F11/1451H04L63/168H04L67/02H04L67/42
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 10,505,966
App. No.
15/615,527
Granted
Dec 10, 2019
Kind
B2
Abstract

Embodiments detect cross-site request forgery (CSRF) attacks by monitoring, mutation, and analysis of suspect requests that are received by an application server. An engine observes UI interaction, HTTP traffic, and server-side changes in order to create an initial list of CSRF candidates (e.g., HTTP requests that could indicate a CSRF vulnerability). Embodiments may feature a virtualized server-side platform including sensors deployed for application persistence monitoring. Using inter-trace analysis, these CSRF candidates are de-composed into their semantic components (e.g., parameter values and classes). By performing value mutation operations on these components and repeated replay of the resulting HTTP requests, CSRF candidates are tested to see if the underlying HTTP request could be utilized in the context of a CSRF attack. Subsequent validation and exploitability assessment may reduce the initial list of suspect candidate requests to only those exploitable cases for which a proof-of-vulnerability demonstration exploit can be created.

Claims (42)

1. A computer-implemented method comprising:

receiving a workflow request to an application on a server-side;

selecting the workflow request as a security candidate;

an in-memory database engine of an in-memory database generating a mutant of the security candidate;

the in-memory database engine storing the mutant in the in-memory database;

communicating the mutant to the server-side;

sensing a changed state of application data in an application persistence on the server-side due to receipt of the mutant; and

identifying, in response to the sensing, a security vulnerability.

2. A method as in claim 1 wherein the identifying comprises identifying the security candidate as a cross-site request forgery (CSRF) suspect.

3. A method as in claim 1 wherein the sensing comprises sensing a changed state of the application data in a virtual machine snapshot.

4. A method as in claim 1 further comprising validating the security vulnerability.

5. A method as in claim 1 wherein generating the mutant comprises changing a parameter of the security candidate.

6. A method as in claim 5 further comprising classifying the parameter prior to the changing.

7. A method as in claim 6 wherein the classifying comprises performing a data-flow approximation.

8. A method as in claim 6 wherein the classifying comprises performing an inter-trace analysis.

9. A method as in claim 1 further comprising filtering the workflow request prior to the selecting.

10. A method as in claim 9 wherein the filtering comprises changing an authorization credential of the workflow request.

11. A method as in claim 1 wherein the sensing comprises sensing the changed state of the application data in a database.

12. A method as in claim 1 wherein the sensing comprises sensing the changed state of the application data in a file system.

13. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising:

receiving a workflow request to an application on a server-side;

selecting the workflow request as a security candidate;

an in-memory database engine of an in-memory database generating a mutant of the security candidate;

the in-memory database engine storing the mutant in the in-memory database;

communicating the mutant to the server-side;

sensing a changed state of application data in an application persistence on the server-side due to receipt of the mutant; and

identifying, in response to the sensing, the security candidate as a cross-site request forgery (CSRF) suspect.

14. A non-transitory computer readable storage medium as in claim 13 wherein the sensing comprises sensing a changed state of the application data in a virtual machine snapshot.

15. A non-transitory computer readable storage medium as in claim 13 wherein the generating comprises changing a parameter of the security candidate.

16. A non-transitory computer readable storage medium as in claim 13 further comprising validating the CSRF suspect.

17. A computer system comprising:

one or more processors;

a software program, executable on said computer system, the software program configured to cause an in-memory database engine of an in-memory database to:

receive a workflow request to an application on a virtualized server-side comprising a virtual machine snapshot application persistence;

select the workflow request as a security candidate for a cross-site request forgery (CSRF);

generate a mutant of the security candidate;

store the mutant in the in-memory database;

communicate the mutant to the virtualized server-side; and

sense a changed state of application data in an application persistence on the virtualized server-side due to receipt of the mutant; and

identify, in response to the sensing, the security candidate as a cross-site request forgery (CSRF) suspect.

18. A computer system as in claim 17 wherein the software program is further configured to cause the in-memory database engine to validate the CSRF suspect.

19. A computer system as in claim 17 wherein the software program is further configured to cause the in-memory database engine to generate the mutant by changing a parameter of the security candidate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2017
From: JOHNS, MARTIN
To: SAP SE
Reel/Frame 042619/0392 →
Continuity (1)
Related Publication 20180351986A1 · Dec 6, 2018