IP Library Granted Patent US 9,781,133
Granted Patent B2
US 9,781,133 · App. 14/254,564 · Granted Oct 3, 2017

Automatic stability determination and deployment of discrete parts of a profile representing normal behavior to provide fast protection of web applications

Inventors: Amichai Shulman (Tel-Aviv, IL); Michael Boodaei (Givataim, IL); Shlomo Kramer (Tel-Aviv, IL)
Assignee: Imperva, Inc.
H04L63/14G06F17/30306G06F21/577H04L41/16H04L43/00H04L63/1433H04L41/142H04L43/106H04L63/102
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,781,133
App. No.
14/254,564
Granted
Oct 3, 2017
Kind
B2
Abstract

A system for automatic stability determination and deployment of discrete parts of a profile representing normal behavior to provide fast protection of web applications is disclosed. The system, in response to a sensor collecting from HTTP requests sent by the clients to the web application installed on the protected device, automatically creates for a web application a profile with discrete parts that will represent normal behavior so that deviations from the profile can be considered anomalous. The system automatically determines that a first of the discrete parts of the profile has become stable. The system then automatically deploys the first discrete part of the profile to the sensor that now will compare with the first discrete part of the profile subsequent HTTP requests sent by the clients to the web application to detect deviations from the normal behavior represented by the first discrete part.

Claims (43)

1. A non-transitory, tangible computer-readable media which has stored in it instructions, which when executed by a computer that participates in protection of a web application that is installed on a protected device and to which clients send hypertext transfer protocol (HTTP) requests, cause the computer to perform the steps of:

responsive to a sensor collecting the HTTP requests sent by the clients to the web application installed on the protected device, automatically creating for the web application a profile with a plurality of discrete parts that will represent normal behavior so that deviations from the profile can be considered anomalous;

automatically determining that a first discrete part of the plurality of discrete parts of the profile has become a stable representation of normal behavior so that deviations from the first discrete part can be considered anomalous while a second discrete part of the plurality of discrete parts of the profile is not a stable representation; and

responsive to the automatically determining, automatically deploying by the computer the first discrete part of the profile to the sensor that now will compare with the first discrete part of the profile subsequent HTTP requests sent by the clients to the web application to detect deviations from the normal behavior represented by the first discrete part but not detect deviations from the normal behavior represented by the second discrete part while the second discrete part of the profile remains not a stable representation.

2. The non-transitory, tangible computer-readable media of claim 1 , wherein the instructions, when executed by the computer, also cause the computer to perform the step of:

responsive to the automatically determining and prior to the automatically deploying, automatically changing a current state of the first discrete part to enforceable.

3. The non-transitory, tangible computer-readable media of claim 1 , wherein the automatically creating, automatically determining, and automatically deploying are performed without any prior knowledge of semantics of the web application.

4. The non-transitory, tangible computer-readable media of claim 1 , wherein the profile is a hierarchic data structure.

5. The non-transitory, tangible computer-readable media of claim 1 , wherein the automatically creating further comprises: performing a lexical analysis; and performing a syntax analysis.

6. The non-transitory, tangible computer-readable media of claim 5 , wherein the performing the lexical analysis comprises:

breaking each of the HTTP requests into tokens; and

creating a representation of the HTTP requests using properties of the tokens.

7. The non-transitory, tangible computer-readable media of claim 5 , wherein the performing the syntax analysis comprises:

breaking each of the HTTP requests into functional units; and

classifying the functional units as identification units and property units.

8. The non-transitory, tangible computer-readable media of claim 7 , wherein the identification units are used for identifying the HTTP requests.

9. The non-transitory, tangible computer-readable media of claim 7 , wherein the property units describe properties of the HTTP requests.

10. The non-transitory, tangible computer-readable media of claim 7 , wherein the automatically creating further comprises:

gathering the property units having at least one similar identification unit to form a profile property; and

attaching the profile property to its corresponding profile item.

11. The non-transitory, tangible computer-readable media of claim 1 , wherein automatically determining comprises computing a Bayesian probability for a mistake.

12. The non-transitory, tangible computer-readable media of claim 1 , wherein the automatically determining comprises:

computing a percentage of learning progress for the discrete parts of the profile; and

determining the respective discrete part is a stable representation when the percentage of learning progress exceeds a predefined threshold.

13. The non-transitory, tangible computer-readable media of claim 1 , wherein:

the profile comprises a plurality of profile items and a plurality of profile properties, wherein each of the plurality of profile items comprises at least one profile property; and

the automatically determining comprises:

computing a percentage of learning progress for each profile item and profile property out of the total number of the HTTP requests received over a predefined time; and

determining the respective profile item or the profile property is a stable representation when the percentage of learning progress exceeds a predefined threshold.

14. The non-transitory, tangible computer-readable media of claim 1 , wherein the profile is an adaptive profile that is automatically updated while the computer is operating in a protect mode.

15. The non-transitory, tangible computer-readable media of claim 1 , wherein the sensor sniffs traffic.

16. The non-transitory, tangible computer-readable media of claim 1 , wherein the sensor operates in a line of traffic between the clients and the web application.

17. The non-transitory, tangible computer-readable media of claim 1 , wherein the discrete parts include a URL item and a parameter item, and wherein profile properties corresponding to the parameter item include a length restriction on a parameter's value and a parameter type for a parameter of HTTP requests.

18. The non-transitory, tangible computer-readable media of claim 17 , wherein the URL item describes a single URL within the web application.

19. The non-transitory, tangible computer-readable media of claim 18 , wherein the parameter item describes a list of parameters of HTTP requests submitted to the web application.

20. The non-transitory, tangible computer-readable media of claim 1 , wherein the automatically creating comprises:

gathering property units having similar identification units to form a profile property, wherein the property units describe properties of the HTTP requests, and wherein the identification units are used for identifying the HTTP requests; and

attaching the profile properties to corresponding profile items that are based on the identification units.

21. The non-transitory, tangible computer-readable media of claim 20 , wherein the automatically creating further comprises, prior to the gathering, the following:

performing syntax analysis to generate functional units; and

classifying the functional units as identification units and property units.

22. The non-transitory, tangible computer-readable media of claim 1 , wherein said second discrete part is not deployed along with the first discrete part.

23. The non-transitory, tangible computer-readable media of claim 1 , wherein said second discrete part is deployed along with the first discrete part although the sensor will not detect deviations from the normal behavior represented by the second discrete part due to the second discrete part of the profile not being a stable representation.

Assignments (4)
RELEASE OF FIRST LIEN SECURITY INTEREST IN INTELLECTUAL PROPERTY RECORDED AT R/F 048077/0672 Recorded Dec 1, 2023
From: BANK OF AMERICA, N.A., AS AGENT
To: IMPERVA, INC.
Reel/Frame 065743/0832 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN INTELLECTUAL PROPERTY RECORDED AT R/F 049676/0451 Recorded Dec 1, 2023
From: GOLDMAN SACH BANK USA, AS AGENT
To: IMPERVA, INC.
Reel/Frame 065743/0905 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 15, 2019
From: IMPERVA, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 049676/0451 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 15, 2019
From: IMPERVA, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 048077/0672 →
Continuity (4)
Continuation 12814753 · Jun 14, 2010
Continuation 10991467 · Nov 19, 2004
Provisional Application 60526098 · Dec 2, 2003
Related Publication 20140230058A1 · Aug 14, 2014