Google 如何保护数据中心内的物理到逻辑空间

本页内容的上次更新时间为 2023 年 5 月,代表截至本文撰写之时的状况。由于我们会不断改善对客户的保护机制,Google 的安全政策和系统今后可能会发生变化。

每个 Google 数据中心都是由机器、网络设备和控制系统组成的大型多元化环境。数据中心设计为需要各种角色和技能来管理、维护和运营的工业综合体。

在这些复杂的环境中,保障数据安全是我们的首要任务。Google 在机器本身上实现了六层物理控件(视频)和许多逻辑控件。我们还持续对某些控件失效或未予应用的威胁场景进行建模。

一些威胁场景会对内部风险进行建模,并假设攻击者已经拥有对数据中心楼层的合法访问权限。这些场景展示了物理和逻辑控件之间的空间,还需要纵深防御。该空间被定义为机架内的机器到机器运行时环境的合理距离,被称为物理到逻辑空间

物理到逻辑空间与智能手机周围的物理环境类似。即使您的手机处于锁定状态,也请仅向有正当访问原因的人提供物理访问权限。Google 采用同样的方法来处理保存数据的机器。

物理到逻辑控件摘要

在物理到逻辑空间中,Google 使用四种控件:

  • 硬件安全强化:通过以下方式减少每台机器的物理访问路径(称为攻击面):
    • 最大限度地减少物理访问矢量,如端口。
    • 锁定固件级别中的其余路径,包括基本输入/输出系统 (BIOS)、任何管理控制器和外围设备。
  • 基于任务的访问权限控制:仅向具有正当、有时限的业务理由的人员提供对安全机架柜的使用权限。
  • 异常事件检测:在物理到逻辑控件检测到异常事件时生成提醒。
  • 系统自防御:识别物理环境的变化,并使用防御性措施应对威胁。

这些控件协同作用,为物理到逻辑空间中发生的安全事件提供纵深防御响应。下图展示了安全机架柜上的全部四个控件。

安全机架柜上的四个控件。

硬件安全强化

硬件安全强化有助于减少物理攻击面,从而最大限度地降低剩余风险。

传统的企业数据中心采用开放式楼层平面图,有着成排的机架,而且前面板和数据中心楼层人员之间没有任何障碍。此类数据中心里的机器可能具有许多外部端口(例如 USB-A、Micro-USB 或 RJ-45),这增加了攻击风险。任何拥有数据中心楼层物理访问权限的人员都可以快速轻松地访问可移动存储设备,也可以将带有恶意软件的 USB 记忆棒插入公开的前面板端口。Google 数据中心使用硬件安全强化作为基础控件,帮助降低这些风险。

硬件安全强化是机架及其机器上的一套预防措施,有助于尽可能减少物理攻击面。机器安全强化包括以下方面:

  • 移除或停用公开的端口,并在固件级别锁定其余端口。
  • 使用高准确度破坏检测信号监控存储媒介。
  • 加密静态数据
  • 在硬件支持的情况下,使用设备证明来帮助防止未经授权的设备在运行时环境中部署。

在某些情况下,为帮助确保没有人员拥有对机器的物理访问权限,Google 还会安装安全机架柜,它们有助于阻止或防止有人进行篡改。安全机架柜能够为路人提供即时的物理障碍,也可以触发针对安全人员的警报和通知。安全机架柜与前面讨论的机器修复相结合,为物理到逻辑空间提供了强大的保护层。

下面的图片说明了从完全打开的机架到经过完全硬件安全强化的安全机架柜的进度。

  • 下图展示了一个未经过硬件安全强化的机架:

    未经过硬件安全强化的机架。

  • 下图展示了一个经过某些硬件安全强化的机架:

    经过某些硬件安全强化的机架。

  • 下图显示了经过完全硬件安全强化的机架的正面和背面:

    经过完全硬件安全强化的机架的正面和背面。

基于任务的访问权限控制

基于任务的访问权限控制 (TBAC) 有助于确保只有具有正当业务需求的人员才能访问敏感机器。

安全机架机柜需要将物理安全性与因正当理由进行访问的权限进行权衡。为了为客户维护复杂的基础架构,Google 必须能够提供快速可靠的访问权限,以满足正当的业务需求(例如机器修复)。此外,还必须记录未经授权的访问尝试,并予以标记,以便进行调查。

TBAC 支持这两种功能。数据中心人员会根据特定的业务任务获得对单个安全机架柜的限时访问权限,而 TBAC 系统会强制执行该访问。TBAC 会记录所有访问尝试,并在检测到潜在的安全事件时提醒安全团队。

例如:收到工作请求后,监管者可以为位于名为安全机架柜 123 的机架中的机器生成任务。然后,监管者为工作设置时间范围(例如,两个小时)。当技术人员声明工作工单后,TBAC 允许此人访问安全机架柜 123,并在柜门打开后启动两个小时的计时器。两小时过后或技术人员关闭任务(标记为工作已完成)时,TBAC 会撤消对安全机架柜 123 的访问权限。

安全机架柜具有各种身份验证和授权机制。最基本的安全机架柜使用物理密钥,同时将身份验证和授权一起授予,因此仅提供粗粒度安全控件。为提高安全值,一些机柜使用单独分配和轮替 PIN 码的拨号键盘。

在某些情况下,Google 采用双重验证,该验证机制与单独的授权机制配对使用。进行身份验证时,验证者先刷分配给他们的工牌,第二个因子可以是分配给用户的 PIN 码或更复杂的因子,例如生物识别信息。

异常事件检测

异常事件检测可让安全团队了解机器何时遇到意外事件。

在行业范围内,组织可能需要数月或数年的时间才能发现安全漏洞,并且通常仅在发生严重损害或损失后才会发现。关键失陷指标 (IoC) 可能会丢失数百万台生产机器中的大量日志记录和遥测数据。但是,Google 使用 TBAC 和多个数据流来帮助实时识别潜在的物理到逻辑安全性事件。此控件称为异常事件检测

现代化的机器会监控和记录其物理状态以及物理到逻辑空间中发生的事件。机器通过始终存在的自动化系统软件接收这些信息。该软件可能会在机器内的小型计算机(称为基板管理控制器 (BMC))上运行,或者作为操作系统守护程序的一部分运行。该软件会报告重要事件(例如登录尝试、插入实体设备)以及传感器警报(例如机柜篡改传感器)。

通过异常事件检测,Google 会将系统报告事件的上下文与来自 TBAC 的工作跟踪相结合,以检测异常活动。例如,如果安全机架柜 123 中的机器报告移除了硬盘,我们的系统会检查该机器最近是否获得了硬盘调换的授权。如果不存在授权,所报告的事件再加上基于任务的授权数据,会触发须由安全团队进一步调查的提醒。

对于具有硬件信任根的机器,异常事件检测信号会更强。硬件信任根允许系统软件(例如 BMC 固件)证明其已安全启动。因此,对于所报告事件正当有效这一点,Google 检测系统具有更高的置信度。如需详细了解独立信任根,请参阅已分解机器的远程证明

系统自防御

系统自防御功能可让系统通过即时防御措施来响应潜在的入侵。

某些威胁场景假定物理到逻辑空间的攻击者可能会破坏硬件安全强化中讨论的物理访问措施。此类攻击者可能针对用户数据或机器上运行的敏感进程。

为缓解此风险,Google 实施了系统自防御:该控件可针对任何潜在的入侵提供即时而果断的响应。此控件使用物理环境中的遥测数据在逻辑环境中执行操作。

大多数大规模生产环境在一个机架中有多个物理机器。每台物理机器都运行多个工作负载,例如虚拟机 (VM) 或 Kubernetes 容器。每台虚拟机都使用专用内存和存储空间运行自己的操作系统。

为了确定哪些工作负载会面临安全事件,Google 会汇总来自硬件安全强化控件、TBAC 和异常事件检测的遥测数据。然后,我们会关联这些数据,以生成一小部分高风险且需要立即采取措施的事件。例如,安全机架门警报、机器底盘打开信号以及缺少有效的工作授权这些因素综合起来可能会构成高风险事件。

Google 检测到这些事件后,可以立即采取措施:

  • 公开的工作负载可以立即终止敏感服务并擦除任何敏感数据。
  • 网络架构可以隔离受影响的机架。
  • 根据具体情况,受影响的工作负载可以在其他机器、甚至是数据中心内重新调度。

由于系统自防御控件,即使攻击者成功获得了对机器的物理访问权限,攻击者也无法提取任何数据,也无法在环境中横向移动。

后续步骤


作者:Thomas Koh 和 Kevin Plybon