装系统时bootfail,win7安装完后显示bootfail

首页 > 实用技巧 > 作者:YD1662024-01-08 20:09:32

研究人员展示了攻击者如何通过 BIOS 闪屏图形将恶意代码植入许多个人电脑的 UEFI。

装系统时bootfail,win7安装完后显示bootfail(1)

研究人员设计了一种攻击手段,利用许多计算机制造商使用的 UEFI 固件中的严重漏洞,部署隐蔽的 rootkit,在启动过程的早期阶段执行,终端安全产品无法察觉。这种攻击涉及在驱动器上的特殊分区或固件的非保护区域中植入恶意制作的镜像。

"安全公司Binarly的研究人员在报告中指出:"包括英特尔、宏碁和联想在内的数百家厂商的消费级和企业级设备都可能存在漏洞。"受影响设备的确切名单仍在确定中,但必须指出的是,所有三大 IBV(独立 BIOS 供应商)--AMI、系微和 Phoenix--都受到了影响,原因是它们作为固件的一部分提供的图像解析器存在多个安全问题。"

通过闪屏发送恶意代码

大多数个人电脑制造商都使用由少数几家独立 BIOS 供应商开发的统一可扩展固件接口 (UEFI) 实现。UEFI 是计算机系统固件的标准化规范,相当于现代的 BIOS,包括负责在加载安装在硬盘驱动器上的操作系统之前初始化计算机硬件的低级代码。

IBV 允许计算机制造商定制固件,包括在启动初期在计算机屏幕上显示自己的徽标和其他品牌元素。这也被称为闪屏,在操作系统引导程序接管并初始化操作系统内核之前显示。Binarly 研究人员决定调查并利用这种早期启动外观功能,这就是他们将其攻击命名为 LogoFAIL 的原因。

计算机制造商以图像形式提供闪屏图形,这意味着固件中包含图像解析代码来显示它们。任何关注安全研究的人都可能知道,文件解析器(也称为解码器)一直是严重漏洞的来源,因为它们接收用户以文件形式提供的输入,解释文件内容,并将其加载到计算机内存中。如果这样做不安全,就会导致内存损坏问题,如缓冲区溢出。

现代 UEFI 固件包含多种不同格式的图像解析器,如 BMP、GIF、JPEG、PCX 和 TGA,这极大地扩展了攻击面,从而增加了漏洞的可能性。事实上,Binarly团队在系微、AMI和Phoenix固件中使用的图像解析器中发现了29个问题,其中15个可被利用执行任意代码。

"Binarly的研究人员在他们的技术报告中说:"这些结果也显示了LogoFAIL的范围和影响,因为每个IBV的解析器中都至少有一个可利用的漏洞,而且每个解析器都包含漏洞。"唯一的例外是系微的 PNG 解析器,它基于一个开源项目,很可能已经经过了社区的充分测试。从 CWE 一栏中我们可以看到,我们发现了很多不同类别的错误,从除零异常到 NULL 指针解除引用,从越界读取到堆溢出。"

Binarly 团队通过模糊测试(fuzzing)发现了这些漏洞,模糊测试包括自动生成畸形或意外输入,并将其输入到目标应用程序,以观察其行为。如果应用程序崩溃,通常意味着发生了内存损坏,因此要调查其根本原因,看是否能以受控方式触发和利用损坏,从而产生安全影响。

多年来,模糊测试已成为一种标准流程,现在已被集成到企业在开发阶段使用的大多数代码安全测试工具中,这就是为什么 Binarly 团队惊讶地发现固件中存在如此多可利用的崩溃。"研究人员总结说:"我们的模糊测试和随后的漏洞分流结果明确表明,IBV 或 OEM 从来没有测试过这些图像解析器。研究人员总结道:"我们可以肯定地说,我们测试的几乎每一个解析器都发现了崩溃现象。此外,模糊器在运行几秒钟后就能发现第一次崩溃,更糟糕的是,某些解析器在互联网上找到的有效图片上崩溃。

绕过固件安全功能

在计算机的启动加载程序或 BIOS/UEFI 固件中提前植入恶意代码并不是什么新技术。这些程序被称为启动级 rootkit 或 bootkit,它们为攻击者提供了巨大的优势,因为它们的代码会在操作系统启动前执行,使攻击者可以躲避可能安装在操作系统内部的任何终端安全产品。

低级引导工具包代码通常会在启动阶段加载操作系统内核时将恶意代码注入内核,然后利用内核的功能将自己隐藏起来,不让用户安装程序发现,这就是 rootkit 的典型定义--利用 root(内核)权限运行的自我隐藏恶意软件。

现代 UEFI 固件具有多种防御这些攻击的功能--如果计算机制造商启用了这些功能的话。例如,UEFI 安全启动功能可检查启动过程中加载的代码是否已使用可信密钥进行加密签名。这包括固件驱动程序(也称为 Option ROM),需要在操作系统接管之前初始化各种硬件组件;在固件内部运行的 EFI 应用程序;操作系统引导程序和其他组件。英特尔引导防护提供了一种基于硬件的机制,用于建立存储 OEM 密钥的加密信任根。

启用了 Boot Guard 和 Secure Boot 的系统应该可以防止利用 LogoFAIL 漏洞。遗憾的是,这并不总是正确的,因为在某些情况下,IBV 会为计算机制造商提供一种定制徽标的方法,而不会被 Boot Guard 签名强制执行所覆盖。

例如,有些实施会在 EFI 系统分区(ESP)上查找供应商提供的映像。这是硬盘驱动器上的一个特殊分区,EFI 在此分区中查找各种应用程序,包括操作系统引导程序代码。在这种情况下,攻击者只需拥有操作系统的管理员权限,就能在 ESP 分区上放置恶意徽标,然后更改 NVRAM 变量并强制系统重启。

这将导致 UEFI 固件加载恶意徽标,而恶意徽标将利用其中一个已发现的漏洞执行恶意代码,并劫持正常的执行流程。这将发生在启动序列的关键阶段,即驱动程序执行环境(DXE)。

OEM 厂商的另一种徽标定制方法是使用 IBV 提供的工具,该工具允许对固件胶囊进行修补以添加其徽标,然后将这些胶囊闪存到闪存 ROM 中。攻击者可以使用相同的固件闪存工具注入恶意徽标,但前提是徽标不属于固件中任何数字签名代码块。

如果固件存储的徽标不在英特尔引导防护或 AMD 同等硬件验证引导所覆盖的区域内,攻击者也可以使用 SPI 闪存编程工具,对存储固件的闪存芯片重新编程,如果他们获得了设备的物理访问权限,例如在供应链或分销链中的某个地方。

一些计算机供应商(如戴尔)会在固件块中分发自己的徽标,这些固件块属于英特尔引导防护的覆盖范围,不提供额外的徽标定制方法,如存储在 ESP 中的图像。它们不会受到 LogoFAIL 攻击。"研究人员说:"然而,尽管这些设备没有直接风险,但它们仍然包含有需要修复的高严重性漏洞的图像解析器,因为它们代表着一种可能在不经意间转化为安全问题的危险。

缓解 LogoFAIL 漏洞

所有受影响的IBV都发布了安全公告,包括系微、AMI和Phoenix,并正在与OEM合作发布更新的固件映像。建议最终用户在各自计算机制造商的网站上查看其型号的 UEFI 更新,并尽快应用它们。

“基于这种参考代码的影响,我们估计LogoFAIL几乎以一种或另一种方式影响这些供应商提供的任何设备,”研究人员说。“此外,它不仅限于特定的硬件,可以在x86或基于ARM的设备上成功利用。这些漏洞被跟踪为 Phoenix 固件的 CVE-2023-5058、AMI 的 CVE-2023-39538 和 CVE-2023-39539 以及 Insyde 的 CVE-2023-40238。受影响的 PC 供应商之一联想发布了自己的安全公告,其中包含受影响的型号列表和迄今为止的可用更新。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.