IP Library Granted Patent US 10,873,599
Granted Patent B1
US 10,873,599 · App. 16/032,610 · Granted Dec 22, 2020

Providing application security using causal graph

Inventors: Subramanian Varadarajan (Los Gatos, CA); Rosarin Roy Antonyraj (Sunnyvale, CA)
Assignee: ZYCADA NETWORKS, INC.
H04L63/1458H04L63/0281H04L63/10H04L63/1425
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,873,599
App. No.
16/032,610
Granted
Dec 22, 2020
Kind
B1
Abstract

Computer systems and methods are provided for storing a first path profile. A computing device receives a first request to access a first location of a website, transmits the first request to a server, and receives a first cookie that includes identifying information for the first location. In response to receiving the first cookie, the device stores the identifying information. The device receives a second request to access a second location of the web site that is distinct from the first location. The second request includes the identifying information for the first location. The device transmits the second request to the server and receives a second cookie that includes the identifying information for the first location and for the second location. In response to receiving the second cookie, the device stores the first path profile that includes the identifying information for the first location and the second location.

Claims (75)

1. A method for providing application security using a path profile, including:

receiving, from a first remote device, a first request to access a first location of a website;

transmitting, to a server that corresponds to the website, the first request to access the first location;

receiving, from the server, a first cookie that includes identifying information for the first location;

in response to receiving the first cookie, storing the identifying information for the first location;

receiving, from the first remote device, a second request to access a second location of the website, wherein:

the second location is distinct from the first location, and

the second request includes the identifying information for the first location;

transmitting, to the server, the second request to access the second location;

receiving, from the server, a second cookie that includes the identifying information for the first location and identifying information for the second location;

in response to receiving the second cookie, storing a first path profile that includes the identifying information for the first location and the identifying information for the second location;

receiving, from a second remote device, a third request to access the second location of the website;

determining whether the third request meets request criteria based on the first path profile;

in accordance with a determination that the third request meets the request criteria, transmitting, to the server, the third request to access the second location; and

in accordance with a determination that the third request does not meet the request criteria, performing one or more enforcement operations.

2. The method of claim 1 , including storing a plurality of path profiles that include at least the first path profile and a second path profile.

3. The method of claim 2 , including using the plurality of path profiles to generate at least one path pattern.

4. The method of claim 3 , wherein the at least one path pattern includes a pattern that indicates a tier-to-tier traversal of the website.

5. The method of claim 2 , including:

for a respective path profile of the plurality of path profiles, determining whether the respective path profile includes a first path characteristic; and

in accordance with a determination that the respective path profile includes the first path characteristic, incrementing a counter that corresponds to the first path characteristic.

6. The method of claim 1 , wherein:

the third request meets the request criteria when the third request includes the identifying information for the first location;

the third request does not meet the request criteria when the third request does not include the identifying information for the first location.

7. The method of claim 1 , wherein:

the third request meets the request criteria when the third request includes the identifying information for the second location;

the third request does not meet the request criteria when the third request does not include the identifying information for the second location.

8. The method of claim 1 , wherein the one or more enforcement operations include delaying or forgoing transmission of the third request to access the second location.

9. The method of claim 1 , wherein the one or more enforcement operations include transmitting information associated with the third request to an enforcement analysis module.

10. The method of claim 1 , wherein the one or more enforcement operations include modifying the third request, wherein the modified third request is a request to access an alternative location that is distinct from the requested second location.

11. The method of claim 1 , wherein the one or more enforcement operations include determining whether a stored invalid request value meets invalidation criteria.

12. The method of claim 1 , wherein:

the second location corresponds to an application programming interface (API) call;

the third request meets the request criteria when the third request includes API call information that corresponds to the second location; and

the third request does not meet the request criteria when the third request does not include the API call information that corresponds to the second location.

13. The method of claim 1 , wherein:

the website includes a root domain level and a plurality of subdomain levels;

the second location corresponds to a respective subdomain level of the plurality of subdomain levels;

the third request meets the request criteria when the third request includes identifying information associated with the respective subdomain level; and

the third request does not meet the request criteria when the third request does not include identifying information associated with the respective subdomain level.

14. The method of claim 1 , wherein the first cookie includes first time information and the second cookie includes second time information; and

the method includes, in response to receiving the second cookie, storing the second time information.

15. The method of claim 1 , wherein storing the identifying information for the first location and the second location includes storing a hash of the second cookie.

16. A system, comprising:

memory;

one or more processors; and

one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:

receiving, from a first remote device, a first request to access a first location of a web site;

transmitting, to a server that corresponds to the web site, the first request to access the first location;

receiving, from the server, a first cookie that includes identifying information for the first location;

in response to receiving the first cookie, storing the identifying information for the first location;

receiving, from the first remote device, a second request to access a second location of the website, wherein:

the second location is distinct from the first location, and

the second request includes the identifying information for the first location;

transmitting, to the server, the second request to access the second location;

receiving, from the server, a second cookie that includes the identifying information for the first location and identifying information for the second location;

in response to receiving the second cookie, storing a first path profile that includes the identifying information for the first location and the identifying information for the second location, and storing second time information, wherein the first cookie includes first time information and the second cookie includes the second time information.

17. The system of claim 16 , wherein the one or more programs include instructions for:

receiving, from a second remote device, a third request to access the second location of the web site;

determining whether the third request meets request criteria;

in accordance with a determination that the third request meets the request criteria, transmitting, to the server, the third request to access the second location; and

in accordance with a determination that the third request does not meet the request criteria, performing one or more enforcement operations.

18. The system of claim 17 , wherein the one or more enforcement operations include delaying or forgoing transmission of the third request to access the second location.

19. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device, cause the device to:

receive, from a first remote device, a first request to access a first location of a website;

transmit, to a server that corresponds to the website, the first request to access the first location;

receive, from the server, a first cookie that includes identifying information for the first location;

in response to receiving the first cookie, store the identifying information for the first location;

receive, from the first remote device, a second request to access a second location of the website, wherein:

the second location is distinct from the first location, and

the second request includes the identifying information for the first location;

transmit, to the server, the second request to access the second location;

receive, from the server, a second cookie that includes the identifying information for the first location and identifying information for the second location;

in response to receiving the second cookie, store a first path profile that includes the identifying information for the first location and the identifying information for the second location;

wherein storing the identifying information for the first location and the second location includes storing a hash of the second cookie.

Assignments (6)
NUNC PRO TUNC ASSIGNMENT Recorded Apr 9, 2024
From: SENTHIVEL, KUMARAVEL
To: ZYCADA NETWORKS, INC.
Reel/Frame 067043/0661 →
CORRECTIVE ASSIGNMENT TO CORRECT THE LEGAL NAME OF THE 2ND INVENTOR PREVIOUSLY RECORDED ON REEL 63148 FRAME 735. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 3, 2024
From: VARADARAJAN, SUBRAMANIAN; ANTONYRAJ, ROSARIN JOLLY ROY
To: ZYCADA NETWORKS, INC.
Reel/Frame 066990/0709 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY DATA PREVIOUSLY RECORDED ON REEL 063900 FRAME 0586. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 14, 2023
From: ZYCADA NETWORKS, INC.
To: PALO ALTO NETWORKS, INC.
Reel/Frame 064585/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2023
From: ZYCADA NETWORKS, INC.,
To: ZYCADA NETWORKS, INC.; PALO ALTO NETWORKS, INC.
Reel/Frame 063900/0586 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 046710 FRAME: 0396. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 23, 2023
From: VARADARAJAN, SUBRAMANIAN; ANTONYRAJ, ROSARIN ROY
To: ZYCADA NETWORKS, INC.
Reel/Frame 063148/0735 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2018
From: VARADARAJAN, SUBRAMANIAN; ANTONYRAJ, ROSARIN ROY
To: ZYCADA NETWORKS
Reel/Frame 046710/0396 →
Continuity (1)
Provisional Application 62531198 · Jul 11, 2017