The present disclosure relates generally to cybersecurity and, in particular, to techniques for multi-tenant agentless vulnerability scanning through unified identity mapping.
As users migrate data storage, processing, and management tasks to decentralized, off-location devices, platforms, and services, the limitations of such devices, platforms, and services, also referred to as cloud environments, platforms, and the like, may impact a user's data operations. Specifically, vulnerabilities within cloud-deployed resources and processes may present unique challenges requiring remediation. Due to the scale and structure of cloud systems, detection of workload vulnerabilities, which detection may be readily-provided in non-cloud deployments, may require numerous, complex tools and operations.
Current solutions to cloud workload vulnerability scanning challenges require the deployment of specialized tools, including scanning agents directed to maintenance of virtual machines (VMs), where operation and maintenance of such tools may be costly, time-consuming, or both. Agent-dependent processes fail to provide for scanning of containers, such as containers managed using Kubernetes®, and other, like, container-management platforms, and may fail to provide for coverage of serverless applications. Existing agent-implementation processes or solutions fail to provide for full cloud workload vulnerability scanning, additional methods, such as snapshot-based scanning, may supplement implemented solutions.
Additionally, many organizations prefer not to be constrained by a single cloud architecture, and utilize cloud computing environments across multiple cloud architectures. For example, an organization may have a first cloud computing environment deployed using Google® Cloud Platform (GCP), a second cloud computing environment deployed using Amazon® Web Services (AWS), and so on.
While this allows an organization to enjoy the benefits of each different architecture, it presents a new type of management problem. Users require different user accounts, for example, to access the resources of each cloud environment. Managing user accounts and service accounts can rapidly become a complex problem, especially in a large organization which further provides access to internal resources to third party applications, vendors, and the like.
It would, therefore, be advantageous to provide a solution that would overcome the challenges noted above.
A summary of several example embodiments of the disclosure follows. This summary is provided for the convenience of the reader to provide a basic understanding of such embodiments and does not wholly define the breadth of the disclosure. This summary is not an extensive overview of all contemplated embodiments and is intended to neither identify key or critical elements of all embodiments nor to delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented later. For convenience, the term “some embodiments” or “certain embodiments” may be used herein to refer to a single embodiment or multiple embodiments of the disclosure.
Certain embodiments disclosed herein include a method for generating a security graph utilizing a unified model based on multiple cloud computing environments. The method comprises: receiving data from a first cloud computing environment pertaining to: a plurality of resources, a plurality of principals, and a plurality of permissions; generating for each resource of the plurality of resources a corresponding resource node in the security graph based on the unified model, the corresponding resource node including an identifier of the resource, wherein the resource is a cloud entity deployed in the first cloud computing environment; generating for each principal of the plurality of principals a corresponding principal node in the security graph based on the unified model, the corresponding principal node including an identifier of the principal, wherein the principal is a cloud entity in the first cloud computing environment that generate a request for an operation in the first cloud computing environment; and generating a connection between at least a principal node and at least a resource node in the security graph, in response to detecting a permission indicating that a principal corresponding to the at least a principal node can access a resource corresponding to the at least a resource node.
Certain embodiments disclosed herein include a non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to perform a process for generating a security graph utilizing a unified model based on multiple cloud computing environments. The process includes: receiving data from a first cloud computing environment pertaining to: a plurality of resources, a plurality of principals, and a plurality of permissions; generating for each resource of the plurality of resources a corresponding resource node in the security graph based on the unified model, the corresponding resource node including an identifier of the resource, wherein the resource is a cloud entity deployed in the first cloud computing environment; generating for each principal of the plurality of principals a corresponding principal node in the security graph based on the unified model, the corresponding principal node including an identifier of the principal, wherein the principal is a cloud entity in the first cloud computing environment that generate a request for an operation in the first cloud computing environment; and generating a connection between at least a principal node and at least a resource node in the security graph, in response to detecting a permission indicating that a principal corresponding to the at least a principal node can access a resource corresponding to the at least a resource node.
Certain embodiments disclosed herein include a system for generating a security graph utilizing a unified model based on multiple cloud computing environments. The system comprises a processing circuitry and a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to: receive data from a first cloud computing environment pertaining to a plurality of resources and a plurality of principals of the first cloud computing environment, the data including a plurality of identifiers and a plurality of permissions; generate for each resource of the plurality of resources a corresponding resource node in a unified model graph, the corresponding resource node including an identifier of the resource; generate for each principal of the plurality of principals a corresponding principal node in the unified model graph, the corresponding principal node including an identifier of the principal; and generate a connection between at least a principal node and at least a resource node in the unified model graph, in response to detecting a permission indicating that a principal corresponding to the at least a principal node can access a resource corresponding to the at least a resource node.
The subject matter disclosed herein is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the disclosed embodiments will be apparent from the following detailed description taken in conjunction with the accompanying drawings.
It is important to note that the embodiments disclosed herein are only examples of the many advantageous uses of the innovative teachings herein. In general, statements made in the specification of the present application do not necessarily limit any of the various claimed embodiments. Moreover, some statements may apply to some inventive features but not to others. In general, unless otherwise indicated, singular elements may be in plural and vice versa with no loss of generality. In the drawings, like numerals refer to like parts through several views.
Organizations use multiple cloud computing environments to accomplish tasks and provide services. Each cloud computing environment may be utilized in a different manner, complicating an organization's interaction with them. The disclosure teaches providing a unified model in a security graph consisting of principals acting on resources, and methods of mapping different cloud computing environments to the unified model in the security graph. The unified model provides for a normalized view of an organizations principals and resources across various compute environments. The unified model in the security graph allows, for example, to map identities across cloud computing environments and detect permission escalations.
Some example embodiments include identity mapping to allow detection of vulnerabilities in cloud computing environments. The identity mapping may include mapping principals and resources of each cloud computing environment to a unified model, by accessing data from the environment. Mapping is further based on permissions read from the cloud computing environment. In an embodiment mapping identities includes representing each identity as a node in a security graph. Traversing the security graph allows detection of cybersecurity threats, for example, by detecting permission escalation potential between two or more principal nodes.
In order to decrease complexity of the graph, various optimizations, such as utilizing maximal biclique, are implemented when generating connections in the graph between principals and resources. The disclosed embodiments allow to decrease memory usage and processing resources, resulting in a system with increased security utilizing less resources than the currently available solutions.
However, utilizing different cloud environments may lead to complicated security policies, which in turn can present vulnerabilities for an organization. In order to at least minimize these risks, it would be beneficial to have a single normalized model for all cloud environments. Such a single normalized model would allow to identify where potential threats and risks are.
Generally, every cloud computing environment includes principals, which act on resources. A principal is a cloud entity which can generate a request for an action or operation to occur in the cloud environment, where the action or operation involves a resource. In an embodiment a principal may be implemented as a cloud entity having an identifier (e.g., email address) associated with a set of permissions. A permission may allow the principal to generate service requests in the cloud environment. A principal may be a user account, service account, role, and the like, while a resource may be a virtual machine, container, serverless function, and the like. Each cloud environment may include different definitions and structures for what constitutes a principal or a resource. For example, in some cloud computing environments code may execute as a user account rather than a service account, while in others code can only execute as a service account.
As demonstrated in
A second type of cloud environment 120 includes a plurality of user accounts 124, a plurality of resources 126, and an API server 122. The API server 122 may provide upon request data including user accounts, applications, resources, and relationships (i.e., permissions) between them. For example, the second type of cloud environment may be a GCP type cloud environment.
Each of the cloud environments 110 and 120 are connected to a unifying identity mapper 130 over a network (not shown). A cloud environment may be, for example, Amazon® Web Services (AWS), Google® Cloud Platform, Microsoft® Azure, and the like. The first and second cloud environments 110, 120 may be the same type of cloud environment, or different types of cloud environments. For example, a first cloud environment may be spun up in AWS, while the second cloud environment is spun up in Azure. As another example, the first and second cloud environments 110, 120 may be both spun up in AWS, as separate environments under the same cloud computing architecture, e.g. utilizing a first VPC for the first cloud environment 110 and a second VPC for the second cloud environment 120.
In some embodiments, the unifying identity mapper (“mapper 130”) may reside in the first cloud environment 110, the second cloud environment 120, or a different networked or cloud computing environment. The mapper 130 is configured to receive from each cloud environment data pertaining to cloud entities, such as users, resources, roles, policies, permissions, and the like. Receiving such data may be different based on the cloud environment architecture. For example, Google® Cloud Platform provides such information by accessing an API, which may be queried to receive text based policies, a list of user accounts, a list of service accounts, a combination thereof, and the like.
In an embodiment, the mapper 130 is configured to call the API with a request to receive the data. As another example, AWS provides policies which may be requested as JSON files. The mapper 130 is further configured to read the data from, for example, the JSON file and map the read (or received) data into a unified model of a security graph. Mapping the received data may include generating nodes in a security graph representing principals and resources, and connecting the nodes based on permissions which are read from the received data. This is discussed in more detail in
Each identity 210 may be connected to a plurality of attributes, such as a first attribute 212, a second attribute 214, and third attribute 216. While three attributes are used in this example, it is readily understood that any number of attributes may define an identity node, and that each identity node may be defined by one or more attributes. An attribute may be metadata. For example, a role may be an attribute of an identity node.
At S310, data is received from at least a first cloud environment. In certain embodiments, data may be received from a plurality of first cloud environments. In some embodiments, data may be further received from a second cloud environment. The second cloud environment may be different from the first cloud environment. For example, the first cloud environment may be an AWS-type cloud environment, while the second cloud environment may be an Azure-type cloud environment. Data may include any information relating to principals, resources, and connections between principals and resources. For example, data may be received by querying an API of a cloud environment to receive user account information, service account information, policies, and the like.
A principal is a cloud entity which can generate a request for an action or operation to occur in the cloud environment, where the action or operation involves a resource. In an embodiment a principal may be implemented as a cloud entity having an identifier (e.g., email address) associated with a set of permissions. A permission may allow the principal to generate service requests in the cloud environment. A principal may be a user account, service account, role, and the like. For example, a role is a set of one or more permissions which may be associated with one or more user accounts. Permissions may be defined, for example, by a policy. A policy may be, for example, a JSON file including therein text which indicates what certain permissions are.
A resource is a cloud entity which includes compute elements, such as storage, memory, parallel processor, linear processor, a combination thereof, and the like. In an embodiment a resource may be, for example, a virtual machine, a container, a serverless function, a bucket, a WAF (Web Application Firewall), a gateway, a proxy server, an application, an appliance, a database, and the like.
At S320, each principal from the first cloud environment is mapped to a corresponding principal node of a security graph using a unified model. In an embodiment, this is performed by generating the principal node in the security graph based on the unified model and associating the principal node with the principal (e.g., associating the principal node with an identifier of the principal). In an embodiment a unified model is a data structure template including a plurality of principal attributes, such that a data structure may be generated for each principal, and at least a portion of the plurality of attributes may have values generated based on attributes of the principal.
A principal node may be, for example, an identity node. For example, a user account is a principal, and the user account is mapped to a principal node representing the user account. The security graph may further store as attributes metadata associated with the user account, such as a username, account type, role, and the like. In an embodiment, a principal from a first cloud environment and a principal from a second cloud environment may be each mapped to a corresponding first and second principal nodes. The first and second principal nodes may be connected to an entity node. This may indicate, for example, that a single entity (e.g., human user) is associated with a user account represented by the first principal node, and a user account represented by the second principal node. Connecting the first and second principal nodes to the entity node may be based on performing a match between attribute values. An attribute may be, for example, a username, email address, role (e.g., admin, root, etc.), and the like. A resource such as a serverless function, is mapped to a resource node representing the serverless function. The security graph may further store for the resource node metadata such as IP address, name, etc.
At S330, each resource from the first cloud environment is mapped to a corresponding resource node of the unified model of the security graph. In an embodiment, this is performed by generating the resource node and associating it with the resource (e.g., associating the resource node with a unique identifier of the resource). The generated nodes may include information which points to the identity/resource to which they are mapped, thereby enabling a trace between the representation (e.g., principal node) and the represented object (specific username). In some embodiments, an entity in a cloud environment may be a principal, and also a resource to other principals. For example, a load balancer may be a resource for a user account, but a principal for a web server which utilizes the load balancer.
At S340 a connection is determined for each principal node to at least another node. The at least another node may be a resource node, or another principal node, such as a role node. A role node is associated with a specific role (i.e., set of one or more permissions relating to a resource). In an embodiment, the connection to a principal node is determined based on a permission allowed to the principal node. In an embodiment, determining a connection may include reading data from a security policy in order to determine if a permission exists to allow communication between the principal node and another principal node, a resource node, a combination thereof, and the like.
At S350 the nodes and connections are stored in the security graph. Storing the nodes and connections (also referred to as edges) in the security graph may include generating in the security graph a data structure based on a template of a unified model, and updating a graph database containing therein the security graph based on the generated data structure. A template may include data attributes. In an embodiment, the unified model includes a plurality of templates, each template corresponding to a cloud entity.
A unified model is useful, for example, for normalizing different cloud infrastructures, which may represent principals, resources, and the like in different ways. For example, a user account may be implemented utilizing different technology stacks in AWS or GCP, especially when taking into account associating permissions, roles, policies, and the like, with a user account. By representing all user accounts using a unified data structure in a security graph, a user querying the graph can get visibility into an organization's entire technology stack, regardless of what cloud infrastructures are used to implement it. Additionally, the methods disclosed herein provide for populating this unified model from multiple cloud environments in an efficient manner in terms of computation (i.e., processor) use, memory use, and storage use. Another advantage of storing a representation of multiple cloud environments using a unified model according to the teachings herein is in allowing to store a single representation (i.e., single graph for all cloud environments) rather than store multiple representations in multiple different systems. Therefore, memory and storage are utilized in a more efficient manner.
A naïve approach for determining effective permission would be to determine for each principal represented in the security graph each possible interaction with each resource. However, for typical cloud environments, this can lead to large and complicated calculations, thus requiring large compute and memory resources to accomplish, and in most cases, it is not a feasible solution. An optimization is therefore proposed.
At S410, a first group of a plurality of principals is detected in a security graph. Detecting a group of principals may be performed, for example, by utilizing maximal bicliques. A biclique is a bipartite graph where every node of the first set (principals) is connected to every node of the second set (resources). A biclique is maximal when it is the largest size, based on number of nodes or number of edges. The security graph may be generated for example as detailed in
At S420, one or more permissions are determined for a first principal of the first group. The one or more permissions may be associated with one or more resources. For example, a first permission set (i.e., role) may be associated with a first resource, a second permission set may be associated with a second resource, and so on. In an embodiment, determining the one or more permissions may be performed by querying the security graph to determine what nodes of roles, permissions, policies, and the like, a principal node representing the first principal is connected to.
At S430, the first group of principals is associated with the determined one or more permissions. By associating all the principals based on determining permissions for a single principal, many redundant calculations are spared, thereby reducing compute and memory required for storing the redundant information. For example, a node representing the determined one or more permissions (permission node) may be generated in the security graph. Nodes representing the first group of principals may be connected to the permission node, thereby associating the first group of principals with the permissions. This approach means permissions do not have to be determined for each and every principal, resulting in less processing. Further, by representing permissions as a node, the graph is more compact as less memory is used, since redundant data (i.e., repeating permissions) is not stored.
As stated above, a naïve approach would be to determine for each resource in the graph each possible interaction with each principal and resource. However, for typical cloud environments, this can lead to a large and complicated calculations, thus requiring large compute and memory resources to accomplish, and in most cases, it is not a feasible solution. An optimization is therefore proposed.
At S510, a first group of a plurality of resources is detected in a security graph. Detecting a group of resources may likewise be performed, for example, by utilizing maximal bicliques. As noted above, a biclique is a bipartite graph where every node of the first set (principals) is connected to every node of the second set (resources). A biclique is maximal when it is the largest size based on number of nodes or number of edges.
At S520, one or more permissions are determined for a first resource of the first group. In an embodiment, a permission is determined for a first resource by performing a search of one or more policies to detect a policy which is applied to the first resource. A policy may include a permission (e.g., ability to write to the resource) and a condition specifying what principal(s) or principal type (e.g., role) may utilize the permission. The one or more permissions may be associated with one or more resources or principals. For example, a first permission set (i.e., role) may be associated with a first resource, a second permission set may be associated with a second resource, and the like.
A permission may be, for example, permission to read data from a storage, and permission to write data to the storage. For example, a first group may have permission to read from the storage, while a second group may have permissions to read and write to the storage. As another example, a user may have permission to write to a first storage of a distributed storage system, which includes multiple storage devices. As the multiple storage devices share a common policy, the user has permission to write to any of the multiple storage devices. By grouping the storage devices, less memory is required to indicate that the user account has permission to write to any of the multiple storage devices.
At S530, the first group of resources is associated with the determined one or more permissions. By associating all the resources based on determining permissions for a single resource, many redundant calculations are spared, thereby reducing compute and memory required for storing the redundant information. For example, the first resource 230 and second resource 240 of
At S610, a second principal node is detected for a first principal node. The first principal node is able to assume the second principal node. That is, the first principal node may act as the second principal nodes, in some, or all aspects, meaning the first principal node may request actions or generate instructions which are not permitted to the first principal, but are permitted to the second principal. Permissions of a node may change when acting through another. For example, an application may have permission to perform a wide variety of operations in a cloud environment. However, a user account operating the application may only access limited permissions of all the permissions available to the application.
At S620, a permission escalation event is detected based on determined permissions of the first principal node and the second principal node. In an embodiment, detecting a permission escalation event may occur when an access occurs which involves a principal which is not authorized for the access. This detection is possible by tracing the connection between the access and the principal, utilizing the security graph (e.g., traversing the graph between nodes) as described above.
At S630, upon detection of permission escalation events, one or more permissions associated with the principal may be revoked to prevent the escalation. In another embodiment, a notification may be generated to an administrator account to notify that a potential permission escalation may occur.
The processing element 710 is coupled via a bus 705 to a memory 720. The memory 720 may include a memory portion 722 that contains instructions that when executed by the processing element 710 performs the method described in more detail herein. The memory 720 may be further used as a working scratch pad for the processing element 710, a temporary storage, and others, as the case may be. The memory 720 may be a volatile memory such as, but not limited to random access memory (RAM), or non-volatile memory (NVM), such as, but not limited to, Flash memory.
The processing element 710 may be coupled to a network interface controller (NIC) 730, which provides connectivity to one or more cloud computing environments, via a network.
The processing element 710 may be further coupled with a storage 740. Storage 740 may be used for the purpose of holding a copy of the method executed in accordance with the disclosed technique. The storage 740 may include a storage portion 745 containing a graph model into which principals and resources of a cloud environment are mapped to corresponding nodes, and connections between the nodes are determined based on data received from the cloud environment indicating permissions of each principal to act on one or more resources.
The processing element 710 and/or the memory 720 may also include machine-readable media for storing software. Software shall be construed broadly to mean any type of instructions, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Instructions may include code (e.g., in source code format, binary code format, executable code format, or any other suitable format of code). The instructions, when executed by the one or more processors, cause the processing system to perform the various functions described in further detail herein.
The various embodiments disclosed herein can be implemented as hardware, firmware, software, or any combination thereof. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage unit or computer readable medium consisting of parts, or of certain devices and/or a combination of devices. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (CPUs), a memory, and input/output interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU, whether or not such a computer or processor is explicitly shown. In addition, various other peripheral units may be connected to the computer platform, such as an additional data storage unit and a printing unit. Furthermore, a non-transitory computer readable medium is any computer readable medium except for a transitory propagating signal.
As used herein, the phrase “at least one of” followed by a listing of items means that any of the listed items can be utilized individually, or any combination of two or more of the listed items can be utilized. For example, if a system is described as including “at least one of A, B, and C,” the system can include A alone; B alone; C alone; A and B in combination; B and C in combination; A and C in combination; or A, B, and C in combination.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the disclosed embodiment and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the disclosed embodiments, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
This application claims the benefit of U.S. Provisional Application No. 63/222,709 filed on Jul. 16, 2021, the contents of which are hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
6910132 | Bhattacharya | Jun 2005 | B1 |
7627652 | Commons et al. | Dec 2009 | B1 |
7784101 | Verbowski et al. | Aug 2010 | B2 |
8200965 | Fujibayashi et al. | Jun 2012 | B2 |
8352431 | Protopopov et al. | Jan 2013 | B1 |
8412688 | Armangau et al. | Apr 2013 | B1 |
8413239 | Sutton | Apr 2013 | B2 |
8417967 | Foster et al. | Apr 2013 | B2 |
8499354 | Satish et al. | Jul 2013 | B1 |
8595822 | Schrecker et al. | Nov 2013 | B2 |
8701200 | Naldurg et al. | Apr 2014 | B2 |
8789049 | Hutchins et al. | Jul 2014 | B2 |
8813234 | Bowers et al. | Aug 2014 | B1 |
8898481 | Osburn et al. | Nov 2014 | B1 |
8914406 | Haugsnes | Dec 2014 | B1 |
9009836 | Yarykin et al. | Apr 2015 | B1 |
9094379 | Miller | Jul 2015 | B1 |
9119017 | Sinha | Aug 2015 | B2 |
9165142 | Sanders et al. | Oct 2015 | B1 |
9172621 | Dippenaar | Oct 2015 | B1 |
9185136 | Dulkin et al. | Nov 2015 | B2 |
9330273 | Khetawat et al. | May 2016 | B2 |
9369433 | Paul | Jun 2016 | B1 |
9419996 | Porat | Aug 2016 | B2 |
9438634 | Ross et al. | Sep 2016 | B1 |
9467473 | Jayaraman | Oct 2016 | B2 |
9544327 | Sharma et al. | Jan 2017 | B1 |
9563385 | Kowalski et al. | Feb 2017 | B1 |
9569328 | Pavlov et al. | Feb 2017 | B2 |
9582662 | Messick et al. | Feb 2017 | B1 |
9596235 | Badam et al. | Mar 2017 | B2 |
9607104 | Turner et al. | Mar 2017 | B1 |
9646172 | Hahn | May 2017 | B1 |
9661009 | Karandikar et al. | May 2017 | B1 |
9672355 | Titonis et al. | Jun 2017 | B2 |
9712503 | Ahmed | Jul 2017 | B1 |
9892261 | Joram et al. | Feb 2018 | B2 |
10002247 | Suarez et al. | Jun 2018 | B2 |
10032032 | Suarez et al. | Jul 2018 | B2 |
10135826 | Reddy | Nov 2018 | B2 |
10229125 | Goodman et al. | Mar 2019 | B2 |
10255370 | Carpenter et al. | Apr 2019 | B2 |
10360025 | Foskett et al. | Jul 2019 | B2 |
10412103 | Haugsnes | Sep 2019 | B2 |
10412109 | Loureiro et al. | Sep 2019 | B2 |
10459664 | Dreier et al. | Oct 2019 | B1 |
10536471 | Derbeko et al. | Jan 2020 | B1 |
10540499 | Wailly et al. | Jan 2020 | B2 |
10552610 | Vashisht et al. | Feb 2020 | B1 |
10554507 | Siddiqui et al. | Feb 2020 | B1 |
10567468 | Perlmutter | Feb 2020 | B2 |
10572226 | Biskup et al. | Feb 2020 | B2 |
10574675 | Peppe et al. | Feb 2020 | B2 |
10623386 | Bernat et al. | Apr 2020 | B1 |
10630642 | Clark et al. | Apr 2020 | B2 |
10664619 | Marelas | May 2020 | B1 |
10691636 | Tabaaloute et al. | Jun 2020 | B2 |
10721260 | Schlarp et al. | Jul 2020 | B1 |
10725775 | Suarez et al. | Jul 2020 | B2 |
10735430 | Stoler | Aug 2020 | B1 |
10735442 | Swackhamer | Aug 2020 | B1 |
10791138 | Siddiqui et al. | Sep 2020 | B1 |
10803188 | Rajput et al. | Oct 2020 | B1 |
10831898 | Wagner | Nov 2020 | B1 |
10915626 | Tang et al. | Feb 2021 | B2 |
10924503 | Pereira et al. | Feb 2021 | B1 |
10972484 | Swackhamer | Apr 2021 | B1 |
10997293 | Wiest et al. | May 2021 | B2 |
11005860 | Glyer et al. | May 2021 | B1 |
11016954 | Babocichin et al. | May 2021 | B1 |
11044118 | Reed et al. | Jun 2021 | B1 |
11055414 | Claes | Jul 2021 | B2 |
11064032 | Yang et al. | Jul 2021 | B1 |
11099976 | Khakare et al. | Aug 2021 | B2 |
11102231 | Kraning et al. | Aug 2021 | B2 |
11165652 | Byrne | Nov 2021 | B1 |
11245730 | Bailey | Feb 2022 | B2 |
11271961 | Berger et al. | Mar 2022 | B1 |
11334670 | Franco et al. | May 2022 | B2 |
11366897 | Ramanathan et al. | Jun 2022 | B1 |
11388183 | Hoopes et al. | Jul 2022 | B2 |
11405426 | Nguyen | Aug 2022 | B2 |
11444974 | Shakhzadyan et al. | Sep 2022 | B1 |
11483317 | Bolignano et al. | Oct 2022 | B1 |
11496498 | Wright et al. | Nov 2022 | B2 |
11496519 | Gupta et al. | Nov 2022 | B1 |
11503063 | Rao et al. | Nov 2022 | B2 |
11507672 | Pagnozzi et al. | Nov 2022 | B1 |
11516222 | Srinivasan et al. | Nov 2022 | B1 |
11520907 | Borowiec et al. | Dec 2022 | B1 |
11546360 | Woodford et al. | Jan 2023 | B2 |
11556659 | Kumar et al. | Jan 2023 | B1 |
11558401 | Vashisht et al. | Jan 2023 | B1 |
11558423 | Gordon et al. | Jan 2023 | B2 |
11567751 | Cosentino et al. | Jan 2023 | B2 |
11570090 | Shen et al. | Jan 2023 | B2 |
11575696 | Ithal et al. | Feb 2023 | B1 |
11614956 | Tsirkin et al. | Mar 2023 | B2 |
11645390 | Vijayvargiya et al. | May 2023 | B2 |
11662928 | Kumar et al. | May 2023 | B1 |
11663340 | Wu et al. | May 2023 | B2 |
11669386 | Abrol | Jun 2023 | B1 |
11700233 | St. Pierre | Jul 2023 | B2 |
11750566 | Montilla Lugo | Sep 2023 | B1 |
11757844 | Xiao | Sep 2023 | B2 |
11770398 | Erlingsson | Sep 2023 | B1 |
11792284 | Nanduri et al. | Oct 2023 | B1 |
11799874 | Lichtenstein et al. | Oct 2023 | B1 |
11803766 | Srinivasan | Oct 2023 | B1 |
11841945 | Fogel et al. | Dec 2023 | B1 |
11914707 | Ramanathan et al. | Feb 2024 | B1 |
11922220 | Haghighat et al. | Mar 2024 | B2 |
11936785 | Shemesh et al. | Mar 2024 | B1 |
12019770 | Nilsson et al. | Jun 2024 | B2 |
12050696 | Pieno et al. | Jul 2024 | B2 |
12058177 | Crabtree et al. | Aug 2024 | B2 |
20030188194 | Currie et al. | Oct 2003 | A1 |
20030217039 | Kurtz et al. | Nov 2003 | A1 |
20050050365 | Seki et al. | Mar 2005 | A1 |
20050251863 | Sima | Nov 2005 | A1 |
20050283645 | Turner et al. | Dec 2005 | A1 |
20070271360 | Sahita et al. | Nov 2007 | A1 |
20080075283 | Takahashi | Mar 2008 | A1 |
20080221833 | Brown et al. | Sep 2008 | A1 |
20080307020 | Ko et al. | Dec 2008 | A1 |
20090106256 | Safari et al. | Apr 2009 | A1 |
20090271863 | Govindavajhala et al. | Oct 2009 | A1 |
20100242082 | Keene et al. | Sep 2010 | A1 |
20100281275 | Lee et al. | Nov 2010 | A1 |
20110055361 | Dehaan | Mar 2011 | A1 |
20110276806 | Casper et al. | Nov 2011 | A1 |
20120110651 | Van Biljon et al. | May 2012 | A1 |
20120297206 | Nord et al. | Nov 2012 | A1 |
20130054890 | Desai et al. | Feb 2013 | A1 |
20130124669 | Anderson et al. | May 2013 | A1 |
20130160119 | Sartin | Jun 2013 | A1 |
20130160129 | Sartin | Jun 2013 | A1 |
20140096134 | Barak | Apr 2014 | A1 |
20140115578 | Cooper et al. | Apr 2014 | A1 |
20140237537 | Manmohan | Aug 2014 | A1 |
20140317677 | Vaidya | Oct 2014 | A1 |
20140337613 | Martini | Nov 2014 | A1 |
20150033305 | Shear | Jan 2015 | A1 |
20150055647 | Roberts et al. | Feb 2015 | A1 |
20150163192 | Jain et al. | Jun 2015 | A1 |
20150172321 | Kirti et al. | Jun 2015 | A1 |
20150254364 | Piduri et al. | Sep 2015 | A1 |
20150310215 | McBride et al. | Oct 2015 | A1 |
20150319160 | Ferguson et al. | Nov 2015 | A1 |
20160078231 | Bach et al. | Mar 2016 | A1 |
20160103669 | Gamage et al. | Apr 2016 | A1 |
20160105454 | Li et al. | Apr 2016 | A1 |
20160140352 | Nickolov | May 2016 | A1 |
20160156664 | Nagaratnam et al. | Jun 2016 | A1 |
20160224600 | Munk | Aug 2016 | A1 |
20160299708 | Yang et al. | Oct 2016 | A1 |
20160366185 | Lee et al. | Dec 2016 | A1 |
20170026416 | Carpenter et al. | Jan 2017 | A1 |
20170070506 | Reddy | Mar 2017 | A1 |
20170104755 | Arregoces | Apr 2017 | A1 |
20170111384 | Loureiro et al. | Apr 2017 | A1 |
20170185784 | Madou | Jun 2017 | A1 |
20170187743 | Madou | Jun 2017 | A1 |
20170223024 | Desai | Aug 2017 | A1 |
20170230179 | Mannan et al. | Aug 2017 | A1 |
20170237560 | Mueller et al. | Aug 2017 | A1 |
20170257347 | Yan | Sep 2017 | A1 |
20170285978 | Manasse | Oct 2017 | A1 |
20170034198 | Powers et al. | Dec 2017 | A1 |
20170374136 | Ringdahl | Dec 2017 | A1 |
20180004950 | Gupta et al. | Jan 2018 | A1 |
20180026995 | Dufour et al. | Jan 2018 | A1 |
20180027009 | Santos | Jan 2018 | A1 |
20180063290 | Yang et al. | Mar 2018 | A1 |
20180150412 | Manasse | May 2018 | A1 |
20180159882 | Brill | Jun 2018 | A1 |
20180181310 | Feinberg et al. | Jun 2018 | A1 |
20180191726 | Luukkala | Jul 2018 | A1 |
20180219888 | Apostolopoulos | Aug 2018 | A1 |
20180234459 | Kung | Aug 2018 | A1 |
20180239902 | Godard | Aug 2018 | A1 |
20180260566 | Chaganti et al. | Sep 2018 | A1 |
20180270268 | Gorodissky et al. | Sep 2018 | A1 |
20180278639 | Bernstein et al. | Sep 2018 | A1 |
20180288129 | Joshi et al. | Oct 2018 | A1 |
20180309747 | Sweet et al. | Oct 2018 | A1 |
20180321993 | McClory | Nov 2018 | A1 |
20180341768 | Marshall et al. | Nov 2018 | A1 |
20180359058 | Kurian | Dec 2018 | A1 |
20180359059 | Kurian | Dec 2018 | A1 |
20190007271 | Rickards | Jan 2019 | A1 |
20190043201 | Strong et al. | Feb 2019 | A1 |
20190058722 | Levin et al. | Feb 2019 | A1 |
20190068617 | Coleman et al. | Feb 2019 | A1 |
20190068627 | Thampy | Feb 2019 | A1 |
20190104140 | Gordeychik et al. | Apr 2019 | A1 |
20190116111 | Izard et al. | Apr 2019 | A1 |
20190121986 | Stopel et al. | Apr 2019 | A1 |
20190132350 | Smith et al. | May 2019 | A1 |
20190149604 | Jahr | May 2019 | A1 |
20190166129 | Gaetjen et al. | May 2019 | A1 |
20190171811 | Daniel et al. | Jun 2019 | A1 |
20190191417 | Baldemair | Jun 2019 | A1 |
20190205267 | Richey et al. | Jul 2019 | A1 |
20190207966 | Vashisht et al. | Jul 2019 | A1 |
20190220575 | Boudreau et al. | Jul 2019 | A1 |
20190245883 | Gorodissky et al. | Aug 2019 | A1 |
20190260764 | Humphrey et al. | Aug 2019 | A1 |
20190278928 | Rungta et al. | Sep 2019 | A1 |
20190354675 | Gan et al. | Nov 2019 | A1 |
20190377988 | Qi et al. | Dec 2019 | A1 |
20200007314 | Vouk et al. | Jan 2020 | A1 |
20200007569 | Dodge et al. | Jan 2020 | A1 |
20200012818 | Levin et al. | Jan 2020 | A1 |
20200028862 | Lin | Jan 2020 | A1 |
20200044916 | Kaufman et al. | Feb 2020 | A1 |
20200050440 | Chuppala et al. | Feb 2020 | A1 |
20200082094 | McAllister et al. | Mar 2020 | A1 |
20200106782 | Sion | Apr 2020 | A1 |
20200125352 | Kannan | Apr 2020 | A1 |
20200145405 | Bosch et al. | May 2020 | A1 |
20200244678 | Shua | Jul 2020 | A1 |
20200244692 | Shua | Jul 2020 | A1 |
20200259852 | Wolff | Aug 2020 | A1 |
20200320845 | Livny et al. | Oct 2020 | A1 |
20200336489 | Wuest | Oct 2020 | A1 |
20200382556 | Woolward | Dec 2020 | A1 |
20200387357 | Mathon et al. | Dec 2020 | A1 |
20200389431 | St. Pierre | Dec 2020 | A1 |
20200389469 | Litichever et al. | Dec 2020 | A1 |
20200409741 | Dornemann et al. | Dec 2020 | A1 |
20210014265 | Hadar et al. | Jan 2021 | A1 |
20210026932 | Boudreau et al. | Jan 2021 | A1 |
20210042263 | Zdornov et al. | Feb 2021 | A1 |
20210089662 | Muniswamy-Reddy et al. | Mar 2021 | A1 |
20210105304 | Kraning et al. | Apr 2021 | A1 |
20210144517 | Guim Bernat | May 2021 | A1 |
20210149788 | Downie | May 2021 | A1 |
20210158835 | Hill et al. | May 2021 | A1 |
20210168150 | Ross et al. | Jun 2021 | A1 |
20210176123 | Plamondon | Jun 2021 | A1 |
20210176164 | Kung et al. | Jun 2021 | A1 |
20210185073 | Ewaida et al. | Jun 2021 | A1 |
20210200881 | Joshi et al. | Jul 2021 | A1 |
20210203684 | Maor et al. | Jul 2021 | A1 |
20210211453 | Cooney | Jul 2021 | A1 |
20210216630 | Karr | Jul 2021 | A1 |
20210218567 | Richards et al. | Jul 2021 | A1 |
20210226812 | Park et al. | Jul 2021 | A1 |
20210226928 | Crabtree et al. | Jul 2021 | A1 |
20210234889 | Burle et al. | Jul 2021 | A1 |
20210263802 | Gottemukkula et al. | Aug 2021 | A1 |
20210306416 | Mukhopadhyay et al. | Sep 2021 | A1 |
20210314342 | Oberg et al. | Oct 2021 | A1 |
20210320794 | Auh et al. | Oct 2021 | A1 |
20210329019 | Shua | Oct 2021 | A1 |
20210334386 | AlGhamdi et al. | Oct 2021 | A1 |
20210357246 | Kumar et al. | Nov 2021 | A1 |
20210360032 | Crabtree et al. | Nov 2021 | A1 |
20210368045 | Verma et al. | Nov 2021 | A1 |
20210382995 | Massiglia et al. | Dec 2021 | A1 |
20210382997 | Yi et al. | Dec 2021 | A1 |
20210409486 | Martinez et al. | Dec 2021 | A1 |
20220012771 | Gustafson et al. | Jan 2022 | A1 |
20220030020 | Huffman | Jan 2022 | A1 |
20220053011 | Rao et al. | Feb 2022 | A1 |
20220086173 | Yavo et al. | Mar 2022 | A1 |
20220131888 | Kanso et al. | Apr 2022 | A1 |
20220156396 | Bednash et al. | May 2022 | A1 |
20220179964 | Qiao et al. | Jun 2022 | A1 |
20220182403 | Mistry | Jun 2022 | A1 |
20220188273 | Koorapati et al. | Jun 2022 | A1 |
20220197926 | Passey et al. | Jun 2022 | A1 |
20220210053 | Du | Jun 2022 | A1 |
20220215101 | Rioux et al. | Jul 2022 | A1 |
20220232024 | Kapoor et al. | Jul 2022 | A1 |
20220232042 | Crabtree et al. | Jul 2022 | A1 |
20220247791 | Duminuco et al. | Aug 2022 | A1 |
20220263656 | Moore | Aug 2022 | A1 |
20220284362 | Bellinger et al. | Sep 2022 | A1 |
20220309166 | Shenoy et al. | Sep 2022 | A1 |
20220326861 | Shachar et al. | Oct 2022 | A1 |
20220327119 | Gasper et al. | Oct 2022 | A1 |
20220342690 | Shua | Oct 2022 | A1 |
20220342997 | Watanabe et al. | Oct 2022 | A1 |
20220345481 | Shua | Oct 2022 | A1 |
20220350931 | Shua | Nov 2022 | A1 |
20220357992 | Karpovsky | Nov 2022 | A1 |
20220374519 | Botelho et al. | Nov 2022 | A1 |
20220400128 | Kfir et al. | Dec 2022 | A1 |
20220407841 | Karpowicz | Dec 2022 | A1 |
20220407889 | Narigapalli et al. | Dec 2022 | A1 |
20220413879 | Passey et al. | Dec 2022 | A1 |
20220414103 | Upadhyay et al. | Dec 2022 | A1 |
20220417011 | Shua | Dec 2022 | A1 |
20220417219 | Sheriff | Dec 2022 | A1 |
20230007014 | Narayan | Jan 2023 | A1 |
20230040635 | Narayan | Feb 2023 | A1 |
20230075355 | Twigg | Mar 2023 | A1 |
20230087093 | Ithal et al. | Mar 2023 | A1 |
20230095756 | Wilkinson et al. | Mar 2023 | A1 |
20230110080 | Hen | Apr 2023 | A1 |
20230123477 | Luttwak et al. | Apr 2023 | A1 |
20230125134 | Raleigh et al. | Apr 2023 | A1 |
20230134674 | Quinn et al. | May 2023 | A1 |
20230135240 | Cody et al. | May 2023 | A1 |
20230136839 | Sundararajan et al. | May 2023 | A1 |
20230164148 | Narayan | May 2023 | A1 |
20230164182 | Kothari et al. | May 2023 | A1 |
20230169165 | Williams et al. | Jun 2023 | A1 |
20230171271 | Williams et al. | Jun 2023 | A1 |
20230192418 | Horowitz et al. | Jun 2023 | A1 |
20230208870 | Yellapragada et al. | Jun 2023 | A1 |
20230224319 | Isoyama et al. | Jul 2023 | A1 |
20230231867 | Rampura Venkatachar | Jul 2023 | A1 |
20230237068 | Sillifant et al. | Jul 2023 | A1 |
20230254330 | Singh | Aug 2023 | A1 |
20230297666 | Atamli et al. | Sep 2023 | A1 |
20230325814 | Vijayan et al. | Oct 2023 | A1 |
20230336550 | Lidgi et al. | Oct 2023 | A1 |
20230336578 | Lidgi et al. | Oct 2023 | A1 |
20230376586 | Shemesh et al. | Nov 2023 | A1 |
20240007492 | Shen et al. | Jan 2024 | A1 |
20240037229 | Pabon et al. | Feb 2024 | A1 |
20240045838 | Reiss et al. | Feb 2024 | A1 |
20240073115 | Chakraborty et al. | Feb 2024 | A1 |
20240080329 | Reed et al. | Mar 2024 | A1 |
20240080332 | Ganesh et al. | Mar 2024 | A1 |
20240146818 | Cody et al. | May 2024 | A1 |
20240241752 | Crabtree et al. | Jul 2024 | A1 |
Number | Date | Country |
---|---|---|
4160983 | Apr 2023 | EP |
4254869 | Oct 2023 | EP |
2421792 | Jun 2011 | RU |
10202009702X | Apr 2021 | SG |
Entry |
---|
Ali Gholami; Security and Privacy of Sensitive Data in Cloud Computing: a Survey of Recent Developments; ARIX:2016; pp. 131-150. |
Christos Kyrkou; Towards artificial-intelligence-based cybersecurity for robustifying automated driving systems against camera sensor attacks; IEEE 2020; pp. 476-481. |
Guo, yu et al. Enabling Encrypted Rich Queries in Distributed Key-Value Stores. IEEE Transactions on Parallel and Distributed Systems, vol. 30, Issue: 6. https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8567979 (Year: 2019). |
Henry Hanping Feng; Anomaly Detection Using Call Stack Information; IEEE: Year:2003; pp. 1-14. |
International Search Report for PCT Application No. PCT/IB2022/060940 dated Feb. 1, 2023. The International Bureau of WIPO. |
International Search Report for PCT/IB2023/050848, dated May 9, 2023. International Bureau of WIPO. |
International Search Report of PCT/IB2023/058074, dated Nov. 20, 2023. Searching Authority United States Patent and Trademark Office, Alexandria, Virginia. |
International Search Report, PCT/IB23/55312. ISA/US, Commissioner for Patents, Alexandria, Virginia. Dated Aug. 30, 2023. |
Jordan, M. et al. Enabling pervasive encryption through IBM Z stack innovations. IBM Journal of Research and Development, vol. 62 Issue: 2/3, https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber=8270590 (Year: 2018). |
Kumar, Anuj et al. A New Approach for Security in Cloud Data Storage for IOT Applications Using Hybrid Cryptography Technique. 2020 International Conference on Power Electronics & IoT Applications in Renewable Energy and its Control. https://ieeexplore. ieee.org/stamp/stamp.jsp?tp=&arnumber=9087010 (Year: 2020). |
Leibenger, Dominik et al. EncFS goes multi-user: Adding access control to an encrypted file system. 2016 IEEE Conference on Communications and Network Security (CNS). https://ieeexoplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7860544 (Year: 2016). |
Microsoft Build. “Introduction to Azure managed disks”. Aug. 21, 2023, https://docs.microsoft.com/en-us/azure/virtual-machines/managed-disks-overview. |
Microsoft Docs. “Create a VM from a managed image”. Article. Jan. 5, 2022. https://docs.microsoft.com/en-us/azure/virtual-machines/windows/create-vm-generalized-managed. |
Mishra, Bharati; Jena, Debasish et al. Securing Files in the Cloud. 2016 IEEE International Conference on Cloud Computing in Emerging Markets (CCEM). https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7819669 (Year: 2016). |
No stated author; Downdetector; 2020; retrieved from the Internet https://web.archive.org/web/20201226001244/https://downdetector.com/; pp. 1-8, as printed. (Year: 2020). |
No stated author; How to Run a Ping Test (Windows) 2020; retrieved from the Internet https://web.archive.org/web/20200811194856/https://support.shaw.ca/t5/internet-articles/how-to-run-a-ping-test-windows/ta-p/6677; pp. 1-6 as printed. (Year: 2020). |
No stated author; IsItoownRightNow; 2020; retrieved from the Internet https://web.archive.org/web/20201202121557/https:// www.isitdownrightnow.com/; pp. 1-2 as printed. (Year: 2020). |
Sahil Suneja; Safe Inspection of Live Virtual Machines; IEEE; Year:2017; pp. 97-111. |
Shuvo, Arfatul Mowla et al. Storage Efficient Data Security Model for Distributed Cloud Storage. 2020 IEEE 8th R10 Humanitarian Technology Conference (R10-HTC). https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9356962 (Year: 2020). |
Siqi Ma; Certified Copy? Understanding Security Risks of Wi-Fi Hotspot based Android Data Clone Services; ACM; Year: 2021; pp. 320-331. |
Written Opinion of the International Searching Authority for PCT Application No. PCT/IB2022/060940 dated Feb. 1, 2023. The International Bureau of WIPO. |
Written Opinion of the International Searching Authority, PCT/IB23/55312. ISA/US Commissioner for Patents, Alexandria, Virginia. Dated Aug. 30, 2023. |
Written Opinion of the Searching Authority for PCT/IB2023/050848, dated May 9, 2023. International Bureau of WIPO. |
Written Opinion of the Searching Authority of PCT/IB2023/058074, dated Nov. 20, 2023. Searching Authority United States Patent and Trademark Office, Alexandria, Virginia. |
Zhang et al. BMC Bioinformatics 2014. “On finding bicliques in bipartite graphs: a novel algorithm and its application to the integration of diverse biological data types”. http://www.biomedcentral.com/1471-2105/15/110. |
Chang, Bing et al. MobiCeal: Towards Secure and Practical Plausibly Deniable Encryption on Mobile Devices. 2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN). https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8416506 (Year: 2018). |
Islam, Md Shihabul et al. Secure Real-Time Heterogeneous IoT Data Management System. 2019 First IEEE International Conference on Trust, Privacy and Security in Intelligent Systems and Applications (TPS-ISA). https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9014355 (Year: 2019). |
Safaryan, Olga A et al. Cryptographic Algorithm Implementation for Data Encryption in DBMS MS SQL Server. 2020 IEEE East-West Design & Test Symposium (EWDTS). https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9224775 (Year: 2020). |
Wassermann, Sarah et al. ViCrypt to the Rescue: Real-Time, Machine-Learning-Driven Video-QoE Monitoring for Encrypted Streaming Traffic. IEEE Transactions on Network and Service Management, vol. 17, Issue: 4. https://ieeexplore.ieee.org/stamp/ stamp.jsp?tp=&arnumber=9250645 (Year: 2020). |
Number | Date | Country | |
---|---|---|---|
63222709 | Jul 2021 | US |