新型"Shade BIOS"技术击败所有安全防护
如果恶意软件不需要操作系统就能运行会怎样?怎么可能有人注意到,更不用说禁用它?
来源:Zoonar GmbH via Alamy Stock Photo
研究人员开发了一种在计算机BIOS中运行恶意软件的方法——这是一个任何安全软件都无法触及的地方。
在Black Hat 2025上,FFRI Security的安全研究员Kazuki Matsuo将详细介绍他与同事称之为"Shade BIOS"的技术。与传统的UEFI rootkit和bootkit不同,Shade BIOS的独特之处在于几乎不需要与操作系统(OS)进行交互。因此,它允许攻击者从任何防病毒、端点或扩展检测和响应(EDR/XDR)或操作系统安全工具无法看到或触及的地方执行恶意功能。
典型UEFI恶意软件的局限性
统一可扩展固件接口(UEFI)是基本输入/输出系统(BIOS)的继任者,是连接计算机固件与其操作系统的行业范围规范。高级网络攻击者有时会以UEFI为目标,因为它在计算机实际操作系统启动之前运行。抢占操作系统允许恶意软件建立顽固的持久性——无论重启、重新安装操作系统等——并帮助它在安全程序加载之前抢先禁用它们。
然而,UEFI恶意软件有一个不可避免的牺牲。虽然它可能比操作系统先发制人,但最终它需要操作系统来实际与机器上的设备交互并执行恶意操作。这似乎几乎太明显了,但恶意软件仍然需要一个环境来窃取数据和投放更多有效负载等任务。
对操作系统的依赖反过来使UEFI恶意软件暴露于安全保护之下。它可以尝试在启动期间禁用每一个这样的程序,但这说起来容易做起来难。攻击者必须知道目标机器上预期有哪些程序,这些程序使用哪些内核驱动程序,以及如何撤销它们。因此,在实践中,每个UEFI恶意软件都会留下一些潜在的障碍。例如,尚未开发出绕过Windows事件跟踪(ETW)的方法,ETW是Windows的内核级跟踪和日志记录框架。Matsuo指出,即使有一天攻击者确实成功构建了一个能够禁用所有可想象安全障碍的bootkit,“如果你的所有安全机制都被禁用,那会很奇怪。你会意识到正在发生这种情况。”
Matsuo和他的同事提出的是一种完全独立于操作系统运行UEFI恶意软件的方法,使其能够破坏所有类型的网络安全保护。
Shade BIOS如何工作
一旦操作系统在启动过程中取得控制,UEFI BIOS环境提供的功能和资源就不再必要,因此被"销毁"。
Matsuo研究的突破是一种将BIOS带入运行时的方法。Shade BIOS技术使机器即使在操作系统启动后仍将其保留在内存中,并使其 thereafter正确工作。
“我通过更改内存映射来欺骗操作系统加载程序,“Matsuo解释道。该映射是描述内存如何分配的UEFI组件。“当BIOS将控制权转移给操作系统时,它会将内存映射传递给加载程序。但我们欺骗它,显示BIOS功能所在的内存区域在运行时仍应使用。”
携带BIOS允许攻击者完全在此环境中运行恶意软件。可以将其视为攻击者专属的第二个微型操作系统,与机器的实际操作系统并行运行——但完全不被其察觉——以及其上运行的所有内容。
在实践中,攻击者没有理由不能专门在BIOS中运行恶意软件。“它类似于操作系统,因为它有自己的内存管理和自己的设备驱动程序,“Matsuo指出。
攻击者可以用C编写恶意软件,例如,其工作方式基本上与常规恶意软件相同,但针对BIOS的特殊性。例如,他说,“在Windows恶意软件中,当你想创建文件时,你会使用相关的Windows或内核API,但我们的纯BIOS模型使用BIOS功能,例如磁盘I/O协议来写入文件。”
“这只是我的观点,但我认为实现Shade BIOS并不比构建现有的UEFI bootkit更复杂,因为它不需要任何二进制操作。现有的UEFI bootkit使用许多钩子和模式匹配,但Shade BIOS不需要那些功能。”
最重要的是,由于UEFI是一个行业范围的标准,Shade BIOS恶意软件可以在任何PC、服务器或主板上以相同方式运行。忘记跨平台——Shade BIOS是跨硬件的。
Shade BIOS能否被阻止?
由于安全软件无能为力,检测纯BIOS恶意软件需要非凡的预防措施。具体来说,安全专业人员需要预防性地、主动地转储机器的内存,并检查是否有任何可疑代码,而没有任何事先迹象表明此类操作是必要的。
不过,在这其中有两点好消息。首先,转储和分析内存不必如此费力。在Black Hat的演讲中,Matsuo将演示如何使用名为"Kraftdinner"的开源工具来完成。
此外,UEFI恶意软件并不是大多数正常组织会遇到的东西。“UEFI威胁在国家安全背景之外并不真正流行,“Matsuo说。“所以我假设在政府采购PC期间,人们通常会检查内部是否有任何后门。那时,我认为检查此类恶意软件是有用的。”