深入 AMD SEV:内存加密的工作原理(以及其不足之处)
Source: Dev.to
AMD SEV vs Intel SGX
AMD SEV(Secure Encrypted Virtualization)可以被看作是在整栋房子周围建造一座堡垒:操作系统、所有应用程序以及数据都被加密并受到外部世界(云提供商或 hypervisor)的保护。如果小偷设法进入了房子——例如通过客体操作系统的恶意软件感染——他们就能看到内部的一切。
Intel SGX(Software Guard Extensions)则更像是在房子的一间房间里放置一个钢制金库。即使房子没有墙壁,且小偷(受损的操作系统或 hypervisor)在自由活动,他们也无法访问金库。只有放入金库的特定项目才会受到保护。
Adoption by Cloud Providers
主要的云服务提供商——Azure、Google Cloud 和 NVIDIA——正在大力推广 AMD SEV。原因很实际:
- 模型权重 的泄露风险成本高昂。
- 训练数据 往往受到严格监管。
当 AMD SEV 与 NVIDIA GPU 结合使用时,它提供了硬件层面的保证,即使是计算机所有者也无法检查机器正在处理的内容。这在诸如银行的欺诈检测模型训练等场景中尤为有价值,因为此类场景需要一个“洁净室”,防止任何对计算过程的可视化。
Limitations of AMD SEV
虽然 AMD SEV 的加密层相当稳固,但它并未隐藏工作负载行为的所有方面。观察者仍然可以从以下信息推断出内容:
- 每个操作的时间点。
- 被访问的内存地址。
- 整体计算的形状。
对于 AI 推理而言,计算的形状可能泄露模型或其输入的细节。这种侧信道泄漏是机密计算领域尚未完全解决的问题。实际上,能够监控加密环境的“设计与装饰”的攻击者,可能会获得一个出乎意料地准确的内部运行图景。