Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3460120.3484779acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article

One Glitch to Rule Them All: Fault Injection Attacks Against AMD's Secure Encrypted Virtualization

Published: 13 November 2021 Publication History

Abstract

AMD Secure Encrypted Virtualization (SEV) offers protection mechanisms for virtual machines in untrusted environments through memory and register encryption. To separate security-sensitive operations from software executing on the main x86 cores, SEV leverages the AMD Secure Processor (AMD-SP). This paper introduces a new approach to attack SEV-protected virtual machines (VMs) by targeting the AMD-SP. We present a voltage glitching attack that allows an attacker to execute custom payloads on the AMD-SPs of all microarchitectures that support SEV currently on the market (Zen 1, Zen 2, and Zen 3). The presented methods allow us to deploy a custom SEV firmware on the AMD-SP, which enables an adversary to decrypt a VM's memory. Furthermore, using our approach, we can extract endorsement keys of SEV-enabled CPUs, which allows us to fake attestation reports or to pose as a valid target for VM migration without requiring physical access to the target host. Moreover, we reverse-engineered the Versioned Chip Endorsement Key (VCEK) mechanism introduced with SEV Secure Nested Paging (SEV-SNP). The VCEK binds the endorsement keys to the firmware version of TCB components relevant for SEV. Building on the ability to extract the endorsement keys, we show how to derive valid VCEKs for arbitrary firmware versions. With our findings, we prove that SEV cannot adequately protect confidential data in cloud environments from insider attackers, such as rogue administrators, on currently available CPUs.

Supplementary Material

MP4 File (CCS21-fp376_full.mp4)
CCS21 presentation video for the paper: "One Glitch to Rule them All: Fault Injection Attacks against AMD's Secure Encrypted Virtualization" In this video, we present our voltage fault injection attack against the AMD Secure Processor (AMD-SP / PSP). The AMD-SP is an ARM core, embedded into modern AMD CPUs. It hosts the firmware implementing the SEV API and is a single point of failure for the SEV technology. Our attack allows us to deploy custom code on the AMD-SP on Zen 1, Zen 2 and Zen 3 CPUs. We present how our attack allows attackers to fully circumvent SEV's protection guarantees. To the best of our knowledge, the presented attack cannot be mitigated and questions SEV's security promises on all affected CPU generations.

References

[1]
Advanced Micro Devices, Inc. 2018. Understanding Power Management and Processor Performance Determinism. Retrieved 2021-04-06 from https://www.amd.com/system/files/documents/understanding-power-management.pdf
[2]
Advanced Micro Devices, Inc. 2020. AMD Secure Encrypted Virtualization API Version 0.24. Retrieved 2021-03--26 from https://www.amd.com/system/files/TechDocs/55766_SEV-KM_API_Specification.pdf
[3]
Advanced Micro Devices, Inc. 2020. AMD SEV-SNP: Strengthening VM Isolation with Integrity Protection and More. Retrieved 2021-04-07 from https://www.amd.com/system/files/TechDocs/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more.pdf
[4]
Advanced Micro Devices, Inc. 2021. AMD CEK Certificate Server. Retrieved 2021-04--16 from https://kdsintf.amd.com/cek/
[5]
Advanced Micro Devices, Inc. 2021. AMD Milan Root Key. Retrieved 2021-04--16 from https://developer.amd.com/wp-content/resources/ask_ark_milan.cert
[6]
Advanced Micro Devices, Inc. 2021. AMD VCEK Certificate Server. Retrieved 2021-04--16 from https://kdsintf.amd.com/vcek/
[7]
Advanced Micro Devices, Inc. 2021. SEV firmware for ROME. Retrieved 2021-04--16 from https://developer.amd.com/wordpress/media/2013/12/amd_sev_fam17h_model3xh_0.24b0A.tar.gz
[8]
Advanced Micro Devices, Inc. 2021. SEV Secure Nested Paging - Firmware ABI Specification Revision 0.9. Retrieved 2021-05-03 from https://www.amd.com/system/files/TechDocs/56860.pdf
[9]
National Institute of Standards and Technology. 2013. Digital Signature Standard (DSS). https://doi.org/10.6028/NIST.FIPS.186--4
[10]
Tamas Ban. 2020. Arm Ltd.: Trusted Firmware M. Retrieved 2021-04--25 from https://www.trustedfirmware.org/docs/TF-M_fault_injection_mitigation.pdf
[11]
H. Bar-El, H. Choukri, D. Naccache, M. Tunstall, and C. Whelan. 2006. The Sorcerer's Apprentice Guide to Fault Attacks. Proc. IEEE 94, 2 (Feb. 2006), 370--382. https://doi.org/10.1109/JPROC.2005.862424
[12]
Jeremy Boone. 2020. There's A Hole In Your SoC: Glitching The MediaTek BootROM. https://research.nccgroup.com/2020/10/15/theres-a-hole-in-your-soc-glitching-the-mediatek-bootrom/.
[13]
Daniel R. L. Brown. 2010. SEC 2: Recommended Elliptic Curve Domain Parameters, Version 2.0. https://www.secg.org/sec2-v2.pdf
[14]
Robert Buhren, Alexander Eichner, and Christian Werling. 2019. Uncover, Understand, Own - Regaining Control Over Your AMD CPU. Retrieved 2021-01--14 from https://media.ccc.de/v/36c3--10942-uncover_understand_own_-_regaining_control_over_your_amd_cpu
[15]
Robert Buhren, Christian Werling, and Jean-Pierre Seifert. 2019. Insecure Until Proven Updated: Analyzing AMD SEV's Remote Attestation. In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security (London, United Kingdom) (CCS '19). Association for Computing Machinery, New York, NY, USA, 1087--1099. https://doi.org/10.1145/3319535.3354216
[16]
Lily Chen. 2009. Recommendation for Key Derivation Using Pseudorandom Functions (Revised). https://doi.org/10.6028/NIST.SP.800--108
[17]
Zitai Chen, Georgios Vasilakis, Kit Murdock, Edward Dean, David Oswald, and Flavio D. Garcia. 2021. VoltPillager: Hardware-based fault injection attacks against Intel SGX Enclaves using the SVID voltage scaling interface. In 30th USENIX Security Symposium (USENIX Security 21). USENIX Association, Vancouver, B.C. https://www.usenix.org/conference/usenixsecurity21/presentation/chen-zitai
[18]
The MITRE Corporation. 2019. CVE-2019--9836. Retrieved 2021-04--19 from http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019--9836
[19]
A. Djellid-Ouar, G. Cathebras, and F. Bancel. 2006. Supply Voltage Glitches Effects on CMOS Circuits. In International Conference on Design and Test of Integrated Systems in Nanoscale Technology, 2006. DTIS 2006. IEEE, Tunis, Tunisia, 257--261. https://doi.org/10.1109/DTIS.2006.1708651
[20]
Zhao-Hui Du, Zhiwei Ying, Zhenke Ma, Yufei Mai, Phoebe Wang, Jesse Liu, and Jesse Fang. 2017. Secure Encrypted Virtualization is Unsecure. (2017). arXiv:1712.05090
[21]
Andreas Galauner. 2018. Glitching the Switch. Retrieved 2021-03--15 from https://media.ccc.de/v/c4.openchaos.2018.06.glitching-the-switch
[22]
Gianluca Pacchiella. 2021. Gipi/Low-Level: Hardware | Glitching. Retrieved 2021-04--14 from https://github.com/gipi/low-level/blob/master/docs/security/hardware.md#glitching
[23]
Trusted Computing Group. 2021. TCGTrusted Platform Architecture Hardware Requirements for a Device Identifier Composition Engine. Retrieved 2021-05-04 from https://www.trustedcomputinggroup.org/wp-content/uploads/Device-Identifier-Composition-Engine-Rev69_Public-Review.pdf
[24]
Felicitas Hetzelt and Robert Buhren. 2017. Security Analysis of Encrypted Virtual Machines. In Proceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (Xi'an, China) (VEE '17). ACM, New York, NY, USA, 129--142. https://doi.org/10.1145/3050748.3050763
[25]
Andrea Höller, Armin Krieg, Tobias Rauter, Johannes Iber, and Christian Kreiner. 2015. QEMU-Based Fault Injection for a System-Level Analysis of Software Countermeasures Against Fault Attacks. In 2015 Euromicro Conference on Digital System Design. 530--533. https://doi.org/10.1109/DSD.2015.79
[26]
International Rectifier. 2015. IR35201 8+0/7+1/6+2 Dual Output Digital Multi-Phase Controller. Retrieved 2021-04--19 from https://www.infineon.com/dgdl/Infineon-IR35201MTRPBF-DS-v01_00-EN.pdf ?fileId=5546d462576f347501579c95d19772b5
[27]
International Rectifier. 2016. IR35204 3+1 Dual Output Digital Multi-Phase Controller. Retrieved 2021-04--19 from https://www.infineon.com/dgdl/Infineon-IR35204MTRPBF-DS-v01_00-EN.pdf ?fileId=5546d462576f347501579c95e21172b9
[28]
Hans Niklas Jacob and Robert Buhren. 2021. Glitching the AMD Secure Processor. Retrieved 2021-08--26 from https://github.com/PSPReverse/amd-sp-glitch
[29]
David Kaplan. 2017. Protecting VM Register State with SEV-ES. Retrieved 2021-04-07 from https://www.amd.com/system/files/TechDocs/Protecting%20VM%20Register%20State%20with%20SEV-ES.pdf
[30]
David Kaplan, Jeremy Powell, and Tom Woller. 2016. AMD Memory Encryption. Retrieved 2021-04-07 from https://developer.amd.com/wordpress/media/2013/12/AMD_Memory_Encryption_Whitepaper_v7-Public.pdf
[31]
Zijo Kenjar, Tommaso Frassetto, David Gens, Michael Franz, and Ahmad-Reza Sadeghi. 2020. V0LTpwn: Attacking X86 Processor Integrity from Software. In 29th USENIX Security Symposium (USENIX Security 20). 1445--1461.
[32]
Roger Lai. 2013. AMD Security and Server innovation. Retrieved 2021-03--26 from https://uefi.org/sites/default/files/resources/UEFI_PlugFest_AMD_Security_and_Server_innovation_AMD_March_2013.pdf
[33]
Thomas Lendacky and Gary Hook. 2021. CCP Linux kernel driver. Retrieved 2021-05-04 from https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/crypto/ccp/
[34]
Mengyuan Li, Yinqian Zhang, Zhiqiang Lin, and Yan Solihin. 2019. Exploiting Unprotected I/O Operations in AMD's Secure Encrypted Virtualization. In 28th USENIX Security Symposium (USENIX Security 19). 1257--1272. https://www.usenix.org/conference/usenixsecurity19/presentation/li-mengyuan
[35]
Yifan Lu. 2019. Injecting Software Vulnerabilities with Voltage Glitching. (Feb. 2019). arXiv:1903.08102 [cs]
[36]
Akash Malhotra. 2020. Full-stack, Multilayered Security Features for a Changing World. Retrieved 2021-03--26 from https://www.amd.com/system/files/documents/ryzen-pro-article-multilayered-security-features.pdf
[37]
Mathias Morbitzer, Manuel Huber, and Julian Horsch. 2019. Extracting Secrets from Encrypted Virtual Machines. In Proceedings of the Ninth ACM Conference on Data and Application Security and Privacy (CODASPY '19). Association for Computing Machinery, New York, NY, USA, 221--230. https://doi.org/10.1145/3292006.3300022
[38]
Mathias Morbitzer, Manuel Huber, Julian Horsch, and Sascha Wessel. 2018. SEVered: Subverting AMD's Virtual Machine Encryption. In Proceedings of the 11th European Workshop on Systems Security (Porto, Portugal) (EuroSec'18). ACM, New York, NY, USA, 6 pages. https://doi.org/10.1145/3193111.3193112
[39]
Mathias Morbitzer, Sergej Proskurin, Martin Radev, Marko Dorfhuber, and Erick Quintanar Salas. 2021. SEVerity: Code Injection Attacks against Encrypted Virtual Machines. In 2021 IEEE Security and Privacy Workshops (SPW). 444--455. https://doi.org/10.1109/SPW53761.2021.00063
[40]
K. Murdock, D. Oswald, F. D. Garcia, J. Van Bulck, F. Piessens, and D. Gruss. 2020. Plundervolt: How a Little Bit of Undervolting Can Create a Lot of Trouble. IEEE Security Privacy 18, 5 (Sept. 2020), 28--37. https://doi.org/10.1109/MSEC.2020.2990495
[41]
Colin O'Flynn. 2016. Fault Injection Using Crowbars on Embedded Systems. IACR Cryptol. ePrint Arch. (2016). https://eprint.iacr.org/2016/810
[42]
PJRC. 2021. Teensy®4.0 Development Board. Retrieved 2021-04-01 from https://www.pjrc.com/store/teensy40.html
[43]
P. Qiu, D. Wang, Y. Lyu, R. Tian, C. Wang, and G. Qu. 2020. VoltJockey: A New Dynamic Voltage Scaling Based Fault Injection Attack on Intel SGX. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (2020), 1--1. https://doi.org/10.1109/TCAD.2020.3024853
[44]
Martin Radev and Mathias Morbitzer. 2020. Exploiting Interfaces of Secure Encrypted Virtual Machines. In Reversing and Offensive-Oriented Trends Symposium. Association for Computing Machinery, New York, NY, USA, 1--12. https://doi.org/10.1145/3433667.3433668
[45]
Kedar Rajpathak and Tezaswi Raja. 2020. Cross Domain Voltage Glitch Detection Circuit for Enhancing Chip Security. Retrieved 2021-03--11 from https://patents.google.com/patent/US20200285780A1/en
[46]
Renesas Electronics Corporation. 2020. ISL62776 Multiphase PWM Regulator for AMD CPUs Using SVI2. Retrieved 2021-04--19 from https://www.renesas.com/us/en/document/dst/isl62776-datasheet
[47]
Richtek Technology Corporation. 2019. Dual-Output PWM Controller for AMD SVI2 CPU Power Supply. Retrieved 2021-04--19 from https://www.richtek.com/assets/product_file/RT3667BT/DS3667BT-00.pdf
[48]
Horst Schirmeier, Martin Hoffmann, Christian Dietrich, Michael Lenz, Daniel Lohmann, and Olaf Spinczyk. 2015. FAIL*: An Open and Versatile Fault-Injection Framework for the Assessment of Software-Implemented Hardware Fault Tolerance. In 2015 11th European Dependable Computing Conference (EDCC). IEEE, Paris, France, 245--255. https://doi.org/10.1109/EDCC.2015.28
[49]
Texas Instruments. 2016. SN74LVC07A Hex Buffer and Driver with Open-Drain Outputs. Retrieved 2021-04--19 from https://www.ti.com/lit/ds/symlink/sn74lvc07a.pdf
[50]
the coreboot project. 2021. AMD Platform Security Processor (PSP) Firmware Integration Guide. Retrieved 2021-08--24 from https://doc.coreboot.org/soc/amd/psp_integration.html
[51]
N. Timmers, A. Spruyt, and M. Witteman. 2016. Controlling PC on ARM Using Fault Injection. In 2016 Workshop on Fault Diagnosis and Tolerance in Cryptography (FDTC). 25--35. https://doi.org/10.1109/FDTC.2016.18
[52]
Thomas Trouchkine, Guillaume Bouffard, and Jessy Clédière. 2020. Fault Injection Characterization on Modern CPUs. In Information Security Theory and Practice (Lecture Notes in Computer Science). Springer International Publishing, Cham, 123--138. https://doi.org/10.1007/978--3-030--41702--4_8
[53]
Thomas Trouchkine, Sébanjila Kevin Bukasa, Mathieu Escouteloup, Ronan Lashermes, and Guillaume Bouffard. 2021. Electromagnetic Fault Injection against a Complex CPU, toward New Micro-Architectural Fault Models. Journal of Cryptographic Engineering (March 2021). https://doi.org/10.1007/s13389-021-00259--6
[54]
Jan Werner, Joshua Mason, Manos Antonakakis, Michalis Polychronakis, and Fabian Monrose. 2019. The SEVerESt Of Them All: Inference Attacks Against Secure Virtual Enclaves. In Proceedings of the 2019 ACM Asia Conference on Computer and Communications Security (Asia CCS '19). Association for Computing Machinery, New York, NY, USA, 73--85. https://doi.org/10.1145/3321705.3329820
[55]
WikiChip. 2020. Socket AM4 -- Packages -- AMD. Retrieved 2021-04-01 from https://en.wikichip.org/wiki/amd/packages/socket_am4#Pin_Map
[56]
WikiChip. 2020. Socket SP3 -- Packages -- AMD. Retrieved 2021-04-01 from https://en.wikichip.org/wiki/amd/packages/socket_sp3#Pin_Map
[57]
Luca Wilke, Jan Wichelmann, Mathias Morbitzer, and Thomas Eisenbarth. 2020. SEVurity: No Security Without Integrity -- Breaking Integrity-Free Memory Encryption with Minimal Assumptions. 2020 IEEE Symposium on Security and Privacy (SP) (May 2020), 1483--1496. https://doi.org/10.1109/SP40000.2020.00080 arXiv:2004.11071
[58]
Luca Wilke, Jan Wichelmann, Florian Sieck, and Thomas Eisenbarth. 2021. undeSErVed trust: Exploiting Permutation-Agnostic Remote Attestation. In 2021 IEEE Security and Privacy Workshops (SPW). 456--466. https://doi.org/10.1109/SPW53761.2021.00064
[59]
Marc Witteman. 2018. Riscure: Secure Application Programming in the Presence of Side Channel Attacks. Retrieved 2021-04--18 from https://www.riscure.com/uploads/2018/11/201708_Riscure_Whitepaper_Side_Channel_Patterns.pdf

Cited By

View all
  • (2024)Secure Multiparty Computation Using Secure Virtual MachinesElectronics10.3390/electronics1305099113:5(991)Online publication date: 5-Mar-2024
  • (2024)Comparative Analysis and Implementation of Jump Address Masking for Preventing TEE Bypassing Fault AttacksProceedings of the 19th International Conference on Availability, Reliability and Security10.1145/3664476.3664477(1-12)Online publication date: 30-Jul-2024
  • (2024)SoK: SGX.Fail: How Stuff Gets eXposed2024 IEEE Symposium on Security and Privacy (SP)10.1109/SP54263.2024.00260(4143-4162)Online publication date: 19-May-2024
  • Show More Cited By

Index Terms

  1. One Glitch to Rule Them All: Fault Injection Attacks Against AMD's Secure Encrypted Virtualization

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      CCS '21: Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security
      November 2021
      3558 pages
      ISBN:9781450384544
      DOI:10.1145/3460120
      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: 13 November 2021

      Permissions

      Request permissions for this article.

      Check for updates

      Badges

      • Best Paper

      Author Tags

      1. SEV
      2. SNP
      3. hardware fault attack
      4. secure encrypted virtualization
      5. secure nested paging
      6. voltage glitching

      Qualifiers

      • Research-article

      Conference

      CCS '21
      Sponsor:
      CCS '21: 2021 ACM SIGSAC Conference on Computer and Communications Security
      November 15 - 19, 2021
      Virtual Event, Republic of Korea

      Acceptance Rates

      Overall Acceptance Rate 1,261 of 6,999 submissions, 18%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)252
      • Downloads (Last 6 weeks)30
      Reflects downloads up to 16 Oct 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Secure Multiparty Computation Using Secure Virtual MachinesElectronics10.3390/electronics1305099113:5(991)Online publication date: 5-Mar-2024
      • (2024)Comparative Analysis and Implementation of Jump Address Masking for Preventing TEE Bypassing Fault AttacksProceedings of the 19th International Conference on Availability, Reliability and Security10.1145/3664476.3664477(1-12)Online publication date: 30-Jul-2024
      • (2024)SoK: SGX.Fail: How Stuff Gets eXposed2024 IEEE Symposium on Security and Privacy (SP)10.1109/SP54263.2024.00260(4143-4162)Online publication date: 19-May-2024
      • (2024)A Fault Attack Resistant Method for RISC-V Based on Interrupt Handlers and Instruction Extensions2024 IEEE International Symposium on Circuits and Systems (ISCAS)10.1109/ISCAS58744.2024.10558427(1-5)Online publication date: 19-May-2024
      • (2024)Undocumented Debug Interface HDT of Modern AMD CPUs2024 Conference of Young Researchers in Electrical and Electronic Engineering (ElCon)10.1109/ElCon61730.2024.10468135(306-309)Online publication date: 29-Jan-2024
      • (2024)Protecting Confidential Virtual Machines from Hardware Performance Counter Side Channels2024 54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)10.1109/DSN58291.2024.00031(195-208)Online publication date: 24-Jun-2024
      • (2024)Practical Aspects of Physical AttacksCryptography and Embedded Systems Security10.1007/978-3-031-62205-2_6(433-446)Online publication date: 9-Aug-2024
      • (2023)Oops..! i glitched it again!Proceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620586(6239-6256)Online publication date: 9-Aug-2023
      • (2023)TEESec: Pre-Silicon Vulnerability Discovery for Trusted Execution EnvironmentsProceedings of the 50th Annual International Symposium on Computer Architecture10.1145/3579371.3589070(1-15)Online publication date: 17-Jun-2023
      • (2023)Volttack: Control IoT Devices by Manipulating Power Supply Voltage2023 IEEE Symposium on Security and Privacy (SP)10.1109/SP46215.2023.10179340(1771-1788)Online publication date: May-2023
      • Show More Cited By

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media