IP Library Granted Patent US 12,238,070
Granted Patent B2
US 12,238,070 · App. 17/367,760 · Granted Feb 25, 2025

Cloud-based web application and API protection from untrusted users and devices

Inventors: Pooja Deshmukh (Sunnyvale, CA); Leslie Smith (San Jose, CA); William Fehring (Sunnyvale, CA); Kanti Varanasi (Sunnyvale, CA); John A. Chanak (Saratoga, CA)
Assignee: Zscaler, Inc.
H04L63/0272G06F9/547H04L9/006H04L9/0894H04L9/14H04L9/30H04L9/3263H04L63/029H04L63/0823H04L63/0876H04L67/01H04L67/1021H04L61/4511H04L61/59
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 12,238,070
App. No.
17/367,760
Granted
Feb 25, 2025
Kind
B2
Abstract

Systems and methods include, responsive to determining a user can access an application via a cloud-based system, wherein the application is in one of a public cloud, a private cloud, and an enterprise network, and wherein the user is remote over the Internet, obtaining a predetermined inspection profile for the user with the inspection profile including a plurality of rules evaluated in an order; performing inspection of the access using the plurality of rules in the order; and responsive to results of any of the plurality of rules, one or more of monitoring, allowing, blocking, and redirecting the access, via the cloud-based system.

Claims (46)

1. A method comprising:

responsive to determining a user can access an application via a cloud-based system, wherein the application is in one of a public cloud, a private cloud, and an enterprise network, and wherein the user is remote over the Internet, obtaining a predetermined inspection profile for the user with the inspection profile including a plurality of rules evaluated in an order, wherein obtaining the predetermined inspection profile is based on the application and the user;

storing the plurality of rules in rows of database as strings;

responsive to the obtaining, obtaining a copy of a template file and filtering the template file based on a mapping table, wherein the template file comprises dependency information for the plurality of rules and a set of tags for each rule, and wherein the mapping table comprises rule definitions and rule inclusions and exclusions;

replacing the tags with rule data from the database;

performing inspection of transactions between a user device associated with the user and the application during the access, the inspection being performed based on the plurality of rules, each rule having dependencies maintained with other rules, in the predetermined inspection profile, wherein the rules are investigated in an order based on the dependencies; and

responsive to results of any of the plurality of rules, one or more of monitoring, allowing, blocking, and redirecting the access, via the cloud-based system.

2. The method of claim 1 , wherein performing the inspection comprises performing OWASP rule coverage and custom and standard Hypertext Transfer Protocol (HTTP) header inspection based on a plurality of operating modes.

3. The method of claim 1 , wherein the plurality of rules include anomaly detection, bot detection, Application Programming Interface (API) inspection rules, Denial of Service (DoS) detection rules, and customizable rules.

4. The method of claim 1 , further comprising

updating the plurality of rules based on monitoring of other users in the cloud-based system.

5. The method of claim 1 , further comprising

responsive to determining the user cannot access the application via the cloud-based system, notifying the user the application does not exist.

6. The method of claim 1 , further comprising

after the determining, stitching connections together between 1) a connector application executing on a user device associated with the user and the cloud-based system and 2) the cloud-based system and a lightweight connector associated with the application.

7. The method of claim 1 , further comprising

logging results of the rules and the access in the cloud-based system.

8. A system comprising:

a connector connected to the Internet and configured to only support outbound connections with a cloud-based system to provide a user access to an application;

a Web application and API protection (WAAP) module between the connector and the application, wherein the application is in one of a public cloud, a private cloud, and an enterprise network, and wherein the user is remote over the Internet; and

memory storing instructions, the instructions causing one or more processors to:

responsive to determination a user can access the application, obtain a predetermined inspection profile for the user with the inspection profile including a plurality of rules evaluated in an order, wherein the predetermined inspection profile is obtained based on the application and the user,

store the plurality of rules in rows of a database as strings,

responsive to the predetermined inspection profile being obtained, obtain a copy of a template file and filtering the template file based on a mapping table, wherein the template file comprises dependency information for the plurality of rules and a set of tags for each rule, and wherein the mapping table comprises rule definitions and rule inclusions and exclusions,

replace the tags with rule data from the database,

perform inspection of transactions between a user device associated with the user and the application during the access, the inspection being performed based on the plurality of rules, each rule having dependencies maintained with other rules, in the predetermined inspection profile, wherein the rules are investigated in an order based on the dependencies, and

responsive to results of any of the plurality of rules, one or more of monitor, allow, block, and redirect the access, via the cloud-based system.

9. The system of claim 8 , wherein performing the inspection comprises performing OWASP rule coverage and custom and standard Hypertext Transfer Protocol (HTTP) header inspection based on a plurality of operating modes.

10. The system of claim 8 , wherein the plurality of rules include anomaly detection, bot detection, Application Programming Interface (API) inspection rules, Denial of Service (DOS) detection rules, and customizable rules.

11. The system of claim 8 , wherein the instructions further cause the one or more processors to

update the plurality of rules based on monitoring of other users in the cloud-based system.

12. The system of claim 8 , wherein the connector is configured to

responsive to determining the user cannot access the application via the cloud-based system, notify the user the application does not exist.

13. The system of claim 8 , wherein the cloud-based system is configured to

after the determination, stitch connections together between 1) a connector application executing on a user device associated with the user and the cloud-based system and 2) the cloud-based system and a lightweight connector associated with the application.

14. The system of claim 8 , wherein the instructions further cause the one or more processors to

log results of the rules and the access in the cloud-based system.

15. A non-transitory computer-readable medium comprising instructions that, when executed, cause a node in a cloud-based system to perform the steps of:

responsive to determining a user can access an application via a cloud-based system, wherein the application is in one of a public cloud, a private cloud, and an enterprise network, and wherein the user is remote over the Internet, obtaining a predetermined inspection profile for the user with the inspection profile including a plurality of rules evaluated in an order, wherein obtaining the predetermined inspection profile is based on the application and the user;

storing the plurality of rules in rows of a database as strings;

responsive to the obtaining, obtaining a copy of a template file and filtering the template file based on a mapping table, wherein the template file comprises dependency information for the plurality of rules and a set of tags for each rule, and wherein the mapping table comprises rule definitions and rule inclusions and exclusions;

replacing the tags with rule data from the database,

performing inspection of transactions between a user device associated with the user and the application during the access, the inspection being performed based on the plurality of rules, each rule having dependencies maintained with other, rules, in the predetermined inspection profile, wherein the rules are investigated in an order based on the dependencies; and

responsive to results of any of the plurality of rules, one or more of monitoring, allowing, blocking, and redirecting the access, via the cloud-based system.

16. The non-transitory computer-readable medium of claim 15 , wherein performing the inspection comprises performing OWASP rule coverage and custom and standard Hypertext Transfer Protocol (HTTP) header inspection based on a plurality of operating modes.

17. The non-transitory computer-readable medium of claim 15 , wherein the plurality of rules include anomaly detection, bot detection, Application Programming Interface (API) inspection rules, Denial of Service (DOS) detection rules, and customizable rules.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2021
From: DESHMUKH, POOJA; SMITH, LESLIE; FEHRING, WILLIAM; VARANASI, KANTI; CHANAK, JOHN A.
To: ZSCALER, INC.
Reel/Frame 056759/0418 →
Continuity (4)
Continuation In Part 16800307 · Feb 25, 2020
Continuation 15986874 · May 23, 2018
Continuation In Part 15158153 · May 18, 2016
Related Publication 20210336934A1 · Oct 28, 2021
References Cited (26)
US 6636923B1 · Meirsman et al. · 2003 [cited by applicant]
US 8225291B2 · Chung · 2012 [cited by examiner]
US 8438582B2 · Vinokurov · 2013 [cited by examiner]
US 8869259B1 · Udupa et al. · 2014 [cited by applicant]
US 8893004B2 · Drews · 2014 [cited by examiner]
US 20020062279A1 · Behrenbrinker · 2002 [cited by examiner]
US 20060074618A1 · Miller et al. · 2006 [cited by applicant]
US 20070042756A1 · Perfetto et al. · 2007 [cited by applicant]
US 20080034425A1 · Overcash · 2008 [cited by examiner]
US 20080307519A1 · Curcio · 2008 [cited by applicant]
US 20090129271A1 · Ramankutty et al. · 2009 [cited by applicant]
US 20110131176A1 · Williamson · 2011 [cited by examiner]
US 20110296486A1 · Burch et al. · 2011 [cited by applicant]
US 20110310899A1 · Alkhatib et al. · 2011 [cited by applicant]
US 20120023325A1 · Lai · 2012 [cited by applicant]
US 20120054280A1 · Shah · 2012 [cited by examiner]
US 20120185913A1 · Martinez et al. · 2012 [cited by applicant]
US 20120281708A1 · Chauhan et al. · 2012 [cited by applicant]
US 20130347072A1 · Dinha · 2013 [cited by applicant]
US 20140022586A1 · Zehler · 2014 [cited by applicant]
US 20140282817A1 · Singer et al. · 2014 [cited by applicant]
US 20150205595A1 · Dudai · 2015 [cited by examiner]
US 20160036920A1 · Sama · 2016 [cited by examiner]
EP 1777912A1 · 2007 [cited by examiner]
J. R. Vic Winkler, “Securing the Cloud: Cloud Computer Security Techniques and Tactics”, May 2011, Syngress Publishing, Full Text. [cited by applicant]
Stephen R. Smoot, “Private Cloud Computing: Consolidation, Virtualization, and Service-Oriented Infrastructure”, Oct. 2011, Morgan Kaufman Publishers, Inc. Full Text. [cited by applicant]
Cited By (2)
US 12,367,320 US 12,634,284