Abstract
Virtual machine monitors (VMMs) play a central role in cloud computing. Their reliability and availability are critical for cloud computing. Virtualization and device emulation make the VMM code base large and the interface between OS and VMM complex. This results in a code base that is very hard to verify the security of the VMM. For example, a misuse of a VMM hyper-call by a malicious guest OS can corrupt the whole VMM. The complexity of the VMM also makes it hard to formally verify the correctness of the system’s behavior. In this paper a new VMM, operating system virtualization (OSV), is proposed. The multiprocessor boot interface and memory configuration interface are virtualized in OSV at boot time in the Linux kernel. After booting, only inter-processor interrupt operations are intercepted by OSV, which makes the interface between OSV and OS simple. The interface is verified using formal model checking, which ensures a malicious OS cannot attack OSV through the interface. Currently, OSV is implemented based on the AMD Opteron multi-core server architecture. Evaluation results show that Linux running on OSV has a similar performance to native Linux. OSV has a performance improvement of 4%–13% over Xen.
Similar content being viewed by others
References
Barham P, Dragovic B, Fraser K, Hand S, Harris T, Ho A, Neugebauer R, Pratt I, Warfield A. Xen and the art of virtualization. In: Proceedings of the 19th ACM Symposium on Operating Systems Principles. 2003, 164–177
Understanding Memory Resource Management in VMware ESX Server. VMWare white paper. www.vmware.com/files/pdf/perfvsphere-memory_management.pdf
Klein G, Elphinstone K, Heiser G, Andronick J, Cock D, Derrin P, Elkaduwe D, Engelhardt K, Kolanski R, Norrish M, Sewell T, Tuch H, Winwood S. seL4: formal verification of an OS kernel. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles. 2009, 207–220
Holzmann G J. The logic of bugs. In: Proceedings of Foundations of Software Engineering. 2002
Gens F. IT cloud services user survey, part.2: top benefits & challenges. http://blogs.idc.com/ie/?p=210
Boyd-Wickizer S, Chen H, Chen R, Mao Y, Kaashoek F, Morris R, Pesterev A, Stein L, Wu M, Dai Y. Corey: an operating system for many cores. In: Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation. 2008, 43–57
Engler D, Kaashoek M. Exokernel: an operating system architecture for application-level resource management. ACM SIGOPS Operating Systems Review, 1995, 29(5): 251–266
Baumann A, Barham P, Dagand P, Harris T, Isaacs R, Peter S, Roscoe T, Schupbach A, Singhania A. The multikernel: a new OS architecture for scalable multicore systems. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles. 2009, 29–44
Seshadri A, Luk M, Qu N, Perrig A. SecVisor: a tiny hypervisor to provide lifetime kernel code integrity for commodity OSes. ACM SIGOPS Operating Systems Review, 2007, 41(6): 335–350
McCune JM, Li Y, Qu N, Zhou Z, Datta A, Gligor V, Perrig A. TrustVisor: efficient TCB reduction and attestation. IEEE Symposium on Security and Privacy. 2010, 143–158
Keller E, Szefer J, Rexford J, Lee R B. NoHype: virtualized cloud infrastructure without the virtualization. ACM SIGARCH Computer Architecture News, 2010, 38(3): 350–361
Shinagawa T, Eiraku H, Tanimoto K, Omote K, Hasegawa S, Horie T, Hirano M, Kourai K, Oyama Y, Kawai E. BitVisor: a thin hypervi sor for enforcing i/o device security. In: Proceedings of the 2009 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. 2009, 121–130
Zhang F, Chen J, Chen H, Zang B. CloudVisor: retrofitting protection of virtual machines in multi-tenant cloud with nested virtualization. In: Proceedings of the 23rd ACM Symposium on Operating Systems Principles. 2011, 203–216
Steinberg U, Kauer B. NOVA: a microhypervisor-based secure virtualization architecture. In: Proceedings of the 5th European Conference on Computer Systems. 2010, 209–222
Klein G, Elphinstone K, Heiser G, Andronick J, Cock D, Derrin P, Elkaduwe D, Engelhardt K, Kolanski R, Norrish M. seL4: formal verification of an OS kernel. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles. 2009, 207–220
Franklin J, Seshadri A, Qu N, Chaki S, Datta A. Attacking, repairing, and verifying SecVisor: a retrospective on the security of a hypervisor. Technical Report CMU-CyLab-08-008. 2008
Wang Z, Jiang X. Hypersafe: a lightweight approach to provide lifetime hypervisor control-flow integrity. IEEE Symposium on Security and Privacy (SP). 2010, 380–395
Ravi V, Becchi M, Agrawal G, Chakradhar S. Supporting GPU sharing in cloud environments with a transparent runtime consolidation framework. In: Proceedings of the International Symposium on High-Performance Parallel and Distributed Computting. 2011
AMD. Amd64 architecture programmers manual volume 2: system programming. 2007
Holzmann G J. The model checker SPIN. IEEE Transactions on Software Engineering, 1997, 23(5): 279–295
McVoy L, Staelin C. Lmbench: portable tools for performance analysis. In: Proceedings of the 1996 Annual Conference on USENIX Annual Technical Conference. 1996, 23
Kortchinsky K. Hacking 3D (and breaking out of VMWare). In: Proceedings of Black Hat conference. 2009
Wojtczuk R, Rutkowska J. Xen Owning trilogy. In: Proceedings of Black Hat conference. 2008
Secunia. Xen multiple vulnerability report. http://secunia.com/advisories/44502/
Ren J, Qi Y, Dai Y, Xuan Y. Inter-domain communication mechanism design and implementation for high performance. In: Proceedings of the 4th International Symposium on Parallel Architectures, Algorithms and programming (PAAP). 2011, 272–276
Author information
Authors and Affiliations
Corresponding author
Additional information
Yuehua Dai received his BS in computer software and theory from Xi’an Jiaotong University in 2004. He is currently a PhD candidate in computer science at Xi’an Jiaotong University. His research interests include operating systems, VMM, cloud computing and system security.
Yi Shi received her PhD in computer software and theory from Xi’an Jiaotong University in 2008. She is a lecturer in the School of Electronic and Information Engineering, Xi’an Jiaotong University. Her research interests include operating systems, network security, cloud computing, and VMM.
Yong Qi received his PhD in computer software and theory from Xi’an Jiaotong University in 2001. He is currently a professor in the School of Electronic and Information Engineering, Xi’an Jiaotong University and the director of the Institute of Computer Software and Theory. His research interests include operating systems, distributed systems, pervasive computing, software aging and VMM. He has published more than 80 papers in international conferences and journals, including ACM SenSys, IEEE PerCom, ICNP, ICDCS, ICPP, IEEE TMC, and IEEE TPDS.
Jianbao Ren received his BS in computer software and theory from Xi’an Jiaotong University in 2009. He is currently a PhD candidate in computer science at Xi’an Jiaotong University. His research interests include operating systems, VMM, cloud computing, and system security.
Peijian Wang received the BS in computer software and theory from Xi’an Jiaotong University in 2004. He is currently a PhD candidate in computer science at the same university. His research interests include power management, cloud computing, and Internet data center.
Rights and permissions
About this article
Cite this article
Dai, Y., Shi, Y., Qi, Y. et al. Design and verification of a lightweight reliable virtual machine monitor for a many-core architecture. Front. Comput. Sci. 7, 34–43 (2013). https://doi.org/10.1007/s11704-012-2084-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-012-2084-0