全球10亿台从PC机到工控的设备安全拉警报

研究人员发现一个大多数笔记本、PC机、工作站与服务器之安全启动(Secure Boot)功能都有的高风险安全漏洞“BootHole”。网络攻击者可通过它加载恶意程序、窃取信息,并横向扩展(Move laterally)至公司、运营科技(OT)、IoT物联网及家庭网络。

研究人员警告指出,数十亿台Windows和Linux设备的GRUB2(GRand Unified Bootloader Version 2)启动程序中存在程序瑕疵,会有招致网络攻击的安全风险。GRUB2是当前绝大多数计算系统的默认启动程序。其工作是管理部分的启动程序,它要么显示菜单并等待用户输入,要么自动将控制权转移给操作系统核心。

安全启动机制是一个产业标准,可确保设备仅使用受信任的软件来引导开机。当一台计算机启动时,固件会检查UEFI(Unified Extensible Firmware Interface)固件驱动程序、EFI(Extensible Firmware Interface)应用程序和操作系统的数字签名。如果签章有效,计算机就会启动,同时固件会将控制权交给操作系统。据企业固件与硬件组件安全平台方案供应商Eclypsium研究人员表示,这个编号为CVE-2020-10713的漏洞让攻击者得以规避这些保护机制,并且在启动程序中,甚至在安全启动打开并适当执行签章验证时执行任意代码。

BootHole会引发缓冲区溢出,成功入侵者几乎可以完全控制目标机器

由于该漏洞会在开机启动程序中打开漏洞,所以Eclypsium称之为“BootHole”,这个新漏洞会趁着GRUB2解析GRUB2组态档(grub.cfg)内容时引发缓冲区溢出(Buffer Overflow)。

“GRUB2组态档是纯文本档,通常无法像其他文件和可执行文件那样签署签章。”研究人员在29日公司分析报告写道。因此,安全启动机制不会检查。因此,攻击者可以修改GRUB2组态档内容,并将攻击码含括进去。更进一步,由于文件会在操作系统加载前先加载,所以攻击码会首先执行。研究人员解释:“通过这种方式,攻击者可常驻设备。”

技术方面,红帽(Red Hat)注意到grub.cfg组态档是由几个字符串词汇基元(String Token)组成。“名为“shim”的初始化启动程序将该组态档加载后,GRUB初始化时会加载并解析组态档。”29日发布的安全通报表示:“解析阶段,组态值会复制到存放在内存的内部缓冲区。长度大于内部缓冲区的组态词汇基元最终会导致缓冲区溢出问题。攻击者可能利用此缺陷执行任意码,进而劫持受害机器的启动程序,并规避安全启动保护机制。因此,攻击者可能加载无签章的二进制程序代码,再进一步破坏系统完整性。”

一旦入侵成功,攻击者就可“几乎完全控制”目标机器:“组织应该监控他们的系统,以防止威胁和勒索软件通过有弱点的启动程序来感染或破坏系统。”报告指出。

虽然各家未将漏洞评为重大,但几乎无所不在

此漏洞达CVSS 8.2严重等级评分(红帽将严重程度评为“中等”,微软则评定为“Important重要”等级)。BootHole的严重程度尚未达到重大级,因想运用这个弱点,攻击者首先需要获得管理者权限。

据红帽表示:“攻击者首先需要创建系统访问权,例如获得实体访问权限,获得更改网络开机(pxe-boot)的能力,或拥有对要求具备最高根权限网络系统的远程访问权限。”但坏消息是,GRUB2在计算领域几乎无所不在。

“漏洞存在于大多数Linux系统会使用的GRUB2启动程序。”研究人员表示:“凡是使用支持标准微软第三方UEFI凭证授权单位(CA)安全启动机制的任何Windows设备都无法幸免。”

他们补充,大多数从笔记本到服务器等计算机都有这安全弱点,甚至对网络设备、适用健康看护与金融的专属设备、其他垂直领域及IoT设备,乃至OT与SCADA工控设备都会造成影响。总计约有数十亿台设备可能遭受此漏洞危害。

据Eclypsium指出,更糟糕的是,目前并没有简易更新修补程序或固件更新可解决这个问题。“整个风险缓解措施既复杂且充满风险,需要先签章特定有弱点程序然后再部署,接着撤销有安全漏洞的程序,以防止攻击者利用早有漏洞的版本程序。”研究人员表示:“这3阶段的安全缓解程序可能会使组织耗费数年才能全面修补。”

Eclypsium已与大量受影响供应商及Linux发行版供应商进行BootHole责任披露的协调分配,包括微软、UEFI安全应变小组(UEFI Security Response Team,USRT)、甲骨文(Oracle)、红帽(Fedora和RHEL系统)、Canonical(Ubuntu系统)、SuSE(SLES和openSUSE系统)、Debian、Citrix、VMware及各类型OEM和软件供应商,一些厂商已发布安全公告。据Eclypsium指出,微软将发布一套经签章的dbx邮件档更新程序,以便封锁会加载有漏洞版本GRUB2的shim初始化启动程序。

(首图来源:Eclypsium)