本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Nitro 如何通过 SAP 帮助保护 RISE?
Amazon Nitro System 是使用 SAP 的 RISE 中用于亚马逊弹性计算云
传统虚拟化架构包括“虚拟机监控程序”[又称“虚拟机监视器(VMM)”] 以及在 Xen 项目中通常称为“Dom0”或在 Hyper-V 中被称为“父分区”
在 Nitro System 虚拟化架构中,管理域或控制域组件(具有对硬件和设备驱动程序的特权访问权限)被拆分到独立的专用服务处理器单元(SoC - 片上系统)中,这些单元被称为 Nitro 卡。尽管仍保留“虚拟机监控程序”层,但该层设计已极度精简,仅包含完成其任务所必需的服务与功能。此外,还引入了“Nitro 安全芯片”,以便增强安全性,并确保不会产生性能开销。
以下是 Nitro 高级架构
生成的 Nitro 系统已分为以下组件:
Nitro 卡
Nitro Controller-这是物理服务器与 Amazon EBS 和 EC2 Amazon VPC 的控制平面之间唯一的朝外的管理接口。以被动式 API 端点形式实现,其中每项操作均会被记录,所有 API 调用尝试均通过精细访问控制模型进行加密的身份验证与授权。Nitro 控制器还为整个系统提供硬件信任根,并负责管理服务器系统的所有其他组件(包括系统中加载的固件)。系统固件存储在直接连接至 Nitro 控制器的加密 SSD 上,该 SSD 的加密密钥设计为通过可信平台模块(TPM)与 SoC 的安全启动功能协同保护。专为特定功能设计的 Nitro 卡:
联网-适用于 VPC 的新一代 Nitro 卡可透明地加密所有 VPC 流量,这些流量在还配备了加密兼容的 Nitro 卡的主机上运行的其他 EC2 实例。它使用关联数据的身份验证加密(AEAD)算法,采用 256 位加密。在 RISE with SAP 中,根据客户的要求,选择不同系列的计算实例。虽然在所有类型的 EC2 实例之间 Amazon 提供安全的私有连接,但传输中流量加密仅在下一代实例之间可用。有关此功能是否适用于您的 RISE with SAP 实例,请参阅此处。
EBS(SSD)存储 - 用于 EBS 的 Nitro 卡可对远程 EBS 卷进行加密,而不会对其性能产生任何实际影响。
本地实例存储(临时性)- 与用于 EBS 的 Nitro 卡类似,用于实例存储的 Nitro 卡可对本地实例存储进行加密。所有 EC2 实例都没有本地实例存储,这将取决于为带有 SAP 工作负载的 RISE 选择的实例类型。有关详细信息,请参阅此处。
用于 VPC、EBS 和实例存储的加密密钥只能以纯文本形式存在于 Nitro 卡的受保护内存中。
Nitro 安全芯片
Nitro 控制器与其他 Nitro 卡构成第一个域,而运行 SAP 工作负载的系统主板构成第二个域。Nitro 控制器及其安全启动流程为 Nitro 系统各组件之间提供硬件信任根,Nitro 安全芯片用于将信任和控制权延伸至系统主板。作为这两个域之间的信任桥梁,Nitro 安全芯片将 Nitro 控制器的控制权扩展至系统主板,使其成为系统的从属组件,从而延伸 Nitro 控制器的信任链以覆盖整个系统主板。为了维护信任根,硬件层面将阻断所有对非易失性存储的写入访问。
以下是 Nitro 阻断对非易失性存储的写入访问的场景
Nitro 虚拟机监控器
与传统虚拟机监控程序不同,Nitro 虚拟机监控器并非通用型系统,它既没有 Shell,也没有任何类型的交互式访问模式。Nitro 虚拟机监控器通过排除以下关键组件来强化其安全态势:网络堆栈、通用文件系统实现、外围设备驱动程序支持、SSH 服务器、Shell 等。Nitro 虚拟机监控器的主要功能仅限于:
-
接收来自 Nitro 控制器的虚拟机管理命令(例如启动、停止等)
-
利用服务器处理器的硬件虚拟化特性,对内存和 CPU 资源进行分区
-
将 Nitro 硬件接口提供的 SR-IOV 虚拟功能(用于 EBS 和实例存储的NVMe 块存储、用于网络的弹性网络适配器 [ENA] 等)分配给相应的虚拟机 PCIe
与传统虚拟机监控程序相比,Nitro 虚拟机监控器的极简架构为其带来了显著的安全优势。
Amazon 硝基系统的主要优点
-
Nitro 芯片将虚拟化任务从主芯片中卸载 CPUs,从而减少了攻击面并提高了整体系统的安全性。
-
Amazon 人员无权在 Amazon Nitro System EC2 实例上访问您的内容。没有技术手段或 Amazon 人员 APIs 可以访问您在 Nitro System EC2 实例或连接到 Amazon Nitro System 实例的加密 EBS 卷上的内容。 Amazon EC2 对 Amazon Nitro EC2 Syst APIs em 实例的访问始终会被记录,该实例允许 Amazon 人员在不访问您的内容的情况下操作系统,并且需要身份验证和授权。有关更多信息,请参阅此处
。 -
租赁保护和侧信道攻击防护 - Nitro 虚拟机监控器在 Nitro 控制器的指令下,为实例分配一整套物理内核和内存。这些硬件资源会“固定”到该特定实例。CPU 内核不会用于运行其他客户工作负载,实例的内存页也不会以任何形式在不同实例间共享。不共享 CPU 内核意味着,实例之间绝不会共享特定于 CPU 内核的资源(包括 1 级或 2 级缓存),从而能够有力地缓解侧信道攻击。有关更多信息,请参阅此处。
-
Nitro 架构允许安全启动和运行时完整性验证,确保 Amazon 基础架构在可信和经过验证的状态下运行。
-
Nitro 卡固件和虚拟机监控程序均设计为支持实时更新(客户实例的停机时间为零)。这使得无需围绕更新进行精细的权衡,提升了安全态势。有关更多信息,请参阅此处
。 -
使用硬件卸载引擎与集成在 SoC 中的安全密钥存储对静态数据和传输中的数据进行数据加密。