今天,科技媒体正在讨论发现隐藏在移动 Windows 10 操作系统的 SecureBoot 功能中的集成后门。从对漏洞性质的表面解读看来,这种利用似乎需要物理访问。也就是说,它似乎不是可以远程执行的攻击;攻击者需要实际窃取设备才能使用它。
就最终用户而言,该漏洞可能对攻击者有什么样的用途(它会向攻击者开放什么样的场景),以及最终用户应该采取哪些(如果有的话)缓解措施?
今天,科技媒体正在讨论发现隐藏在移动 Windows 10 操作系统的 SecureBoot 功能中的集成后门。从对漏洞性质的表面解读看来,这种利用似乎需要物理访问。也就是说,它似乎不是可以远程执行的攻击;攻击者需要实际窃取设备才能使用它。
就最终用户而言,该漏洞可能对攻击者有什么样的用途(它会向攻击者开放什么样的场景),以及最终用户应该采取哪些(如果有的话)缓解措施?
SecureBoot 是 UEFI 和其他固件的一部分,可用于验证将在启动时加载的软件上的签名。这通常是引导加载程序,但也可以是操作系统本身。
在某些实现中,用户可以“刻录”固件的自定义证书以用于验证。在其他情况下,证书由制造商预加载,并且只有由他们签名的软件才能在设备上使用。
手机和平板电脑等嵌入式设备通常属于第二类,用户不能更改已安装的软件,除非制造商允许(即操作系统更新)。
通过打破这个锁,用户将被允许安装他们想要的任何东西。这通常被称为“越狱”设备。
越狱的问题在于它还允许不良行为者在较低级别上破坏设备,这使得威胁更加持久且难以检测。
多年来,不同的设备有不同的越狱方法。在这种情况下,这是允许它的微软的一个混乱。从最初的文章(也许是 NSFW):
[安全启动策略是] 嵌入在 ASN.1 blob 中的二进制格式文件,该文件已签名。它是由 bootmgr 很早就加载到 Windows 启动过程中的。它必须由 db 中的证书签名。它从 secureboot 命名空间中的 UEFI 变量加载(因此,它只能被引导服务访问)。有几个由 MS 签名的 .efis 可以提供这样的策略,即设置 UEFI 变量,其内容为策略。
这是一个非常聪明且可扩展的方案,但在开发过程中被一个疏忽破坏了:
在 Windows 10 v1607 'Redstone' 的开发过程中,MS 添加了一种新型的安全启动策略。即,位于 EFIESP 分区(而不是 UEFI 变量)中的“补充”策略,并根据条件(即某个“激活”策略也存在,并且已经装入)。[...]“补充”政策包含新的元素,用于合并条件。bootmgr 在加载旧策略时(嗯,一次)未检查这些条件。而win10 v1511及更早版本的bootmgr当然不知道。对于那些 bootmgrs,它刚刚加载了一个完全有效的签名策略。
换句话说,他们有一个签名策略,允许他们加载未签名的二进制文件,大概是为了允许测试开发版本而不必对每个版本进行签名。
他们不小心在某些设备上发布了此策略,有人发现并发布了它,现在可以在任何设备上加载它。
这篇文章详细介绍了它的工作原理。关键是这是一个越狱漏洞。对一些人来说这是个好消息,对另一些人来说则不是。
成功利用需要管理员权限或物理访问权限。
@Bradley 在评论中提到“它使您电脑上已经存在的恶意软件更容易接管启动进度并完全超越您的电脑”。虽然是真的,但这意味着恶意软件已经在设备上拥有管理员权限,因此启动妥协是您的问题中最少的。
微软表示:
研究人员在 8 月 10 日的报告中描述的越狱技术不适用于台式机或企业 PC 系统。它需要对 ARM 和 RT 设备的物理访问和管理员权限,并且不会危及加密保护。
但这可能是轻描淡写的。他们发布了两个补丁:MS16-094 和 MS16-100。第一条说:
攻击者必须具有管理权限或物理访问权限才能安装策略并绕过安全启动。
对于 Windows 8.1、Windows RT 8.1、Windows Server 2012、Windows Server 2012 R2 和 Windows 10 的所有受支持版本,此安全更新的评级为“重要”。[...] 该安全更新通过将受影响的策略列入黑名单来解决该漏洞。
因此,如前所述,它是根访问或物理访问。
而且它确实会影响台式机和服务器(请参阅评论讨论以推测他们为什么会说它没有)。
此外,策略黑名单被认为是不够的:回滚到较旧的 bootmgr 仍然可以允许加载策略(这在文章中提到)。第二个补丁还将旧的引导管理器列入黑名单以解决这个问题。
TL;DR:修补你的 Windows 系统,不要太担心这个。还有更糟糕的问题。