Frontiers of Computer Science

, Volume 7, Issue 1, pp 34–43 | Cite as

Design and verification of a lightweight reliable virtual machine monitor for a many-core architecture

  • Yuehua Dai
  • Yi Shi
  • Yong Qi
  • Jianbao Ren
  • Peijian Wang
Research Article

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.

Keywords

virtual machine monitor model operating system many core formal verification 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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–177Google Scholar
  2. 2.
    Understanding Memory Resource Management in VMware ESX Server. VMWare white paper. www.vmware.com/files/pdf/perfvsphere-memory_management.pdf
  3. 3.
    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–220CrossRefGoogle Scholar
  4. 4.
    Holzmann G J. The logic of bugs. In: Proceedings of Foundations of Software Engineering. 2002Google Scholar
  5. 5.
    Gens F. IT cloud services user survey, part.2: top benefits & challenges. http://blogs.idc.com/ie/?p=210
  6. 6.
    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–57Google Scholar
  7. 7.
    Engler D, Kaashoek M. Exokernel: an operating system architecture for application-level resource management. ACM SIGOPS Operating Systems Review, 1995, 29(5): 251–266CrossRefGoogle Scholar
  8. 8.
    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–44CrossRefGoogle Scholar
  9. 9.
    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–350CrossRefGoogle Scholar
  10. 10.
    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–158Google Scholar
  11. 11.
    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–361CrossRefGoogle Scholar
  12. 12.
    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–130CrossRefGoogle Scholar
  13. 13.
    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–216Google Scholar
  14. 14.
    Steinberg U, Kauer B. NOVA: a microhypervisor-based secure virtualization architecture. In: Proceedings of the 5th European Conference on Computer Systems. 2010, 209–222Google Scholar
  15. 15.
    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–220CrossRefGoogle Scholar
  16. 16.
    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. 2008Google Scholar
  17. 17.
    Wang Z, Jiang X. Hypersafe: a lightweight approach to provide lifetime hypervisor control-flow integrity. IEEE Symposium on Security and Privacy (SP). 2010, 380–395Google Scholar
  18. 18.
    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. 2011Google Scholar
  19. 19.
    AMD. Amd64 architecture programmers manual volume 2: system programming. 2007Google Scholar
  20. 20.
    Holzmann G J. The model checker SPIN. IEEE Transactions on Software Engineering, 1997, 23(5): 279–295MathSciNetCrossRefGoogle Scholar
  21. 21.
    McVoy L, Staelin C. Lmbench: portable tools for performance analysis. In: Proceedings of the 1996 Annual Conference on USENIX Annual Technical Conference. 1996, 23Google Scholar
  22. 22.
    Kortchinsky K. Hacking 3D (and breaking out of VMWare). In: Proceedings of Black Hat conference. 2009Google Scholar
  23. 23.
    Wojtczuk R, Rutkowska J. Xen Owning trilogy. In: Proceedings of Black Hat conference. 2008Google Scholar
  24. 24.
    Secunia. Xen multiple vulnerability report. http://secunia.com/advisories/44502/
  25. 25.
    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–276Google Scholar

Copyright information

© Higher Education Press and Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Yuehua Dai
    • 1
  • Yi Shi
    • 1
  • Yong Qi
    • 1
  • Jianbao Ren
    • 1
  • Peijian Wang
    • 1
  1. 1.School of Electronic and Information EngineeringXi’an Jiaotong UniversityXi’anChina

Personalised recommendations