现代Linux发行版存在一个重大漏洞,攻击者通过短暂物理接触即可利用initramfs(初始内存文件系统)操控绕过安全启动(Secure Boot)保护机制。
该攻击利用系统启动失败时可访问的调试shell,注入持久性恶意软件,这些恶意软件可在系统重启后继续存活,即使用户输入了加密分区的正确密码仍能维持访问权限。
核心要点
1. 攻击者通过物理接触可利用initramfs在启动失败时的调试shell绕过安全启动保护
2. 多次输入错误密码会触发调试访问,允许向未签名的initramfs组件注入持久性恶意软件
3. Ubuntu 25.04、Debian 12、Fedora 42和AlmaLinux 10存在漏洞;OpenSUSE Tumbleweed不受影响
4. 添加内核参数可禁用调试shell(Ubuntu系统使用panic=0,Red Hat系使用rd.shell=0 rd.emergency=halt)
Linux initramfs漏洞分析
据Alexander Moch指出,该漏洞的核心在于初始内存文件系统(initramfs)——这是Linux启动过程中用于解密根分区的关键组件。
与内核镜像和模块不同,initramfs本身通常未经签名,在安全链中形成了可被利用的缺口。当用户多次输入加密根分区的错误密码后,多数发行版会在超时后自动进入调试shell。
攻击者可通过该调试shell挂载包含专用工具和脚本的外部USB驱动器。攻击流程包括:使用unmkinitramfs命令解包initramfs,将恶意钩子注入scripts/local-bottom/目录,然后重新打包修改后的initramfs。
该恶意钩子会在根分区解密后执行,将文件系统重新挂载为可写状态并建立持久性访问。由于攻击遵循常规启动流程且未修改已签名的内核组件,因此能规避传统防护机制。
各发行版受影响情况
-
Ubuntu 25.04仅需三次错误密码尝试即可获得调试shell访问
-
Debian 12可通过长按RETURN键约一分钟触发
-
Fedora 42和AlmaLinux 10的默认initramfs缺少usb_storage内核模块,但攻击者可通过Ctrl+Alt+Delete触发重启并选择救援条目绕过限制
值得注意的是,OpenSUSE Tumbleweed因其默认启动分区加密实现方式而对此攻击免疫。安全专家将该漏洞归类为"邪恶女仆"攻击场景,需要短暂物理接触目标系统。
缓解措施
-
-
Red Hat系添加rd.shell=0 rd.emergency=halt 这些参数强制系统在启动失败时直接停止而非提供调试shell
-
统一内核镜像(UKI):将内核与initramfs合并为单一签名二进制文件
-
可信平台模块(TPM):将initramfs完整性度量值存入平台配置寄存器(PCR)
参考来源:
Linux Boot Vulnerability Allows Bypass of Secure Boot Protections on Modern Linux Systems
https://cybersecuritynews.com/linux-boot-vulnerability-allows-bypass-of-secure-boot-protections/
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/4235222.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论