Feather-weight Virtual Machine

Faculty: Tzi-cker Chiueh

Group Members:

Project Description:

Many fault-tolerant and intrusion-tolerant systems require the ability to test-drive un-trusted programs in a realistic environment without leaving permanent damages. Virtual machine technology is a perfect fit to meet this need. Because such trial operations need to be invoked frequently on a routine basis, invoking a virtual execution environment from the realistic environment must be extremely low-overhead. This project aims at developing an OS level virtualization technique on Microsoft Windows called Feather-weight Virtual Machine (FVM). Under FVM architecture, each virtual machine is created by sharing the same state as the host machine, and is logically isolated by name space virtualization, resource copy on write and IPC confinement. The main technical difficulty in building FVM on Windows is the complicated name spaces and communication mechanisms, and not fully-documented system call interface. Experimental results demonstrate that FVM requires less system resource, incurs lower startup and run-time performance overhead, and thus makes a more effective building block for cyber-security applications.

OS-level virtualization:

Virtualization is to partition lower-level system resources to present multiple operating environments at a higher level. There are different levels of abstraction at which virtualization can take place, including instruction set architecture, hardware abstraction layer, system call interface, library call interface, etc. Normally OS-level virtualization means partitioning system resources at the system call interface. The key idea behind FVM is name space virtualization such that name spaces visible to processes in one virtual machine are disjoint from those visible to processes in another virtual machine. For example, suppose an application in one virtual machine (vm1) tries to access a file "c:\a\b", FVM will redirect it to "c:\vm1\a\b". To avoid unnecessary duplication of common system resources, FVM adopts a copy-on-write mechanism, which means an FVM virtual machine shares the system resources with the host machine by default, and gets a local resource copy before it attempts to modify the host copy. The OS-level virtualization is not a new idea. In recent years there are already many projects on the Linux/FreeBSD platform, like FreeBSD Jail, Linux VServer, Virtuozzo and Alcatraz, but not many attempts have been tried on the Microsoft Windows platform. The main issues with FVM design on the Windows platform include the following:

Applications:

The Feather-weight Virtual Machine technique provides a virtual execution environment with low overhead and resource requirement, and is useful in many applications as follows:

Publication:

Related Work:

Last modified: 02/17/09