
你的Thunderbolt接口能在电脑锁定时偷走数据——一个设置就能阻止它
Diebug
当你按下Win+L锁定电脑时,屏幕变成了一道屏障。输入密码才能进入桌面,对吧?
但连接在Thunderbolt或USB4端口上的设备并非如此。即使在你锁屏的状态下,某些外接设备仍然可以访问系统内存。这意味着存储在RAM中的敏感信息——包括未加密的密码、认证凭据、甚至打开的文档内容——都可能被外部设备读取。
这不是理论上的风险。2018年, researchers首次公开演示了通过Thunderbolt端口的直接内存访问(DMA)攻击。攻击者只需将特制的硬件设备插入你的Thunderbolt端口,就能在几秒内读取整个系统内存。
Thunderbolt和DMA攻击的原理
Thunderbolt技术最初由Intel开发,后来与Apple合作推广。它通过PCIe和DisplayPort协议提供高速数据传输,理论带宽可达40Gbps。但高速传输的代价是,Thunderbolt设备可以直接访问系统内存——这就是DMA(直接内存访问)的工作原理。
DMA设计初衷是为了提高外设与内存之间的数据传输效率,避免CPU介入。但对于安全来说,这是一个巨大的漏洞:如果一个恶意设备插入Thunderbolt端口,它可以在不经过CPU的情况下直接读写系统内存。
这就好比你的办公室有门锁(密码保护),但窗户却是开着的。攻击者不需要开门,直接爬窗进来就行了。
更危险的是,即使你锁了屏,RAM中的数据并不会被清空。进程、缓存、未保存的文档——所有这些都还在内存中,等待被读取。
Kernel DMA Protection:Windows的防御机制
Windows 10版本1703引入了Kernel DMA Protection功能,旨在防止通过Thunderbolt等接口的DMA攻击。其核心组件是IOMMU(Input-Output Memory Management Unit),它在扩展设备和物理内存之间充当守门人。
当Kernel DMA Protection启用时,IOMMU会将DMA-capable的外设限制在特定的内存区域,阻止它们访问其他内存空间。简单来说,IOMMU为每个设备划定了一块”领地”,设备只能在自己的领地内活动。
但这里有一个关键点:Kernel DMA Protection的效果取决于硬件和固件的支持。现代芯片组普遍配备IOMMU,但 older devices like FireWire、PCMCIA、CardBus或ExpressCard则不受保护。
如何检查你的电脑是否启用了Kernel DMA Protection
检查方法很简单:
- 按Win+R,输入
msinfo32,回车 - 在打开的”系统信息”窗口中,查看”常规”标签页
- 找到”Kernel DMA Protection”一行
如果显示”已启用”,说明你的系统已经受到保护。如果显示”已禁用”或”不可用”,则需要进一步检查。

注意:”已启用”意味着平台支持该功能,并且已在设备上启用。大多数支持的系统会自动启用Kernel DMA Protection,没有单独的开光。
如果显示”已禁用”,并不一定意味着你手动关闭了某个Windows设置。Kernel DMA Protection依赖于平台、固件和IOMMU支持。在某些系统上,在UEFI中启用所需的虚拟化和I/O虚拟化选项可能解决问题;在其他系统上,硬件本身就不支持这个功能。
MSInfo32给出的结果是PC实际报告的情况,而不是制造商在售前宣传的内容。
启用后的注意事项
一旦Kernel DMA Protection启用,不需要再寻找其他方式来增强保护。这个功能已经涵盖了Thunderbolt和USB4端口的DMA攻击防护。
需要注意的是,Kernel DMA Protection并不是万能的安全解决方案。它不能防御固件攻击、预启动攻击,也不能阻止已经在系统上运行的恶意软件。此外,如果攻击者有足够的物理接触机会,仍可能对机器进行其他形式的篡改。
对于高度敏感的环境,建议结合以下措施:
- 物理端口保护:使用端口锁或封堵器防止未经授权的设备插入
- 全盘加密:即使内存数据被读取,加密的磁盘数据仍然是安全的
- 快速锁屏:设置较短的锁屏超时时间,减少窗口期
- UEFI密码:防止攻击者在开机时插入恶意设备
如果你的系统不支持Kernel DMA Protection怎么办
对于不支持Kernel DMA Protection的老设备,有以下几种替代方案:
UEFI中的Thunderbolt安全控制:
部分主板的UEFI固件提供了Thunderbolt安全设置,可以选择”安全启动”或”用户授权”模式。在”用户授权”模式下,每次插入Thunderbolt设备都需要用户在BIOS中确认。
BitLocker DMA对抗措施:
Microsoft为不支持Kernel DMA Protection的系统提供了BitLocker DMA防护措施。具体步骤包括:
- 在组策略编辑器中,启用”使用符合FIPS标准的算法加密、哈希和签名”
- 禁用允许DMA的PCI设备
- 启用BitLocker驱动器加密
物理防护:
最简单但最有效的方法是物理隔离。不使用Thunderbolt端口时,用堵头封住;外出时携带端口锁;不要在公共场所的电脑上插入未知设备。
企业环境的安全建议
对于企业IT部门来说,Thunderbolt安全不仅仅是用户个人设置的问题,而是需要统一的策略管理:
- 资产盘点:使用MDM或组策略强制检查Kernel DMA Protection状态,生成合规报告
- 设备管控:通过组策略禁用未经认证的Thunderbolt设备,或要求用户授权后才能使用
- 安全培训:教育员工认识Thunderbolt端口的安全风险,避免随意插入未知设备
- 物理安全:在办公室部署端口锁,重要会议场所使用临时封堵器
根据NIST的《Guideline on Hardware Security》(SP 800-193),推荐使用DMA保护技术来防止通过外部端口的内存访问攻击。
总结
Thunderbolt端口的DMA攻击风险是真实存在的,但大多数人对此一无所知。Kernel DMA Protection是Windows提供的有效防御手段,但你需要确认它是否已启用。
花两分钟检查一下msinfo32,比事后补救要轻松得多。记住:锁屏不等于安全,尤其是当你的电脑上还有Thunderbolt端口敞开时。
原文:Your Thunderbolt port can be used to steal data from a locked PC — here’s the setting that stops it
作者:Afam Onyimadu