IP Library Granted Patent US 10,650,146
Granted Patent B1
US 10,650,146 · App. 16/372,230 · Granted May 12, 2020

Malicious software detection

Inventors: Prashant Gaurav (Fremont, CA); Sidharth Mishra (Santa Clara, CA); Karandeep Singh Chawla (Santa Clara, CA); Anubhav Gupta (Sunnyvale, CA); Sudhir Srinivas (Cary, NC); Nagapramod Mandagere (Mountain View, CA); Apurv Gupta (Bangalore, IN)
Assignee: Cohesity, Inc.
G06F21/565G06F16/2365
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 10,650,146
App. No.
16/372,230
Filed
Apr 1, 2019
Granted
May 12, 2020
Kind
B1
Art Unit
2497
USPC
726/24
Abstract

An amount of data change associated with a version of a content file with respect to one or more previous versions of the content file is determined. The amount of change associated with the version of the content file is determined using a tree data structure associated with the content file that is stored on a storage cluster. One or more statistics associated with backup snapshot are provided to a server. The server is configured to determine that the amount of data change associated with the version of the content file is anomalous based in part on the one or more statistics associated with the backup snapshot. A notification that data associated with the backup snapshot is potentially infected by malicious software is received from the server. The version of the content file is indicated as being potentially infected by malicious software.

Claims (49)

1. A system, comprising:

a processor configured to:

receive an incremental backup snapshot that includes data associated with a version of a content file;

determine, by a processor of a storage cluster, an amount of data change associated with the version of the content file included in the incremental backup snapshot with respect to one or more previous versions of the content file, wherein the incremental backup snapshot includes data associated with a primary system, wherein the data associated with the primary system is backed up from the primary system to the storage cluster, wherein the amount of data change associated with the version of the content file is determined using a tree data structure associated with the content file that is stored on the storage cluster;

provide to a server one or more statistics associated with the incremental backup snapshot, wherein the one or more statistics associated with the incremental backup snapshot include a total amount of deduplication associated with the data included in the incremental backup snapshot, wherein the server is configured to determine that the amount of data change associated with the version of the content file is anomalous based in part on the one or more statistics associated with the incremental backup snapshot, wherein the server is configured to determine that the amount of data change associated with the version of the content file is anomalous in the event the total amount of deduplication associated with the data included in the incremental backup snapshot is less than a deduplication threshold, wherein an anomalous amount of data change associated with the version of the content file indicates that the data associated with the incremental backup snapshot is potentially infected by malicious software;

receive from the server a notification that data associated with the incremental backup snapshot is potentially infected by malicious software; and

identify the version of the content file as being potentially infected by malicious software; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein the content file is a virtual machine container file.

3. The system of claim 1 , wherein the processor is further configured to provide to the primary system a notification that the primary system is potentially infected with malicious software, wherein the notification includes a link to a set of clean versions of the content file.

4. The system of claim 3 , wherein the processor is further configured to:

receive a selection of a clean version of the content file that is included in the set of clean versions of the content file; and

restore the clean version of the content file to the primary system.

5. The system of claim 1 , wherein the processor is further configured to provide to the primary system a notification that the primary system is potentially infected with malicious software, wherein the notification includes a link to a set of clean backup snapshots that include corresponding clean versions of the content file.

6. The system of claim 5 , wherein the processor is further configured to:

receive a selection of a clean backup snapshot that is included in the set of clean backup snapshots; and

restore the clean backup snapshot to the primary system.

7. The system of claim 1 , wherein to determine the amount of data change associated with the version of the content file stored on the storage cluster with respect to the one or more previous versions of the content file, the processor is further configured to:

traverse the tree data structure corresponding to the version of the content file;

traverse one or more tree data structures corresponding to the one or more previous versions of the content file;

determine a first amount of data change associated with the version of the content file based on a traversal of the tree data structure corresponding to the version of the content file; and

determine corresponding amounts of data change associated with the one or more previous versions of the content file based on corresponding traversals of the one or more tree data structures corresponding to the one or more previous versions of the content file.

8. The system of claim 1 , wherein the amount of data change associated with the version of the content file is determined to be anomalous in the event the amount of data change associated with the content file is greater than a rate of change per backup snapshot by a threshold.

9. The system of claim 8 , wherein the rate of change per backup snapshot is a historical rate of change, a seasonality rate of change, or a trending rate of change.

10. The system of claim 8 , wherein the determined amount of data change associated with the version of the content file includes an amount associated with a sub-portion of the content file.

11. The system of claim 10 , wherein the processor is configured to determine that the amount of data change associated with the version of the content file is anomalous in the event the sub-portion amount of the content file is greater than a rate of change for the sub-portion of the content file per backup snapshot by a threshold.

12. The system of claim 1 , wherein a retention policy associated with the content file is placed on hold.

13. The system of claim 1 , wherein the processor is configured to:

receive a selection of a backup snapshot to restore to the primary system; and

provide a notification that the backup snapshot is potentially infected by malicious software.

14. The system of claim 1 , where a portion of the data change associated with the version of the content file is encrypted.

15. The system of claim 1 , wherein the server is configured to determine that the amount of data change associated with the version of the content file is anomalous based on a plurality of statistics associated with the backup snapshot that includes the version of the content file.

16. The system of claim 15 , wherein the plurality of statistics at least include a number of files associated with the backup snapshot that were added, deleted, or modified, and an entropy value associated with changed data included in the backup snapshot.

17. A method, comprising:

receiving an incremental backup snapshot that includes data associated with a version of a content file;

determining, by a processor of a storage cluster, an amount of data change associated with the version of the content file included in the incremental backup snapshot with respect to one or more previous versions of the content file, wherein the incremental backup snapshot includes data associated with a primary system, wherein the data associated with the primary system is backed up from the primary system to the storage cluster, wherein the amount of data change associated with the version of the content file is determined using a tree data structure associated with the content file that is stored on the storage cluster;

providing to a server one or more statistics associated with the incremental backup snapshot wherein the one or more statistics associated with the incremental backup snapshot include a total amount of deduplication associated with the data included in the incremental backup snapshot, wherein the server is configured to determine that the amount of data change associated with the version of the content file is anomalous based in part on the one or more statistics associated with the incremental backup snapshot, wherein the server is configured to determine that the amount of data change associated with the version of the content file is anomalous in the event the total amount of deduplication associated with the data included in the incremental backup snapshot is less than a deduplication threshold, wherein an anomalous amount of data change associated with the version of the content file indicates that the data associated with the incremental backup snapshot is potentially infected by malicious software;

receiving from the server a notification that data associated with the incremental backup snapshot is potentially infected by malicious software; and

identifying the version of the content file as being potentially infected by malicious software.

18. The method of claim 17 , further comprising:

providing a notification that the primary system is potentially infected with malicious software, wherein the notification includes a link to a set of clean versions of the content file;

receiving a selection of a clean version of the content file that is included in the set of clean versions of the content file; and

restoring the clean version of the content file to the primary system.

19. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving an incremental backup snapshot that includes data associated with a version of a content file;

determining an amount of data change associated with the version of the content file included in the incremental backup snapshot with respect to one or more previous versions of the content file, wherein the incremental backup snapshot includes data associated with a primary system, wherein the data associated with the primary system is backed up from the primary system to the storage cluster, wherein the amount of data change associated with the version of the content file is determined using a tree data structure associated with the content file that is stored on a storage cluster;

providing to a server one or more statistics associated with the incremental backup snapshot wherein the one or more statistics associated with the incremental backup snapshot include a total amount of deduplication associated with the data included in the incremental backup snapshot, wherein the server is configured to determine that the amount of data change associated with the version of the content file is anomalous based in part on the one or more statistics associated with the incremental backup snapshot, wherein the server is configured to determine that the amount of data change associated with the version of the content file is anomalous in the event the total amount of deduplication associated with the data included in the incremental backup snapshot is less than a deduplication threshold, wherein an anomalous amount of data change associated with the version of the content file indicates that the data associated with the incremental backup snapshot is potentially infected by malicious software;

receiving from the server a notification that data associated with the incremental backup snapshot is potentially infected by malicious software; and

identifying the version of the content file as being potentially infected by malicious software.

Assignments (5)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE THIRD ASSIGNOR PREVIOUSLY RECORDED ON REEL 049421 FRAME 0993. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 28, 2019
From: GAURAV, PRASHANT; MISHRA, SIDHARTH; CHAWLA, KARANDEEP SINGH; GUPTA, ANUBHAV; SRINIVAS, SUDHIR; GUPTA, APURV; MANDAGERE, NAGAPRAMOD
To: COHESITY, INC.
Reel/Frame 050848/0271 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2019
From: GAURAV, PRASHANT; MISHRA, SIDHARTH; SINGH, KARANDEEP; GUPTA, ANUBHAV; SRINIVAS, SUDHIR; GUPTA, APURV; MANDAGERE, NAGAPRAMOD
To: COHESITY, INC.
Reel/Frame 049421/0993 →
Continuity (1)
Provisional Application 62778669 · Dec 12, 2018
Cited By (22)
US 12,197,392 US 12,259,977 US 12,277,222 US 12,282,808 US 12,333,007 US 12,386,959 US 12,393,689 US 12,393,690 US 12,399,993 US 12,462,028 US 12,475,226 US 12,493,695 US 12,519,824 US 12,554,844 US 12,608,469 US 12,619,723 US 12,664,275 US 12,675,373 US 12,688,291 US 12,694,112 US 12,711,233 US 12,711,239