skip to main content
10.1145/1346281.1346284acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
research-article

Overshadow: a virtualization-based approach to retrofitting protection in commodity operating systems

Published:01 March 2008Publication History

ABSTRACT

Commodity operating systems entrusted with securing sensitive data are remarkably large and complex, and consequently, frequently prone to compromise. To address this limitation, we introduce a virtual-machine-based system called Overshadow that protects the privacy and integrity of application data, even in the event of a total OScompromise. Overshadow presents an application with a normal view of its resources, but the OS with an encrypted view. This allows the operating system to carry out the complex task of managing an application's resources, without allowing it to read or modify them. Thus, Overshadow offers a last line of defense for application data.

Overshadow builds on multi-shadowing, a novel mechanism that presents different views of "physical" memory, depending on the context performing the access. This primitive offers an additional dimension of protection beyond the hierarchical protection domains implemented by traditional operating systems and processor architectures.

We present the design and implementation of Overshadow and show how its new protection semantics can be integrated with existing systems. Our design has been fully implemented and used to protect a wide range of unmodified legacy applications running on an unmodified Linux operating system. We evaluate the performance of our implementation, demonstrating that this approach is practical.

Skip Supplemental Material Section

Supplemental Material

1346284.mp4

mp4

153.9 MB

References

  1. K. Adams and O. Agesen. A Comparison of Software and Hardware Techniques for x86 Virtualization. In Proceedings of the Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 2--13, October 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. AMD. AMD64 Virtualization Technology: Secure Virtual Machine Architecture Reference Manual, May 2005.Google ScholarGoogle Scholar
  3. P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the Art of Virtualization. In Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, pages 164--177, October 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. E. Bugnion, S. Devine, and M. Rosenblum. Disco: Running Commodity Operating Systems on Scalable Multiprocessors. In Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles, pages 143--156, October 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Clark, K. Fraser, S. Hand, J.G. Hansen, E. Jul, C. Limpach, I. Pratt, and A. Warfield. Live Migration of Virtual Machines. In Proceedings of the Second Symposium on Networked Systems Design and Implementation, pages 273--286, May 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J.S. Dwoskin and R.B. Lee. Hardware-rooted Trust for Secure Key Management and Transient Trust. In Proceedings of the Fourteenth ACM Conference on Computer and Communications Security, pages 389--400, October 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. Dyer, M. Lindemann, R. Perez, R. Sailer, S. Smith, Lvan Doorn, and S. Weingart. Building the IBM 4758 Secure Coprocessor. IEEE Computer, 34:57--66, October 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Englund, B. Lampson, J. Manferdelli, M. Peinado, and B. Willman. A Trusted Open Platform. IEEE Spectrum, pages 55--62, July 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. K. Fu, M.F. Kaashoek, and D. Mazières. Fast and Secure Distributed Read-only File System. In Proceedings of the Fourth Symposium on Operating Systems Design and Implementation, pages 181--196, October 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. Garfinkel, B. Pfaff, J. Chow, M. Rosenblum, and D. Boneh. Terra: A Virtual Machine-Based Platform for Trusted Computing. In Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, pages 193--206, October 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. E.-J. Goh, H. Shacham, N. Modadugu, and D. Boneh. SiRiUS: Securing Remote Untrusted Storage. In Proceedings of the Network and Distributed System Security Symposium, pages 131--145, February 2003.Google ScholarGoogle Scholar
  12. H. Härtig, M. Hohmuth, N. Feske, C. Helmuth, A. Lackorzynski, F. Mehnert, and M. Peter. The Nizza Secure-System Architecture. In Proceedings of the International Conference on Collaborative Computing, December 2005.Google ScholarGoogle ScholarCross RefCross Ref
  13. Intel. Intel Trusted Execution Technology Preliminary Architecture Specification, November 2006.Google ScholarGoogle Scholar
  14. S.T. Jones, A.C. Arpaci-Dusseau, and R.H. Arpaci-Dusseau. Antfarm: Tracking Processes in a Virtual Machine Environment. In Proceedings of the USENIX Annual Technical Conference, pages 1--14, June 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. P. Kocher. Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems. In Proceedings of Crypto '96, pages 104--113, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R.B. Lee, P.C.S. Kwan, J.P. McGregor, J. Dwoskin, and Z. Wang. Architecture for Protecting Critical Secrets in Microprocessors. In Proceedings of the 32nd International Symposium on Computer Architecture, pages 2--13, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Li, M.N. Krohn, D. Mazières, and D. Shasha. Secure Untrusted Data Repository (SUNDR). In Proceedings of the Sixth Symposium on Operating Systems Design and Implementation, pages 121--136, December 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Lie, C.A. Thekkath, and M. Horowitz. Implementing an Untrusted Operating System on Trusted Hardware. In Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, pages 178--192, October 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. Lie, C.A. Thekkath, M. Mitchell, P. Lincoln, D. Boneh, J.C. Mitchell, and M. Horowitz. Architectural Support for Copy and Tamper Resistant Software. In Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 168--177, November 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. U. Maheshwari, R. Vingralek, and W. Shapiro. How to Build a Trusted Database System on Untrusted Storage. In Proceedings of the Fourth Symposium on Operating Systems Design and Implementation, pages 135--150, October 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. Merkle. Protocols for Public Key Cryptosystems. In Proceedings of the IEEE Symposium on Security and Privacy, pages 122--134, April 1980.Google ScholarGoogle ScholarCross RefCross Ref
  22. G. Neiger, A. Santoni, F. Leung, D. Rodgers, and R. Uhlig. Intel Virtualization Technology: Hardware Support for Efficient Processor Virtualization. Intel Technology Journal, 10(3), August 2006.Google ScholarGoogle ScholarCross RefCross Ref
  23. M. Nelson, B.-H. Lim, and G. Hutchins. Fast Transparent Migration for Virtual Machines. In Proceedings of the USENIX Annual Technical Conference, pages 391--394, April 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R.P. Goldberg. Survey of Virtual Machine Research. IEEE Computer, 7(6):34--45, June 1974.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M.D. Schroeder and J.H. Saltzer. A Hardware Architecture for Implementing Protection Rings. Communications of the ACM, 15(3):157--170, March 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J.S. Shapiro, J.M. Smith, and D.J. Farber. EROS: A Fast Capability System. In Proceedings of the Seventeenth ACM Symposium on Operating Systems Principles, pages 170--185, December 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. W. Shi, J.B. Fryman, G. Gu, H.-H. Lee, Y. Zhang, and J. Yang. InfoShield: A Security Architecture for Protecting Information Usage in Memory. In Proceedings of the Twelfth International Symposium on High-Performance Computer Architecture, pages 222--231, February 2006.Google ScholarGoogle Scholar
  28. L. Singaravelu, CPu, H. Härtig, and C. Helmuth. Reducing TCB Complexity for Security-Sensitive Applications: Three Case Studies. In Proceedings of the First ACM EuroSys Conference, pages 161--174, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. R. Ta-Min, L. Litty, and D. Lie. Splitting Interfaces: Making Trust Between Applications and Operating Systems Configurable. In Proceedings of the Seventh Symposium on Operating Systems Design and Implementation, pages 279--292, November 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. C.A. Waldspurger. Memory Resource Management in VMware ESX Server. In Proceedings of the Fifth Symposium on Operating Systems Design and Implementation, pages 181--194, December 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Overshadow: a virtualization-based approach to retrofitting protection in commodity operating systems

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ASPLOS XIII: Proceedings of the 13th international conference on Architectural support for programming languages and operating systems
      March 2008
      352 pages
      ISBN:9781595939586
      DOI:10.1145/1346281
      • cover image ACM SIGOPS Operating Systems Review
        ACM SIGOPS Operating Systems Review  Volume 42, Issue 2
        ASPLOS '08
        March 2008
        339 pages
        ISSN:0163-5980
        DOI:10.1145/1353535
        Issue’s Table of Contents
      • cover image ACM SIGARCH Computer Architecture News
        ACM SIGARCH Computer Architecture News  Volume 36, Issue 1
        ASPLOS '08
        March 2008
        339 pages
        ISSN:0163-5964
        DOI:10.1145/1353534
        Issue’s Table of Contents
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 43, Issue 3
        ASPLOS '08
        March 2008
        339 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/1353536
        Issue’s Table of Contents

      Copyright © 2008 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 March 2008

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      ASPLOS XIII Paper Acceptance Rate31of127submissions,24%Overall Acceptance Rate535of2,713submissions,20%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader