The ongoing trend of moving data and computation to the cloud is met with concerns regarding privacy and protection of intellectual property. Cloud Service Providers (CSP) must be fully trusted to not tamper with or disclose processed data, hampering adoption of cloud services for many sensitive or critical applications. As a result, CSPs and CPU manufacturers are rushing to find solutions for secure outsourced computation in the Cloud. While enclaves, like Intel SGX, are strongly limited in terms of throughput and size, AMD's Secure Encrypted Virtualization (SEV) offers hardware support for transparently protecting code and data of entire VMs, thus removing the performance, memory and software adaption barriers of enclaves. Through attestation of boot code integrity and means for securely transferring secrets into an encrypted VM, CSPs are effectively removed from the list of trusted entities. There have been several attacks on the security of SEV, by abusing I/O channels to encrypt and decrypt data, or by moving encrypted code blocks at runtime. Yet, none of these attacks have targeted the attestation protocol, the core of the secure computing environment created by SEV. We show that the current attestation mechanism of Zen 1 and Zen 2 architectures has a significant flaw, allowing us to manipulate the loaded code without affecting the attestation outcome. An attacker may abuse this weakness to inject arbitrary code at startup -- and thus take control over the entire VM execution, without any indication to the VM's owner. Our attack primitives allow the attacker to do extensive modifications to the bootloader and the operating system, like injecting spy code or extracting secret data. We present a full end-to-end attack, from the initial exploit to leaking the key of the encrypted disk image during boot, giving the attacker unthrottled access to all of the VM's persistent data.
翻译:向云层移动和计算数据的持续趋势与对隐私和知识产权保护的关切相符。 云端服务供应商( CSP) 必须完全相信不会篡改或披露经过处理的数据, 从而阻碍对许多敏感或关键应用程序采用云端服务。 结果, CSP 和 CPU 制造商正在急忙寻找在云层中安全外包计算的解决办法。 虽然像 Intel SGX 这样的飞地在传输和大小方面受到严重限制, 但 AMD 安全加密虚拟化( SEV) 为透明保护整个 VMs 的代码和数据提供了硬件支持, 从而消除了飞地的性能、 记忆和软件适应障碍。 通过证明启动代码的完整性和将秘密代码转换到加密 VM, CSP 有效地从信任实体的列表中移除了。 通过滥用 I/O 渠道加密和解密数据, 或者将加密的代码转换为运行到运行中的任何系统。 然而, 这些攻击的大规模修改没有针对持续协议, 启动的系统的核心, 启动整个计算机攻击, 启动的运行环境, 在SEVM 运行过程中, 运行一个重要的数据记录。