新的缺陷绝缘器保护靴子,但没有理由恐慌。这就是为什么

2020-07-30 03:07:36

研究人员周三表示,GRUB2是世界上使用最广泛的电脑启动程序之一,它存在一个漏洞,可以让攻击者在启动期间更容易运行恶意固件。这将影响数百万甚至可能数亿台机器。虽然GRUB2主要用于运行Linux的计算机,但利用该漏洞的攻击也可以在许多运行Windows的PC上执行。

这个漏洞是由安全公司Eclypium的研究人员发现的,它对UEFI Secure Boot构成了又一个严重威胁,UEFI Secure Boot是一个行业标准,它使用加密签名来确保启动期间使用的软件受到计算机制造商的信任。Secure Boot旨在防止攻击者通过用恶意软件替换目标软件来劫持引导过程。

所谓的Bootkit是最严重的感染类型之一,因为它们运行在软件堆栈的最低级别。这使得恶意软件比大多数恶意软件更隐蔽,可以在重新安装操作系统后幸免于难,并可以绕过操作系统内置的安全保护。

研究人员已将该漏洞命名为Boot Hole,该漏洞源于GRUB2解析grub.cfg(引导加载程序的主要配置文件)中的文本时的缓冲区溢出。通过在文件中添加长文本字符串,攻击者可以溢出分配给文件的内存空间,并导致恶意代码溢出到内存的其他部分,然后在内存的其他部分执行恶意代码。

配置文件未经过数字签名,因此Secure Boot不会检测到它何时被恶意更改。GRUB2也没有使用操作系统中的标准地址空间布局随机化、数据执行预防和其他反利用保护。这些遗漏使得已经在目标计算机上站稳脚跟的攻击者利用该漏洞变得微不足道。从那里,他们可以完全绕过许多人希望阻止Bootkit站稳脚跟的保护。

然而,漏洞的严重性可以通过几件事来抵消。首先,攻击者必须拥有对计算机的管理权限或对计算机的物理访问权限。管理员级别的控制在现代操作系统上越来越难获得,因为它们在阻止利用方面取得了重大进展。在越境期间或当用户短暂失去对计算机的物理拥有时的类似时刻,物理访问可能更容易。但在大多数其他情况下,要求都很高,因此不太可能有很多用户受到影响。更重要的是,物理占有极大地限制了攻击的可扩展性。

让Boot Hole变得不那么可怕的另外两个因素是:已经对计算机进行管理或物理控制的攻击者已经有很多其他方法来感染高级的隐形恶意软件。此外,还有其他几种用于绕过安全引导的已知技术。

Atredis Partners负责研发的副总裁、软件开发专家HD Moore告诉我:“我认为安全引导不是今天个人电脑安全的基础,因为它很少有效,而且按照他们自己的说法,一年多来很容易绕过它,没有长期解决方案的迹象,”Atredis Partners负责研究和开发的副总裁、软件开发专家HD Moore告诉我,“我认为安全引导不是当今个人电脑安全的基础,因为它很少有效,而且按照他们自己的说法,一年多来很容易绕过它,目前还看不到长期解决方案。”“我不确定GRUB2中的缓冲区溢出有什么用,因为如果grub.cfg是未签名的,还有其他问题。它作为恶意软件载体可能很有用,但即使这样,如果可以使用自定义grub.cfg文件来链加载实际操作系统,也没有理由利用缓冲区溢出。

其他研究人员似乎也同意这一评估。根据对漏洞的跟踪,CVE-2020-10713的严重级别为中度。

摩尔提到的Eclypium索赔涉及到2月份撤销了一家引导加载程序安全公司卡巴斯基实验室(Kaspersky Lab),该公司在启动被禁用的计算机的救援磁盘中使用了该公司的引导加载程序。撤销导致了如此多的问题,以至于监督验证过程的微软回滚了这一更改。这次撤销不仅突显了修补Boot Hole等漏洞的难度(稍后将详细介绍),而且还强调了这样一个事实,即已经有可能绕过Secure Boot。

利用的障碍和限制并不意味着漏洞不值得认真对待。Secure Boot正是针对利用Boot Hole所需的方案创建的。受影响的电脑和软件制造商的数量加剧了风险。Eclypium有一份更完整的受影响人员名单。它们是: