IP Library Granted Patent US 8,984,630
Granted Patent B2
US 8,984,630 · App. 13/418,238 · Granted Mar 17, 2015

System and method for preventing web frauds committed using client-scripting attacks

Inventors: Amichai Shulman (Tel Aviv, IL); Guy Karlebach (Tel Aviv, IL)
Assignee: Imperva, Inc.
H04L63/1416H04L63/1441H04L63/0236
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 8,984,630
App. No.
13/418,238
Granted
Mar 17, 2015
Kind
B2
Abstract

A method for detecting and blocking Javascript hijacking attacks, comprising checking if an incoming request belongs to a valid session established between a client and a trusted server. When said incoming request does belong to a valid session, it is checked if a Referer header of said incoming request includes a valid domain name. The incoming request is marked as suspicious, when said incoming request does not include a valid domain name. It is checked if a respective response of said suspicious incoming request includes a script code. A preventive action responsive to a user input is taken when said respective response includes a script code.

Claims (33)

1. A method, performed by a secure gateway communicatively coupled between a trusted server and a client, for preventing cross-site request forgery (CSRF) attacks, comprising:

receiving, by the secure gateway, a first request sent by the client, wherein the first request is sent by a web browser of the client to a protected website hosted by the trusted server;

causing, by the secure gateway, a security monitor to be executed by the web browser in response to receipt of the first request;

receiving, by the secure gateway, a second request sent by the client to the trusted server, wherein the second request includes a Referer header that does not include the domain name of the protected website;

transmitting, by the secure gateway when the second request does not belong to a valid authenticated session established between the client and the trusted server, the second request to the trusted server; and

transmitting, by the secure gateway when the second request belongs to a valid authenticated session established between the client and trusted server, a message to the security monitor because the Referer header of the second request does not include the domain name of the protected website, wherein the message indicates that the second request is suspicious and will cause a user to be prompted to either allow or reject the second request.

2. The method of claim 1 , further comprising transmitting, upon the user allowing the second request, the second request to the trusted server.

3. The method of claim 1 , further comprising transmitting, upon the user rejecting the second request, a message to a secure server, wherein the secure server is communicatively coupled to the secure gateway, and wherein the message indicates the user rejected the second request.

4. The method of claim 1 , wherein the security monitor is JavaScript code.

5. The method of claim 1 , wherein the Referer header does not include the domain name of the protected website because the Referer header includes a uniform resource identifier (URI) that does not include the URI of the protected web site.

6. A tangible non-transitory machine-readable storage medium comprising instructions for at least one processor of a processing device, which, when executed by the processor, cause the processor to prevent cross-site request forgery (CRSF) attacks by performing the following operations:

receiving, by a secure gateway, a first request sent by a client, wherein the first request is sent by a web browser of the client to a protected website hosted by a trusted server;

causing, by the secure gateway, a security monitor to be executed by the web browser in response to receipt of the first request;

receiving, by the secure gateway, a second request sent by the client to the trusted server, wherein the second request includes a Referer header that does not include the domain name of the protected website;

transmitting, by the secure gateway when the second request does not belong to a valid authenticated session established between the client and the trusted server, the second request to the trusted server; and

transmitting, by the secure gateway when the second request belongs to a valid authenticated session established between the client and trusted server, a message to the security monitor because the Referer header of the second request does not include the domain name of the protected website, wherein the message indicates that the second request is suspicious and will cause a user to be prompted to either allow or reject the second request.

7. The tangible non-transitory machine-readable storage medium of claim 6 , wherein the instructions, when executed by the processor, further cause the processor to perform the following operation:

transmitting, upon the user allowing the second request, the second request to the trusted server.

8. The tangible non-transitory machine-readable storage medium of claim 6 , wherein the instructions, when executed by the processor, further cause the processor to perform the following operation:

transmitting, upon the user rejecting the second request, a message to a secure server, wherein the secure server is communicatively coupled to the secure gateway, and wherein the message indicates the user rejected the second request.

9. The tangible non-transitory computer readable storage medium of claim 6 , wherein the security monitor includes JavaScript code.

10. The tangible non-transitory computer readable storage medium of claim 6 , wherein the Referer header does not include the domain name of the protected website because the Referer header includes a uniform resource identifier (URI) that does not include the URI of the protected web site.

11. An apparatus, comprising:

a secure gateway including hardware and software to be coupled between a trusted server and a client to prevent cross-site request forgery (CRSF) attacks, the secure gateway configured:

to receive a first request sent by the client, wherein the first request is sent by a web browser of the client to a protected website hosted by the trusted server;

to cause, in response to receipt of the first request, a security monitor to be executed by the web browser;

to receive a second request sent by the client to the trusted server, wherein the second request includes a Referer header that does not include the domain name of the protected website;

to transmit, when a second request does not belong to a valid authenticated session established between the client and the trusted server, the second request to the trusted server; and

to transmit, when the second request belongs to a valid authenticated session established between the client and trusted server, a message to the security monitor because the Referer header of the second request does not include the domain name of the protected website, wherein the message indicates that the second request is suspicious and will cause a user to be prompted to either allow or reject the second request.

12. The method of claim 11 , wherein the secure gateway is further configured to transmit, upon the user allowing the second request, the second request to the trusted server.

13. The method of claim 11 , wherein the secure gateway is further configured to transmit, upon the user rejecting the second request, a message to a secure server, wherein the secure server is communicatively coupled to the secure gateway, and wherein the message indicates the user rejected the second request.

14. The apparatus of claim 11 , wherein the security monitor includes JavaScript code.

15. The apparatus of claim 11 , wherein the Referer header does not include the domain name of the protected website because the Referer header includes a uniform resource identifier (URI) that does not include the URI of the protected web site.

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 (3)
Division 12143168 · Jun 20, 2008
Provisional Application 60945123 · Jun 20, 2007
Related Publication 20120180129A1 · Jul 12, 2012