报告为“ BootHole ”编号为:CVE-2020-10713,报告的漏洞位于GRUB2引导加载程序中,如果被利用可能使攻击者可以绕过安全启动功能并获得对目标系统的高特权持久性和隐秘访问。
安全启动是统一可扩展固件接口(UEFI)的一项安全功能,启动加载程序加载关键组件、外围设备和操作系统,同时确保在启动过程中仅执行经过密码签名的代码。安全启动的明确设计目标之一是通过禁用安全启动或以其他方式修改启动链来防止未经授权的代码(甚至具有管理员权限的运行)获得额外的特权和OS之前的持久性。
GRUB2引导加载程序漏洞
BootHole由Eclypsium的研究人员发现,是一个缓冲区溢出漏洞,影响GRUB2的所有版本,并且以解析配置文件中内容的方式存在,配置文件通常不像其他文件和可执行文件那样经过签名,从而为攻击者提供了破解密码的机会。
需要注意的是,grub.cfg文件位于EFI系统分区中,因此,要修改该文件,攻击者仍需要在目标系统上拥有管理员权限的初始立足点,最终将使攻击者获得额外的升级权限,在设备上的获得特权和持久性。
尽管GRUB2是大多数Linux系统使用的标准引导程序,同时也支持其他操作系统,内核和虚拟机管理程序,例如XEN。
缓冲区溢出使攻击者能够在UEFI执行环境中获得任意代码执行权限,用于运行恶意软件,更改启动过程,直接修补OS内核或执行任何其他恶意操作。
因此,要利用Windows系统上的BootHole漏洞,攻击者可以用易受攻击的GRUB2版本替换Windows系统上安装的默认引导加载程序,以安装rootkit恶意软件。还扩展到任何将安全启动与标准的Microsoft第三方UEFI证书颁发机构一起使用的Windows设备。
漏洞可能导致重大后果,主要是因为攻击使黑客甚至在操作系统启动之前就可以执行恶意代码,从而使安全软件很难检测到存在的漏洞。
UEFI执行环境没有现代操作系统中常见的地址空间布局随机化(ASLR)或数据执行保护(DEP / NX)或其他漏洞利用缓解技术,创建此类漏洞利用漏洞变得更加容易。
仅安装更新和修补程序无法解决问题
Eclypsium的专家已经联系了相关行业实体,包括OS供应商和计算机制造商,以帮助他们解决此问题,完全修补问题不是一件容易的事。
仅使用更新的GRUB2引导加载程序安装修补程序无法解决问题,攻击者仍可以用易受攻击的版本替换设备现有的引导加载程序。根据Eclypsium的说法,即使缓解措施也将需要对新的引导程序进行签名和部署,并且应该撤销易受攻击的引导程序,以防止攻击者在攻击中使用较旧的易受攻击的版本。
因此,受影响的供应商将需要首先发布要由Microsoft第三方UEFI CA签名的引导加载程序填充程序的新版本。然后需要在每个受影响的系统的固件中更新UEFI吊销列表(dbx),以防止在引导过程中运行此易受攻击的代码。这种多阶段缓解过程可能需要组织花费数年的时间才能完成修补。供应商必须非常谨慎。如果在给定的Linux之前更新了撤消列表(dbx),引导加载程序和填充程序将被更新,然后操作系统将无法加载。
在咨询中Microsoft在发布的版本中承认该问题,并声称正在努力完成对解决此漏洞的必需Windows Update的验证和兼容性测试,可能在未来几周内推出安全补丁。
除Microsoft外,许多流行的Linux发行版还发布了相关的通报,解释该漏洞及可能的缓解措施,以及即将推出的安全补丁程序的时间表。
以下是所有建议的列表:
Red Hat (Fedora and RHEL)
Canonical (Ubuntu)
SuSE (SLES and OpenSUSE)
Debian
VMware
Microsoft
HP
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理