GRUB2引导加载程序中的一个漏洞允许黑客绕过数十亿个系统的安全引导

GRUB2引导加载程序中的一个漏洞允许黑客绕过数十亿个系统的安全引导

重要原因:目前正在使用的数十亿台电脑都依赖于一种被称为安全引导的功能,以确保恶意软件有更少的途径侵入你的电脑。然而,在一个最广泛使用的引导加载程序中发现的一个新缺陷可以使保护失效,并将是一个噩梦来修复。

上个月,防病毒公司ESET的研究人员发现,一种新型勒索软件在网络上传播,使用户无法访问电脑上的重要数据。幸运的是,如果打开了一个名为Secure Boot的UEFI特性,就可以防止在系统启动时加载恶意代码。

微软在Windows 8中引入了安全引导机制,这是一种新机制,可以确保在操作系统初始化并接管之前运行的所有代码的完整性。这些代码需要由微软在第三方UEFI证书权威下用根密钥签名,这是提高PC机整体安全性的好方法。

然而,来自安全公司Eclypsium的研究人员发现,在当前的实施中,安全引导可能会受到危害。特别地,他们发现,几乎所有运行Linux发行版的计算机都使用的程序GRUB2有一个漏洞,可以让恶意软件潜入引导过程。

这个被称为“BootHole”的缺陷本质上是一个缓冲区溢出问题,它源于GRUB2引导加载程序读取EFI系统分区中发现的主配置文件内容的方式。要安装一个rootkit恶意软件,攻击者所需要做的就是在grub.cfg文件中加载一个修改版的GRUB2,其中包含很长的文本字符串,该文件没有数字签名,因此在安全引导期间不会被标记。

这个漏洞之所以有效,是因为GRUB2和Secure Boot之间有一种特殊的关系,这种关系允许Linux发行版的开发者使用一种叫做“shim”的引导加载程序。这样做是出于实际的原因,以便这些Linux发行版的维护者可以更新GRUB2二进制文件并使用自己的证书对其进行签名,而不必通过Microsoft进行签名。

至于微软,该公司在一份安全咨询中承认了这个问题,其他受影响方如惠普、VMware、Debian、Canonical、红帽和SUSE也承认了这个问题。Eclypsium的研究人员指出,只有一家供应商对主GRUB2配置文件执行签名检查,这意味着可能有数十亿个系统受到BootHole的影响。

缓解这个问题将会特别困难,因为这将是一个多阶段的过程,从给GRUB2打补丁开始。然后,Linux发行版的制造者需要更新他们的安装程序、引导加载程序、灾难恢复映像和垫片。然后,这些垫片需要由微软第三方UEFI证书颁发机构签署,而旧的垫片需要在所有受影响的系统上的固件中撤消。这在过去会导致引导失败,因为制造商对这个过程有不同的实现。


本文链接:http://www.yunong.net/xinwenzhongxin/2020/0828/GRUB2ydjzcxzdygldyxhkrgssygxtdaqyd.html