IP Library Granted Patent US 12,388,847
Granted Patent B2
US 12,388,847 · App. 18/195,290 · Granted Aug 12, 2025

Data posture analysis in a cloud environment using database snapshots

Inventors: Ravishankar Ganesh Ithal (Los Altos, CA); Yang Zhang (Los Altos, CA)
Assignee: Normalyze, Inc.
H04L63/1416G06F9/451G06F16/211G06F16/24569G06F16/355G06F16/95G06F21/577G06F21/6227H04L63/083H04L63/102H04L63/104H04L63/1433H04L63/18H04L63/205G06F2221/034G06F2221/2141
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,388,847
App. No.
18/195,290
Granted
Aug 12, 2025
Kind
B2
Abstract

The technology disclosed relates to streamlined analysis of security posture of a cloud environment. In particular, the disclosed technology relates to a system that analyzes data posture in a cloud environment database using a snapshot of the database. A computer-implemented method includes receiving a request to access a database in the cloud environment, wherein the database includes a first authentication requirement. The method includes identifying a snapshot of the database, wherein the snapshot includes a second authentication requirement that is different than the first authentication requirement. The method includes accessing the snapshot using the second authentication requirement, generating a representation of the database using the snapshot, and generating a data posture analysis result indicative of a data posture of the database based on scanning the representation of the database.

Claims (76)

1. A computer-implemented method for analyzing data posture in a cloud environment, the computer-implemented method comprising:

receiving a request to analyze a data posture of a database in the cloud environment, wherein the database includes a user access credential configured to provide user access to the database;

in response to the request to analyze the data posture of the database, identifying a location of a snapshot of the database, and accessing, using a cloud environment role corresponding to the cloud environment, the location of the snapshot;

performing data posture analysis using data of the snapshot to obtain an indication of a structure of schema objects in the database; and

generating a representation of a user interface display that represents the data posture of the database based on the data posture analysis performed on data of the snapshot.

2. The computer-implemented method of claim 1 , wherein

the database comprises a first database,

the snapshot comprises a first snapshot of the first database,

the user access credential comprises a first user access credential, and

the computer-implemented method further comprises:

receiving a request to analyze a data posture of a second database in the cloud environment, wherein the second database includes a second user access credential configured to provide user access to the second database;

accessing, using the cloud environment role, a location of a second snapshot of the second database; and

performing data posture analysis using data of the second snapshot to obtain an indication of a structure of schema objects in the second database.

3. The computer-implemented method of claim 1 , and further comprising:

tracing network communication paths between pairs of compute resources in the cloud environment and storage resources corresponding to the database;

qualifying a subset of the pairs of the compute resources and the storage resources as vulnerable to breach attack based on the data posture analysis; and

generating a representation of propagation of the breach attack along the network communication paths, the representation of propagation of the breach attack identifying relationships between the subset of the pairs of the compute resources and the storage resources.

4. The computer-implemented method of claim 2 , and further comprising:

discovering the first and second snapshots using a cloud provider application programming interface (API); and

accessing each of the first and second snapshots through the cloud provider API.

5. The computer-implemented method of claim 2 , wherein performing the data posture analysis comprises:

obtaining metadata representing a structure of schema objects in at least one of the first database or the second database; and

based on the metadata, executing a content-based data classifier to classify data items in the schema objects.

6. The computer-implemented method of claim 5 , and further comprising:

based on the metadata, executing a content-based data classifier that analyzes content of data items in the schema objects by comparing the data items to predefined target data profiles and generates a classifier result that classifies the data items based on the content.

7. The computer-implemented method of claim 1 ,

wherein performing the data posture analysis using data of the snapshot comprises:

generating a separate representation of the first database, that is separate from the database, using the snapshot, and

scanning the representation of the first database.

8. The computer-implemented method of claim 2 , wherein the first and second snapshots comprise read-only point-in-time copies of the first and second databases, respectively.

9. The computer-implemented method of claim 7 , wherein

the database is stored on a first server in the cloud environment,

generating the separate representation of the database comprises recreating the database on a second server using the snapshot, and

scanning the separate representation of the database comprises scanning the recreated database on the second server.

10. The computer-implemented method of claim 1 , wherein the user access credential comprises secret data corresponding to a user associated with the database, and the cloud environment role comprises a cloud provider role, and the snapshot comprise a read-only point-in-time copy of the database.

11. A computing system comprising:

at least one processor; and

memory storing instructions executable by the at least one processor, wherein the instructions, when executed, cause the computing system to:

receive a request to analyze a data posture of a database in a cloud environment, wherein the database includes a user access credential configured to provide user access to the database;

in response to the request to analyze the data posture of the database,

perform data posture analysis on a representation that is separate from the database, wherein the data posture analysis is configured to:

access, using a cloud environment role corresponding to the cloud environment, a snapshot of the database;

obtain the representation based on the snapshot; and

identify a structure of schema objects in the database based on the representation; and

generate a representation of a user interface display that represents the data posture of the database based on the identified structure of schema objects.

12. The computing system of claim 11 , wherein

the database comprises a first database,

the snapshot comprises a first snapshot of the first database,

the user access credential comprises a first user access credential, and

the instructions, when executed, cause the computing system to:

receive a request to analyze a data posture of a second database in the cloud environment, wherein the second database includes a second user access credential configured to provide user access to the second database;

access, using the cloud environment role, a location of a second snapshot of the second database; and

perform data posture analysis using data of the second snapshot to obtain an indication of a structure of schema objects in the second database.

13. The computing system of claim 12 , wherein the instructions, when executed, cause the computing system to:

discover the first and second snapshots using a cloud provider application programming interface (API); and

access each of the first and second snapshots through the cloud provider API.

14. The computing system of claim 12 , wherein the instructions, when executed, cause the computing system to:

obtain metadata representing a structure of schema objects in at least one of the first database or the second database; and

based on the metadata, execute a content-based data classifier to classify data items in the schema objects.

15. The computing system of claim 14 , wherein the instructions, when executed, cause the computing system to:

based on the metadata, execute a content-based data classifier that analyzes content of data items in the schema objects by comparing the data items to predefined target data profiles and generates a classifier result that classifies the data items based on the content.

16. The computing system of claim 11 , wherein the instructions, when executed, cause the computing system to:

generate a separate representation of the database, that is separate from the database, using the snapshot, and

perform the data posture analysis based on a scan of the separate representation of the database.

17. The computing system of claim 11 , wherein the snapshot comprises a read-only point-in-time copy of the database.

18. The computing system of claim 11 , wherein the database is deployed in a production environment and configured to receive a user request for a data manipulation operation on data stored in the database.

19. The computing system of claim 14 , wherein the schema objects comprise at least one data column within a table, and the data items comprise a plurality of cells within the at least one data column.

20. A computing system comprising:

at least one processor; and

memory storing instructions executable by the at least one processor, wherein the instructions, when executed, provide:

a cloud data analysis logic configured to:

receive a request to perform data posture analysis on a database in a cloud environment, wherein the database includes a user access credential;

in response to the request, access, through a cloud provider application programming interface (API) using a cloud provider role corresponding to the cloud environment, a snapshot of the database; and

generate a separate database representation of the database, that separate is from the database, using the snapshot;

a scanner configured to scan the separate database representation of the database to obtain a representation of a structure of schema objects; and

a user interface component configured to generate a representation of a user interface display that represents the data posture analysis based on the scan.

Assignments (4)
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 8, 2025
From: PROOFPOINT, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 073889/0677 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2025
From: NORMALYZE, INC.
To: PROOFPOINT, INC.
Reel/Frame 071618/0634 →
SECURITY INTEREST Recorded Feb 19, 2025
From: NORMALYZE, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 070254/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2023
From: ITHAL, RAVISHANKAR GANESH; ZHANG, YANG
To: NORMALYZE, INC.
Reel/Frame 063587/0332 →
Continuity (6)
Continuation 17939501 · Sep 7, 2022
Provisional Application 63246313 · Sep 21, 2021
Provisional Application 63246310 · Sep 21, 2021
Provisional Application 63246315 · Sep 21, 2021
Provisional Application 63246303 · Sep 20, 2021
Related Publication 20230275910A1 · Aug 31, 2023
References Cited (96)
US 8190850B1 · Davenport et al. · 2012 [cited by applicant]
US 8392997B2 · Chen · 2013 [cited by applicant]
US 8402514B1 · Thompson · 2013 [cited by applicant]
US 8578442B1 · Banerjee · 2013 [cited by applicant]
US 8689324B2 · Bowman · 2014 [cited by applicant]
US 9092500B2 · Varadharajan et al. · 2015 [cited by applicant]
US 9910881B1 · Brooker · 2018 [cited by applicant]
US 10032450B2 · Olmstead · 2018 [cited by applicant]
US 10609044B2 · Andow · 2020 [cited by applicant]
US 11108828B1 · Curtis · 2021 [cited by applicant]
US 11256661B1 · Gassner · 2022 [cited by applicant]
US 11271929B1 · McFarland · 2022 [cited by applicant]
US 11283809B2 · Bogdanich Espina · 2022 [cited by applicant]
US 11422871B1 · Mounirou et al. · 2022 [cited by applicant]
US 11461183B2 · Govindan · 2022 [cited by applicant]
US 11477183B1 · Brandwine et al. · 2022 [cited by applicant]
US 11659392B2 · Avetisov · 2023 [cited by examiner]
US 11876813B2 · Ithal · 2024 [cited by examiner]
US 20040034794A1 · Mayer · 2004 [cited by applicant]
US 20060236408A1 · Yan · 2006 [cited by applicant]
US 20060242704A1 · Aviani · 2006 [cited by applicant]
US 20070180498A1 · Choudhary · 2007 [cited by applicant]
US 20070185875A1 · Chang · 2007 [cited by applicant]
US 20070226796A1 · Gilbert · 2007 [cited by applicant]
US 20080104244A1 · Chen · 2008 [cited by applicant]
US 20080288330A1 · Hildebrand · 2008 [cited by applicant]
US 20120005737A1 · Schwab · 2012 [cited by examiner]
US 20120209997A1 · Duan · 2012 [cited by applicant]
US 20120210419A1 · Choudhary · 2012 [cited by applicant]
US 20130219463A1 · Sambamurthy · 2013 [cited by examiner]
US 20140068718A1 · Mureinik · 2014 [cited by applicant]
US 20140201642A1 · Vicat-Blanc · 2014 [cited by applicant]
US 20150347683A1 · Ansari et al. · 2015 [cited by applicant]
US 20160366183A1 · Smith · 2016 [cited by applicant]
US 20170063899A1 · Muddu · 2017 [cited by applicant]
US 20170078322A1 · Seiver · 2017 [cited by applicant]
US 20170155672A1 · Muthukrishnan · 2017 [cited by applicant]
US 20170208151A1 · Gil · 2017 [cited by applicant]
US 20170299633A1 · Pietrowicz · 2017 [cited by applicant]
US 20180232528A1 · Williamson et al. · 2018 [cited by applicant]
US 20190228186A1 · Atreya et al. · 2019 [cited by applicant]
US 20190243865A1 · Rausch · 2019 [cited by applicant]
US 20200007455A1 · Chhabra et al. · 2020 [cited by applicant]
US 20200057864A1 · Parthasarathy · 2020 [cited by applicant]
US 20200134076A1 · Ogrinz · 2020 [cited by applicant]
US 20200186515A1 · Bansal · 2020 [cited by applicant]
US 20200213357A1 · Levin et al. · 2020 [cited by applicant]
US 20200272740A1 · Obee · 2020 [cited by applicant]
US 20200396222A1 · Gargaro · 2020 [cited by applicant]
US 20200401696A1 · Ringlein · 2020 [cited by applicant]
US 20210014265A1 · Hadar · 2021 [cited by applicant]
US 20210084048A1 · Kannan · 2021 [cited by applicant]
US 20210089353A1 · Shear · 2021 [cited by applicant]
US 20210089422A1 · Kim · 2021 [cited by applicant]
US 20210182607A1 · Agarwal · 2021 [cited by applicant]
US 20210243180A1 · Beale · 2021 [cited by examiner]
US 20210243190A1 · Bargury et al. · 2021 [cited by applicant]
US 20210243208A1 · Rubin · 2021 [cited by applicant]
US 20210271565A1 · Bhavanarushi et al. · 2021 [cited by applicant]
US 20210336934A1 · Deshmukh et al. · 2021 [cited by applicant]
US 20210392142A1 · Stephens et al. · 2021 [cited by applicant]
US 20220021652A1 · Moghe · 2022 [cited by applicant]
US 20220094614A1 · Khurshid · 2022 [cited by applicant]
US 20220094643A1 · Cook · 2022 [cited by applicant]
US 20220116455A1 · Raghunath · 2022 [cited by applicant]
US 20220198015A1 · Webster · 2022 [cited by applicant]
US 20220200869A1 · Erlingsson · 2022 [cited by applicant]
US 20220245175A1 · Hawco et al. · 2022 [cited by applicant]
US 20220292002A1 · Kumar et al. · 2022 [cited by applicant]
US 20220335151A1 · Stephen et al. · 2022 [cited by applicant]
US 20220414245A1 · Diamant · 2022 [cited by examiner]
US 20230099403A1 · Ithal · 2023 [cited by examiner]
WO 2017049439A1 · 2017 [cited by applicant]
An Automated Security Analysis Framework and Implementation for Cloud, Alavizadeh et al, Apr. 2019 (Year: 2019). [cited by examiner]
Anonymous, Amazon Neptune features, Amazon Neptune, retrieved on Aug. 15, 2022, 9 pages. Retrieved from the nternet [URL: https://aws.amazon.com/neptune/features/ ]. [cited by applicant]
Anonymous, Assign Azure roles using the Azure portal, Microsoft, dated Dec. 29, 2021, 12 pages. Retrieved on Aug. 16, 2022. Retrieved from the internet [URL: https://docs.microsoft.com/en-US/azure/role-based-access-cont… [cited by applicant]
Anonymous, Choose predefined roles, Google Cloud IAM, retrieved on Aug. 15, 2022, 6 pages. Retrieved from the nterent [URL: https://cloud.google.com/iam/docs/choose-predefined-roles]. [cited by applicant]
Anonymous, Install the AWS Security Hub App and view the Dashboards, sumo logic, retrieved on Aug. 15, 2022, 6 pages. Retrieved from the internet [URL: https://help.sumologic.com/07Sumo-Logic-Apps/01Amazon_and_AWS/AWS_S… [cited by applicant]
Anonymous, Policies and permission in IAM, Amazon AWS, retrieved on Aug. 15, 2022, 16 pages. Retrieved from he internet [URL: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html]. [cited by applicant]
Anonymous, Policy Evaluation Logic, Amazon AWS User Guide, retrieved on Aug. 15, 2022, 19 pages. Retrieved from the internet [URL: https://docs.aws.amazon.com/IAM/latesl/UserGuide/reference_policies_evaluation-logic.htm… [cited by applicant]
Anonymous, Understanding roles, Google Cloud, retrieved on Aug. 15, 2022, 5 pages. Retrieved from the internet URL: https://cloud.google.com/iam/docs/understanding-roles]. [cited by applicant]
Anonymous, What is Azure role-based access control (Azure RBAC)?, Microsoft, dated Jun. 27, 2022, 12 pages. Retrieved on Aug. 16, 2022. Retrieved from the internet [URL: https://docs.microsoft.com/en-us/azure/role-based… [cited by applicant]
Anthony, Mastering AWS Security—Create and maintain a secure cloud ecosystem, Packt, dated Oct. 2017, 247 pages. [cited by applicant]
Broadcom, Symantec Cloud Workload Protection for Storage, retrieved on Aug. 15, 2022, 4 pages. Retrieved from he internet [URL: https://techdocs.broadcom.com/us/en/symantec—security-software/endpoint-security-and-manage… [cited by applicant]
Jing et al., Discover sensitive data by using custom data identifiers with Amazon Macie, Amazon AWS, dated Aug. 26, 2020, 12 pages. Retrieved on Aug. 15, 2022. Retrieved from the internet [URL: https://aws.amazon.com/bl… [cited by applicant]
Samaraweera et al, Security and Privacy Implications on Database Systems in Big Data Era: A Survey, IEEE Transactions on Knowledge and Data Engineering vol. 33, No. 1, dated Jul. 2019, 20 pages. [cited by applicant]
U.S. Appl. No. 17/858,903—Notice of Allowance, dated Sep. 28, 2022, 12 pages. [cited by applicant]
U.S. Appl. No. 17/858,907—Notice of Allowance, dated Dec. 1, 2022, 11 pages. [cited by applicant]
U.S. Appl. No. 17/858,914—Notice of Allowance, dated Dec. 2, 2022, 3 pages. [cited by applicant]
U.S. Appl. No. 17/858,914—Notice of Allowance, dated Nov. 21, 2022, 12 pages. [cited by applicant]
U.S. Appl. No. 17/858,919—Non-Final Office Action, dated Sep. 16, 2022, 34 pages. [cited by applicant]
U.S. Appl. No. 17/939,489—Notice of Allowance, dated Nov. 28, 2022, 13 pages. [cited by applicant]
U.S. Appl. No. 17/939,501—Non-Final Office Action, dated Dec. 1, 2022, 15 pages. [cited by applicant]
U.S. Appl. No. 17/939,501—Notice of Allowance, dated Mar. 7, 2023, 10 pages. [cited by applicant]
U.S. Appl. No. 17/939,522—Non-Final Office Action, dated Dec. 19, 2022, 15 pages. [cited by applicant]
Watson, Classify sensitive data in your environment using Amazon Macie, dated Apr. 4, 2018, Amazon AWS, 7 pages. Retrieved on Aug. 15, 2022. Retrieved from the internet [URL: https://aws.amazon.com/blogs/security/classi… [cited by applicant]