Skip to main content

SEVGuard: Protecting User Mode Applications Using Secure Encrypted Virtualization

  • Conference paper
  • First Online:
Security and Privacy in Communication Networks (SecureComm 2019)

Abstract

We present SEVGuard, a minimal virtual execution environment that protects the confidentiality of applications based on AMD’s Secure Encrypted Virtualization (SEV). Although SEV was primarily designed for the protection of VMs, we found a way to overcome this limitation and exclusively protect user mode applications. Therefore, we migrate the application into a hardware-accelerated VM and encrypt both its memory and register state. To avoid the overhead of a typical hypervisor, we built our solution on top of the plain Linux Kernel Virtual Machine (KVM) API. With the help of an advanced trapping mechanism, we fully support system and library calls from within the encrypted guest. Furthermore, we allow unmodified code to be transparently virtualized and encrypted by appropriate memory mappings. The memory needed for our minimal VM can be directly allocated within SEVGuard’s address space. We evaluated our execution environment regarding correctness and performance, confirming that SEVGuard can be practically used to protect existing legacy applications.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. AMD: Amd64 architecture programmer’s manual volume 2: system programming. AMD Developer Zone (2018). https://support.amd.com/TechDocs/24593.pdf

  2. Arnautov, S., et al.: SCONE: secure Linux containers with Intel SGX. In: 12th USENIX Symposium on Operating Systems Design and Implementation, OSDI (2016)

    Google Scholar 

  3. Baumann, A., Peinado, M., Hunt, G.C.: Shielding applications from an untrusted cloud with haven. In: 11th USENIX Symposium on Operating Systems Design and Implementation, OSDI (2014)

    Google Scholar 

  4. Checkoway, S., Shacham, H.: Iago attacks: why the system call API is a bad untrusted RPC interface. In: ASPLOS, vol. 13, pp. 253–264 (2013)

    Google Scholar 

  5. Costan, V., Devadas, S.: Intel SGX explained. IACR Cryptology ePrint Archive (2016). http://eprint.iacr.org/2016/086

  6. Du, Z., et al.: Secure encrypted virtualization is unsecure. CoRR (2017). http://arxiv.org/abs/1712.05090

  7. Duc, G., Keryell, R.: CryptoPage: an efficient secure architecture with memory encryption, integrity and information leakage protection. In: 22nd Annual Computer Security Applications Conference (ACSAC 2006), 11–15 December 2006, Miami Beach, Florida, USA, pp. 483–492 (2006)

    Google Scholar 

  8. Götzfried, J., Dörr, N., Palutke, R., Müller, T.: Hypercrypt: hypervisor-based encryption of kernel and user space. In: 11th International Conference on Availability, Reliability and Security, ARES 2016, Salzburg, Austria, 31 August–2 September 2016, pp. 79–87. IEEE Computer Society (2016)

    Google Scholar 

  9. Götzfried, J., Müller, T., Drescher, G., Nürnberger, S., Backes, M.: RamCrypt: kernel-based address space encryption for user-mode processes. In: Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security, ASIACCS 2016, pp. 919–924. ACM, New York (2016)

    Google Scholar 

  10. Hetzelt, F., Buhren, R.: Security analysis of encrypted virtual machines. In: Proceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2017, Xi’an, China, 8–9 April 2017, pp. 129–142. ACM (2017). https://doi.org/10.1145/3050748.3050763

  11. Kaplan, D., Powell, J., Woller, T.: AMD memory encryption. Technical report, AMD, April 2016. http://developer.amd.com/wordpress/media/2013/12/AMD_Memory_Encryption_Whitepaper_v7-Public.pdf

  12. Lazard, T., Götzfried, J., Müller, T., Santinelli, G., Lefebvre, V.: TEEshift: protecting code confidentiality by selectively shifting functions into tees. In: Proceedings of the 3rd Workshop on System Software for Trusted Execution, SysTEX 2018, pp. 14–19. ACM (2018). https://doi.org/10.1145/3268935.3268938. http://doi.acm.org/10.1145/3268935.3268938

  13. Lefebvre, V., Santinelli, G., Müller, T., Götzfried, J.: Universal trusted execution environments for securing SDN/NFV operations. In: Doerr, S., Fischer, M., Schrittwieser, S., Herrmann, D. (eds.) Proceedings of the 13th International Conference on Availability, Reliability and Security, ARES 2018, Hamburg, Germany, 27–30 August 2018, pp. 44:1–44:9. ACM (2018). https://doi.org/10.1145/3230833.3233256

  14. Maene, P., Götzfried, J., de Clercq, R., Müller, T., Freiling, F., Verbauwhede, I.: Hardware-based trusted computing architectures for isolation and attestation. IEEE Trans. Comput. 67, 361–374 (2017)

    Article  MathSciNet  Google Scholar 

  15. Microsoft: Open enclave SDK (2019). https://openenclave.io/sdk

  16. Morbitzer, M., Huber, M., Horsch, J., Wessel, S.: SEVered: subverting AMD’s virtual machine encryption. In: Stavrou, A., Rieck, K. (eds.) Proceedings of the 11th European Workshop on Systems Security, EuroSec@EuroSys 2018, Porto, Portugal, 23 April 2018, pp. 1:1–1:6. ACM (2018). https://doi.org/10.1145/3193111.3193112

  17. Peterson, P.: Cryptkeeper: improving security with encrypted RAM. In: 2010 IEEE International Conference on Technologies for Homeland Security (HST), pp. 120–126, November 2010

    Google Scholar 

  18. Porter, N.: Asylo: an open-source framework for confidential computing (2018). https://cloudplatform.googleblog.com/2018/05/Introducing-Asylo-an-open-source-framework-for-confidential-computing.html

  19. Provos, N.: Encrypting virtual memory. In: 9th USENIX Security Symposium, Denver, Colorado, USA, 14–17 August 2000

    Google Scholar 

  20. Schuster, F., et al.: VC3: trustworthy data analytics in the cloud using SGX. In: IEEE Symposium on Security and Privacy, SP 2015, San Jose, CA, USA, pp. 38–54. IEEE Computer Society (2015). https://doi.org/10.1109/SP.2015.10

  21. Tsai, C., Porter, D.E., Vij, M.: Graphene-SGX: a practical library OS for unmodified applications on SGX. In: USENIX Annual Technical Conference (2017)

    Google Scholar 

  22. Übler, D., Götzfried, J., Müller, T.: Secure remote computation using Intel SGX. In: Sicherheit, Schutz und Zuverlässigkeit (SICHERHEIT 2018), Bonn. Gesellschaft für Informatik (GI) (2017)

    Google Scholar 

  23. Zheng, W., Dave, A., Beekman, J.G., Popa, R.A., Gonzalez, J.E., Stoica, I.: Opaque: an oblivious and encrypted distributed analytics platform. In: 14th USENIX Symposium on Networked Systems Design and Implementation, NSDI (2017)

    Google Scholar 

Download references

Acknowledgments

We would like to thank Felix Freiling for his helpful comments and productive suggestions. This work was supported by the German Research Foundation (DFG) as part of the Transregional Collaborative Research Centre “Invasive Computing” (SFB/TR 89).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ralph Palutke .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Palutke, R., Neubaum, A., Götzfried, J. (2019). SEVGuard: Protecting User Mode Applications Using Secure Encrypted Virtualization. In: Chen, S., Choo, KK., Fu, X., Lou, W., Mohaisen, A. (eds) Security and Privacy in Communication Networks. SecureComm 2019. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 305. Springer, Cham. https://doi.org/10.1007/978-3-030-37231-6_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-37231-6_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-37230-9

  • Online ISBN: 978-3-030-37231-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics