HyperSafe: A Lightweight Approach to Provide Lifetime Hypervisor Control-Flow Integrity
Zhi Wang and Xuxian Jiang

Abstract:

Virtualization is being widely adopted in today’s computing systems. Its unique security advantages in isolating and introspecting commodity OSes as virtual machines (VMs) have enabled a wide spectrum of applications. However, a com- mon, fundamental assumption is the presence of a trustworthy hypervisor. Unfortunately, the large code base of commodity hypervisors and recent successful hypervisor attacks (e.g., VM escape) seriously question the validity of this assumption. In this paper, we present HyperSafe, a lightweight approach that endows existing Type-I bare-metal hypervisors with a unique self-protection capability to provide lifetime control- flow integrity. Specifically, we propose two key techniques. The first one – non-bypassable memory lockdown – reliably protects the hypervisor’s code and static data from being compromised even in the presence of exploitable memory corruption bugs (e.g., buffer overflows), therefore successfully providing hyper- visor code integrity. The second one – restricted pointer indexing – introduces one layer of indirection to convert the control data into pointer indexes. These pointer indexes are restricted such that the corresponding call/return targets strictly follow the hypervisor control flow graph, hence expanding protection to control-flow integrity. We have built a prototype and used it to protect two open-source Type-I hypervisors: BitVisor and Xen. The experimental results with synthetic hypervisor exploits and benchmarking programs show HyperSafe can reliably enable the hypervisor self-protection and provide the integrity guarantee with a small performance overhead.

Published:

"HyperSafe: A Lightweight Approach to Provide Lifetime Hypervisor Control-Flow Integrity"
Zhi Wang and Xuxian Jiang
Proceedings of the Thirty First IEEE Symposium on Security & Privacy (Oakland 2010), Oakland, CA, May 2010.

Download:

Paper:


Valid CSS! Valid HTML 4.01!