IP Library Granted Patent US 12,518,021
Granted Patent B1
US 12,518,021 · App. 17/524,410 · Granted Jan 6, 2026

System and method for generating a security graph in a cloud computing environment

Inventors: Avihai Berkovitz (Tel Aviv, IL); Raaz Herzberg (Tel Aviv, IL); Ami Luttwak (Binyamina, IL); Roy Reznik (Tel Aviv, IL); Shai Keren (Tel Aviv, IL); Yinon Costica (Tel Aviv, IL)
Assignee: Wiz, Inc.
G06F21/577G06F21/604G06F21/62G06F2221/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,518,021
App. No.
17/524,410
Filed
Nov 11, 2021
Granted
Jan 6, 2026
Kind
B1
Art Unit
2495
USPC
726/25
Abstract

A cybersecurity system provides the ability to detect security risks in a cross-platform cloud solution. A unified data schema is used to abstract resources, principals and others across multiple platforms. A security graph is generated to present a unified view of cloud environments, which are then easily queried using the structure of the data schema. The solution allows a compact representation of cloud environments, which is scalable and multi-layered. Various enrichments may be added to the security graph, which are generated for example based on policies, and inspection of workloads in the cloud environment. The security graph allows for representation of production environments, staging environments, as well as code for deploying workloads in the cloud environment. Thus the solution is also able to present a complete picture of a user's entire cloud environment.

Claims (56)

1 . A method for generating a security graph representing at least one cloud environment, comprising:

receiving information from a first cloud environment by querying an application programming interface (API) of the first cloud environment;

detecting in the received information a plurality of object identifiers, each object identifier of the plurality of object identifiers corresponding to an object deployed in the first cloud environment;

inspecting each object of the plurality of objects from of the first cloud environment; and

storing in a graph database a respective node for each object of the plurality of objects, the representation of each node as stored being based on a predefined unified data schema, wherein the predefined unified data schema includes at least a principal data object structure and a resource data object structure.

2 . The method of claim 1 , wherein the information includes any of: workload network address, workload name from a namespace, workload identifier, user account identifier, service account identifier, group identifier, and policy.

3 . The method of claim 1 , wherein at least an object of the plurality of objects is a workload, further comprising:

inspecting the workload for at least an additional object;

generating a node in the graph database corresponding to the at least an additional object; and

generating a vertex connecting the at least an object to the at least an additional object, wherein the vertex indicates that the at least an additional object is a child node of the at least an object.

4 . The method of claim 3 , wherein the workload is any one of: a virtual machine, a software container, and a serverless function.

5 . The method of claim 3 , wherein the at least additional object is any one of: a virtual machine, a network object, an identity object, a secret, a vulnerability, and an application.

6 . The method of claim 1 , further comprising receiving information from a plurality of first cloud environments.

7 . The method of claim 6 , wherein the plurality of first cloud environments includes a cloud environment implemented by a first cloud computing infrastructure, and a second cloud environment implemented by a second cloud computing infrastructure, which is different from the first cloud computing infrastructure.

8 . The method of claim 1 , further comprising: receiving information from a second computing environment, wherein the second computing environment is any of: a staging environment of the first cloud environment, and an infrastructure as code (IaC) code of the first cloud environment.

9 . The method of claim 1 , further comprising:

receiving a policy from the first cloud environment, wherein the policy includes at least a rule for a principal accessing a resource; and

generating an enrichment data layer based on the received policy.

10 . The method of claim 9 , further comprising:

generating a principal node in the graph database corresponding to the principal;

generating a resource node in the graph database corresponding to the resource; and

generating a vertex in the graph database connecting the principal node to the resource node, wherein the vertex indicates a type of access.

11 . The method of claim 1 , further comprising:

generating an enrichment node in the security graph, wherein the enrichment node includes information which is duplicated in each of a plurality of nodes of the security graph; and

removing from each of the plurality of nodes the duplicated information.

12 . The method of claim 1 , further comprising:

generating a vulnerability node in the graph database representing a vulnerability, including data pertaining to the vulnerability; and

connecting a plurality of nodes from the graph database to the vulnerability.

13 . A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process for generating a cybersecurity security graph representing at least one cloud environment, the process comprising:

receiving information from a first cloud environment by querying an application programming interface (API) of the first cloud environment;

detecting in the received information a plurality of object identifiers, each object identifier of the plurality of object identifiers corresponding to an object deployed in the first cloud environment;

inspecting each object of the plurality of objects of the first cloud environment; and

storing in a graph database a respective node for each object of the plurality of objects, the representation of each node as stored being based on a predefined unified data schema, wherein the predefined unified data schema includes at least a principal data object structure and a resource data object structure.

14 . A system for generating a cybersecurity security graph representing at least one cloud environment, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

receive information from a first cloud environment by querying an application programming interface (API) of the first cloud environment;

detect in the received information a plurality of object identifiers, each object identifier of the plurality of object identifiers corresponding to an object deployed in the first cloud environment;

inspect each object of the plurality of objects from of the first cloud environment; and

store in a graph database a respective node for each object of the plurality of objects, the representation of each node as stored being based on a predefined unified data schema, wherein the predefined unified data schema includes at least a principal data object structure and a resource data object structure.

15 . The system of claim 14 , wherein the memory contains further instructions that when executed by the processing circuitry further configure the system to:

inspect the at least an object, wherein the at least an object is a workload, for at least an additional object;

generate a node in the graph database corresponding to the at least an additional object; and

generating a vertex connecting the at least an object to the at least additional object, wherein the vertex indicates that the at least an additional object is a child node of the at least an object.

16 . The system of claim 15 , wherein the workload is any one of: a virtual machine, a software container, and a serverless function, and wherein the at least an additional object is any one of: a virtual machine, a network object, an identity object, and an application.

17 . The system of claim 14 , wherein the memory contains further instructions that when executed by the processing circuitry further configure the system to: receive information from a plurality of first cloud environments, wherein a cloud environment of the first plurality of cloud environments is implemented by a first cloud computing infrastructure, and a second cloud environment is implemented by a second cloud computing infrastructure, which is different from the first cloud computing infrastructure.

18 . The system of claim 14 , wherein the memory contains further instructions that when executed by the processing circuitry further configure the system to:

receive a policy from the first cloud environment, wherein the policy includes at least a rule for a principal accessing a resource; and

generate an enrichment data layer based on the received policy.

19 . The system of claim 18 , wherein the memory contains further instructions that when executed by the processing circuitry further configure the system to:

generate a principal node in the graph database corresponding to the principal;

generate a resource node in the graph database corresponding to the resource; and

generate a vertex in the graph database connecting the principal node to the 22 resource node, wherein the vertex indicates a type of access.

20 . The system of claim 14 , wherein the memory contains further instructions that when executed by the processing circuitry further configure the system to:

generate a vulnerability node in the graph database representing a vulnerability, including data pertaining to the vulnerability; and

connect a plurality of nodes from the graph database to the vulnerability.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2021
From: BERKOVITZ, AVIHAI; HERZBERG, RAAZ; LUTTWAK, AMI; REZNIK, ROY; KEREN, SHAI; COSTICA, YINON
To: WIZ, INC.
Reel/Frame 058089/0832 →
References Cited (34)
US 8813234B1 · Bowers et al. · 2014 [cited by applicant]
US 9043922B1 · Dumitras et al. · 2015 [cited by applicant]
US 9239745B1 · Pennington et al. · 2016 [cited by applicant]
US 9298927B2 · Lietz et al. · 2016 [cited by applicant]
US 9843598B2 · Chauhan et al. · 2017 [cited by applicant]
US 10482245B2 · El-Moussa et al. · 2019 [cited by applicant]
US 10503904B1 · Singh et al. · 2019 [cited by applicant]
US 10558809B1 · Joyce et al. · 2020 [cited by applicant]
US 10747886B2 · El-Moussa et al. · 2020 [cited by applicant]
US 10924503B1 · Pereira et al. · 2021 [cited by applicant]
US 11546767B1 · Shaw et al. · 2023 [cited by applicant]
US 20060037019A1 · Austin · 2006 [cited by examiner]
US 20120054368A1 · Brown et al. · 2012 [cited by applicant]
US 20130031628A1 · Wang et al. · 2013 [cited by applicant]
US 20140157363A1 · Banerjee · 2014 [cited by applicant]
US 20150033351A1 · Oliphant et al. · 2015 [cited by applicant]
US 20160381030A1 · Chillappa et al. · 2016 [cited by applicant]
US 20160381060A1 · Floering · 2016 [cited by applicant]
US 20170034023A1 · Nickolov et al. · 2017 [cited by applicant]
US 20170270295A1 · Park et al. · 2017 [cited by applicant]
US 20180173502A1 · Biskup et al. · 2018 [cited by applicant]
US 20190087368A1 · Bhandari et al. · 2019 [cited by applicant]
US 20190207985A1 · Yuan · 2019 [cited by examiner]
US 20190258525A1 · Glenn et al. · 2019 [cited by applicant]
US 20190324820A1 · Krishnan et al. · 2019 [cited by applicant]
US 20190354906A1 · Stanciu · 2019 [cited by examiner]
US 20200382363A1 · Woolward · 2020 [cited by examiner]
US 20210176317A1 · Yeoh · 2021 [cited by examiner]
US 20210226980A1 · Riccetti et al. · 2021 [cited by applicant]
US 20220083536A1 · Hogan · 2022 [cited by examiner]
US 20220368702A1 · Robbins · 2022 [cited by examiner]
US 20220399120A1 · Godden · 2022 [cited by examiner]
US 20230011397A1 · Panse et al. · 2023 [cited by applicant]
US 20230012202A1 · Wu · 2023 [cited by examiner]
Cited By (2)
US 12,683,989 US 12,693,881