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.
翻译:AMD 安全加密虚拟化 (SEV) 为在不信任环境中的虚拟机器提供保护机制。 为了将安全敏感操作与在主x86核心上执行的软件区分开来, SEV 利用AMD-SP(AMD-SP) 。 本文引入了针对AMD-SP的打击SEV保护虚拟机器(VM)的新方法。 我们展示了电压闪烁式攻击,使攻击者能够对目前市场上支持SEV的所有微结构的AMD-SP(Zen 1、Zen 2和Zen 3) 执行自定义有效有效有效有效有效载荷。 此外,我们用这些方法在 AMD-SP (AMD-SP) 上安装了定制的SEVEV公司软件, 使得敌人能够破解VM的记忆。 此外,我们可以用SEVEVS的背书键键, 用来伪造真实的证明报告或将VMO值迁移成有效的目标主机。 此外,我们用 KEVC 的版本, 我们用S- NEVD Key(VC) 将S 的S Rest KEVC 的校对S C 的校对S-C 的校的校核数据进行升级的校对SB的校对。