Virtual CPU validation

Adapts CPU vendor testing methodologies to hypervisors, uncovering and fixing 117 bugs and identifying flaws in Intel virtualization technology.

Virtualization
System Design
Author

Nadav Amit, Dan Tsafrir, Assaf Schuster, Ahmad Ayoub and Eran Shlomo

Published

January 1, 2015

Abstract

Testing the hypervisor is important for ensuring the correct operation and security of systems, but it is a hard and challenging task. We observe, however, that the challenge is similar in many respects to that of testing real CPUs. We thus propose to apply the testing environment of CPU vendors to hypervisors. We demonstrate the advantages of our proposal by adapting Intel’s testing facility to the Linux KVM hypervisor. We uncover and fix 117 bugs, six of which are security vulnerabilities. We further find four flaws in Intel virtualization technology, causing a disparity between the observable behavior of code running on virtual and bare-metal servers.