GRUB2 Bootloader缓冲区溢出漏洞影响数十亿的Linux和Windows系统_第1张图片

0x00前言

一组网络安全研究人员2020年7月29披露了一个新的高风险漏洞的详细信息,该漏洞影响全球数十亿设备-包括运行几乎所有Linux发行版或Windows系统的服务器和工作站(高端的通用微型计算机),笔记本电脑,台式机和IoT系统。这个漏洞还涉及到任何使用具有标准Microsoft Third Party UEFI Certificate Authority的Secure Boot的Windows设备,例如工业、医疗、金融等行业中使用的设备均受影响。

被报告为“ BootHole ”并跟踪为CVE-2020-10713,已报告的漏洞位于GRUB2引导加载程序中,如果被利用,它可能会使***者绕过安全启动功能,并获得对目标系统的高特权持久性和隐形访问。

安全启动是统一1可扩展固件接口(UEFI)的一项安全功能,该功能使用启动加载程序加载关键组件,外围设备和操作系统,同时确保在启动过程中仅执行经过密码签名的代码。

报告解释说:“安全启动的明确设计目标之一是通过禁用安全启动或修改启动链来防止未经授权的代码(甚至具有管理员权限的运行)获得额外的特权和OS之前的持久性。

0x01 GRUB2引导加载程序漏洞

BootHole由Eclypsium的研究人员发现,是一个缓冲区溢出漏洞,它会影响GRUB2的所有版本,并且以解析配置文件中内容的方式存在,该配置文件通常不像其他文件和可执行文件那样经过签名,从而为***者提供了破解密码的机会。信任机制的硬件根。
GRUB2 Bootloader缓冲区溢出漏洞影响数十亿的Linux和Windows系统_第2张图片

需要注意的是,grub.cfg文件位于EFI系统分区中,因此,要修改该文件,***者仍需要在目标系统上拥有管理员权限的最初立足点,最终将为***者提供额外的升级权限。设备上的特权和持久性。

尽管GRUB2是大多数Linux系统使用的标准引导程序,但它也支持其他操作系统,内核和虚拟机管理程序,例如XEN。

研究人员说:“缓冲区溢出使***者可以在UEFI执行环境中获得任意代码执行权限,这些代码可以用于运行恶意软件,更改启动过程,直接修补OS内核或执行许多其他恶意操作。”因此,为了利用Windows系统上的BootHole漏洞,***者可以使用GRUB2的漏洞版本替换Windows系统上安装的默认引导加载程序,以安装rootkit恶意软件。

报告称:“该问题还扩展到任何将安全启动与标准的Microsoft第三方UEFI证书颁发机构一起使用的Windows设备。”

根据研究人员的详细报告,此漏洞可能导致重大后果,这主要是因为该***使***甚至在操作系统启动之前就可以执行恶意代码,从而使安全软件很难检测到存在的漏洞。恶意软件或将其删除。
GRUB2 Bootloader缓冲区溢出漏洞影响数十亿的Linux和Windows系统_第3张图片

此外,研究人员还补充说:“ UEFI执行环境没有地址空间布局随机化(ASLR)或数据执行保护(DEP / NX)或其他现代操作系统中常见的漏洞利用缓解技术,因此创建了这种漏洞利用漏洞变得更加容易。”

0x02 安装补丁或修补程序可能无法解决问题

Eclypsium已和多家行业如OS厂商、计算机制造商和应急响应中心协调披露该漏洞。缓解措施要求签名和部署新的引导程序,这样可以防止***者使用老旧、易受***版本。这一过程可能非常漫长,由于组织机构完成修复需要大量时间

仅使用更新的GRUB2引导加载程序安装修补程序无法解决该问题,因为***者仍可以用易受***的版本替换设备现有的引导加载程序。

根据Eclypsium的说法,即使“缓解措施也需要签名并部署新的引导加载程序,并且应该撤销易受***的引导加载程序,以防止***者在***中使用较旧的易受***的版本。”

因此,受影响的供应商将需要首先发布要由Microsoft第三方UEFI CA签名的引导加载程序填充程序的新版本。

最终,然后还需要在每个受影响的系统的固件中更新UEFI吊销列表(dbx),以防止在引导过程中运行此易受***的代码。

这种多阶段缓解过程可能需要组织花费数年的时间才能完成修补。

“但是,撤消过程的完全部署可能会非常缓慢。与UEFI相关的更新已有使设备无法使用的历史,供应商必须非常谨慎。如果在给定的Linux之前更新了撤消列表(dbx),引导加载程序和填充程序将被更新,然后操作系统将无法加载。”研究人员警告说。

在咨询中Microsoft在今天发布的版本中承认了该问题,并通知它“正在努力完成对解决此漏洞的必需Windows Update的验证和兼容性测试”。

除Microsoft外,许多流行的Linux发行版还发布了相关的通报,解释了该缺陷,可能的缓解措施以及即将推出的安全补丁程序的时间表。

0x03影响版本

grub2:<2.06

0x04 修复建议

请升级 grub2 至 2.06。

在使用 GRUB2-UEFI 启动操作系统的用户,由于 UEFI-SecureBoot 的特性,在升级GRUB后可能会造成原系统无法正常启动。

临时修补建议:

检查并修复 grub.cfg 文件

暂时替换引导程序为rEFInd/sysline/systemd-boot/clover

参考链接:https://thehackernews.com/2020/07/grub2-bootloader-vulnerability.html
免责申明:本文由互联网整理翻译而来,仅供个人学习参考,如有侵权,请联系我们,告知删除。