3项经微软签发的UEFI Boot Loader可让恶意程序绕过安全开机保护执行

安全厂商Eclypsium发现有三个获得微软签发的UEFI bootloader存在漏洞,使恶意程序能躲过安全开机(Secure Boot)技术的防护,而得以在Windows设备上执行。

Windows的安全开机机制是UEFI标准,可通过微软凭证验证固件,及保护系统无法在开机早期,操作系统加载之前,加载与执行恶意程序代码。Eclypsium发现的3项UEFI bootloader,都获得微软UEFI第三方凭证机构(CA)的签章。由于这个CA为所有Windows和Linux笔记本、PC机、平板、服务器及AIO系统所信任,因此攻击者即可安装有问题的开机程序,轻易在目标设备上执行。

这三项BootLoader及其漏洞分别是Eurosoft(CVE-2022-34301)、New Horizon Datasys(CVE-2022-34302)及CryptoPro Secure Disk for BitLocker(CVE-2022-34303)。

其中CVE-2022-34301和CVE-2022-34303较类似,它们都是利用已签发的UEFI shell,使攻击者可利用shell内置的功能,回避安全开机,像是读写内存、list handles或映射内存等,而且可利用开机script自动化执行。

这些行为都还有一些视觉上的指示元素,可在显示器增至到,但没有显示器的服务器或工业设备则无从发现。但New Horizon Datasys(CVE-2022-34302)的漏洞就更隐秘了。它包含使Secure Boot开着,但关闭它的检查。这能以更高明的手法躲避安全防护,像是关闭安全工具。这么一来攻击者也不需下指令,就能直接任意执行未签章的程序代码。研究人员相信这项漏洞更能获得黑客们的“青睐”。

CERT/CC指出,这些漏洞让恶意程序绕过Secure Boot保护,而使系统加载任意程序代码。这些bootloader可协助攻击者潜伏在系统内,例如加载任意的核心扩展程序躲过开机或OS重装,或是躲过OS层安全软件,或第三方端点防护工具。

研究人员警告,虽然更新有问题的bootloader需要管理员权限,但本地权限扩张(local privilege escalation,LPE)攻击在Windows和Linux上都不难做到。尤其微软并不认为UAC-bypass是不合法行为,也不修补相关被通报为漏洞的地方,因此Windows上反而许多机制可被用于将一般用户提升到管理员权限。

此外,研究人员也指出,虽然在OS层执行恶意程序经常见,但Secure Boot是专门用于这些程序不致扩展权限到取得整台机器,突破其他安全控制,因此这些漏洞还可以让攻击者很简单就跨越UAC。

CERT呼吁用户尽早安装最新OS安全更新,防止不安全固件绕过Secure Boot防护。微软8月Patch Tuesday就更新了Secure Boot Forbidden Signature Database(DBX)解决这项问题。

Eclypsium于2020年也披露启动程序Grub2的安全漏洞,名为BootHole,可允许黑客绕过安全启动(Secure Boot)保护机制,于操作系统之前植入任意程序,个人计算机、服务器、工作站到IoT设备都受黑。