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