IP Library Granted Patent US 12,499,083
Granted Patent B2
US 12,499,083 · App. 18/678,603 · Granted Dec 16, 2025

System and method for data discovery in cloud environments

Inventors: Yotam Segev (New York, NY); Itamar Bar-Ilan (Tel Aviv, IL); Yonatan Itai (Tel Aviv, IL); Shay Makayes (Tel Aviv, IL); Shani Beracha (Tel Aviv, IL); Omer Duchovne (Tel Aviv, IL); Itay Fainshtein (Tel Aviv, IL)
Assignee: Cyera, Ltd.
G06F16/128
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,499,083
App. No.
18/678,603
Granted
Dec 16, 2025
Kind
B2
Abstract

A system and method for data discovery. A method includes performing a scan of a plurality of snapshots, each snapshot corresponding to a respective disk of a plurality of disks; identifying a plurality of data store files in the plurality of disks based on file metadata found during the scan; and detecting at least one data store based on the identified plurality of data store files, wherein each of the at least one data store is in a disk of the plurality of disks including one of the plurality of data store files.

Claims (58)

1 . A method for data discovery, comprising:

analyzing data used to query disks via a plurality of interfaces in order to detect a plurality of disks in a computing environment, wherein the plurality of interfaces are used to communicate with components in the computing environment;

identifying a plurality of snapshots based on the plurality of disks, wherein identifying each snapshot includes searching a directory and identifying a most recently updated snapshot for one of the plurality of disks;

performing a scan of the plurality of snapshots, each snapshot corresponding to a respective disk of the plurality of disks;

identifying a plurality of data store files in the plurality of disks based on file metadata found during the scan; and

detecting at least one data store based on the identified plurality of data store files, wherein each of the at least one data store is in a disk of the plurality of disks including one of the plurality of data store files.

2 . The method of claim 1 , further comprising:

creating at least one engine based on a plurality of engine-relevant parameters, wherein each created engine is configured to read files having a respective database format, wherein the plurality of engine-relevant parameters is identified among data in the at least one data store; and

accessing data in the at least one data store using the created at least one engine.

3 . The method of claim 2 , further comprising

determining at least one engine type based on the plurality of engine-relevant parameters, wherein each of the at least one engine type has a configuration corresponding to a known engine used for scanning files having a respective database format, wherein the at least one engine is created based on the determined at least one engine type.

4 . The method of claim 3 , wherein each determined engine type corresponds to at least one of: a respective type of engine, and a respective version of engine.

5 . The method of claim 2 , further comprising:

mounting a copy of disk containing one of the detected at least one data store to at least one virtual machine, wherein the created at least one engine is run on the at least one virtual machine.

6 . The method of claim 5 , wherein the plurality of disks is deployed in a cloud environment, wherein the at least one virtual machine is deployed outside the cloud environment.

7 . The method of claim 1 , wherein performing the scan of the plurality of snapshots further comprises:

scanning a portion of each snapshot to determine a likelihood that the respective disk for each snapshot contains a data store, wherein a full scan is performed on each snapshot for which the determined likelihood is above a threshold.

8 . The method of claim 1 , further comprising:

implementing protective measures with respect to the at least one data store.

9 . The method of claim 8 , further comprising:

determining, for each of the at least one data store, whether the data store contains data having a predetermined data class, wherein the protective measures are implemented for each data store containing data having a predetermined data class.

10 . The method of claim 1 , further comprising:

determining, based on a backup of each disk containing one of the detected at least one data store, whether each data store is a data store that has been deleted but for which a backup exists.

11 . The method of claim 1 , further comprising:

determining, for each of the at least one data store, whether the data store is connected to any other physical or virtual machines.

12 . A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising:

analyzing data used to query disks via a plurality of interfaces in order to detect a plurality of disks in a computing environment, wherein the plurality of interfaces are used to communicate with components in the computing environment;

identifying a plurality of snapshots based on the plurality of disks, wherein identifying each snapshot includes searching a directory and identifying a most recently updated snapshot for one of the plurality of disks;

performing a scan of the plurality of snapshots, each snapshot corresponding to a respective disk of the plurality of disks;

identifying a plurality of data store files in the plurality of disks based on file metadata found during the scan; and

detecting at least one data store based on the identified plurality of data store files, wherein each of the at least one data store is in a disk of the plurality of disks including one of the plurality of data store files.

13 . A system for data discovery, comprising:

a processing circuitry; and

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

analyze data used to query disks via a plurality of interfaces in order to detect a plurality of disks in a computing environment, wherein the plurality of interfaces are used to communicate with components in the computing environment;

identify a plurality of snapshots based on the plurality of disks, wherein identifying each snapshot includes searching a directory and identifying a most recently updated snapshot for one of the plurality of disks;

perform a scan of the plurality of snapshots, each snapshot corresponding to a respective disk of the plurality of disks;

identify a plurality of data store files in the plurality of disks based on file metadata found during the scan; and

detect at least one data store based on the identified plurality of data store files, wherein each of the at least one data store is in a disk of the plurality of disks including one of the plurality of data store files.

14 . The system of claim 13 , wherein the system is further configured to:

create at least one engine based on a plurality of engine-relevant parameters, wherein each created engine is configured to read files having a respective database format, wherein the plurality of engine-relevant parameters is identified among data in the at least one data store; and

access data in the at least one data store using the created at least one engine.

15 . The system of claim 14 , wherein the system is further configured to

determine at least one engine type based on the plurality of engine-relevant parameters, wherein each of the at least one engine type has a configuration corresponding to a known engine used for scanning files having a respective database format, wherein the at least one engine is created based on the determined at least one engine type.

16 . The system of claim 15 , wherein each determined engine type corresponds to at least one of: a respective type of engine, and a respective version of engine.

17 . The system of claim 14 , wherein the system is further configured to:

mount a copy of disk containing one of the detected at least one data store to at least one virtual machine, wherein the created at least one engine is run on the at least one virtual machine.

18 . The system of claim 17 , wherein the plurality of disks is deployed in a cloud environment, wherein the at least one virtual machine is deployed outside the cloud environment.

19 . The system of claim 13 , wherein the system is further configured to:

scan a portion of each snapshot to determine a likelihood that the respective disk for each snapshot contains a data store, wherein a full scan is performed on each snapshot for which the determined likelihood is above a threshold.

20 . The system of claim 13 , wherein the system is further configured to:

implement protective measures with respect to the at least one data store.

21 . The system of claim 20 , wherein the system is further configured to:

determine, for each of the at least one data store, whether the data store contains data having a predetermined data class, wherein the protective measures are implemented for each data store containing data having a predetermined data class.

22 . The system of claim 13 , wherein the system is further configured to:

determine, based on a backup of each disk containing one of the detected at least one data store, whether each data store is a data store that has been deleted but for which a backup exists.

23 . The system of claim 13 , wherein the system is further configured to:

determine, for each of the at least one data store, whether the data store is connected to any other physical or virtual machines.

Continuity (2)
Continuation 17647899 · Jan 13, 2022
Related Publication 20240320189A1 · Sep 26, 2024
References Cited (51)
US 7392356B1 · Hardman · 2008 [cited by applicant]
US 8443449B1 · Fan et al. · 2013 [cited by applicant]
US 9021200B1 · Kushmerick · 2015 [cited by applicant]
US 9747293B2 · Hazel et al. · 2017 [cited by applicant]
US 10192052B1 · Singh et al. · 2019 [cited by applicant]
US 10253716B2 · Mentele · 2019 [cited by applicant]
US 11372811B1 · Ciubotariu · 2022 [cited by examiner]
US 11531931B2 · Enuka et al. · 2022 [cited by applicant]
US 11556659B1 · Kumar et al. · 2023 [cited by applicant]
US 11853104B2 · Naidu et al. · 2023 [cited by applicant]
US 20060235892A1 · Kalach · 2006 [cited by examiner]
US 20080250085A1 · Gray et al. · 2008 [cited by applicant]
US 20090043978A1 · Sawdon et al. · 2009 [cited by applicant]
US 20100169595A1 · Bryant-Rich · 2010 [cited by examiner]
US 20120118459A1 · Miyake · 2012 [cited by applicant]
US 20140229692A1 · Goldberg et al. · 2014 [cited by applicant]
US 20150127768A1 · Zamir et al. · 2015 [cited by applicant]
US 20150381435A1 · Todd et al. · 2015 [cited by applicant]
US 20160162364A1 · Mutha et al. · 2016 [cited by applicant]
US 20160342481A1 · Nanivadekar et al. · 2016 [cited by applicant]
US 20170131913A1 · Gordon et al. · 2017 [cited by applicant]
US 20170212915A1 · Borate et al. · 2017 [cited by applicant]
US 20170220777A1 · Wang · 2017 [cited by examiner]
US 20180260281A1 · Monk · 2018 [cited by applicant]
US 20190052643A1 · Doshi et al. · 2019 [cited by applicant]
US 20200007620A1 · Das et al. · 2020 [cited by applicant]
US 20200050966A1 · Enuka et al. · 2020 [cited by applicant]
US 20210019229A1 · Kucherov et al. · 2021 [cited by applicant]
US 20210150056A1 · Vax et al. · 2021 [cited by applicant]
US 20210216407A1 · Borate et al. · 2021 [cited by applicant]
US 20210256156A1 · Enuka et al. · 2021 [cited by applicant]
US 20210374163A1 · Wang · 2021 [cited by examiner]
US 20220318099A1 · Kotwal · 2022 [cited by examiner]
US 20230083104A1 · Xiang · 2023 [cited by examiner]
US 20230118349A1 · Mathews et al. · 2023 [cited by applicant]
US 20230132591A1 · Karr · 2023 [cited by examiner]
US 20230138337A1 · Mufti · 2023 [cited by examiner]
US 20230221881A1 · Segev et al. · 2023 [cited by applicant]
US 20230409538A1 · Bisht · 2023 [cited by examiner]
US 20240385979A1 · Lin · 2024 [cited by examiner]
US 20240419555A1 · Chakeres · 2024 [cited by examiner]
US 20250110921A1 · Nagarajan · 2025 [cited by examiner]
CN 102194073A · 2011 [cited by applicant]
CN 103563278A · 2014 [cited by applicant]
CN 104182519A · 2014 [cited by applicant]
CN 112149142A · 2020 [cited by applicant]
WO 2021170228A1 · 2021 [cited by applicant]
Chung Hyunji et al: “Digital forensic 1-15 investigation of cloud storage services”, Digital Investigation, [Online] vol. 9, No. 2, Jun. 23, 2012 (Jun. 23, 2012), pp. 81-95, XP093289492, Amsterdam, NL ISSN: 1742-2876, D… [cited by applicant]
European Search Report for EP 23740162.5, dated Jul. 8, 2025. European Patent Office, The Hague, Netherlands. [cited by applicant]
International Search Report for PCT/IB2023/050264, dated Apr. 20, 2023. International Search Report. (see IDS Jul. 17, 2023 in U.S. Appl. No. 17/647,899). [cited by applicant]
Written Opinion of the Searching Authority for PCT/IB2023/050264, dated Apr. 20, 2023. International Search Report. [cited by applicant]