第 7 章 使用 AMD SEV SNP 在公有云平台上配置 RHEL
具有安全嵌套分页(SEV-SNP)的 AMD 安全加密虚拟化旨在防止基于虚拟机完整性的攻击并减少内存完整性违反情况的危险。对于安全引导过程,AMD 处理器提供三种基于硬件的安全机制;安全加密虚拟化(SEV)、SEV 加密状态(SEV-ES)和 SEV Secure Nested Paging (SEV-SNP)。
- SEV: SEV 机制加密虚拟机(VM)内存,以防止虚拟机监控程序访问虚拟机数据。
- SEV-ES : SEV with Encrypted State (SEV-ES)通过加密 CPU 注册状态来扩展 SEV。这种机制可防止虚拟机监控程序访问或修改虚拟机 CPU 注册。尽管在 hypervisor 和虚拟机之间提供隔离,但它仍然容易受到内存完整性攻击的影响。
SEV-SNP: SEV-SNP 是 SEV-ES 的增强,它添加了内存完整性保护和虚拟机加密。这种机制可防止虚拟机监控程序修改页表来重定向虚拟机内存访问,从而防止重播攻击和内存篡改。
注意在公共云平台上部署 Red Hat Enterprise Linux (RHEL)之前,请仔细检查相应的云服务供应商,以获取特定 RHEL 实例类型的支持状态和认证。
7.1. SEV-SNP 的属性 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
-
Secure Processor: AMD
EPYC处理器集成了一个安全处理器(SP)子系统。AMD SP 是一个专用的硬件组件,用于管理密钥和加密操作。 - 内存完整性 :对于管理虚拟化和隔离,内存管理单元(MMU)使用页表将虚拟地址转换为客户机物理地址。SEV-SNP 使用嵌套页表将客户机物理地址转换为主机物理地址。定义了嵌套页面表后,虚拟机监控程序或主机无法更改页表来修改虚拟机访问不同页面,从而保护内存的完整性。SEV-SNP 使用此方法提供对虚拟机内存的重播攻击和恶意修改的保护。
-
内存加密 :AMD
EPYC处理器隐藏内存加密密钥,该密钥在主机和虚拟机中保持隐藏。 验证过程的测试报告 :以授权加密格式对 RHEL 实例信息的 CPU 生成的报告。这个过程确认 RHEL 实例和 AMD 处理器的初始 CPU 和内存状态的真实性和可靠性。
注意即使虚拟机监控程序创建虚拟机的主内存和 CPU 注册状态,它们在初始化该虚拟机后仍为隐藏且无法访问。