近期,网络安全研究人员发现了首个针对Linux系统的统一可扩展固件接口(UEFI)引导工具(bootkit),被其作者命名为“Bootkitty”。该工具由名为BlackCat的组织开发,于2024年11月5日被上传至VirusTotal平台,当前仍为概念验证(仅在某些Ubuntu版本和配置上起作用),尚无证据表明其在实际攻击中被利用。
Bootkit是一种高级Rootkit恶意软件,过去主要针对Windows系统。通过感染计算机的启动过程,在用户每次开机后抢在操作系统内核之前加载,在内核(劫持)级别完全控制系统。Bootkit可以隐藏文件、修改启动项、记录密码、安装间谍软件、格式化硬盘等。
Bootkitty的技术特征
ESET研究人员Martin Smolár和Peter Strýček指出,Bootkitty的主要目的是禁用内核的签名验证功能,并通过Linux初始化进程预加载两个未知的ELF二进制文件。
值得注意的是,Bootkitty使用自签名证书进行签名,因此在启用了UEFI安全启动的系统上无法执行,除非攻击者已安装了受控证书。无论UEFI安全启动状态如何,该引导工具主要用于引导Linux内核,并在GNU GRand Unified Bootloader(GRUB)执行前,在内存中修补用于完整性验证的函数响应。
具体而言,Bootkitty会挂钩UEFI认证协议中的两个函数,以绕过UEFI完整性检查。随后,它还修补了合法GRUB引导加载程序中的三个不同函数,以规避其他完整性验证。
关联模块的发现
ESET的调查还发现了一个可能相关的未签名内核模块,该模块能够部署名为BCDropper的ELF二进制文件,在系统启动后加载另一个未知的内核模块。该内核模块同样由BlackCat开发,具备隐藏文件、进程和开放端口等rootkit相关功能。目前尚无证据表明该工具与ALPHV/BlackCat勒索软件组织存在关联。
安全建议
尽管Bootkitty目前仅为概念验证,但其出现打破了现代UEFI引导工具仅针对Windows系统的认知。这强调了为潜在未来威胁做好准备的必要性。建议系统管理员和安全专业人员采取以下措施:
- 启用UEFI安全启动:确保系统启用了UEFI安全启动功能,以防止未经授权的引导加载程序执行。
- 定期更新固件和软件:保持系统固件和软件的最新状态,以修补已知漏洞。
- 监控系统完整性:使用可信的平台模块(TPM)等技术,监控系统启动过程的完整性。
- 实施严格的访问控制:限制对UEFI设置和引导加载程序的访问权限,防止未经授权的更改。
通过采取上述措施,可以有效降低类似Bootkitty引导工具对Linux系统构成的潜在威胁和风险。