IP Library Granted Patent US 9,003,408
Granted Patent B2
US 9,003,408 · App. 13/631,122 · Granted Apr 7, 2015

Providing virtual machine services by isolated virtual machines

Inventors: Jason D. Sonnek (Lino Lakes, MN); Steven A. Harp (Coon Rapids, MN); J. Thomas Haigh (Golden Valley, MN)
Assignee: Adventium Enterprises
G06F21/53
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,003,408
App. No.
13/631,122
Granted
Apr 7, 2015
Kind
B2
Abstract

The present disclosure includes methods and systems for providing virtual machine services. A number of embodiments can include a user VM with a virtual workstation, a number of service modules that can provide a number of services without communicating with the user VM and/or the virtual workstation, a communication channel that allows the number of service modules to communicate with each other, a computing device, and a manager. A number of embodiments can also include a virtual machine monitor to enforce an isolation policy within the system.

Claims (42)

1. A computer implemented method for providing virtual machine services, the method comprising:

providing a user virtual machine (VM) having access to a number of virtual resources;

providing a number of service VMs having a number of service modules that provide a number of services to the user VM by accessing the virtual resources, wherein each of the number of service modules includes:

a requirements declaration that describes resources required by a corresponding service module;

a cryptographically signed certificate that allows the corresponding service module to access the number of virtual resources which includes a number of memory pages, network traffic, and a number of virtual storage devices associated with the user VM;

a management policy that is used to regulate each of the number of service modules;

a security policy that specifies an access that the corresponding service module can have to the number of memory pages, the network traffic, and the number of virtual storage devices;

a baseline configuration that establishes settings required to start the corresponding service module in a default mode; and

isolating the user VM from the number of service VMs through a virtual machine monitor that prevents communication between the user VM and the number of service VMs.

2. The method of claim 1 , including accessing the number of virtual resources through an introspection library, wherein the introspection library provides direct access to the virtual resources without communicating with an agent that is in the user VM and without communicating with the user VM.

3. The method of claim 2 , including providing the number of services to the user VM via a read and write access to the number of virtual resources that are provided to the number of service VMs by the introspection library.

4. The method of claim 2 , wherein accessing the number of virtual resources without communicating with the user VM includes accessing a number of memory pages, network traffic, and a number of virtual storage devices associated with the user VM.

5. The method of claim 1 , wherein isolating the user VM from the number of service VMs through the virtual machine monitor includes creating a barrier that prevents malware from crossing from the user VM into the number of service VMs.

6. A system for providing virtual machine services, comprising:

a first computing device including processor and memory resources and a virtual machine monitor configured to enforce an isolation policy between a number of virtual machines (VM);

a user VM that allows a user to access a number of virtual resources;

a number of service modules within a number of service VMs, wherein each of the number of service modules includes:

instructions executed to provide security related services;

an authentication mechanism that is used to uniquely identify each of the service modules and an associated security policy;

a management policy that regulates the operation of the corresponding service module;

the security policy that specifies an access that the corresponding service module has to the virtual resources;

a communication channel that allows the number of service modules to communicate with each other, wherein the number of service modules and the number of service VMs are isolated from the user VM through the communication channel and through the isolation policy enforced by the virtual machine monitor; and

a management module within a management VM that allows a manager to communicate with the number of service modules and the number of service VMs, wherein the management VM is isolated from the user VM and wherein the manager modifies and updates the management policy and the security policy in each of the number of service VMs.

7. The system of claim 6 , further comprising a second computing device including the management module and the management VM.

8. The system of claim 7 , wherein the management module manages the number of service modules in a number of computing devices including the first computing device, with each of the number of computing devices having a number of user VMs that are isolated from the management module and the number of service modules.

9. The system of claim 6 , further comprising a message broker that restricts access to the communication channel based on an identification assigned to each of the number of service modules by an authentication mechanism.

10. The system of claim 9 , wherein the communication channel connects the message broker with the management VM and wherein the management VM records a log of traffic that passes through the message broker.

11. A system for providing virtual machine services, comprising:

a first computing device including processor and memory resources and a virtual machine monitor configured to enforce an isolation policy between a number of virtual machines (VM);

a user VM that allows a user to access a number of virtual resources;

a number of service modules within a number of service VMs, wherein each of the number of service modules includes:

instructions executed to provide security related services;

an authentication mechanism that is used to uniquely identify each of the service modules and an associated security policy;

a management policy that regulates the operation of the corresponding service module;

the security policy that specifies an access that the corresponding service module has to the virtual resources;

a communication channel that allows the number of service modules to communicate with each other, wherein the number of service modules and the number of service VMs are isolated from the user VM through the communication channel and through the isolation policy enforced by the virtual machine monitor;

a management module within a management VM that allows a manager to communicate with the number of service modules and the number of service VMs, wherein the management VM is isolated from the user VM; and

a message broker that restricts access to the communication channel based on an identification assigned to each of the number of service modules by an authentication mechanism.

12. The system of claim 11 , further comprising a second computing device including the management module and the management VM.

13. The system of claim 12 , wherein the management module manages the number of service modules in a number of computing devices including the first computing device, with each of the number of computing devices having a number of user VMs that are isolated from the management module and the number of service modules.

14. The system of claim 11 , wherein the manager modifies and updates the management policy and the security policy in each of the number of service VMs.

15. The system of claim 11 , wherein the communication channel connects the message broker with the management VM and wherein the management VM records a log of traffic that passes through the message broker.

Assignments (4)
CONFIRMATORY LICENSE Recorded Dec 8, 2015
From: ADVENTIUM ENTERPRISES LLC
To: AFRL/RIJ
Reel/Frame 037233/0728 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 029049 FRAME: 0501. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 19, 2015
From: SONNEK, JASON D.; HARP, STEVEN A.; HAIGH, J. THOMAS
To: ADVENTIUM ENTERPRISES, LLC
Reel/Frame 035223/0984 →
CONFIRMATORY LICENSE Recorded Nov 21, 2013
From: ADVENTIUM ENTERPRISES LLC
To: AFRL/RIJ
Reel/Frame 031693/0325 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2012
From: SONNEK, JASON D.; HARP, STEVEN A.; HAIGH, J. THOMAS
To: ADVENTIUM ENTERPRISES
Reel/Frame 029049/0501 →
Continuity (1)
Related Publication 20140096131A1 · Apr 3, 2014