IP Library Granted Patent US 10,567,414
Granted Patent B2
US 10,567,414 · App. 16/250,006 · Granted Feb 18, 2020

Methods and apparatus for application isolation

Inventors: Anup Ghosh (Centreville, VA); Yih Huang (Fairfax, VA); Jiang Wang (Fairfax, VA); Angelos Stavrou (Springfield, VA)
Assignee: George Mason Research Foundation, Inc.
H04L63/1425G06F9/45545G06F21/53G06F21/55G06F21/554H04L63/1416G06F2009/45591G06F2221/034G06F2221/2149
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,567,414
App. No.
16/250,006
Granted
Feb 18, 2020
Kind
B2
Abstract

Processor(s) for detecting malicious software. A hardware virtual machine monitor (HVMM) operates under a host OS. Container(s) initialized with network application template(s) operate under a guest OS VM. A detection module operates under the guest OS VM includes a trigger detection module, a logging module and a container command module. The trigger detection module monitors activity on container(s) for a trigger event. The logging module writes activity report(s) in response to trigger event(s). The container command module issues command(s) in response to trigger event(s). The command(s) include a container start, stop and revert commands. A virtual machine control console operates under the host OS and starts/stops the HVMM. A container control module operates under the guest OSVM and controls container(s) in response to the command(s). The server communication module sends activity report(s) to a central collection network appliance that maintains a repository of activities for infected devices.

Claims (35)

1. An apparatus, comprising:

a memory; and

a hardware processor communicatively coupled to the memory, the hardware processor configured to execute a virtual machine monitor at least partially stored in the memory, the virtual machine monitor configured to provide a first level of virtualization,

the hardware processor configured to execute, using the virtual machine monitor, a plurality of virtual environments to provide a second level of virtualization, the second level of virtualization operating within the first level of virtualization,

each virtual environment from the plurality of virtual environments configured to execute an application from a plurality of applications, the plurality of virtual environments configured to isolate each application from the plurality of applications from the remaining applications from the plurality of applications,

the hardware processor configured to monitor behavior of the application within a virtual environment from the plurality of virtual environments to detect unauthorized activity of the application within the virtual environment,

the hardware processor configured to discard the virtual environment in response to detecting the unauthorized activity of the application within the virtual environment.

2. The apparatus of claim 1 , wherein the unauthorized activity includes at least one of an unauthorized change to a non-modifiable section of the virtual environment, a registry write, a start of a new process, corruption to an existing process, a web site visited, a redirected Uniform Resource Locator (URL), an infection detail, an event timeline, a network connection, a file system write, or a configuration change.

3. The apparatus of claim 1 , wherein, other than the virtual environment, each virtual environment from the plurality of virtual environments is not discarded in response to detecting the unauthorized activity of the application within the virtual environment.

4. The apparatus of claim 1 , wherein access to data associated with a host operating system by the application within the virtual environment is restricted to a shared memory configured to operate within the first level of virtualization.

5. The apparatus of claim 1 , wherein the first level of virtualization is hardware level virtualization and the second level of virtualization is operating system level virtualization.

6. The apparatus of claim 1 , wherein the virtual machine monitor is executed within a host operating system and each virtual environment from the plurality of virtual environments is executed within a guest operating system executing within the first level of virtualization,

the guest operating system being a first type of operating system and the host operating system being a second type of operating system different than the first type of operating system.

7. The apparatus of claim 1 , wherein each virtual environment from the plurality of virtual environments is initiated based on a template specific to an application from the plurality of applications to be executed within that virtual environment.

8. A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code to cause the processor to:

execute each application from a plurality of applications within a different virtual environment from a plurality of virtual environments to isolate each application from the plurality of applications from the remaining applications from the plurality of applications, the plurality of virtual environments providing a first level of virtualization within a second level of virtualization;

monitor behavior of each application from the plurality of applications to detect unauthorized activity; and

discard a virtual environment from the plurality of virtual environments without discarding the remaining virtual environments from the plurality of virtual environments when unauthorized activity of an application within the virtual environment is detected and unauthorized activity of applications within the remaining virtual environments from the plurality of virtual environments is not detected.

9. The non-transitory processor-readable medium of claim 8 , wherein the first level of virtualization is operating system level virtualization and the second level of virtualization is hardware level virtualization.

10. The non-transitory processor-readable medium of claim 8 , wherein the second level of virtualization is controlled by a virtual machine monitor executing on a host operating system, each virtual environment from the plurality of virtual environments being executed by a guest operating system operating under control of the virtual machine monitor.

11. The non-transitory processor-readable medium of claim 8 , wherein the unauthorized activity includes at least one of an unauthorized change to a non-modifiable section of the virtual environment, a registry write, a start of a new process, corruption to an existing process, a web site visited, a redirected Uniform Resource Locator (URL), an infection detail, an event timeline, a network connection, a file system write, or a configuration change.

12. The non-transitory processor-readable medium of claim 8 , wherein access to data associated with a host operating system by the plurality of applications is restricted to a shared memory configured to operate within the second level of virtualization.

13. The non-transitory processor-readable medium of claim 8 , wherein each virtual environment from the plurality of virtual environments is initiated based on a template specific to an application from the plurality of applications to be executed within that virtual environment.

14. The non-transitory processor-readable medium of claim 8 , wherein contents of a shared memory associated with the virtual environment are not discarded when discarding the virtual environment.

15. A method, comprising:

initiating a first virtual environment within which to execute a first application, the first virtual environment isolating the first application from a second application executing within a second virtual environment, the first virtual environment and the second virtual environment providing a first level of virtualization within a second level of virtualization;

monitoring behavior of the first application within the first virtual environment; and

detecting, based on the monitoring, an unauthorized activity of the first application, the unauthorized activity including at least one of an unauthorized change to a non-modifiable section of the first virtual environment, a registry write, a start of a new process, corruption to an existing process, a web site visited, a redirected Uniform Resource Locator (URL), an infection detail, an event timeline, a network connection, a file system write, or a configuration change.

16. The method of claim 15 , further comprising:

discarding the first virtual environment without discarding the second virtual environment based on the detecting the unauthorized activity of the first application and not detecting an unauthorized activity of the second application.

17. The method of claim 15 , wherein the first level of virtualization is operating system level virtualization and the second level of virtualization is hardware level virtualization.

18. The method of claim 15 , further comprising:

restricting access to data associated with a host operating system by the first application to a shared memory configured to operate within the second level of virtualization.

19. The method of claim 15 , wherein the first virtual environment is initiated based on a template specific to the first application and the second virtual environment is initiated based on a template specific to the second application.

20. The method of claim 15 , wherein the second level of virtualization is provided by a virtual machine monitor.

Assignments (3)
CHANGE OF NAME Recorded Jan 17, 2019
From: GEORGE MASON INTELLECTUAL PROPERTIES, INC.
To: GEORGE MASON RESEARCH FOUNDATION, INC.
Reel/Frame 049533/0189 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2019
From: GHOSH, ANUP; HUANG, YIH; WANG, JIANG; STAVROU, ANGELOS
To: GEORGE MASON UNIVERSITY
Reel/Frame 048049/0263 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2019
From: GEORGE MASON UNIVERSITY
To: GEORGE MASON INTELLECTUAL PROPERTIES, INC.
Reel/Frame 048049/0292 →
Continuity (6)
Continuation 15841913 · Dec 14, 2017
Continuation 15459563 · Mar 15, 2017
Continuation 14808681 · Jul 24, 2015
Continuation 12558841 · Sep 14, 2009
Provisional Application 61096591 · Sep 12, 2008
Related Publication 20190158523A1 · May 23, 2019
Cited By (1)
US 12,455,957