声明
对于 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完整性团队博客:
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。