网络安全公司 ESET 发现首个专门针对 Linux 系统的 UEFI 引导程序病毒,这标志着隐蔽且难以清除的引导程序威胁开始从 Windows 转向 Linux。
名为“Bootkitty”的概念验证型恶意软件
这款名为“Bootkitty”的 Linux 恶意软件目前只是一个概念验证程序,仅适用于某些 Ubuntu 版本和配置,尚未在实际攻击中部署。
引导程序病毒是一种旨在感染计算机引导过程的恶意软件,它先于操作系统加载,并允许其在非常低的级别获得对系统的控制权。
这种做法的优势在于,引导程序病毒可以避开在操作系统级别运行的安全工具,并在不引起注意的情况下修改系统组件或注入恶意代码。
ESET 的研究人员警告说,尽管 Bootkitty 目前尚未构成实际威胁,但它的出现标志着 UEFI 引导程序病毒威胁领域的重大演变。
Bootkitty 的发现和分析
ESET 在检查 2024 年 11 月上传到 VirusTotal 的一个可疑文件 (bootkit.efi) 后发现了 Bootkitty。
经过分析,ESET 确认这是第一个绕过内核签名验证并在系统引导过程中预加载恶意组件的 Linux UEFI 引导程序病毒案例。
Bootkitty 依赖于自签名证书,因此它无法在启用安全启动的系统上执行,并且仅针对某些 Ubuntu 发行版。
此外,硬编码的偏移量和简单的字节模式匹配使其仅适用于特定的 GRUB 和内核版本,因此不适合广泛部署。
ESET 还指出,该恶意软件包含许多未使用的函数,并且对内核版本的兼容性处理不佳,经常导致系统崩溃。
Bootkit中包含的ASCII艺术
该恶意软件的缺陷以及 ESET 的遥测数据未显示任何 Bootkitty 在活动系统上的迹象,使得研究人员得出结论,该恶意软件仍处于早期开发阶段。
Bootkitty 的功能
在引导过程中,Bootkitty 会挂钩 UEFI 安全身份验证协议(EFI_SECURITY2_ARCH_PROTOCOL 和 EFI_SECURITY_ARCH_PROTOCOL)以绕过安全启动的完整性验证检查,确保无论安全策略如何,引导程序病毒都能加载。
接下来,它会挂钩各种 GRUB 函数,如“start_image”和“grub_verifiers_open”,以操纵引导加载程序对二进制文件(包括 Linux 内核)的完整性检查,从而关闭签名验证。
然后,Bootkitty 会拦截 Linux 内核的解压缩过程,并挂钩“module_sig_check”函数。这会强制它在内核模块检查期间始终返回成功,从而允许恶意软件加载恶意模块。
此外,它还会将第一个环境变量替换为“LD_PRELOAD=/opt/injector.so”,以便在系统启动时将恶意库注入进程。
BootKitty的部分执行流程
图片来源:ESET
ESET 解释说,整个过程会留下一些痕迹,有些是有意的,有些则不是,这再次表明 Bootkitty 缺乏完善性。
研究人员还指出,将 Bootkitty 上传到 VirusTotal 的用户还上传了一个名为“BCDropper”的未签名内核模块,但现有证据不足以将两者联系起来。
BCDropper 会释放一个名为“BCObserver”的 ELF 文件,这是一个具有 rootkit 功能的内核模块,可以隐藏受感染系统上的文件、进程和打开的端口。
对 Linux 系统安全的威胁
这种恶意软件的发现表明,随着企业越来越多地采用 Linux,攻击者正在开发以前仅限于 Windows 的 Linux 恶意软件。
与 Bootkitty 相关的入侵指标 (IoC) 已在此 GitHub 存储库中共享。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...