IP Library Granted Patent US 8,495,037
Granted Patent B1
US 8,495,037 · App. 11/359,202 · Granted Jul 23, 2013

Efficient isolation of backup versions of data objects affected by malicious software

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 8,495,037
App. No.
11/359,202
Granted
Jul 23, 2013
Kind
B1
Abstract

A system for efficient isolation of backup versions of data objects affected by malicious software includes one or more processors and a memory coupled to the processors. The memory comprises program instructions executable by the processors to implement a backup manager configured to receive an indication that a data object is infected by malicious software. In response to the indication, the backup manager is configured to identify a particular backup version of the data object to be excluded from a data set to be used for a restore operation.

Claims (54)

1. A system, comprising:

one or more processors; and

memory coupled to the one or more processors, wherein the memory comprises program instructions executable by the one or more processors to implement a backup manager configured to:

attempt an input/output (I/O) operation with a live version of a data object;

receive an I/O error code in response to the attempted I/O operation, wherein the I/O error code indicates that the live version of the data object is infected by malicious software;

after receiving the I/O error code, compare a signature of the live version of the data object with respective signatures of one or more backup versions of the data object to identify at least one backup version of the data object; and

store metadata in a backup catalog, wherein the metadata indicates that the identified at least one backup version of the data object is to be excluded from use during a subsequent restoration of the data object.

2. The system as recited in claim 1 , wherein the backup manager is further configured to:

store one or more backup versions of the data object, including the identified at least one backup version, prior to receiving the I/O error code; and

in response to the I/O error code, perform an analysis of the stored one or more backup versions to identify the at least one version.

3. The system as recited in claim 2 , wherein to perform the analysis, the backup manager is further configured to:

determine whether a given backup version of the stored one or more backup versions differs from the live version of the data object according to one or more difference criteria;

if the backup version does not differ from the live version of the data object according to the one or more difference criteria, determine that the given backup version is to be excluded from the subsequent restoration of the data object; and

if the backup version differs from the live version of the data object according to the one or more difference criteria, determine that the given backup version is not to be excluded from the subsequent restoration of the data object.

4. The system as recited in claim 3 , wherein to determine whether the backup version differs from the live version of the data object, the backup manager is further configured to:

compare values of one or more attributes of the backup version with corresponding values of one or more attributes of the live version of the data object.

5. The system as recited in claim 4 , wherein the compared values include one or more of a file size, a file modification time, a last user of a file, file ownership information, file read/write permissions.

6. The system as recited in claim 4 , wherein the compared values include one or more of a data object size, a data object modification time, a backup time of a data object.

7. The system as recited in claim 1 , wherein the I/O error is a generic error indication, and wherein, in response to the generic error indication, the backup manager is configured to:

perform one or more additional operations to determine a cause of the generic error indication, wherein a result of the one or more additional operations indicates that the live version of the data object is infected by the malicious software.

8. The system as recited in claim 1 , wherein the I/O operation comprises at least one of (a) a request to write a copy of the backup version into the live data set and (b) a request to read the live version of the data object.

9. The system as recited in claim 1 , wherein I/O error code comprises a notification from a malicious-software detection tool.

10. The system as recited in claim 1 , wherein the backup manager is further configured to:

in response to a restore request received after the I/O error code, identify a different backup version of the data object to be used to restore the live version of the data object, wherein the different backup version is not infected by the malicious software.

11. The system as recited in claim 1 , wherein the data object is a file, a directory, a logical volume, an object of a object-based storage device (OBSD), or a database management system (DBMS) object.

12. The system of claim 1 , wherein the I/O operation is a read operation or a write operation of the live version of the data object.

13. A computer-implemented method, comprising:

attempting an input/output (I/O) operation with a live version of a data object;

receiving an I/O error code in response to the attempted I/O operation, wherein the I/O error code indicates that the live version of the data object is infected by malicious software; after receiving the I/O error code, comparing a signature of the live version of the data object with respective signatures of one or more backup versions of the data object to identify at least one backup version of the data object; and

store metadata in a backup catalog, wherein the metadata indicates that the identified at least one backup version of the data object is to be excluded from use during a subsequent restoration of the data object.

14. The method as recited in claim 13 , further comprising:

storing one or more backup versions of the data object, including the identified at least one backup version, prior to receiving the I/O error code; and

in response to the I/O error code, performing an analysis of the stored one or more backup versions to identify the at least one backup version.

15. The method as recited in claim 14 , wherein said performing the analysis comprises:

determining whether a given backup version of the stored one or more backup versions differs from the live version of the data object according to one or more difference criteria;

if the backup version does not differ from the live version of the data object according to the one or more difference criteria, determining that the given backup version is to be excluded from the subsequent restoration of the data object; and

if the backup version differs from the live version of the data object according to the one or more difference criteria, determining that the given backup version is not to be excluded from the subsequent restoration of the data object.

16. The method as recited in claim 13 , further comprising:

in response to a restore request received after the I/O error code, identifying a different backup version of the data object to be used to restore the live version of the data object, wherein the different backup version is not infected by the malicious software.

17. The computer implemented method as recited in claim 13 , wherein the data object is a file, a directory, a logical volume, an object of a object-based storage device (OBSD), or a database management system (DBMS) object.

18. A non-transitory computer-readable medium comprising program instructions, wherein the instructions are computer-executable to implement a backup manager configured to:

receive an error code indicating that a live version of a data object is infected by malicious software;

after receiving the error code, compare a signature of the live version of the data object with respective signatures of one or more backup versions of the data object to identify at least one backup version of the data object; and

store an indication that the identified at least one backup version of the data object is to be excluded from use during a subsequent restoration of the data object.

19. The computer-readable medium as recited in claim 18 , wherein the backup manager is further configured to:

store one or more backup versions of the data object, including the identified at least one backup version, prior to receiving the error code; and

in response to the error code, perform an analysis of the stored one or more backup versions to identify the at least one backup version.

20. The computer-readable medium as recited in claim 19 , wherein, to perform the analysis, the backup manager is further configured to:

determining whether a given backup version of the stored one or more backup versions differs from the live version of the data object according to one or more difference criteria;

if the backup version does not differ from the live version of the data object according to the one or more difference criteria, determining that the given backup version is to be excluded from the subsequent restoration of the data object; and

if the backup version differs from the live version of the data object according to the one or more difference criteria, determining that the given backup version is not to be excluded from the subsequent restoration of the data object.

21. The computer-readable medium as recited in claim 18 , wherein the backup manager is further configured to:

in response to a restore request received after the error code, identify a different backup version of the data object to be used to restore the live version of the data object, wherein the different backup version is not infected by the malicious software.

22. The computer-readable medium as recited in claim 18 , wherein the data object is a file, a directory, a logical volume, an object of a object-based storage device (OBSD), or a database management system (DBMS) object.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2015
From: SYMANTEC OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 036199/0642 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2006
From: WESTENBERG, GUIDO
To: VERITAS OPERATING CORPORATION
Reel/Frame 017724/0947 →