阻止 SBP-2 驱动程序和 Thunderbolt 控制器,以减少对 BitLocker 的 1394 DMA 和 Thunderbolt DMA 威胁

应用对象
Windows Server version 1803 Windows 10, version 1803, all editions Windows Server 2016 Version 1709 Windows 10, version 1709, all editions Windows 10, version 1703, all editions Windows Server 2016, all editions Windows 10, version 1607, all editions Windows 10 Windows Server 2012 R2 Windows RT 8.1 Windows 8.1 Windows Server 2012 Windows 8

声明

对于 Windows 版本 1803 及更高版本,如果你的平台支持新的 内核 DMA 保护 功能,我们建议你利用该功能来缓解 Thunderbolt DMA 攻击。 对于缺少新的 内核 DMA 保护 功能的早期版本的 Windowsor 平台,如果组织允许仅 TPM 保护程序或支持处于睡眠模式的计算机,则以下是一个 DMA 缓解选项。 请参阅 BitLocker 对策 ,了解缓解措施范围。

此外,用户可参阅 Intel Thunderbolt 3 和 Microsoft 上的安全性Windows 10操作系统文档,了解替代缓解措施。

为了方便你获取技术支持,Microsoft 提供了第三方联系信息。 该联系信息如有更改,恕不另行通知。 Microsoft 不保证此第三方联系信息的准确性。

有关如何执行此操作的详细信息,请转到以下Microsoft网站:

使用组策略控制设备安装的分步指南

症状

当计算机打开或处于待机电源状态时,受 BitLocker 保护的计算机可能容易受到直接内存访问 (DMA) 攻击。 这包括桌面锁定时。

仅使用 TPM 身份验证的 BitLocker 允许计算机进入开机状态,而无需任何预启动身份验证。 因此,攻击者可能能够执行 DMA 攻击。

在这些配置中,攻击者可以通过使用插入 1394 端口的攻击设备来欺骗 SBP-2 硬件 ID,在系统内存中搜索 BitLocker 加密密钥。 或者,活动的 Thunderbolt 端口还提供对系统内存的访问以执行攻击。 请注意,新的 USB Type-C 连接器上的 Thunderbolt 3 包括新的安全功能,这些功能可以配置为防范此类攻击,而无需禁用端口。

本文适用于以下任何系统:

  • 保持打开的系统
  • 处于待机电源状态的系统
  • 使用仅限 TPM 的 BitLocker 保护程序的系统

原因

1394 物理 DMA

符合 OHCI 的行业标准 1394 控制器 () 提供允许访问系统内存的功能。 此功能是作为性能改进提供的。 它允许在 1394 设备和系统内存之间直接传输大量数据,从而绕过 CPU 和软件。 默认情况下,所有版本的 Windows 中都禁用 1394 物理 DMA。 以下选项可用于启用 1394 物理 DMA:

  • 管理员启用 1394 内核调试。
  • 有权物理访问计算机的人连接符合 SBP-2 规范的 1394 存储设备。

BitLocker 的 1394 DMA 威胁

BitLocker 系统完整性检查可缓解未经授权的内核调试状态更改。 但是,攻击者可以将攻击设备连接到 1394 端口,然后欺骗 SBP-2 硬件 ID。 当 Windows 检测到 SBP-2 硬件 ID 时,它会加载 SBP-2 驱动程序 (sbp2port.sys) ,然后指示驱动程序允许 SBP-2 设备执行 DMA。 这使攻击者能够访问系统内存并搜索 BitLocker 加密密钥。

Thunderbolt 物理 DMA

Thunderbolt 是一种外部总线,允许通过 PCI 直接访问系统内存。 此功能是作为性能改进提供的。 它使大量数据可以直接在 Thunderbolt 设备和系统内存之间传输,从而绕过 CPU 和软件。

Thunderbolt 对 BitLocker 的威胁

攻击者可以将特殊用途设备连接到 Thunderbolt 端口,并通过 PCI Express 总线进行完全直接的内存访问。 这使攻击者能够访问系统内存并搜索 BitLocker 加密密钥。 请注意,新的 USB Type-C 连接器上的 Thunderbolt 3 包括新的安全功能,这些功能可以配置为防止此类访问。

解决方法

BitLocker 的某些配置可以降低此类攻击的风险。 当计算机不使用睡眠模式时,TPM+PIN、TPM+USB 和 TPM+PIN+USB 保护器可减少 DMA 攻击的影响, (RAM) 挂起。

SBP-2 缓解措施

上述网站上,请参阅“组策略设备安装设置”下的“阻止安装与这些设备安装类匹配的驱动程序”部分。

下面是 SBP-2 驱动器即插即用设备安装类 GUID:

d48179be-ec20-11d1-b6b8-00c04fa372a7

在某些平台上,完全禁用 1394 设备可能会提供额外的安全性。  在上述网站上,请参阅“组策略设备安装设置”下的“阻止安装与这些设备 ID 匹配的设备”部分。

下面是 1394 控制器的即插即用兼容 ID:

PCI\CC_0C0010

Thunderbolt 缓解

从 Windows 10 版本 1803 开始,基于 Intel 的较新的系统包括针对 Thunderbolt 3 的内置内核 DMA 保护。 此保护不需要配置。

若要在运行早期版本 Windows 的设备上阻止 Thunderbolt 控制器,或者对于缺少 Thunderbolt 3 内核 DMA 保护的平台,请参阅上述网站上的“组策略设备安装设置”下的“阻止安装与这些设备 ID 匹配的设备”部分。

下面是 Thunderbolt 控制器即插即用兼容 ID:

PCI\CC_0C0A

             注意

  • 此缓解措施的缺点是外部存储设备无法再使用 1394 端口进行连接,并且连接到 Thunderbolt 端口的所有 PCI Express 设备都不起作用。
  • 如果你的硬件偏离了当前的 Windows 工程指南,它可能会在你启动计算机之后和 Windows 控制硬件之前在这些端口上启用 DMA。 这会使系统遭到入侵,此解决方法无法缓解这种情况。
  • 阻止 SBP-2 驱动程序和 Thunderbolt 控制器无法防范外部或内部 PCI 插槽 (包括 M.2、Cardbus & ExpressCard) 的攻击。

详细信息

有关 BitLocker 的 DMA 威胁的详细信息,请参阅以下Microsoft安全性博客:

Windows BitLocker 声明 有关针对 BitLocker 的冷攻击缓解措施的详细信息,请参阅以下Microsoft完整性团队博客:

保护 BitLocker 免受冷攻击

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。