本文来自微信公众号“GoUpSec”。
近日安全研究人员发现从游戏机到总统大选投标机的海量设备仍然使用不安全的测试密钥,容易受到UEFI bootkit恶意软件的攻击。
安全启动不安全
在近期的安全研究中,一项涉及设备制造行业安全启动(Secure Boot)保护机制的供应链失败问题引发了广泛关注。此次事件波及的设备型号范围远比之前已知的要广泛得多,受影响的设备涵盖了ATM机、POS机、甚至投票机等多个领域。
这一问题源自于过去十年间,数百种设备型号中使用了非生产环境的测试平台密钥,这些密钥在其根证书中标注了“DO NOT TRUST”(请勿信任)等警示语,此类密钥原本应仅用于测试环境,但设备制造商却将其应用于生产系统。
平台密钥作为加密的“信任根”锚定了硬件设备与其运行的固件之间的信任关系,确保安全启动机制正常运行。然而,由于大量用于测试安全启动主密钥的私钥被泄漏,极大地削弱了这一安全机制的有效性。研究发现,2022年甚至有人将一部分私钥在GitHub上公开发布。这些信息为攻击者提供了必要条件,能够通过植入“根工具包”(Rootkits)等恶意软件,破坏设备的UEFI(统一可扩展固件接口)安全启动保护。
500多种设备存在隐患
此次供应链安全事件被Binarly命名为“PKfail”(CVE-2024-8105),意指平台密钥(Platform Key)失效。此次失败展示了供应链复杂性已超出用户当前的风险管理能力,特别是在涉及第三方供应商时。不过,研究人员指出,这一风险完全可以通过“安全设计理念”进行规避和缓解。
根据Binarly的最新报告,受此问题影响的设备型号远超此前的认知。Binarly的研究工具在过去几个月中收集到了10095个固件样本,其中791个(约占8%)包含了非生产密钥。
受PKfail影响的固件数量来源:Binarly
最初,Binarly识别出了大约513种设备型号使用了测试密钥,目前一数字已增长至972种。此外,最早报告的215个受影响型号中,有490个型号使用了在GitHub上公开的密钥。研究人员还发现了四个新的测试密钥,使得总数达到了约20个。
此前发现的密钥均来自AMI,这是一家为设备制造商提供UEFI固件开发工具包的主要供应商之一。自7月以来,Binarly还发现了AMI的其他两大竞争对手Insyde和Phoenix的密钥同样存在问题。
更多的受影响设备还包括:
●Hardkernel的odroid-h2、odroid-h3和odroid-h4
●Beelink Mini 12 Pro
●Minisforum HX99G
Binarly进一步指出,受影响的设备不仅限于桌面电脑和笔记本电脑,还包括大量医疗设备、游戏机、企业级服务器、ATM机、销售终端设备,甚至包括投票机!由于目前尚无修复方案,研究人员基于保密协议未披露具体的设备型号。Binarly发布了“PKfail扫描仪”,供应商可以自行上传固件映像查看是否使用了测试密钥。
此次事件表明,安全启动作为一种设备预启动阶段的加密保护机制,尽管被广泛应用于政府承包商和企业环境中,但其安全性依然存在隐患,其供应链管理中存在重大漏洞。