IP Library Granted Patent US 9,977,894
Granted Patent B2
US 9,977,894 · App. 14/944,291 · Granted May 22, 2018

Virtual machine malware scanning

Inventor: David Gilbert (Raleigh, NC)
Assignee: RED HAT, INC.
G06F21/50G06F21/564
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,977,894
App. No.
14/944,291
Granted
May 22, 2018
Kind
B2
Abstract

Methods, systems, and computer program products for selecting a virtual machine to perform a task corresponding to a client request and performing the task at the virtual machine. After performing the task at the virtual machine, an indicator corresponding to a shutdown of the virtual machine is detected. After detecting the indicator and prior to the shutdown of the virtual machine, a memory space is preserved corresponding to the virtual machine. The preserved memory space is then scanned for malware.

Claims (50)

1. A method for detecting malware in a virtual environment comprising:

selecting, by a virtual machine monitor, a virtual machine to perform a task corresponding to a client request;

performing the task at the virtual machine;

after performing the task at the virtual machine, detecting an indicator corresponding to a shutdown of the virtual machine;

after detecting the indicator and prior to the shutdown of the virtual machine, storing a snapshot of a memory space corresponding to the virtual machine;

providing the snapshot to an external machine; and

after the shutdown of the virtual machine, performing, on the external machine, a malware scan of the snapshot, the malware scan including comparing at least a portion of the snapshot to malware signatures, wherein a result of the malware scan includes metadata corresponding to the client request.

2. The method of claim 1 , further comprising:

sending the result of the malware scan to a management console.

3. The method of claim 1 , the selecting comprising:

creating, by the virtual machine monitor, the virtual machine.

4. The method of claim 1 , further comprising:

receiving, from a load balancer, a client request corresponding to the task;

querying, at the load balancer, load balancing heuristics;

selecting, based on the load balancing heuristics, a compute host machine to handle the client request;

sending the client request to the compute host machine; and

receiving the client request at the virtual machine monitor, wherein the virtual machine monitor is running on the compute host machine.

5. The method of claim 1 , wherein the indicator comprises a function call, message, or event.

6. The method of claim 4 , further comprising:

adjusting, based on the load balancing heuristics, a frequency of malware scanning.

7. A non-transitory computer-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising:

creating, by a virtual machine monitor, a virtual machine;

performing, at the virtual machine, one or more tasks corresponding to a client;

after performing the one or more tasks, detecting an indicator corresponding to a shutdown of the virtual machine; and

after detecting the indicator and prior to the shutdown of the virtual machine, storing a snapshot of a memory space corresponding to the virtual machine;

providing the snapshot to a malware scanner that is external to the virtual machine; and

after the shutdown of the virtual machine, performing a malware scan of the snapshot, the malware scan including comparing at least a portion of the snapshot to a malware signature, wherein a result of the malware scan includes metadata corresponding to the client.

8. The non-transitory computer-readable medium of claim 7 , wherein the performing of the malware scan comprises scanning the snapshot by a plurality of malware scanners.

9. The medium of claim 7 , wherein the indicator comprises a function call, message, or event.

10. The medium of claim 9 , wherein the indicator is detected by a hook that is set at least in part by the virtual machine monitor.

11. A system for detecting malware comprising:

a processor and a memory;

a virtual machine monitor that is executed by the processor to create a virtual machine, wherein the virtual machine is assigned to a portion of the memory;

the virtual machine monitor to:

receive a client request;

set a hook corresponding to an indicator of a shutdown of the virtual machine;

detect, based on the hook, the indicator of the shutdown of the virtual machine;

after detecting the indicator and prior to performing the shutdown of the virtual machine, store a snapshot of the portion of the memory;

provide the snapshot to a malware scanner that is external to the virtual machine; and

trigger a malware scan corresponding to the snapshot, the malware scan occurring after the shutdown of the virtual machine, the malware scan including comparing at least a portion of the snapshot to malware signatures, wherein a result of the malware scan includes metadata corresponding to the client request.

12. The system of claim 11 , further comprising:

a load balancer that selects a compute host machine that runs the virtual machine monitor, the load balancer to route the client request to the compute host machine.

13. The system of claim 12 , wherein the load balancer selects the compute host machine based on at least one load indicator selected from at least one of: a CPU load corresponding to the compute host machine or a memory usage corresponding to the compute host machine.

14. The system of claim 11 , wherein the malware scan comprises scanning the snapshot for malware by a plurality of malware scanners.

15. The system of claim 11 , wherein the indicator of the shutdown comprises a function call, message, or event.

16. The method of claim 1 , wherein the external machine comprises a compute host machine that provides the virtual machine and the virtual machine monitor.

17. The method of claim 16 , wherein providing the snapshot to the external machine comprises providing a memory address of the snapshot to the compute host machine.

18. The non-transitory computer-readable medium of claim 7 , wherein the malware scanner is executed on a compute host machine that runs the virtual machine and the virtual machine monitor.

19. The non-transitory computer-readable medium of claim 18 , wherein providing the snapshot to the malware scanner comprises providing a memory address of the snapshot to the compute host machine.

20. The system of claim 11 , wherein the malware scanner is executed on a compute host machine that runs the virtual machine and the virtual machine monitor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2015
From: GILBERT, DAVID
To: RED HAT, INC.
Reel/Frame 037127/0991 →
Continuity (1)
Related Publication 20170142134A1 · May 18, 2017