IP Library Granted Patent US 10,536,471
Granted Patent B1
US 10,536,471 · App. 15/086,979 · Granted Jan 14, 2020

Malware detection in virtual machines

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,536,471
App. No.
15/086,979
Granted
Jan 14, 2020
Kind
B1
Abstract

A system, computer program product, and computer-executable method of detecting malware in a virtual machine (VM), the computer-executable method comprising periodically creating snapshots of the VM, analyzing each of the snapshots in comparison to one or more previous snapshots to determine whether anomalies exist, and based on a threshold amount of anomalies detected, scanning the VM to determine whether malware is detected.

Claims (62)

1. A computer-executable method of detecting malware in a virtual machine (VM), the computer-executable method comprising:

creating malware profiles by analyzing malware infected VMs to determine specified characteristics of each malware being analyzed;

periodically creating snapshots of the VM;

analyzing, by a detecting module trained using a learning algorithm, each of the snapshots in comparison to one or more previous snapshots to determine whether anomalies exist; and

based on a threshold amount of anomalies detected during the snapshot analysis, scanning, by the detecting module, the VM to determine whether malware is detected;

wherein a given one of the malware profiles is created at least in part by intentionally infecting a test VM with a corresponding particular type of malware having a malicious code capable of infecting the test VM and comparing a snapshot taken of the test VM prior to the infecting of the test VM with at least one snapshot taken of the test VM subsequent to the infecting of the test VM; and

wherein analyzing each of the snapshots comprises detecting an effect of the corresponding particular type of malware on the VM, the effect including anomalies in at least one of memory, a port, a network connection and a virtual disk of the VM.

2. The computer-executable method of claim 1 , wherein scanning comprises comparing each of the snapshots of the VM with a profile to determine whether the VM is infected with malware.

3. The computer-executable method of claim 1 , wherein creating malware profiles comprises:

creating the test VM with a similar profile to the VM;

taking a first snapshot of the test VM;

intentionally infecting the test VM with a first type of malware having a malicious code capable of infecting the test VM;

running the test VM while periodically taking subsequent snapshots of the test VM; and

analyzing each of the subsequent snapshots of the test VM in comparison with the first snapshot to determine an effect of the first type of malware on the test VM.

4. The computer-executable method of claim 1 , wherein the malware profiles indicate changes in the VM that are indicative of a type of malware.

5. The computer-executable method of claim 1 , further comprising creating a first snapshot of the VM, wherein each of the subsequent snapshots is compared with the first snapshot of the VM.

6. The computer-executable method of claim 1 , wherein analyzing each of the snapshots comprises at least one of the following:

analyzing a virtual disk associated with the VM; and

analyzing memory of the VM.

7. A system, comprising:

a data storage system enabled to provide a virtual machine (VM); and

computer-executable program logic encoded in memory of one or more computers enabled to detect malware in the VM, wherein the computer-executable program logic is configured for the execution of:

creating malware profiles by analyzing malware infected VMs to determine specified characteristics of each malware being analyzed;

periodically creating snapshots of the VM;

analyzing, by a detecting module trained using a learning algorithm, each of the snapshots in comparison to one or more previous snapshots to determine whether anomalies exist; and

based on a threshold amount of anomalies detected during the snapshot analysis, scanning, by the detecting module, the VM to determine whether malware is detected;

wherein a given one of the malware profiles is created at least in part by intentionally infecting a test VM with a corresponding particular type of malware having a malicious code capable of infecting the test VM and comparing a snapshot taken of the test VM prior to the infecting of the test VM with at least one snapshot taken of the test VM subsequent to the infecting of the test VM; and

wherein analyzing each of the snapshots comprises detecting an effect of the corresponding particular type of malware on the VM, the effect including anomalies in at least one of memory, a port, a network connection and a virtual disk of the VM.

8. The system of claim 7 , wherein scanning comprises comparing each of the snapshots of the VM with a profile to determine whether the VM is infected with malware.

9. The system of claim 7 , wherein creating malware profiles comprises:

creating the test VM with a similar profile to the VM;

taking a first snapshot of the test VM;

intentionally infecting the test VM with a first type of malware having a malicious code capable of infecting the test VM;

running the test VM while periodically taking subsequent snapshots of the test VM; and

analyzing each of the subsequent snapshots of the test VM in comparison with the first snapshot to determine an effect of the first type of malware on the test VM.

10. The system of claim 7 , wherein the malware profiles indicate changes in the VM that are indicative of a type of malware.

11. The system of claim 7 , wherein the computer-executable program logic is further configured for the execution of creating a first snapshot of the VM, wherein each of the subsequent snapshots are compared with the first snapshot of the VM.

12. The system of claim 7 , wherein analyzing each of the snapshots comprises at least one of the following:

analyzing a virtual disk associated with the VM; and

analyzing memory of the VM.

13. A computer program product for detecting malware in a virtual machine (VM), the computer program product comprising:

a non-transitory computer readable medium encoded with computer-executable code, the code configured to enable the execution of:

creating malware profiles by analyzing malware infected VMs to determine specified characteristics of each malware being analyzed;

periodically creating snapshots of the VM;

analyzing, by a detecting module trained using a learning algorithm, each of the snapshots in comparison to one or more previous snapshots to determine whether anomalies exist; and

based on a threshold amount of anomalies detected during the snapshot analysis, scanning, by the detecting module, the VM to determine whether malware is detected;

wherein a given one of the malware profiles is created at least in part by intentionally infecting a test VM with a corresponding particular type of malware having a malicious code capable of infecting the test VM and comparing a snapshot taken of the test VM prior to the infecting of the test VM with at least one snapshot taken of the test VM subsequent to the infecting of the test VM; and

wherein analyzing each of the snapshots comprises detecting an effect of the corresponding particular type of malware on the VM, the effect including anomalies in at least one of memory, a port, a network connection and a virtual disk of the VM.

14. The computer program product of claim 13 , wherein scanning comprises comparing each of the snapshots of the VM with a profile to determine whether the VM is infected with malware.

15. The computer program product of claim 13 , wherein creating malware profiles comprises:

creating the test VM with a similar profile to the VM;

taking a first snapshot of the test VM;

intentionally infecting the test VM with a first type of malware having a malicious code capable of infecting the test VM;

running the test VM while periodically taking subsequent snapshots of the test VM; and

analyzing each of the subsequent snapshots of the test VM in comparison with the first snapshot to determine an effect of the first type of malware on the test VM.

16. The computer-executable method of claim 1 , including intentionally infecting the test VM with multiple known types of malware, and further including creating, with the detecting module, various versions of malware profiles for each known type of malware.

17. The system of claim 7 , including intentionally infecting the test VM with multiple known types of malware, and further including creating, with the detecting module, various versions of malware profiles for each known type of malware.

18. The computer program product of claim 13 , including intentionally infecting the test VM with multiple known types of malware, and further including creating, with the detecting module, various versions of malware profiles for each known type of malware.

19. The computer program product of claim 13 , further comprising creating a first snapshot of the VM, wherein each of the subsequent snapshots is compared with the first snapshot of the VM.

20. The computer program product of claim 13 , wherein analyzing each of the snapshots comprises at least one of the following:

analyzing a virtual disk associated with the VM; and

analyzing memory of the VM.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
CORRECTIVE NOTICE TO RELEASE SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (049452/0223) Recorded Jun 30, 2020
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 053529/0862 →
CORRECTIVE NOTICE TO RELEASE SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Jun 30, 2020
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053529/0888 →
PARTIAL RELEASE OF SECURITY INTEREST Recorded Jun 2, 2020
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052807/0293 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2016
From: DERBEKO, PHILIP; KAPPEL, SHAI; STERN, URIYA; BAKSHI, MAYA; HAREL, YANIV
To: EMC CORPORATION
Reel/Frame 038394/0096 →