Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 050

AMD SEV / SEV-SNP

审核人Cybersecurity entrepreneur & security researcher

AMD SEV / SEV-SNP 是什么?

AMD SEV / SEV-SNPAMD EPYC 提供的虚拟机内存加密与完整性保护技术,将客机与恶意或被攻陷的虚拟化层隔离。


AMD Secure Encrypted Virtualization(SEV)通过片上 AMD Secure Processor 管理的每虚拟机专属密钥,对每台虚拟机的内存进行加密。SEV-ES 进一步在 VM 退出时加密寄存器状态;SEV-SNP(Secure Nested Paging)自 EPYC 7003 Milan 引入,借助反向映射表(Reverse Map Table,RMP)抵御恶意虚拟化层的重映射、重放和别名攻击,从而提供内存完整性保护。SEV-SNP 支持对客机度量值的远程证明(VCEK/VLEK 证书链),面向机密计算工作负载。它是 Azure Confidential VMs(DCasv5/ECasv5)、与 AWS Nitro Enclaves 相关的产品以及 Google Cloud Confidential VMs 的底层技术,使租户能够运行未经修改的 Linux/Windows 客机,并在密码学上与云提供商隔离。

该威胁模型被刻意设计得很强——假定虚拟化层是敌对的——因此研究人员不断探测其边界。CacheWarp(CVE-2023-20592)于 2023 年由 CISPA、TU Graz 与独立研究者 Youheng Lu 披露,是一种软件故障注入攻击,可让恶意虚拟化层丢弃某台 VM 的缓存写入,将内存回退到陈旧状态,从而在第一代至第三代 EPYC(Naples、Rome、Milan)上击破 SEV-ES/SEV-SNP 的完整性。BadRAM(CVE-2024-21944)于 2024 年披露,使用价值不到 $10 的硬件篡改 DIMM 的 SPD 芯片,制造出带别名的"幽灵"地址,从而绕过 SEV-SNP 的内存保护。AMD 已发布微码和固件缓解措施;防御方应为 Secure Processor 固件打补丁,并在信任某客机之前验证证明报告中所报告的 TCB 版本。

flowchart TB
  subgraph Untrusted
    HV[虚拟化层 / 云管理员]
  end
  subgraph EPYC SoC
    ASP[AMD Secure Processor]
    ME[内存加密引擎 + RMP]
  end
  G[客机 VM 内存] -->|每虚拟机加密密钥| ME
  ASP -->|管理密钥| ME
  HV -.->|无法读取明文| G
  ASP -->|对度量值签名| ATT[证明报告 VCEK/VLEK]
  ATT -->|验证 TCB 与度量值| Tenant[依赖方]

对于机密计算而言,证明这一步至关重要:客机必须先向依赖方证明自己是在正版且为最新版本的 AMD 芯片上以预期度量值启动的,之后才会向它下发任何机密(磁盘密钥、工作负载数据)。

示例

  1. 01

    Azure DCasv5/ECasv5 机密 VM 使用 AMD SEV-SNP。

  2. 02

    机密 Kubernetes 节点在加入集群前先验证其证明报告。

常见问题

AMD SEV / SEV-SNP 是什么?

AMD EPYC 提供的虚拟机内存加密与完整性保护技术,将客机与恶意或被攻陷的虚拟化层隔离。 它属于网络安全的 密码学 分类。

AMD SEV / SEV-SNP 是什么意思?

AMD EPYC 提供的虚拟机内存加密与完整性保护技术,将客机与恶意或被攻陷的虚拟化层隔离。

如何防御 AMD SEV / SEV-SNP?

针对 AMD SEV / SEV-SNP 的防御通常结合技术控制与运营实践,详见上方完整定义。

AMD SEV / SEV-SNP 还有哪些其他名称?

常见的别称包括: SEV, SEV-ES, SEV-SNP, Secure Encrypted Virtualization。

相关术语