信息来源:Freebuf
今日,网络安全研究人员披露了一个新的高风险漏洞的详细信息。该漏洞影响了全球数十亿设备,几乎波及所有正在运行Linux发行版或Windows系统的服务器、工作站,笔记本电脑,台式机及IoT系统。
因该漏洞位于GRUB2引导程序中,所以被称为“ BootHole ”,并被标记为CVE-2020-10713。一旦被利用,该漏洞可让攻击者避开安全启动功能,并获得高度特权,隐身访问目标系统。
安全启动是一项统一可扩展固件接口(UEFI)的安全功能。在启动加载程序来加载关键组件,外围设备及操作系统的同时,该接口还可确保在启动过程中仅执行已授权(sign)的代码。该功能的设计目标之一,是通过禁用安全启动或以其他方式修改启动链,来防止未经授权的代码(甚至具有管理员权限的运行)获得其他特权,或将操作系统持久化。”
今天,Microsoft确认了该问题,并表示“正在完成解决此漏洞所需的Window更新涉及的验证和兼容性测试”。除Microsoft外,许多主流的Linux发行版也发布了相关的公告,解释了该缺陷,及可能的缓解措施和即将推出的安全补丁程序的时间表。
GRUB2引导程序出现缓存溢出漏洞
BootHole是一个缓存溢出漏洞,最早由Eclypsium的研究人员发现。它以解析配置文件中内容的方式存在,会影响所有版本的GRUB2。该配置文件不像其他文件一样需要授权,所以为攻击者提供了破解密码的机会。
据详细报告称,此漏洞可能导致重大后果,因为该攻击使黑客甚至在操作系统启动之前就可以执行恶意代码,使得安全软件很难检测到恶意软件,也很难将其删除。利用Windows系统上的BootHole漏洞,攻击者可以用易受攻击的GRUB2版本替换Windows系统上的默认引导程序,以便后续安装rootkit恶意软件。
研究人员表示,缓存溢出让攻击者可在UEFI执行环境中获得任意代码执行权限,这些代码可以用于运行恶意软件,更改启动过程,直接修补操作系统内核或执行其他恶意操作。此外, UEFI执行环境没有地址空间布局随机化(ASLR)、数据执行保护(DEP / NX)或其他现代操作系统中常见的漏洞利用缓解及对抗技术,因此很容易创建这种易被攻击的漏洞。
不过,grub.cfg文件位于EFI系统分区中,因此,要修改该文件,攻击者仍需要在有管理权限的目标系统上落脚,这样其最终才会获取设备的额外特权及持久性。
报告称:“其他使用了标准的微软第三方UEFI 证书授权,支持安全功能的Windows设备,也会受该漏洞的影响。”
仅更新程序无法解决问题
Eclypsium的专家已经联系了操作系统供应商和计算机制造商等相关企业,以帮助解决此问题。但是,完全修补并不是一件易事。
仅仅使用更新的GRUB2引导程序来安装补丁,无法解决该问题,因为攻击者仍可以用易受攻击的版本替换设备现有的引导程序。所以,Eclypsium提出,解决该问题时,需要部署新的引导程序并撤销易受攻击的引导程序。
受影响的供应商需要先发布由Microsoft第三方UEFI CA授权的新引导程序,然后在受影响的系统固件中更新UEFI吊销列表(dbx),以防止易受攻击的代码在引导过程中运行。这种多阶段的缓解过程,可能需要花费数年完成最终修补。
研究人员警告,这个撤消过程的完整部署可能会非常慢。此外,因UEFI相关的更新曾出现使设备无法使用的情况,所以供应商必须非常谨慎。如果吊销列表(dbx)比给定的Linux 引导程序和shim提前更新,则操作系统将不会再加载。
以下是部分处理建议的链接: