A Secure Virtual Execution Environment for Untrusted Code

  • Yan Wen
  • Huaimin Wang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4817)

Abstract

This paper proposes a Secure Virtual Execution Environment called Pollux for untrusted code. Pollux achieves both the OS isolation and the functionality benefits provided by the isolated untrusted applications. It accomplishes the OS isolation by introducing a hosted virtual machine as the untrusted code container. The key feature of Pollux is its capability of reproducing the host execution environment, thus the behavior of isolated applications recurs as if they were running natively within the host OS. This characteristic is accomplished by the novel local-booted technology, which means the virtual machine boots not from a newly installed OS image but just from the preinstalled host OS. Thus, Pollux provides security against potential malicious code without negating the functionality benefits of benign programs. This paper focuses on the architecture of Pollux and outlines the implementation framework.

Keywords

Intrusion confinement isolated execution virtual execution environment security virtual machine 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Cohen, F.: Computational Aspects of Computer Viruses. Computers & Security 8, 325–344 (1989)CrossRefGoogle Scholar
  2. 2.
    Chess, D.M., White, S.R.: An Undetectable Computer Virus (2000)Google Scholar
  3. 3.
    Goldberg, R.P.: Architectural Principles for Virtual Computer Systems, Ph.D. Thesis. Harvard University, Cambridge, MA (1972)Google Scholar
  4. 4.
    Neiger, G., Santoni, A., Leung, F., Rodgers, D., Uhlig, R.: Intel® Virtualization Technology: Hardware Support for Efficient Processor Virtualization. Intel Technology Journal 10, 167–177 (2006)CrossRefGoogle Scholar
  5. 5.
    Adams, K., Agesen, O.: A Comparison of Software and Hardware Techniques for x86 Virtualization. In: ASPLOS 2006. Proceedings of The 12th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 2–13 (2006)Google Scholar
  6. 6.
    Sugerman, J., Venkitachalam, G., Lim, B.-H.: Virtualizing I/O Devices on VMware Workstation’s Hosted Virtual Machine Monitor. In: Proceedings of the 2001 USENIX Annual Technical Conference, Boston, Massachusetts, USA (2001)Google Scholar
  7. 7.
    ScottRobin, J.: Analyzing the Intel Pentium’s Capability to Support a Secure Virtual Machine Monitor, Master’s Thesis. Naval Postgraduate School, Monterey, CA, p. 133 (1999)Google Scholar
  8. 8.
    Bellard, F.: QEMU, a Fast and Portable Dynamic Translator. In: USENIX Association Technical Conference (2005)Google Scholar
  9. 9.
    The IoMeter Project, http://iometer.sourceforge.net
  10. 10.
    Chiueh, T.-c., Sankaran, H., Neogi, A.: Spout: A Transparent Distributed Execution Engine for Java Applets. In: Proceedings of the 20th International Conference on Distributed Computing Systems, p. 394 (2000)Google Scholar
  11. 11.
    Malkhi, D., Reiter, M.K.: Secure Execution of Java Applets using A Remote Playground. IEEE Transactions on Software Engineering 26, 1197–1209 (2000)CrossRefGoogle Scholar
  12. 12.
    Liang, Z., Venkatakrishnan, V.N., Sekar, R.: Isolated Program Execution: An Application Transparent Approach for Executing Untrusted Programs. In: Omondi, A.R., Sedukhin, S. (eds.) ACSAC 2003. LNCS, vol. 2823, Springer, Heidelberg (2003)Google Scholar
  13. 13.
    Sun, W., Liang, Z., Sekar, R., Venkatakrishnany, V.N.: One-way Isolation: An Effective Approach for Realizing Safe Execution Environments. In: NDSS 2005. ISOC Network and Distributed System Security (2005)Google Scholar
  14. 14.
    Chen, P.M., Noble, B.D.: When Virtual is Better Than Real. In: 8th Workshop on Hot Topics in Operating Systems (2001)Google Scholar
  15. 15.
    Dike, J.: A User-mode Port of the Linux Kernel. In: Proceedings of the 4th Annual Linux Showcase & Conference, Atlanta, Georgia, USA (2000)Google Scholar
  16. 16.
    Whitaker, A., Shaw, M., Gribble, S.D.: Denali: A Scalable Isolation Kernel. In: Proceedings of the Tenth ACM SIGOPS European Workshop, Saint-Emilion, France (2002)Google Scholar
  17. 17.
    Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauery, R., Pratt, I., Warfield, A.: Xen and the Art of Virtualization. In: SOSP 2003. Proceedings of the 19th ACM Symposium on Operating Systems Principles, pp. 164–177. ACM Press, New York (2003)CrossRefGoogle Scholar
  18. 18.
    Biemueller, S., Dannowski, U.: L4-Based Real Virtual Machines - An API Proposal. In: Proceedings of the MIKES 2007: First International Workshop on MicroKernels for Embedded Systems, Sydney, Australia, pp. 36–42 (2007)Google Scholar
  19. 19.
  20. 20.
    Qumranet: KVM: Kernel-based Virtualization Driver (2006) Google Scholar
  21. 21.
    Uhlig, R., Neiger, G., Rodgers, D., Santoni, A.L., Martins, F.C.M., Anderson, A.V., Bennett, S.M., Kägi, A., Leung, F.H., Smith, L.: Intel Virtualization Technology. IEEE Computer 38 (2005)Google Scholar
  22. 22.
    AMD: AMD64 Vrtualization Codenamed "pacifica" Technology: Secure Virtual Machine Architecture Reference Manual (May 2005) Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Yan Wen
    • 1
  • Huaimin Wang
    • 1
  1. 1.School of Computer, National University of Defense Technology, Changsha, 410073China

Personalised recommendations