IP Library Granted Patent US 12,348,525
Granted Patent B2
US 12,348,525 · App. 17/499,942 · Granted Jul 1, 2025

Generating zero-trust policy for application access using machine learning

Inventors: Dianhuan Lin (Sunnyvale, CA); Raimi Shah (Austin, TX); Rex Shang (Los Altos, CA); Loc Bui (San Jose, CA); Subramanian Srinivasan (Milpitas, CA); William Fehring (Sunnyvale, CA); Arvind Nadendla (San Jose, CA); John A. Chanak (Saratoga, CA); Shudong Zhou (Fremont, CA); Howie Xu (Palo Alto, CA)
Assignee: Zscaler, Inc.
H04L63/104G06N5/022H04L63/108H04L63/20
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,348,525
App. No.
17/499,942
Granted
Jul 1, 2025
Kind
B2
Abstract

Systems and methods include obtaining log data for a plurality of users of an enterprise where the log data relates to usage of a plurality of applications by the plurality of users; determining i) app-segments that are groupings of application of the plurality of applications and ii) user-groups that are groupings of users of the plurality of users; and providing access policy of the plurality of applications based on the user-groups and the app-segments. The steps can further include monitoring the access policy over time based on ongoing log data, manual verification of the access policy, and incidents where users are prevented from accessing any application; and adjusting the determined based on the monitoring.

Claims (35)

1. A non-transitory computer-readable storage medium having computer readable code stored thereon for programming at least one processor to perform steps of:

obtaining log data for a plurality of users of an enterprise where the log data relates to usage of a plurality of applications by the plurality of users;

determining and defining, based on the obtained log data, i) one or more app-segments, each of the one or more app-segments comprising groupings of applications of the plurality of applications and ii) user-groups that are groupings of users of the plurality of users; and

providing access policy of the plurality of applications based on the defined user-groups and the one or more defined app-segments;

wherein the log data is transformed to feature vectors, and wherein the determining includes clustering with the feature vectors adapted to form any of an access matrix, app-segments, and user-groups, the clustering is based on a compressed feature vector, wherein the compressed feature vector defines a user app usage access pattern in a numerical format and is one of k-means clustering, DBScan, and Hierarchical DBScan.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the steps further include

monitoring the access policy over time based on ongoing log data generated for every transaction, manual verification of the access policy, and incidents where users are prevented from accessing any application; and

adjusting the access policy based on the monitoring.

3. The non-transitory computer-readable storage medium of claim 1 , wherein the steps further include

allowing usage of the plurality of applications by the plurality of users via wildcard rules based on non-individual criteria allowing a large subset of users to coarse-grain access the plurality of applications during the obtaining; and

responsive to the providing, enforcing the access policy of the plurality of applications in place of the wildcard rules which override the wildcard rules.

4. The non-transitory computer-readable storage medium of claim 3 , wherein the access policy of the plurality of applications has tightened access control and less access than via the wildcard rules.

5. The non-transitory computer-readable storage medium of claim 1 , wherein the log data is obtained over a period of time and the determining and providing is performed over the period of time until the access policy meets a quality threshold.

6. The non-transitory computer-readable storage medium of claim 1 , wherein the enterprise is an existing customer of a cloud service and the access policy is for one of existing applications and new applications, and wherein the determining is based on a similarity metric with existing user-groups.

7. The non-transitory computer-readable storage medium of claim 1 , wherein the enterprise is a new customer of a cloud service, and wherein the determining is based on clustering to determine the user-groups and the app-segments.

8. The non-transitory computer-readable storage medium of claim 7 , wherein user-groups are fixed to determine the app-segments, and wherein each of the plurality of applications is characterized by the user-groups who access it and a corresponding frequency.

9. The non-transitory computer-readable storage medium of claim 1 , wherein the access policy includes which user-group can access which app-segments on which ports, wherein the app-segments define a sub-grouping of applications of the plurality of applications and wherein the user groups define one or more elements of usage.

10. The non-transitory computer-readable storage medium of claim 1 , wherein the determining is via a machine learning model configured to observe application access, tighten an access control, and make policy recommendations, wherein the machine learning model uses features including any of port and protocol usage pattern; a computer process that initiated a connection to the application; similarity based on domain names; an organization's network addressing structure; app location; user location; job title; department; manager; and behavior patterns.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the machine learning model includes an ensemble of different models, wherein the ensemble is configured in one of a parallel ensemble or a sequential ensemble.

12. A method comprising steps of:

obtaining log data for a plurality of users of an enterprise where the log data relates to usage of a plurality of applications by the plurality of users;

determining and defining, based on the obtained log data, i) one or more app-segments, each of the one or more app-segments comprising groupings of applications of the plurality of applications and ii) user-groups that are groupings of users of the plurality of users; and

providing access policy of the plurality of applications based on the defined user-groups and the one or more defined app-segments;

wherein the log data is transformed to feature vectors, and wherein the determining includes clustering with the feature vectors adapted to form any of an access matrix, app-segments, and user-groups, the clustering is based on a compressed feature vector, wherein the compressed feature vector defines a user app usage access pattern in a numerical format and is one of k-means clustering, DBScan, and Hierarchical DBScan.

13. The method of claim 12 , wherein the steps further include

monitoring the access policy over time based on ongoing log data, manual verification of the access policy, and incidents where users are prevented from accessing any application; and

adjusting the access policy based on the monitoring.

14. The method of claim 12 , wherein the steps further include

allowing usage of the plurality of applications by the plurality of users via wildcard rules allowing a large subset of users to access the plurality of applications during the obtaining; and

responsive to the providing, enforcing the access policy of the plurality of applications in place of the wildcard rules.

15. The method of claim 12 , wherein the log data is transformed to feature vectors, and wherein the determining includes clustering with the feature vectors.

16. The method of claim 12 , wherein the log data is obtained over a period of time and the determining and providing is performed over the period of time until the access policy meets a quality threshold.

17. The method of claim 12 , wherein the enterprise is an existing customer of a cloud service and the access policy is for one of existing applications and new applications, and wherein the determining is based on a similarity metric with existing user-groups.

18. The method of claim 12 , wherein the enterprise is a new customer of a cloud service, and wherein the determining is based on clustering to determine the user-groups and the app-segments.

19. The method of claim 12 , wherein the access policy includes which user-group can access which app-segments on which ports.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: LIN, DIANHUAN; SHAH, RAIMI; SHANG, REX; BUI, LOC; SRINIVASAN, SUBRAMANIAN; FEHRING, WILLIAM; NADENDLA, ARVIND; CHANAK, JOHN A.; ZHOU, SHUDONG; XU, HOWIE
To: ZSCALER, INC.
Reel/Frame 057775/0018 →
Continuity (1)
Related Publication 20230115982A1 · Apr 13, 2023
References Cited (63)
US 6009475A · Shrader · 1999 [cited by applicant]
US 6138162A · Pistriotto et al. · 2000 [cited by applicant]
US 7316029B1 · Parker et al. · 2008 [cited by applicant]
US 7383569B1 · Elgressy et al. · 2008 [cited by applicant]
US 7620985B1 · Bush et al. · 2009 [cited by applicant]
US 7647318B1 · Enns · 2010 [cited by examiner]
US 8166533B2 · Yuan · 2012 [cited by applicant]
US 8499348B1 · Rubin · 2013 [cited by applicant]
US 8677471B2 · Karels et al. · 2014 [cited by applicant]
US 9065850B1 · Sobrier · 2015 [cited by applicant]
US 9152789B2 · Natarajan et al. · 2015 [cited by applicant]
US 9773107B2 · White et al. · 2017 [cited by applicant]
US 10142362B2 · Weith et al. · 2018 [cited by applicant]
US 10154067B2 · Smith et al. · 2018 [cited by applicant]
US 10348599B2 · O'Neil et al. · 2019 [cited by applicant]
US 10362048B2 · Alexander et al. · 2019 [cited by applicant]
US 10419477B2 · Desai et al. · 2019 [cited by applicant]
US 10439985B2 · O'Neil · 2019 [cited by applicant]
US 10498605B2 · Weith et al. · 2019 [cited by applicant]
US 10505899B1 · Singh et al. · 2019 [cited by applicant]
US 11055417B2 · Bhatia · 2021 [cited by examiner]
US 11381603B2 · Kirner · 2022 [cited by examiner]
US 11470121B1 · Curtis · 2022 [cited by examiner]
US 11489839B2 · Sankavaram · 2022 [cited by examiner]
US 11695776B2 · Pieczul · 2023 [cited by examiner]
US 11909772B2 · Hale · 2024 [cited by examiner]
US 20050193222A1 · Greene · 2005 [cited by applicant]
US 20060095970A1 · Rajagopal et al. · 2006 [cited by applicant]
US 20070233477A1 · Halowani et al. · 2007 [cited by applicant]
US 20100115621A1 · Staniford et al. · 2010 [cited by applicant]
US 20120246098A1 · Chari et al. · 2012 [cited by applicant]
US 20150074743A1 · Ilieva · 2015 [cited by examiner]
US 20150150081A1 · Jaisinghani · 2015 [cited by examiner]
US 20150242486A1 · Chari · 2015 [cited by examiner]
US 20160344770A1 · Verma et al. · 2016 [cited by applicant]
US 20170063886A1 · Muddu et al. · 2017 [cited by applicant]
US 20170078329A1 · Hwang et al. · 2017 [cited by applicant]
US 20170272465A1 · Steele · 2017 [cited by applicant]
US 20180041471A1 · Sudo et al. · 2018 [cited by applicant]
US 20180150758A1 · Niininen et al. · 2018 [cited by applicant]
US 20180293381A1 · Tseng et al. · 2018 [cited by applicant]
US 20190012602A1 · Mishra · 2019 [cited by examiner]
US 20190158513A1 · Shtar · 2019 [cited by examiner]
US 20190260754A1 · Hecht · 2019 [cited by examiner]
US 20190281073A1 · Weith et al. · 2019 [cited by applicant]
US 20190318100A1 · Bhatia · 2019 [cited by examiner]
US 20190319972A1 · Desai · 2019 [cited by applicant]
US 20190349283A1 · O'Neil et al. · 2019 [cited by applicant]
US 20200021618A1 · Smith et al. · 2020 [cited by applicant]
US 20200236112A1 · Pularikkal et al. · 2020 [cited by applicant]
US 20200252405A1 · Sankavaram · 2020 [cited by examiner]
US 20200356676A1 · Gorlamandala · 2020 [cited by examiner]
US 20200387956A1 · Toh · 2020 [cited by examiner]
US 20220263835A1 · Pieczul · 2022 [cited by examiner]
US 20220286484A1 · Hale · 2022 [cited by examiner]
WO 2018053337A1 · 2018 [cited by applicant]
WO 2018152303A1 · 2018 [cited by applicant]
Jordaney, Roberto, et al., “Transcend: Detecting concept drift in malware classification models,” 26th {USENIX} Security Symposium ({USENIX} Security 17), 2017. [cited by applicant]
Kantchelian, Alex, J. D. Tygar, and Anthony Joseph, “Evasion and hardening of tree ensemble classifiers,” International Conference on Machine Learning, 2016. [cited by applicant]
Tolomei, Gabriele, et al., “Interpretable predictions of tree-based ensembles via actionable feature tweaking,” Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 20… [cited by applicant]
Aug. 13, 2019, International Preliminary Report on Patentability and Written Opinion for International Application No. PCT/US2018/015902. [cited by applicant]
Aug. 20, 2019, International Preliminary Report on Patentability and Written Opinion for International Application No. PCT/US2018/018325. [cited by applicant]
Feb. 28, 2023, European Search Report for European Patent Application No. 22 18 7223. [cited by applicant]