IP Library Granted Patent US 9,400,886
Granted Patent B1
US 9,400,886 · App. 14/494,758 · Granted Jul 26, 2016

System and method for using snapshots for rootkit detection

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 9,400,886
App. No.
14/494,758
Granted
Jul 26, 2016
Kind
B1
Abstract

A system, method and computer program product for identifying malicious code running on a computer, including an operating system running on the computer with a data storage device; and a trusted software component running simultaneously with the operating system. An online snapshot process of a current state of the data storage device copies data blocks from the storage device to intermediate storage. Processes running under the control of the operating system have access to the data storage device. A scanning procedure runs under control of the trusted software component that has access to data representing the snapshot of the data storage device from the trusted software component. The scanning procedure analyzes the snapshot of the data storage device for the malicious code, and, in response to a “write” directed to a data block in the snapshot area of the storage device, that data block is written to the intermediate storage.

Claims (51)

1. A method for identifying malicious code running on a computer having a data storage media, the method comprising:

starting an operating system on the computer;

starting a trusted software component running simultaneously with the operating system;

performing an online snapshot process of a current state of the data storage media to store a snapshot of the data storage media in a storage area, performing the snapshot process including:

creating a map of the data storage media without using drivers of the operating system, the map identifying areas of the data storage media to be copied,

upon receipt of a write request to write a block into an area, determining if the area has been previously copied to the storage area, and

for areas not previously copied, copying data blocks that need to be re-written from the data storage media to intermediate storage; and

analyzing data representing the snapshot of the data storage media via the trusted software component for snapshot area to detect malicious code.

2. The method of claim 1 , wherein a backup is created based on the snapshot, and further comprising performing an analysis of data representing the backup of the data storage media via the trusted software component for storage area to detect malicious code.

3. The method of claim 2 , wherein contents of the intermediate storage are used for restoring a previous state of a data storage media and are copied to the storage area as an incremental backup upon user command.

4. The method of claim 2 , wherein data blocks of the intermediate storage are copied to the storage area as an incremental backup.

5. The method of claim 1 , wherein, after detection of the malicious code the malicious code is removed from the file in which the malicious code was detected, without otherwise damaging the file.

6. The method of claim 1 , further comprising deleting the file in which the malicious code was detected.

7. The method of claim 1 , wherein the trusted software component is an antivirus.

8. The method of claim 7 , wherein the malicious code is detected by the trusted software component using a comparison with a database of names, fingerprints, signatures, control sums, or CRCs.

9. The method of claim 8 , wherein the malicious code is a rootkit.

10. The method of claim 8 , wherein the malicious code is a computer virus.

11. The method of claim 8 , wherein the files being analyzed are hidden from the file system.

12. The method of claim 8 wherein the files being analyzed are hidden from an antivirus program.

13. The method of claim 1 , wherein the trusted software component includes a procedure that compares characteristic properties of files on the data storage media with properties stored in a database.

14. The method of claim 1 , wherein the trusted software component has the same privilege level as the operating system.

15. The method of claim 1 , wherein performing the online snapshot process further comprises copying the data from the intermediate storage to the storage area.

16. A method for identifying malicious code running on a virtual machine having a data storage, the method comprising:

starting a trusted software component running simultaneously with an operating system, wherein the trusted software component has access to the data storage of the virtual machine;

performing a backup process of a current state of the data storage, performing the backup process including:

creating a map of the data storage without using drivers of the operating system, the map identifying areas of the data storage to be copied,

upon receipt of a write request to write a block into an area, determining if the area has been previously copied to the storage area by the backup process,

for areas not previously copied by the backup process, copying data blocks that need to be re-written from the data storage to intermediate storage and updating a pointer in the map of the snapshot, and

copying the data from the intermediate storage to the backup storage area;

providing access to the data storage to processes running under the control of the operating system; and

using a trusted software component to scan the backup of the data storage via the trusted software component for detecting malicious code.

17. A method running on a computer having a virtual data storage, the method comprising:

starting, by a computer system, an operating system on a virtual machine;

starting a trusted software component running simultaneously with the operating system; performing an online snapshot process of a current state of the virtual data storage of the virtual machine to store a snapshot of the virtual data storage in a storage area, performing the snapshot process including:

creating, by the computer system, a map of the virtual data storage without using drivers of the operating system, the map identifying areas of the virtual data storage media to be copied;

upon receipt of a write request to write a block into an area, determining, by the computer system, if the area has been previously copied to the storage area by the snapshot process;

for areas not previously copied by the snapshot process, copying, by the computer system, data blocks that need to be re-written from the virtual data storage to intermediate storage; and

analyzing, by the computer system, data representing the snapshot of the virtual data storage via the trusted software component for snapshot area to detect malicious code.

18. The method of claim 17 , wherein a backup is created based on the snapshot, and further comprising performing an analysis of data representing the backup of the virtual data storage via the trusted software component for area to detect malicious code.

19. The method of claim 17 , wherein the trusted software is executing separate from the virtual machine.

20. The method of claim 18 , wherein data blocks of the intermediate storage are copied to the storage as an incremental backup.

21. The method of claim 17 , wherein, after detection of the malicious code the malicious code is removed from the file in which the malicious code was detected, without otherwise damaging the file.

22. The method of claim 17 , further comprising deleting the file in which the malicious code was detected.

23. The method of claim 17 , wherein the trusted software component is an antivirus.

24. The method of claim 17 , wherein the malicious code is detected by the trusted software component using a comparison with a database of names, fingerprints, signatures, control sums, or CRCs.

25. The method of claim 17 , wherein the malicious code is a rootkit.

26. The method of claim 17 , wherein the malicious code is a computer virus.

27. The method of claim 17 , wherein the files being analyzed are hidden from the file system.

28. The method of claim 17 wherein the files being analyzed are hidden from an antivirus program.

29. The method of claim 17 , wherein the trusted software component includes a procedure that compares characteristic properties of files on the virtual data storage with properties stored in a database.

30. The method of claim 17 , wherein performing the online snapshot process further comprises copying the data from the intermediate storage to the storage area.

Assignments (9)
REAFFIRMATION AGREEMENT Recorded Aug 28, 2022
From: ACRONIS AG; ACRONIS INTERNATIONAL GMBH; ACRONIS SCS, INC.; ACRONIS, INC.; GROUPLOGIC, INC.; NSCALED INC.; ACRONIS MANAGEMENT LLC; 5NINE SOFTWARE, INC.; ACRONIS GERMANY GMBH; ACRONIS NETHERLANDS B.V.; ACRONIS BULGARIA EOOD; DEVICELOCK, INC.; DEVLOCKCORP LTD; ACRONIS INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 061330/0818 →
SECURITY INTEREST Recorded Dec 19, 2019
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 051418/0119 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2019
From: OBSIDIAN AGENCY SERVICES, INC.
To: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
Reel/Frame 050783/0893 →
SECURITY INTEREST Recorded Jul 26, 2017
From: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
To: OBSIDIAN AGENCY SERVICES, INC., AS COLLATERAL AGENT
Reel/Frame 043350/0186 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 033805 FRAME: 0494. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 25, 2016
From: BELOUSSOV, SERGUEI M.; LYADVINSKY, MAXIM V.
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 037915/0700 →
SECURITY INTEREST Recorded Feb 11, 2015
From: ACRONIS INTERNATIONAL GMBH
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 034939/0316 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2014
From: BELOUSSOV, SERGUEI M.; LYADVINSKY, MAXIM M.
To: ACRONIS, INC.
Reel/Frame 033805/0494 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2014
From: ACRONIS INC.
To: ACRONIS INC. LTD.
Reel/Frame 033805/0555 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2014
From: ACRONIS INC. LTD.
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 033805/0615 →