skip to main content
10.1145/3321705.3329820acmconferencesArticle/Chapter ViewAbstractPublication Pagesasia-ccsConference Proceedingsconference-collections
research-article
Open access

The SEVerESt Of Them All: Inference Attacks Against Secure Virtual Enclaves

Published: 02 July 2019 Publication History

Abstract

The success of cloud computing has shown that the cost and convenience benefits of outsourcing infrastructure, platform, and software resources outweigh concerns about confidentiality. Still, many businesses and individuals resist moving private data to cloud providers due to intellectual property and privacy reasons. A recent wave of hardware virtualization technologies aims to alleviate these concerns by offering encrypted virtualization features that support data confidentiality of guest virtual machines (e.g., by transparently encrypting memory) even when running on top untrusted hypervisors. We introduce two new attacks that can breach the confidentiality of protected enclaves. First, we show how a cloud adversary can judiciously inspect the general purpose registers to unmask the computation that passes through them. Specifically, we demonstrate a set of attacks that can precisely infer the executed instructions and eventually capture sensitive data given only indirect access to the CPU state as observed via the general purpose registers. Second, we show that even under a more restrictive environment - where access to the general purpose registers is no longer available - we can apply a different inference attack to recover the structure of an unknown, running, application as a stepping stone towards application fingerprinting. We demonstrate the practicality of these inference attacks by showing how an adversary can identify different applications and even distinguish between versions of the same application and the compiler used, recover data transferred over TLS connections within the encrypted guest, retrieve the contents of sensitive data as it is being read from disk by the guest, and inject arbitrary data within the guest. Taken as a whole, these attacks serve as a cautionary tale of what can go wrong when the state of registers (e.g., in AMD's SEV) and application performance data (e.g. in AMD's SEV-ES) are left unprotected. The latter is the first known attack that was designed to specifically target SEV-ES.

References

[1]
{RFC PATCH v1 00/18} x86: Secure memory encryption (AMD). https://www.mail-archive.com/[email protected]/msg02713.html, 2016.
[2]
Cloudsuite. http://cloudsuite.ch/, 2018.
[3]
L. Abrams. Intel releases linux CPU microcodes to fix meltdown and spectre bugs, 2017.
[4]
AMD. AMD64 architecture programmer's manual volume 2: System programming. http://support.amd.com/TechDocs/24593.pdf, 2017.
[5]
AMD. AMD research instruction based sampling toolkit. https://github.com/jlgreathouse/AMD_IBS_Toolkit, 2018.
[6]
AMD. SEV-ES guest-hypervisor communication block standardization. https://developer.amd.com/wp-content/resources/56421.pdf, 2019.
[7]
A. Baumann, M. Peinado, and G. Hunt. Shielding applications from an untrusted cloud with haven. In USENIX Symposium on Operating Systems Design and Implementation, pages 267--283, 2014.
[8]
A. K. Biswas, D. Ghosal, and S. Nagaraja. A survey of timing channels and countermeasures. ACM Computer Surveys, 50 (1): 6:1--6:39, Mar. 2017.
[9]
J. V. Bulck, N. Weichbrodt, R. Kapitza, F. Piessens, and R. Strackx. Telling your secrets without page faults: Stealthy page table-based attacks on enclaved execution. In USENIX Security Symposium, pages 1041--1056, 2017.
[10]
S. Checkoway and H. Shacham. Iago attacks: why the system call API is a bad untrusted RPC interface. In Architectural Support for Programming Languages and Operating Systems, pages 253--264, 2013.
[11]
X. Chen, T. Garfinkel, E. C. Lewis, P. Subrahmanyam, C. A. Waldspurger, D. Boneh, J. Dwoskin, and D. R. Ports. Overshadow: A virtualization-based approach to retrofitting protection in commodity operating systems. SIGPLAN Not., 43 (3): 2--13, Mar. 2008.
[12]
V. Costan, I. Lebedev, and S. Devadas. Sanctum: Minimal hardware extensions for strong software isolation. In USENIX Security Symposium, pages 857--874, 2016.
[13]
J. Criswell, N. Dautenhahn, and V. Adve. Virtual ghost: Protecting applications from hostile operating systems. In ACM Conference on Architectural Support for Programming Languages and Operating Systems, pages 81--96, 2014.
[14]
CTS-LABS. Severe security advisory on AMD processors. https://amdflaws.com, 2018.
[15]
P. J. Drongowski. Instruction-based sampling: A new performance analysis technique for AMD family 10h processors. https://developer.amd.com/wordpress/media/2012/10/AMD_IBS_paper_EN.pdf, 2007.
[16]
Z.-H. Du, Z. Ying, Z. Ma, Y. Mai, P. Wang, J. Liu, and J. Fang. Secure Encrypted Virtualization is Unsecure! https://arxiv.org/pdf/1712.05090.pdf, 2017.
[17]
R. Elbaz, D. Champagne, C. Gebotys, R. B. Lee, N. Potlapally, and L. Torres. Hardware mechanisms for memory authentication: A survey of existing techniques and engines. In Transactions on Computational Science IV, pages 1--22. 2009.
[18]
S. Forrest, S. A. Hofmeyr, A. Somayaji, and T. A. Longstaff. A sense of self for Unix processes. In IEEE Symposium on Security & Privacy, 1996.
[19]
J. Greene. Intel Trusted Execution Technology. https://www.intel.com/content/www/us/en/architecture-and-technology/trusted-execution-technology/trusted-execution-technology-security-paper.html.
[20]
}GueronS. Gueron. Memory encryption for general-purpose processors. IEEE Security Privacy, 14 (6): 54--62, Nov 2016 a .
[21]
}intel-memS. Gueron. A memory encryption engine suitable for general purpose processors. ePrint Archive, Report 2016/204, 2016 b. https://eprint.iacr.org/2016/204.
[22]
D. Gullasch, E. Bangerter, and S. Krenn. Cache games -- bringing access-based cache attacks on AES to practice. In IEEE Symposium on Security & Privacy, pages 490--505, May 2011.
[23]
J. A. Halderman, S. D. Schoen, N. Heninger, W. Clarkson, W. Paul, J. A. Calandrino, A. J. Feldman, J. Appelbaum, and E. W. Felten. Lest we remember: Cold boot attacks on encryption keys. In USENIX Security Symposium, pages 45--60, 2009.
[24]
Y. Hebbal, S. Laniepce, and J. M. Menaud. Virtual machine introspection: Techniques and applications. In International Conference on Availability, Reliability and Security, pages 676--685, Aug 2015.
[25]
M. Henson and S. Taylor. Memory encryption: A survey of existing techniques. ACM Computer Survey, 46 (4): 53:1--53:26, Mar. 2014.
[26]
F. Hetzelt and R. Buhren. Security analysis of encrypted virtual machines. In ACM International Conference on Virtual Execution Environments, pages 129--142, 2017.
[27]
S. Jin, J. Ahn, S. Cha, and J. Huh. Architectural support for secure virtualization under a vulnerable hypervisor. In International Symposium on Microarchitecture, pages 272--283, Dec 2011.
[28]
D. Kaplan. Protecting VM register state with SEV-ES. http://support.amd.com/TechDocs/Protecting%20VM%20Register%20State%20with%20SEV-ES.pdf, 2017.
[29]
D. Kaplan, J. Powell, and T. Woller. AMD memory encryption. http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/12/AMD_Memory_Encryption_Whitepaper_v7-Public.pdf, 2016.
[30]
Y. Kim, R. Daly, J. Kim, C. Fallin, J. Lee, D. Lee, C. Wilkerson, K. Lai, and O. Mutlu. Rowhammer: Reliability analysis and security implications. CoRR, abs/1603.00747, 2016.
[31]
P. Kocher, D. Genkin, D. Gruss, W. Haas, M. Hamburg, M. Lipp, S. Mangard, T. Prescher, M. Schwarz, and Y. Yarom. Spectre attacks: Exploiting speculative execution. https://arxiv.org/abs/1801.01203, 2018.
[32]
Lee, Jang, Jang, Kwak, Choi, Choi, Kim, Peinado, and Kang}hack-sgxJ. Lee, J. Jang, Y. Jang, N. Kwak, Y. Choi, C. Choi, T. Kim, M. Peinado, and B. B. Kang. Hacking in darkness: Return-oriented programming against secure enclaves. In USENIX Security Symposium, pages 523--539, 2017 a .
[33]
Lee, Shih, Gera, Kim, Kim, and Peinado}Lee17S. Lee, M.-W. Shih, P. Gera, T. Kim, H. Kim, and M. Peinado. Inferring fine-grained control flow inside SGX enclaves with branch shadowing. In USENIX Security Symposium, pages 557--574, 2017 b .
[34]
M. Lipp, M. Schwarz, D. Gruss, T. Prescher, W. Haas, S. Mangard, P. Kocher, D. Genkin, Y. Yarom, and M. Hamburg. Meltdown. https://arxiv.org/abs/1801.01207, 2018.
[35]
Y. Lyu and P. Mishra. A survey of side-channel attacks on caches and countermeasures. Journal of Hardware and Systems Security, Nov 2017.
[36]
G. Maisuradze and C. Rossow. Speculose: Analyzing the security implications of speculative execution in CPUs. https://arxiv.org/abs/1801.04084, 2018.
[37]
M. Morbitzer, M. Huber, J. Horsch, and S. Wessel. Severed: Subverting amd's virtual machine encryption. In European Workshop on System Security, 2018.
[38]
M. Morbitzer, M. Huber, and J. Horsch. Extracting secrets from encrypted virtual machines. In ACM CODASPY, 2019.
[39]
985)}orangebookNational Security Institute. Department of Defense Trusted Computer System Evaluation Criteria. Department of Defense, 1985.
[40]
P. Pessl, D. Gruss, C. Maurice, M. Schwarz, and S. Mangard. DRAMA: Exploiting DRAM addressing for cross-cpu attacks. In USENIX Security Symposium, pages 565--581, 2016.
[41]
J. V. B. F. Piessens and R. Strackx. Sgx-step: A practical attack framework for precise enclave execution control. In Workshop on System Software for Trusted Execution (SysTEX), 2017.
[42]
N. A. Quynh. Operating system fingerprinting for virtual machines. Defcon, 2010.
[43]
E. Rescorla. SSL and TLS: Designing and Building Secure Systems. Addison-Wesley, 2001.
[44]
J. Sharkey. Breaking hardware-enforced security with hypervisors. Black Hat USA, 2016.
[45]
S. Shinde, Z. L. Chua, V. Narayanan, and P. Saxena. Preventing page faults from telling your secrets. In ACM Conference on Computer and Communications Security, pages 317--328, 2016.
[46]
R. Spreitzer, V. Moonsamy, T. Korak, and S. Mangard. SoK: systematic classification of side-channel attacks on mobile devices. CoRR, 2016.
[47]
J. Szefer and R. B. Lee. Architectural support for hypervisor-secure virtualization. SIGPLAN Not., 47 (4): 437--450, Mar. 2012.
[48]
B.-P. Tine and S. Yalamanchili. Pagevault: Securing off-chip memory using page-based authentication. In Proceedings of the International Symposium on Memory Systems, pages 293--304, 2017.
[49]
003)}tpmTrusted Computing Group. TPM Main: Part 1 -- Design Principles. https://trustedcomputinggroup.org/resource/tpm-main-specification/, 2003.
[50]
T. Unterluggauer, M. Werner, and S. Mangard. Securing memory encryption and authentication against side-channel attacks using unprotected primitives. IACR ePrint Archive, 2017: 663, 2017.
[51]
A. Vahldiek-Oberwagner, E. Elnikety, D. Garg, and P. Druschel. Erim: Secure and efficient in-process isolation with memory protection keys. https://arxiv.org/abs/1801.06822, 2018.
[52]
VMware. Securing the cloud: A review of cloud computing, security implictions, and best practices, 2009.
[53]
W. Wang, G. Chen, X. Pan, Y. Zhang, X. Wang, V. Bindschaedler, H. Tang, and C. A. Gunter. Leaky cauldron on the dark land: Understanding memory side-channel hazards in SGX. In ACM Conference on Computer and Communications Security, pages 2421--2434, 2017.
[54]
C. Warrender, S. Forrest, and B. Pearlmutter. Detecting intrusions using system calls: alternative data models. In IEEE Symposium on Security & Privacy, pages 133--145, 1999.
[55]
M. Werner, T. Unterluggauer, R. Schilling, D. Schaffenrath, and S. Mangard. Transparent memory encryption and authentication. In Field Programmable Logic and Applications (FPL), pages 1--6, 2017.
[56]
Y. Xia, Y. Liu, and H. Chen. Architecture support for guest-transparent vm protection from untrusted hypervisor and physical attacks. In International Symposium on High Performance Computer Architecture, pages 246--257, Feb 2013.
[57]
Y. Xiao, X. Zhang, Y. Zhang, and R. Teodorescu. One bit flips, one cloud flops: Cross-vm row hammer attacks and privilege escalation. In USENIX Security Symposium, pages 19--35, 2016.
[58]
Y. Xu, W. Cui, and M. Peinado. Controlled-channel attacks: Deterministic side channels for untrusted operating systems. In IEEE Symposium on Security & Privacy, pages 640--656, 2015.

Cited By

View all
  1. The SEVerESt Of Them All: Inference Attacks Against Secure Virtual Enclaves

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      Asia CCS '19: Proceedings of the 2019 ACM Asia Conference on Computer and Communications Security
      July 2019
      708 pages
      ISBN:9781450367523
      DOI:10.1145/3321705
      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 the author(s) 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].

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 02 July 2019

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. SEV
      2. SEV-ES
      3. inference attacks

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      Asia CCS '19
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 418 of 2,322 submissions, 18%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)253
      • Downloads (Last 6 weeks)25
      Reflects downloads up to 23 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media