默认不安全直至证明已更新:分析 AMD SEV 的远程证明
密码学与安全
2019-09-04 v2
摘要
云服务客户必须信任云提供商,因为后者控制着构成云的基本组件。这包括在多个租户之间实现单一硬件平台共享的管理程序。AMD 安全加密虚拟化(SEV)声称在云场景中提供新级别的保护。AMD SEV 使用特定于虚拟机(VM)的密钥对虚拟机的主内存进行加密,从而拒绝具有更高特权的管理程序访问客户机内存。为使云客户能够验证其虚拟机的正确部署,SEV 还引入了远程证明协议。本文分析了在当前 AMD Epyc Naples CPU 系列上实现 SEV 远程证明协议的固件组件。我们证明可以提取对远程证明协议安全性至关重要的 CPU 特定密钥。基于提取的密钥,我们提出了允许恶意云提供商完全规避 SEV 保护机制的攻击。尽管底层固件问题已由 AMD 修复,我们表明当前系列的 AMD Epyc CPU(即 Naples 系列)并不阻止先前固件版本的安装。我们表明我们所提出攻击的严重性非常高,因为不可能有纯软件层面的缓解措施。这在实际面对不可信云提供商时,有效地使当前 AMD Epyc CPU 上的 SEV 技术变得无用。为克服这些问题,我们还提出了对 SEV 设计的稳健修改,使未来几代 SEV 技术能够缓解所提出的攻击。
引用
@article{arxiv.1908.11680,
title = {Insecure Until Proven Updated: Analyzing AMD SEV's Remote Attestation},
author = {Robert Buhren and Christian Werling and Jean-Pierre Seifert},
journal= {arXiv preprint arXiv:1908.11680},
year = {2019}
}