Techniques for detecting sensitive data in cloud computing environments utilizing cloning

Information

  • Patent Grant
  • 12287899
  • Patent Number
    12,287,899
  • Date Filed
    Friday, December 29, 2023
    a year ago
  • Date Issued
    Tuesday, April 29, 2025
    7 days ago
Abstract
A system and method for agentless detection of sensitive data in a cloud computing environment is disclosed. The method includes: generating an inspectable disk from a clone of an original disk in a cloud computing environment; inspecting the inspectable disk for a cybersecurity object, the cybersecurity object indicating a sensitive data, the disk deployed in a cloud computing environment; extracting a data schema from the cybersecurity object, in response to detecting the cybersecurity object on the disk; generating a classification of the data schema; detecting in the disk a plurality of data files, each data file including the classified data schema; determining that the data schema corresponds to sensitive data based on the generated classification; generating in a security database: a representation of the data schema, and a representation of each data file; and rendering a visual representation of the cloud computing environment including a representation of the data schema.
Description
TECHNICAL FIELD

The present disclosure relates generally to cybersecurity inspection techniques, and specifically to detecting sensitive data in cybersecurity-monitored computing environments, utilizing disk cloning methods.


BACKGROUND

Many advantages of modern life are possible thanks to solutions provided by various computer related industries. Travel relies on booking software, cross-country and cross-continent accounting is possible due to software solutions, e-commerce allows people to organize a worldwide marketplace to purchase goods and services from anywhere to anywhere, while even national infrastructure such as water, gas, and electricity, are connected to computer networks to efficiently manage the provision of utilities.


Many of these software solutions are deployed on cloud computing infrastructure, such as provided by Amazon® Web Services (AWS), Google® Cloud Platform (GCP), Microsoft® Azure, and the like. Some software solutions are deployed on premises (on-prem), others are deployed using hybrid cloud solutions, while others are deployed on multi-cloud platforms. This allows users and administrators of such solutions to leverage each platform's advantages. However, as these software solutions grow, i.e., provide more services, and more service types, to more users, deployment of such solutions becomes cumbersome. It is not unusual for cloud computing environments deployed on a cloud computing platform to have thousands, and tens of thousands of virtual instances, such as virtual machines, serverless functions, software containers, and the like, utilized to provide the software solution.


Some of these software solutions store sensitive data, such as credit card numbers, social security numbers, physical addresses of individuals, medical data, and more. Sensitive data can be classified as personal identifiable information (PII), personal health information (PHI), and payment card industry (PCI), to name a few examples. While rules and regulations exist to monitor use and storage of such data, such are usually jurisdiction-specific, and only add to the complexity of the software solutions which need to perform this monitoring in order to comply with the various rules and regulations.


While there are solutions which allow visibility into network elements, including types of virtual instances, services, data storages, and the like, such solutions provide an abundance of information which a human is not able to process. For example, where an administrator wishes to find a certain network element, it is not useful to show an abundance of network elements which the administrator then has to sift through. Such solutions provide frustrating user experience, and as a result their usability, i.e., the number of interactions between a human operator and a computing system, drops significantly.


It is beneficial to provide a visualization of where sensitive data is stored and potentially exposed, as humans rely on our sense of vision more than other senses. However, over stimulating this sense results in the human operator ceasing to use the network visibility solution, and therefore leaving sensitive data potentially exposed to cybersecurity attacks.


Furthermore, an administrator does not always necessarily know where sensitive data is stored, as the data may be handled by different users, virtual instances, and the like, across multiple cloud environments. Therefore, marking a certain storage as containing sensitive data and monitoring access to said storage, is insufficient, due to the dynamic nature of cloud computing environments and their usage.


It would therefore be advantageous to provide a solution that would overcome the challenges noted above.


SUMMARY

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.


A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.


In one general aspect, method may include generating an inspectable disk from a clone of an original disk deployed in a cloud computing environment. Method may also include inspecting the inspectable disk for a cybersecurity object, the cybersecurity object indicating a sensitive data, the disk deployed in a cloud computing environment. Method may furthermore include extracting a data schema from the cybersecurity object, in response to detecting the cybersecurity object on the disk. Method may in addition include generating a classification of the data schema. Method may moreover include detecting in the disk a plurality of data files, each data file including the classified data schema. Method may also include determining that the data schema corresponds to sensitive data based on the generated classification. Method may furthermore include generating in a security database: a representation of the data schema, and a representation of each data file. Method may in addition include rendering a visual representation of the cloud computing environment including a representation of the data schema. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.


Implementations may include one or more of the following features. Method may include: inspecting the inspectable disk for a second cybersecurity object, the second cybersecurity object indicating a cybersecurity issue. Method may include: releasing the inspectable disk in response to determining that inspection is complete. Method may include: generating the classification further based on any one of: metadata of a data file, the data schema, a content of a data file, and a combination thereof. Method may include: extracting from a first data file of the plurality of data files: a file header, and a plurality of data blocks. Method where the first data object is a file associated with a distributed database. Method may include: classifying sensitive data further as any one of: personal identifiable information (PII), personal health information (PHI), payment card industry (PCI), and any combination thereof. Method where the cybersecurity object is stored on a storage service of a cloud computing platform on which the cloud computing environment is hosted. Method may include: initiating a mitigation action in response to determining that the data schema of the cybersecurity is classified as sensitive data. Method where the mitigation action further comprises: initiating the mitigation action in response to determining that the cybersecurity object is deployed on a workload in the cloud computing environment which is unauthorized for storing sensitive data. Method where initiating the mitigation action further comprises: generating an instruction which, when executed configures a storage service to delete the cybersecurity object. Implementations of the described techniques may include hardware, a method or process, or a computer tangible medium.


In one general aspect, non-transitory computer-readable medium may include one or more instructions that, when executed by one or more processors of a device, cause the device to: generate an inspectable disk from a clone of an original disk deployed in a cloud computing environment. Medium may furthermore inspect the inspectable disk for a cybersecurity object, the cybersecurity object indicating a sensitive data, the disk deployed in a cloud computing environment. Medium may in addition extract a data schema from the cybersecurity object, in response to detecting the cybersecurity object on the disk. Medium may moreover generate a classification of the data schema. Medium may also include detect in the disk a plurality of data files, each data file including the classified data schema. Medium may furthermore determine that the data schema corresponds to sensitive data based on the generated classification. Medium may in addition generate in a security database: a representation of the data schema, and a representation of each data file. Medium may moreover render a visual representation of the cloud computing environment including a representation of the data schema. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.


In one general aspect, system may include a processing circuitry. System may also include a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to: generate an inspectable disk from a clone of an original disk deployed in a cloud computing environment. System may in addition inspect the inspectable disk for a cybersecurity object, the cybersecurity object indicating a sensitive data, the disk deployed in a cloud computing environment. System may moreover extract a data schema from the cybersecurity object, in response to detecting the cybersecurity object on the disk. System may also generate a classification of the data schema. System may furthermore detect in the disk a plurality of data files, each data file including the classified data schema. System may in addition determine that the data schema corresponds to sensitive data based on the generated classification. System may moreover generate in a security database: a representation of the data schema, and a representation of each data file. System may also render a visual representation of the cloud computing environment including a representation of the data schema. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.


Implementations may include one or more of the following features. System where the memory contains further instructions which when executed by the processing circuitry further configure the system to: inspect the inspectable disk for a second cybersecurity object, the second cybersecurity object indicating a cybersecurity issue. System where the memory contains further instructions which when executed by the processing circuitry further configure the system to: release the inspectable disk in response to determining that inspection is complete. System where the memory contains further instructions which when executed by the processing circuitry further configure the system to: generate the classification further based on any one of: metadata of a data file, the data schema, a content of a data file, and a combination thereof. System where the memory contains further instructions which when executed by the processing circuitry further configure the system to: extract from a first data file of the plurality of data files: a file header, and a plurality of data blocks. System where the first data object is a file associated with a distributed database. System where the memory contains further instructions which when executed by the processing circuitry further configure the system to: classify sensitive data further as any one of: personal identifiable information (PII), personal health information (PHI), payment card industry (PCI), and any combination thereof. System where the cybersecurity object is stored on a storage service of a cloud computing platform on which the cloud computing environment is hosted. System where the memory contains further instructions which when executed by the processing circuitry further configure the system to: initiate a mitigation action in response to determining that the data schema of the cybersecurity is classified as sensitive data. System where the mitigation action further comprises: initiating the mitigation action in response to determining that the cybersecurity object is deployed on a workload in the cloud computing environment which is unauthorized for storing sensitive data. System where the memory contains further instructions that, when executed by the processing circuitry for initiating the mitigation action, further configure the system to: generate an instruction which, when executed configures a storage service to delete the cybersecurity object. Implementations of the described techniques may include hardware, a method or process, or a computer tangible medium.





BRIEF DESCRIPTION OF THE DRAWINGS

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.



FIG. 1 is an example of a network diagram including a cloud computing environment and an inspection environment, implemented in accordance with an embodiment.



FIG. 2 is an example of a schematic illustration of a database inspected by an inspection environment, utilized to describe an embodiment.



FIG. 3 is an example diagram of a virtual machine and a cloned disk thereof, utilized to describe an embodiment.



FIG. 4 is an example flowchart of a method for generating a disk clone of a virtual instance for vulnerability inspection according to an embodiment.



FIG. 5 is an example graph of a security graph representing a portion of a cloud computing environment, implemented in accordance with an embodiment.



FIG. 6 is an example flowchart of a method for clustering data objects on a security graph, implemented in accordance with an embodiment.



FIG. 7 is an example of a flowchart for mitigating a cybersecurity risk caused by sensitive data detected in an unsecure location, implemented in accordance with an embodiment.



FIG. 8 is an example schematic diagram of a data detector according to an embodiment.





DETAILED DESCRIPTION

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.



FIG. 1 is an example of a network diagram including a cloud computing environment and an inspection environment, implemented in accordance with an embodiment. A production cloud computing environment 110 includes a plurality of resources, principals, and the like. According to an embodiment, resources are, for example, virtual instances such as virtual machine 112, software container 114, and serverless function 116.


In an embodiment, a resource is, as another example, an application, such as database application 118. A virtual machine 112 may be implemented for example as an Oracle® VirtualBox®. A software container 114 may be implemented, for example, utilizing a Docker® engine, a Kubernetes® engine, and the like. A serverless function 116 may be implemented, for example, as an Amazon® Lambda function.


In an embodiment, the database 118 includes structured data, unstructured data, a combination thereof, and the like. Structured data may be, for example, a SQL database, a NoSQL database, and the like. A SQL database may be, for example, a MySQL® database, a MongoDB® database, a Redis® database, and the like. A NoSQL database may be, for example, an Apache® Ignite database, an Apache Giraph® database, a Neo4j® database, an Amazon DynamoDB database, an Azure Cosmos DB database, a Google Cloud Datastore, and the like. Unstructured data may be, for example files, folders, and the like, such as JSON files, XML files, and the like.


A production cloud computing environment 110, also referred to as “production environment 110” and “cloud computing environment 110”, is a cloud computing environment where user-ready software is deployed and executed. Software development often includes a development environment, a testing environment, a staging environment, and a production environment. This allows software engineers to ensure that code performs as expected, appliances, virtualizations, and the like, all perform according to set expectations, prior to being deployed in a production environment. This is done in order to prevent obstruction in the production environment, for example by introducing malfunctioning code.


In an embodiment, the production environment 110 is implemented using a VPC on a cloud computing platform such as AWS. In some embodiments, the production environment 110 includes a plurality of cloud computing environments, each implemented on a different cloud computing platform. For example, the production environment 110 includes, in an embodiment, a first cloud computing environment implemented on AWS and a second cloud computing environment implemented on GCP.


The production environment 110 is communicatively coupled with a development cloud computing environment 120, also referred to as dev environment 120 and cloud computing environment 120. In an embodiment, the dev environment 120 is implemented utilizing a VPC on a cloud computing platform such as AWS. In some embodiments, the dev environment 120 includes a plurality of cloud computing environments, each implemented on a different cloud computing platform. For example, the dev environment 120 includes, in an embodiment, a first cloud computing environment implemented on GCP and a second cloud computing environment implemented on AWS.


The dev environment 120 includes a virtual machine 122 which is a counterpart to the virtual machine 112 of the production environment 110, a software container 124 which is a counterpart to the software container 114 of the production environment 110, a serverless function 126 which is a counterpart to the serverless function 116 of the production environment 110, a database 128 which is a counterpart to the database 118 of the production environment 110, and a data file 125.


In an embodiment, the data file 125 is a structured data file, such as an Apache® Parquet file, an Apache ORC file, an Apache Avro file, and the like. In some embodiments, the data file 125 includes a data schema, metadata, a combination thereof, and the like. For example, a data schema, metadata, and the like, can be stored in a header (not shown) of the data file 125.


The dev environment 120 is accessible, for example through an external network (not shown) which provides access to user devices 140-1 through 140-N, individually referred to as user device 140 and generally as user devices 140, where ‘N’ is an integer having a value of ‘1’ or more. A user account associated with a user device 140 may initiate actions in the dev environment 120. For example, the user account may initiate deployment of a virtual machine, initiate the generation of the file 125 (for example by downloading a file from a database and storing it in the dev environment 120), and the like. In an embodiment, a user device is any one of: a laptop, a personal computer, a server, a tablet, and the like.


Certain user accounts and user devices 140, such as user device 140-1 are configured to access the production environment 110 and the dev environment 120. This may lead to contamination of the dev environment 120, for example by a user transferring files from the production environment 110 to the dev environment 120. For example, a user of user device 140-1 may generate a file by accessing a bucket into which database 118 writes sensitive data, such as PII. The user device 140-1 downloads the file to the user device, which may occur for example during testing. Downloading files is often permissible as such files can be utilized for testing purposes (e.g., checking that code processes information correctly), but the files are then not deleted. A user may then inadvertently copy the sensitive data, for example as file 125, to the dev environment 120. A dev environment 120 may have less cybersecurity restrictions in place, which can lead to larger unintentional exposure of sensitive data.


The dev environment 120 and production environment 110 are communicatively coupled with an inspection environment 130. In certain embodiments, the inspection environment 130 is deployed as cloud computing environment on a cloud computing platform, such as a VNet on Azure. In an embodiment, the inspection environment 130 includes a classifier 132, a graph database 134, a data detector 136, and an inspector 138.


A classifier 132 is implemented, in an embodiment, as a workload in a cloud computing environment, such as a virtual machine, software container, serverless function, a combination thereof, and the like. In certain embodiments, the classifier 132 is configured to read data, for example from data file 125, and perform classification on the data to determine if the data is sensitive data or non-sensitive data. In certain embodiments, the classifier 132 is configured to determine if the sensitive data is any one of: PII, PHI, PCI, a combination thereof, and the like.


In an embodiment a classifier 132 is configured to utilize various classification techniques, individually or in combination, such as linear classifiers, quadratic classifiers, decision trees, neural networks, machine learning, and the like. In some embodiments, the classifier 132 is configured to perform natural language processing (NLP) techniques on data, such as Word2Vec. This may be beneficial to determine a distance between, for example, a column name (such as “ccard”) and a predefined term (such as “credit card”), where the predefined term is associated with a data type.


For example, the classifier 132 is configured, in an embodiment, to read a data file, read metadata stored in the data file, and read a data schema stored in the data file. In an embodiment the classifier 132 is further configured to perform classification, NLP, a combination thereof, and the like, on any one of: the data, the metadata, and the data schema.


A security database 134 is configured to store thereon a representation of a computing environment. In an embodiment, the representation is a security graph. An example of a security graph is discussed in more detail in FIG. 5 below. In an embodiment, a security graph includes a representation of a cloud computing environment, such as the production environment 110, the dev environment 120, a combination thereof, and the like.


According to an embodiment, a security graph includes a plurality of nodes. In an embodiment, a node represents a resource, a principal, an enrichment, and the like. For example, the virtual machine 112 may be represented by a first node in the security graph, and the corresponding virtual machine 122 may be represented by a second node in the security graph, which is connected, for example by an edge, to the first node, to indicate that the virtual machine 122 corresponds to the virtual machine 112.


In certain embodiments, a cloud computing environment is represented in the security graph based on a predefined data schema. For example, a data structure may be predefined for a resource, and another data structure may be predefined for a principal. In some embodiments, the predefined data structure for a resource includes a data field which indicates if the resource has stored thereon, has access to, or may otherwise obtain, sensitive data. The data field is implemented, in an embodiment, as a flag, having binary options.


In some embodiments, a data detector 136 is configured to receive a plurality of data files, and determine for example based on an extracted data schema, if the data files are associated with a single data schema. In an embodiment, the data detector 136 is configured to extract a data schema from a data file 125. For example, a data schema of a parquet file may be read by accessing the parquet file and reading the header. In certain embodiments, the data detector 136 is configured to generate an instruction, which when executed by the graph database 134, configures the graph database 134 to generate a node in the security graph which represents a data cluster.


A data cluster as used herein refers to a plurality of data objects, such as data files, which are all based on a single data schema. In certain embodiments, the instruction, when executed, further configures the graph database 134 to generate a connection, for example via an edge, between the node representing the data cluster, and a node representing a data file which has a schema corresponding to the data cluster. In certain embodiment, the instruction may further configure the graph database 134 to generate a node representing the data schema.


In some embodiments, the inspection environment 130 includes an inspector 138. In an embodiment, the inspector 138 is a workload which is configured to inspect a workload deployed in a computing environment for a cybersecurity object. For example, in an embodiment, a cybersecurity object is a secret, a password, a cryptographic key, a certificate, a file, a library, a binary, an application, an operating system, a registry file, a data file, a combination thereof, and the like.


In certain embodiments, the inspector 138 is configured to generate a clone of a disk and inspect the cloned disk for a cybersecurity object. Cloning of a disk for cybersecurity inspection is discussed in more detail below.


While a production environment 110 and a dev environment 120 are discussed in this embodiment, it is readily apparent that the teachings herein apply to other environments utilized for software deployment, such as staging environments and testing environments.



FIG. 2 is an example of a schematic illustration of a database inspected by an inspection environment, utilized to describe an embodiment. A database 210 is deployed in a production environment, such as the production environment 110 of FIG. 1 above. In an embodiment the database 210 is a MySQL database. The database 210 includes a database management system (DBMS) application, a data schema 212, and metadata 214. In an embodiment, the data schema 212 includes a rule which is applied to data received by the database 210 and based upon which the DBMS commits the data to the database.


In an embodiment, a DBMS is configured to commit data to a database 210 by accessing a storage service 220. In certain embodiments a storage service 220 is, for example, Amazon® Simple Storage Service (S3). In an embodiment a storage service 220 utilizes an object storage. For example, the storage service 220 includes, in an embodiment, a plurality of buckets 230-1 through 230-M, individually referenced as storage bucket 230 (or bucket 230), generally referenced as storage buckets 230 (or buckets 230), where ‘M’ is an integer having a value of ‘2’ or greater. In an embodiment, a bucket 230 is an object container. Data is written as objects to the object container, such that each object has a unique identifier of the object in the object container (i.e., bucket).


In certain embodiments, data is written by the DBMS utilizing the storage service 220 to a bucket 230-N. In some embodiments, the data is written in batches, each batch including a data object. For example, the bucket 230-N includes a plurality of data objects 240-1 through 240-M, individually referenced as data object 240, generally referenced as data objects 240, where ‘M’ is an integer having a value of ‘2’ or greater. For example a first data object 240-1 may correspond to the data file 125 of FIG. 1 above.


In some embodiments, the production environment includes a service account 250. The service account 250 is a principal which is configured to access the production environment for inspection purposes, and receives instructions from the inspection environment, for example from the data detector 136. In an embodiment, a data detector 136 generates an instruction which, when executed by the service account 250, configures the service account 250 to access the storage service 220 and retrieve therefrom a data object 240. In some embodiments, the service account 250 is configured to send the data object to the inspection environment, for example to be accessed by the data detector 136, the classifier 132, and the like. In certain embodiments, the service account 250 is configured to receive an instruction from the data detector 136, which when executed configures the service account to access the data object and extract data, a data schema, metadata, combinations thereof, and the like, and send the extracted data, extracted data schema, extracted metadata, and the like to the inspection environment to be accessed, for example, by the data detector 136.



FIG. 3 is an example diagram 300 of a virtual machine 112 and a cloned disk thereof, utilized to describe an embodiment. While an Azure® cloud computing infrastructure is discussed here, it should be understood that the teachings herein apply equally to other cloud computing infrastructures which offer equal functionality. The VM 112 includes a plurality of disks allocated to the VM 112. The VM 112 may be deployed only with an OS disk, with an OS disk and a plurality of data disks, and so on.


In this example embodiment the plurality of disks includes an operating system (OS) disk 302, an optional temporary disk 304, and at least a data disk 306. The OS disk 302 includes a preinstalled OS, such as Microsoft® Windows, or Linux®. The preinstalled OS is in a boot volume of the OS disk 302. The optional temporary disk 304 may be used for storing temporary data, such as page files, swap files, and the like. The data disk 306 may be used for storing an application, application code, libraries, binaries, application data, and the like. In an embodiment, a plurality of data disks 306 may be allocated to the VM 112. In some configurations, a disk of the plurality of disks may be encrypted. For example, the OS disk 302, and the data disk 306 may be encrypted disks. In certain embodiments an encrypted disk is associated with an encryption key which can be used to decrypt the disk. For example, a VM having a Windows® allocated disk may be configured to encrypt a data disk allocated to the VM using BitLocker. A VM having a Linux® allocated disk may be configured to encrypt a data disk allocated to the VM using DM-Crypt®.


The plurality of disks are allocated to the VM 112 by a disk level provisioning 305. In an embodiment, the disk level provisioning 305 is an application deployed in a cloud computing infrastructure. The disk level provisioning 305 provisions hardware resource to the VM 112 which results in allocation of a disk. The hardware resources are provisioned from cloud storage pages 310 of the cloud computing infrastructure. The hardware resources may be solid state device (SSD) storage, hard disk drive (HDD) storage, optical storage, other magnetic storage, and the like. In an example embodiment, the cloud storage pages 310 are Azure page blobs. A page blob is a collection of a pages, each page having a predetermined size. For example, the predetermined size may be 512-bytes per page.


A disk clone 312 (also referred to as cloned disk 312) includes a disk descriptor which includes a reference to an address of a disk of the VM 112. In certain cloud computing infrastructures, when a disk is cloned, a pointer, such as pointer 316 is used to point to an original disk, in this example the data disk 306. In an embodiment, this may be achieved by dereferencing a pointer of the VM 112 which points to the data disk 306, and generating the pointer 316 for the cloned VM 312 to point to the data disk 306. In certain embodiments where a disk is encrypted, a pointer may be generated for the cloned VM 312 to the encryption key.


In an embodiment, the cloning process generates the disk clone 312 as a background process. This is possible due to utilizing diffs. A diff is an additional content that includes the difference between a content at one point in time (e.g., when the original disk was cloned) and a second, later, point in time. Thus, the VM 112 may access the data disk 306 and any diffs generated, or committed, after the disk clone 312 is generated, whereas the disk clone 312 may access only the content of the original data disk 306, and cannot access any diffs generated since.


The cloned disk 312 may then be inspected by an inspector, such as the inspector 138 of the inspection environment 130 of FIG. 1 above. In some embodiments, a cloud computing infrastructure may be divided into regions, corresponding to geographic regions. In such embodiments, cloning a disk may be possible only if the disk clone is in the same region as the original disk from which the clone is generated. In an embodiment an inspection controller is configured to determine if inspecting a virtual instance requires generating a disk clone or a snapshot.


In an embodiment, the determination is performed based on the geographic location of the VM 112, an intended geographic location into which a disk of the VM 112 is cloned, a geographic location of the inspection environment, a number of disks allocated to the virtual instance, or any combination thereof.


By inspecting a cloned disk 312 there is no need to generate a snapshot, which prevents at least some of the deficiencies noted above. Furthermore, cloning is performed on a live virtual instance, which remains live during inspection, as the cloning does not interfere with the virtual instance's operation. Once inspection of the cloned disk 312 is complete, the cloned disk 312 may be spun down, releasing any resources allocated to it, and removing the pointers pointing to the disks of the virtual machine. In an embodiment, the cloned disk 312 may be deleted to accomplish spinning down.



FIG. 4 is an example flowchart 400 of a method for generating a disk clone of a virtual instance for vulnerability inspection according to an embodiment.


At S410, a live virtual instance is detected in a cloud computing environment. A live virtual instance is a virtual instance which, at the time of detection, is deployed in a production environment. A production environment is a cloud computing environment which provides services and resources, for example, to users of the cloud computing environment. This is an environment which is distinct, for example, from a test environment in which applications, appliances, code, and the like, are tested, before being deployed in a production environment for general use.


In an embodiment, an application programming interface (API) of a cloud computing environment may be queried to detect virtual instances deployed therein. In other embodiments, a security graph may be queried to detect virtual instances deployed in the cloud computing environments. The security graph, which includes a representation of the cloud computing environment, may be queried to detect virtual instances based on at least an attribute. The at least an attribute may be, for example, a type of virtual instance (e.g., virtual machine, container, etc.), a region in which the virtual instance is deployed, a tag indicating that the virtual instance should be inspected, and the like.


In an embodiment, detecting a virtual instance further includes determining an identifier of the virtual instance, such as a name, network address, and the like. The identifier may be used to access the virtual instance. The virtual instance includes a disk (also referred to as original disk). In some embodiments, the disk is represented as a node in the security graph, the node connected to another node, the another node representing the virtual instance.


In certain embodiments, detecting a live virtual instance includes receiving an identifier of the live virtual instance, and an instruction to inspect the live virtual instance.


At S420, an instruction is generated which, when executed, configures the cloud computing environment to clone the disk of the virtual instance. In an embodiment, the instruction is generated for execution by an orchestrator of the cloud computing environment in which the virtual instance, also called a parent virtual instance, is deployed. When executed, the instruction configures, for example, the cloud computing environment, to allocate resources to a cloned disk. The cloned disk is an independent copy of the original disk of the parent virtual instance. An independent copy of a disk is a copy which can be deployed and accessed independently of the original disk. This is as opposed to a copy of a virtual instance, such as a snapshot, which requires additional resources allocated in order to deploy.


For example, a snapshot may be generated based off of a single disk of a virtual instance. A new disk (e.g., persistent volume) may be generated based off of the snapshot, and a claim (e.g., persistent volume claim) generated to another virtual instance in order to access data stored on the new disk. Furthermore, a snapshot is only available once the disk is completely copied. In contrast, a clone is available immediately as the operation of generating a disk descriptor is faster than an operation of generating a snapshot. For at least this reason inspection is completed faster.


In certain embodiments, the instruction, when executed, configures the cloud computing environment to generate a cloned disk having a reference, such as a pointer, to the original disk of the parent virtual instance. In some embodiments, the disk is encrypted with an encryption key. The encryption key, as well as the disk, may be dereferenced. Dereferencing an encryption key (or a disk) may include determining where a pointer of the parent virtual instance is pointing to, e.g., the pointer points to a block address of a managed block storage. A new pointer may be stored for the cloned disk which points to the same block address, encryption key, etc. as the dereferenced pointer.


In some embodiments, an optional check is performed to determine if the cloned disk is configured to be deployed in a same region as the parent virtual instance. A cloud computing infrastructure may limit the ability to clone a disk outside of a region. For example, if an inspection environment is not in the same region as the cloud computing environment in which the virtual instance is inspected, it may not be possible (i.e., not permissible) to generate a disk clone in the region where the inspection environment is.


In other embodiments, an optional check may be performed to determine the number of disks associated with a virtual instance. For example, if the number of disks equals or exceeds a predetermined threshold the cloning process may be initiated, otherwise a snapshot is generated, and inspection is performed on the generated snapshot.


At S430, the cloned disk is inspected for cybersecurity threats. In an embodiment, cybersecurity threats include, but are not limited to, exposures, vulnerabilities, malware, ransomware, spyware, bots, weak passwords, exposed passwords, exposed certificates, outdated certificates, misconfigurations, suspicious events, and the like.


Inspecting a cloned disk includes, in an embodiment, assigning an inspector to the cloned disk. In some embodiments, an inspector, such as inspector 138 of FIG. 1, is provided with access to the cloned disk. For example, the cloning process may include generating an instruction which when executed configures the cloned disk to allow an inspector workload access thereto. The inspector may inspect the cloned disk for security objects, such as files, folders, and the like. A security object may be, for example, a password stored in plaintext, a password stored in cleartext, a certificate, and the like.


For example, in an embodiment, a signature for a file, folder, and the like is generated during an inspection. Such a signature is matched to another known signature. The known signature indicates a vulnerability. A signature may be generated, for example, using a checksum.


At S440, the cloned disk is released. In an embodiment, an instruction may be generated which, when executed, configures the cloud computing environment to release the cloned disk. Releasing a cloned disk may include, for example, deprovisioning resources allocated to the cloned disk. For example, a cloned disk may be deleted. Releasing the cloned disk is performed in response to completing the inspection.


While virtual machines are discussed throughout this disclosure, it should be understood that the teachings herein apply equally to other virtual instances with respect to cloning and snapshot generation.



FIG. 5 is an example graph 500 of a security graph representing a portion of a cloud computing environment, implemented in accordance with an embodiment. A data schema node 510 is connected to a first data file node 540-1, a second data file node 540-2 and a third data file node 540-M. Each data file node 540-1 through 540-M, where ‘M’ is an integer having a value of ‘3’ or greater, represents a data file which shares a schema, the schema represented by the data schema node 510.


Each data file node 540-1 through 540-M is connected to a bucket node 530-1 through 530-N, where ‘N’ is an integer having a value of ‘2’ or greater, each bucket node representing a bucket in a cloud computing environment. In an embodiment, the first bucket represented by the first bucket node 530-1 is deployed in a first cloud computing environment and the second bucket, represented by the second bucket node 530-N, is deployed in a second cloud computing environment, which is different from the first cloud computing environment. For example, the first cloud computing environment may be deployed on AWS, while the second cloud computing environment is deployed on GCP.


The first bucket node 530-1 is connected to the first data file node 540-1 and the second data file node 540-2. The second bucket node 530-N is connected to the third data file node 540-M. In an embodiment, a DBMS application, such as deployed on database 210 of FIG. 2 writes data files to the first bucket. The DBMS application is represented by a DBMS node 520.


In an embodiment, the first data file node 540-1, the second data file node 540-2 and the third data file node 540-M are each connected to a data cluster node 550. In certain embodiments, the third data file node 540-M is not connected to the cluster node 550, in response to determining that the third data file is deployed in a cloud computing environment which is not the cloud computing environment in which the first data file and the second data file are deployed.


In certain embodiments, a security graph 500 is queried to detect sensitive data nodes. For example, a query may be executed on a graph database, such as Neo4j®, in which a security graph 500 is stored. The query, when executed, returns as an output nodes which include metadata indicating that the node represents a sensitive data element. For example, a classifier may determine that the first data file represented by the first data file node 540-1 includes sensitive data. The first data file node 540-1 is updated with a value, for example stored as metadata, to indicate that the first data file represented by the first data file node 540-1 includes sensitive data.


In some embodiments, the security graph 500 is further traversed, to determine if a data file node is connected to a cluster node. If the data file node is connected to a data cluster node, such as data cluster node 550, the data cluster node 550 may be provided as an output to the query, in lieu of providing the first data file node 540-1, the second data file node 540-2, and the third data file node 540-M, each of which include thereon sensitive data, as indicated, for example, by a metadata value stored thereon.



FIG. 6 is an example flowchart 600 of a method for clustering data objects on a security graph, implemented in accordance with an embodiment. A data cluster represents a plurality of data objects, such as data files, which are all generated based on a single, same, schema.


At S610, a data schema of a data file is extracted. In an embodiment, extracting a data schema from a data file includes reading the data file and searching the data file for a header indicating the data schema. In an embodiment, a data schema includes a plurality of integrity constraints imposed on a database, or a file which stores a part of a database, in case of a distributed database.


For example, in a relational database, a data schema includes, in an embodiment, a table name, a first column name, a first column data type, a second name, a second column data type, etc. In an embodiment, the data file is any one of: an Apache® Parquet file, an Apache ORC™ file, an Apache Avro™ file, and the like.


For example, an Avro file includes a file header, which is followed by a plurality of data blocks. The file header includes metadata, which includes a data schema. A data schema in an Avro file is defined using JSON markup language. In an embodiment, the data fields of the JSON are read, and the values of the data fields extracted to identify the data schema.


In an embodiment, the data file is deployed in a cloud computing environment, such as production environment, a dev environment, a test environment, a staging environment, and the like. For example, the data file may be a data object stored in a bucket on an S3 service. The data file is generated, in an embodiment, by a database application, based on a data schema.


At S620, a data file node is generated in a security graph. In an embodiment, a data file node corresponds to the data file from which the data schema is extracted. In some embodiments, a data file node includes information about the data file, such as an identifier of the data file (e.g., file name), an identifier of a storage container from which the data file is extracted, an identifier of a workload on which the data file is stored, and the like.


A storage container may be implemented, for example, utilizing Amazon® S3. A workload may be, for example, a virtual machine, a software container, a serverless function, and the like. For example, a data file may be detected on a disk associated with a virtual machine. Detection of the data file on a disk of the virtual machine may occur, for example, during inspection of the disk, for example for cybersecurity objects.


In an embodiment, the security graph includes a representation of a cloud environment in which the data file is deployed. For example, a virtual machine, software container, and serverless function may each be represented by a respective resource node in the security graph. An example of a security graph is discussed in more detail in FIG. 5 above.


At S630, a check is performed to determine if the extracted data schema matches a data schema stored on the security graph. If ‘yes’ execution continues at S650. If ‘no’, execution continues at S640. In an embodiment, the check is performed to determine if a node representing the data schema is already stored in the security graph. In some embodiments, a security graph is queried, for example based on data values extracted from a header of a data file indicating a data schema, to detect a node having the data values stored thereon.


At S640, a check is performed to determine if a data cluster node should be generated. If ‘yes’ execution continues at S660. If ‘no’ execution continues at S670. In an embodiment, a data file is associated with a data cluster node (also referred to as cluster node), for example by generating a node representing the data file, generating a node representing a data cluster, and connecting the node representing the data file to the data cluster node with an edge. Data files which are represented by nodes are indicated as being part of a single data structure, such as a distributed database, by connecting each such node to a data cluster node.


In some embodiments, data file nodes are connected to a cluster node of a single cloud computing environment. For example, a data file node representing a data file residing in a production environment and generated based on a first data schema is connected to a data cluster node of the production environment, while a data file node based on the first data schema but residing in a dev environment is connected to a data cluster node of the dev environment.


In certain embodiments, a data schema node is generated in the security graph to represent a data schema. In an embodiment, the schema node is generated based on the extracted data schema. In certain embodiments, the schema node includes metadata, such as an identifier of the schema, extracted values from data fields of the data schema, and the like. The data schema node may be connected by an edge, in an embodiment, to a data cluster node, a data file node, and the like.


At S650, the node representing the data file is associated with a node representing the data cluster. In an embodiment, associating the node representing the data file with a node representing the data cluster incudes generating an edge between the nodes and storing the edge in the security graph. By associating a plurality of data files with a node representing a data cluster, the data cluster may be displayed when rendering a visualization of sensitive data in a cloud computing environment. This reduces the amount of elements rendered, which is a reduction in processing and memory utilization.


At S660, a data cluster node is generated. In an embodiment, the data cluster node includes stored thereon metadata, such as a type of data. In some embodiments, the data cluster node is connected to a node which represents a storage in which a data file, represented by a node connected to the data cluster node, is stored. In an embodiment, the storage is a bucket. In certain embodiments a data schema node is generated for each generated data cluster node. In an embodiment, the schema node is generated based on the extracted data schema. In certain embodiments, the schema node includes metadata, such as an identifier of the schema, extracted values from data fields of the data schema, and the like.


At S670, the data file is classified. In an embodiment, the data file is classified based on the content of the data file. In some embodiments, classification of data is performed by reading the content of the data file and providing the content to a data classifier. In certain embodiments, classifying the data file includes generating an instruction which when executed provides a data classifier access to the data file, content of the data file, metadata of the data file, the data schema, a combination thereof, and the like.


In an embodiment, the data file is classified to sensitive data or non-sensitive data. In some embodiments, sensitive data is classified into PII, PHI, PCI, a combination thereof, and the like. In certain embodiments classifying the data file includes performing classification techniques, performed individually or in combination, such as linear classification, quadratic classification, decision trees, neural networks, machine learning, and the like. In some embodiments, natural language processing (NLP) techniques, such as Word2Vec, are performed on the data. This may be beneficial to determine a distance between, for example, a column name (such as “ccard”) and a predefined term (such as “credit card”), where the predefined term is associated with a data type.


For example, in an embodiment, the data file is read, metadata stored in the data file is read, and a data schema stored in the data file is read. Data classification, NLP, a combination thereof, and the like, is then performed on any one of the read: data, metadata, and data schema.



FIG. 7 is an example of a flowchart 700 for mitigating a cybersecurity risk caused by sensitive data detected in an unsecure location, implemented in accordance with an embodiment.


At S710, a security graph is queried to detect a node representing a data file. In an embodiment, each node in the security graph includes a metadata value which indicates a type of cloud entity, enrichment, network element, and the like, which is represented by the node. For example, a value indicating a type may be, in an embodiment, a resource, a principal, an enrichment, a virtual machine, a software container, a serverless function, an application, a database, a data file, a data file type, and the like. In an embodiment, the query, when executed on a graph database having stored therein a security graph, returns an output which includes a node identifier which represents a data file. In certain embodiments, the security graph includes a representation of a cloud computing environment, including a storage, such as a storage service, a database, and the like.


In some embodiments, the security graph is queried to detect a node which represents a data file having sensitive data. For example, a data file node includes, in an embodiment, a metadata value indicating that the data file includes sensitive data. In certain embodiments, the metadata values indicate any one of: PII, PCI, PHI, a combination thereof, and the like.


At S720, a data schema of the detected node is determined. In an embodiment, the security graph may be traversed to determine if the data file node is connected to a data schema node, such as illustrated in the example of FIG. 5 above. A data file node connected to a data schema node indicates that the data file represented by the data file node is generated based on a data schema represented by the data schema node.


At S730, a node representing another data file having the same data schema is detected in another computing environment. Two (or more) data files can share a single data schema, for example, if the second data file is a copy of the first data file, or if the first data file and the second data file are part of a distributed database. For example, a first data file is deployed in a first cloud computing environment, such as a production environment, while a second data file, which is a copy of the first data file, is deployed in a second cloud computing environment, such as a dev environment.


In an embodiment, detecting a node representing another data file includes traversing the security graph to detect a second data file node connected to the data schema node, and determining that the second data file represents a second data file which is deployed in a cloud computing environment which is not the cloud computing environment in which the first data file is deployed. For example, the security graph may be traversed to detect that the second data file node is connected to a bucket node representing a bucket, which is in a different cloud computing environment than a bucket in which the first data file is stored. For example, the bucket node includes, in an embodiment, metadata which indicates an identifier of a cloud computing environment in which the bucket represented by the bucket node is deployed.


At S740, a check is performed to determine if a node representing another data is found. If ‘yes’ execution continues at S750, if ‘no’ execution continues at S760.


At S750, a mitigation action is performed. In some embodiments, a mitigation action includes generating an instruction, which when executed generates an alert to indicate that a file having sensitive data is detected in a computing environment in which the file is not supposed to be. In some embodiments, a mitigation action includes generating an instruction which, when executed, configures the cloud computing environment to remove the another data file, for example by deleting the file.


At S760, a check is performed to determine if the security graph should be traversed to detect another node connected to the data schema. If ‘yes’, execution continues at S730, otherwise execution terminates.



FIG. 8 is an example schematic diagram of a data detector 136 according to an embodiment. The data detector 136 includes a processing circuitry 810 coupled to a memory 820, a storage 830, and a network interface 840. In an embodiment, the components of the data detector 136 may be communicatively connected via a bus 850.


The processing circuitry 810 may be realized as one or more hardware logic components and circuits. For example, and without limitation, illustrative types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), Application-specific standard products (ASSPs), system-on-a-chip systems (SOCs), graphics processing units (GPUs), tensor processing units (TPUs), general-purpose microprocessors, microcontrollers, digital signal processors (DSPs), and the like, or any other hardware logic components that can perform calculations or other manipulations of information.


The memory 820 may be volatile (e.g., random access memory, etc.), non-volatile (e.g., read only memory, flash memory, etc.), or a combination thereof.


In one configuration, software for implementing one or more embodiments disclosed herein may be stored in the storage 830. In another configuration, the memory 820 is configured to store such 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 processing circuitry 810, cause the processing circuitry 810 to perform the various processes described herein.


The storage 830 may be magnetic storage, optical storage, and the like, and may be realized, for example, as flash memory or other memory technology, compact disk-read only memory (CD-ROM), Digital Versatile Disks (DVDs), or any other medium which can be used to store the desired information.


The network interface 840 allows the data detector 136 to communicate with, for example, the classifier 132, the graph database 134, the inspector 138, the production environment 110, the dev environment 120, and the like.


It should be understood that the embodiments described herein are not limited to the specific architecture illustrated in FIG. 8, and other architectures may be equally used without departing from the scope of the disclosed embodiments.


Furthermore, in certain embodiments the classifier 132, graph database 134, the inspector 138, and the like, may be implemented with the architecture illustrated in FIG. 8. In other embodiments, other architectures may be equally used without departing from the scope of the disclosed embodiments.


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 processing units (“PUs”), 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 PU, 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.


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.


It should be understood that any reference to an element herein using a designation such as “first,” “second,” and so forth does not generally limit the quantity or order of those elements. Rather, these designations are generally used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not mean that only two elements may be employed there or that the first element must precede the second element in some manner. Also, unless stated otherwise, a set of elements comprises one or more elements.


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; 2A; 2B; 2C; 3A; A and B in combination; B and C in combination; A and C in combination; A, B, and C in combination; 2A and C in combination; A, 3B, and 2C in combination; and the like.

Claims
  • 1. A method for agentless detection of sensitive data in a cloud computing environment, comprising: generating a cloned disk directly from an original disk of a resource deployed in a cloud computing environment;inspecting the cloned disk for a cybersecurity object, the cybersecurity object indicating a sensitive data;extracting a data schema from the cybersecurity object, in response to detecting the cybersecurity object on the cloned disk;generating a classification of the data schema;detecting in the cloned disk a plurality of data files, each data file including the classified data schema;determining that the data schema corresponds to sensitive data based on the generated classification;generating in a security database: a representation of the resource, a representation of the data schema, and a representation of each data file;connecting the representation of the resource with the representation of the data schema in response to detecting the plurality of data files in the cloned disk; andrendering a visual representation of the cloud computing environment including a representation of the data schema.
  • 2. The method of claim 1, further comprising: inspecting the cloned disk for a second cybersecurity object, the second cybersecurity object indicating a cybersecurity issue.
  • 3. The method of claim 2, further comprising: releasing the cloned disk in response to determining that inspection is complete.
  • 4. The method of claim 1, further comprising: generating the classification further based on any one of: metadata of a data file, the data schema, a content of a data file, and a combination thereof.
  • 5. The method of claim 1, further comprising: extracting from a first data file of the plurality of data files: a file header, and a plurality of data blocks.
  • 6. The method of claim 5, wherein the first data file is a file associated with a distributed database.
  • 7. The method of claim 1, further comprising: classifying sensitive data further as any one of: personal identifiable information (PII), personal health information (PHI), payment card industry (PCI), and any combination thereof.
  • 8. The method of claim 1, wherein the cybersecurity object is stored on a storage service of a cloud computing platform on which the cloud computing environment is hosted.
  • 9. The method of claim 1, further comprising: initiating a mitigation action in response to determining that the data schema of the cybersecurity object is classified as sensitive data.
  • 10. The method of claim 9, wherein the mitigation action further comprises: initiating the mitigation action in response to determining that the cybersecurity object is deployed on a workload in the cloud computing environment which is unauthorized for storing sensitive data.
  • 11. The method of claim 9, wherein initiating the mitigation action further comprises: generating an instruction which, when executed configures a storage service to delete the cybersecurity object.
  • 12. A non-transitory computer-readable medium storing a set of instructions for agentless detection of sensitive data in a cloud computing environment, the set of instructions comprising: one or more instructions that, when executed by one or more processors of a device, cause the device to:generate a cloned disk directly from an original disk of a resource deployed in a cloud computing environment;inspect the cloned disk for a cybersecurity object, the cybersecurity object indicating a sensitive data;extract a data schema from the cybersecurity object, in response to detecting the cybersecurity object on the cloned disk;generate a classification of the data schema;detect in the cloned disk a plurality of data files, each data file including the classified data schema;determine that the data schema corresponds to sensitive data based on the generated classification;generate in a security database: a representation of the resource, a representation of the data schema, and a representation of each data file;connect the representation of the resource with the representation of the data schema in response to detecting the plurality of data files in the cloned disk; andrender a visual representation of the cloud computing environment including a representation of the data schema.
  • 13. A system for agentless detection of sensitive data in a cloud computing environment comprising: a processing circuitry;a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:generate a cloned disk directly from an original disk of a resource deployed in a cloud computing environment;inspect the cloned disk for a cybersecurity object, the cybersecurity object indicating a sensitive data;extract a data schema from the cybersecurity object, in response to detecting the cybersecurity object on the cloned disk;generate a classification of the data schema;detect in the cloned disk a plurality of data files, each data file including the classified data schema;determine that the data schema corresponds to sensitive data based on the generated classification;generate in a security database: a representation of the resource, a representation of the data schema, and a representation of each data file;connect the representation of the resource with the representation of the data schema in response to detecting the plurality of data files in the cloned disk; andrender a visual representation of the cloud computing environment including a representation of the data schema.
  • 14. The system of claim 13, wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to: inspect the cloned disk for a second cybersecurity object, the second cybersecurity object indicating a cybersecurity issue.
  • 15. The system of claim 14, wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to: release the cloned disk in response to determining that inspection is complete.
  • 16. The system of claim 13, wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to: generate the classification further based on any one of:metadata of a data file, the data schema, a content of a data file, and a combination thereof.
  • 17. The system of claim 13, wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to: extract from a first data file of the plurality of data files:a file header, and a plurality of data blocks.
  • 18. The system of claim 17, wherein the first data file is a file associated with a distributed database.
  • 19. The system of claim 13, wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to: classify sensitive data further as any one of:personal identifiable information (PII), personal health information (PHI), payment card industry (PCI), and any combination thereof.
  • 20. The system of claim 13, wherein the cybersecurity object is stored on a storage service of a cloud computing platform on which the cloud computing environment is hosted.
  • 21. The system of claim 13, wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to: initiate a mitigation action in response to determining that the data schema of the cybersecurity object is classified as sensitive data.
  • 22. The system of claim 21, wherein the mitigation action further comprises: initiating the mitigation action in response to determining that the cybersecurity object is deployed on a workload in the cloud computing environment which is unauthorized for storing sensitive data.
  • 23. The system of claim 21, wherein the memory contains further instructions that, when executed by the processing circuitry for initiating the mitigation action, further configure the system to: generate an instruction which, when executed configures a storage service to delete the cybersecurity object.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. Non-Provisional application Ser. No. 17/664,508 filed May 23, 2022, and U.S. Non-Provisional application Ser. No. 18/049,093 filed Oct. 24, 2022, which itself claims priority from U.S. Provisional Application No. 63/377,403 filed Sep. 28, 2022, all contents of which are hereby incorporated herein.

US Referenced Citations (357)
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, III 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
10063445 Preece Aug 2018 B1
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
10503904 Singh et al. Dec 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 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
11216563 Veselov Jan 2022 B1
11245730 Bailey Feb 2022 B2
11271961 Berger Mar 2022 B1
11334670 Franco et al. May 2022 B2
11366897 Ramanathan et al. Jun 2022 B1
11388183 Hoopes et al. Jul 2022 B2
11397808 Prabhu et al. Jul 2022 B1
11405426 Nguyen Aug 2022 B2
11444974 Shakhzadyan 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 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
11606378 Delpont et al. Mar 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 Oct 2023 B1
11799874 Lichtenstein et al. Oct 2023 B1
11803766 Srinivasan Oct 2023 B1
11831670 Molls et al. Nov 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
20070174915 Gribble et al. Jul 2007 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
20080320594 Jiang 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
20130024940 Hutchins Jan 2013 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
20130290708 Diaz et al. Oct 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 Feb 2015 A1
20150095995 Bhalerao Apr 2015 A1
20150163192 Jain Jun 2015 A1
20150172321 Kirti et al. Jun 2015 A1
20150254364 Piduri et al. Sep 2015 A1
20150304302 Zhang et al. Oct 2015 A1
20150310215 McBride et al. Oct 2015 A1
20150319160 Ferguson et al. Nov 2015 A1
20160063466 Sheridan et al. Mar 2016 A1
20160078231 Bach et al. Mar 2016 A1
20160103669 Gamage et al. Apr 2016 A1
20160105454 Li Apr 2016 A1
20160140352 Nickolov May 2016 A1
20160156664 Nagaratnam 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
20170300690 Ladnai et al. Oct 2017 A1
20170034198 Powers et al. Dec 2017 A1
20170374136 Ringdahl Dec 2017 A1
20180004950 Gupta et al. Jan 2018 A1
20180007087 Grady 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
20180276084 Mitkar 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
20180367548 Stokes, III et al. Dec 2018 A1
20190007271 Rickards et al. Jan 2019 A1
20190043201 Strong et al. Feb 2019 A1
20190058722 Levin et al. Feb 2019 A1
20190068617 Coleman Feb 2019 A1
20190068627 Thampy Feb 2019 A1
20190081963 Waghorn Mar 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 et al. 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
20200012659 Dageville 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 et al. Aug 2020 A1
20200287927 Zadeh et al. Sep 2020 A1
20200320845 Livny et al. Oct 2020 A1
20200336489 Wuest et al. Oct 2020 A1
20200382556 Woolward et al. 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 et al. 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 Jul 2021 A1
20210226928 Crabtree et al. Jul 2021 A1
20210234889 Burle et al. Jul 2021 A1
20210263802 Gottemukkula et al. Aug 2021 A1
20210297447 Crabtree et al. Sep 2021 A1
20210306416 Mukhopadhyay et al. Sep 2021 A1
20210314342 Oberg Oct 2021 A1
20210320794 Auh Oct 2021 A1
20210329019 Shua et al. 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 Nov 2021 A1
20210382995 Massiglia et al. Dec 2021 A1
20210382997 Yi et al. Dec 2021 A1
20210406365 Neil et al. Dec 2021 A1
20210409486 Martinez Dec 2021 A1
20220012771 Gustafson Jan 2022 A1
20220030020 Huffman Jan 2022 A1
20220053011 Rao et al. Feb 2022 A1
20220060497 Crabtree et al. Feb 2022 A1
20220086173 Yavo et al. Mar 2022 A1
20220131888 Kanso Apr 2022 A1
20220156396 Bednash 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 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
20230011957 Panse et al. Jan 2023 A1
20230040635 Narayan Feb 2023 A1
20230075355 Twigg Mar 2023 A1
20230087093 Ithal Mar 2023 A1
20230093527 Shua 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
20230161614 Herzberg et al. May 2023 A1
20230164148 Narayan May 2023 A1
20230164164 Herzberg et al. 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 Pabón 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
Foreign Referenced Citations (4)
Number Date Country
4160983 Apr 2023 EP
4254869 Oct 2023 EP
2421792 Jun 2011 RU
10202009702 Apr 2021 SG
Non-Patent Literature Citations (26)
Entry
Ali Gholami ; Security and Privacy of Sensitive Data in Cloud Computing: a Survey of Recent Developments; ARIX:2016; pp. 131-150.
International Search Report, PCT/IB23/55312. ISA/US, Commissioner for Patents, Alexandria, Virginia. Dated Aug. 30, 2023.
Microsoft Build. “Introduction to Azure managed disks”. Aug. 21, 2023, https://docs.microsoft.com/en-us/azure/virtual-machines/managed-disks-overview.
Written Opinion of the International Searching Authority, PCT/IB23/55312. ISA/US Commissioner for Patents, Alexandria, Virginia. Dated Aug. 30, 2023.
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.
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).
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).
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).
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 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).
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).
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).
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).
Siqi Ma; Certified Copy? Understanding Security Risks of Wi-Fi Hotspot based Android Data Clone Services; ACM; Year: 2021; pp. 320-331.
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).
Related Publications (1)
Number Date Country
20240135027 A1 Apr 2024 US
Provisional Applications (1)
Number Date Country
63377403 Sep 2022 US
Continuation in Parts (2)
Number Date Country
Parent 18049093 Oct 2022 US
Child 18400720 US
Parent 17664508 May 2022 US
Child 18400720 US