安全在线|密钥泄露、不当做法使900台PC/服务器型号面临风险

发表时间:2024-09-18 16:02

PKfail:GitHub上发现的AMI平台密钥使研究人员发现了主要PC和服务器供应商的固件映像中的测试密钥,如果泄露,黑客可以利用这些密钥来获取内核控制权。

安全研究人员警告称,一些PC和服务器制造商正在使用不安全的加密密钥作为安全启动(Secure Boot)的信任根。

安全启动是现代计算机的一项重要安全功能,可以防止恶意软件在启动过程中早期注入。

其中一个密钥意外泄露,可能会破坏七个制造商数百种计算机型号的安全启动保证。然而,根据安全公司Binarly的报告,在过去12年生产的近900种型号使用了可能是为测试目的生成的密钥,而这些密钥不应在生产中使用。Binarly将这一问题称为PKfail。

“今年早些时候,我们注意到与安全启动‘主密钥’(Platform Key, PK)相关的American Megatrends International(AMI)私钥在一次数据泄露中被公开暴露,”研究人员写道。“事件发生在一家负责多个设备供应商固件开发的ODM(原始设计制造商),包括美国的企业设备制造商。与该密钥对应的设备仍在使用中,且该密钥也被用于最近发布的企业设备中。”

01

·· 什么是平台密钥? ··

安全启动是统一可扩展固件接口(UEFI)规范的一项功能——即现代BIOS——它对启动过程中加载的所有组件进行加密签名验证,从UEFI启动的早期阶段开始,直到启动过程被操作系统引导程序接管,以启动操作系统内核。

确保启动过程的完整性至关重要,因为在如此早期阶段执行的恶意代码可以完全控制操作系统,禁用或绕过其安全功能。

在安全启动广泛采用之前,存在许多将代码注入受感染计算机的引导程序或BIOS/UEFI中的恶意软件威胁。这些引导工具(引导级rootkit)使攻击者能够在受感染系统上获得高级持久性,并能够隐藏文件和进程,不被任何端点安全产品检测到。

安全启动使用公钥加密技术,公钥存储在UEFI中,用于验证使用相应私钥签名的组件。核心是一种称为平台密钥的公钥。该密钥应该由计算机制造商生成,并根据Binarly研究人员的说法,应定期轮换,并且理想情况下不应跨产品线重复使用,以限制入侵的影响。此外,私钥部分应安全存储在硬件安全模块(HSM)中,以防止其被轻易盗取或泄露。

在任何情况下,这种重要安全功能的根私钥都不应出现在像GitHub这样的公共存储库中,就像Binarly发现的AMI平台密钥一样。这不是唯一的问题。AMI是三个独立的BIOS供应商(IBV)之一,为PC制造商和OEM生产参考UEFI实现,然后由他们为其产品定制这些实现。

Binarly认为,生成新的平台密钥应该是定制过程的一部分,因为PC制造商应该对他们的“平台”负责,而不是第三方。泄露的私钥的公共密钥证书的Common Name字段为“DO NOT TRUST – AMI Test PK”。然而,它却被七个不同供应商的数百个型号中使用。

“该密钥可能包含在他们的参考实现中,期望下游供应链中的实体用另一个安全生成的密钥替换它,”研究人员写道。“测试密钥被分享给商业合作伙伴和供应商,期望他们将其视为完全不可信的。”

此外,泄露的AMI密钥已被用于许多产品范围,从游戏笔记本电脑到服务器主板,大大增加了泄露在各个行业和用户类型中的影响。

02

·· 攻击者如何滥用泄露的密钥? ··

安全启动在UEFI中有四个关键存储和数据库。核心是平台密钥,用于验证所有固件组件和另一种称为密钥交换密钥(KEK)的密钥。KEK可以用于更新包含引导程序和其他允许执行的第三方EFI组件签名的数据库db,例如Windows引导程序或Linux引导程序。它也可以用于更新dbx,这是包含签名黑名单的数据库,例如易受攻击的引导程序的签名。

拥有泄露的PK的攻击者可以利用它生成新的KEK,然后使用命令行工具如efi-updatevar将其签名并插入KEK存储。他们随后可以使用新的KEK修改db签名数据库,添加他们创建并放置在磁盘EFI分区上的恶意.efi模块的签名。该模块将在启动时执行,从而控制Windows启动和内核。

攻击者已经在利用已知的安全启动漏洞来部署引导工具。

去年,ESET的研究人员警告了一种名为BlackLotus的新UEFI引导工具,它利用Windows漏洞Baton Drop(CVE-2022-21894)通过易受攻击的引导程序组件绕过安全启动。因此,如果攻击者开始滥用泄露的平台密钥,并不会令人感到意外。

两年前,Eclypsium的研究人员发现了可用于绕过安全启动的漏洞,而Binarly展示了12个可能导致UEFI实现中的预启动远程代码执行的漏洞。

无法排除AMI测试PK已落入不法之徒之手的可能性。根据Binarly研究人员的说法,包含密钥的存储库在四个月后被删除,但删除所有分叉花了五个月。私钥不是以明文存储,而是被加密的,但仅用4字符密码保护,使用基本的密码猜测工具几秒钟就可以破解。

03

·· 在固件二进制文件中

    使用测试AMI平台密钥很常见··

在发现泄露的密钥后,Binarly研究人员发现了2016年的报告,指出某些平台密钥包含“DO NOT TRUST”和“test key”等字样。当时甚至还生成了一个漏洞ID(CVE-2016-5247),用于多个使用AMI测试密钥的联想型号。

但泄露的密钥被发现于2018年发布的固件中,并且最近一次发布是在今年。为了了解这种做法仍然有多普遍,Binarly的研究人员扫描了他们多年来收集的数万个固件二进制文件的数据库,并识别出22个不同的带有“DO NOT TRUST”或“DO NOT SHIP”警告的AMI测试PK。这些密钥在超过10个供应商(包括宏碁、戴尔、富士通、技嘉、惠普、英特尔、联想和超微)的近900种计算机和服务器主板的UEFI固件二进制文件中被发现。总体而言,它们占数据集中固件图像的超过10%。

这些密钥不能被信任,因为它们可能与许多供应商、OEM、ODM和开发人员共享,并且可能存储不安全。任何一个可能已经在未被发现的事件中被泄露或盗取。

去年,主板和计算机制造商微星国际(MSI)被敲诈团伙公布的数据转储中包含了英特尔OEM私钥;前年,联想的数据泄露事件则包含固件源代码和英特尔Boot Guard签名密钥。

Binarly 发布了一款在线扫描器(https://pk.fail/),用户可以提交其主板固件的副本,以检查其是否使用了测试密钥,该公司的公告中包含了受影响主板型号的列表。

但是在供应商提供带有新的、安全生成的PK的固件更新之前,用户无能为力,假设他们的主板型号仍在支持中。Binarly发现的此类测试密钥的最早使用可以追溯到2012年。

文章来源:公钥密码开放社区


-END-

浙江望安科技有限公司

浙江望安科技有限公司是以“形式化验证”和“安全认证”为核心的安全服务及产品提供商。公司致力于为国家重大项目、关键系统及行业企业提供安全保障。业务覆盖航空航天、国防、轨道交通、区块链、物联网、工业控制、芯片设计、操作系统、数据库等重大行业。


公司提供信息技术安全评估标准CC EAL1-EAL7级安全保障级别、IEC 61508、ISO 26262、GM/T国密以及FIPS等高等级安全认证咨询与技术服务,已与国内外多个认证/检测机构建立联合实验室、签署合作协议等。公司拥有自主知识产权的软件源码形式化测试与验证工具W-AVC、基础软硬件形式化建模与验证工具W-Cert、CC安全认证全周期实施平台W-CaaS等工具平台。公司核心技术和工具已应用于载人航天工程、中航工业集团、航天科技集团、航天科工集团、中国信科、小米科技、中国移动、中科海微、元心科技等,覆盖国家重点行业及企业。


联系我们

公司官网: www.wonsec.com

联系方式: 400-675-8118

公司邮箱: wangan@wonsec.com


地址:浙江省杭州市余杭区创鑫时代广场2号楼(浙江人才大厦)1001室
邮箱:wangan@wonsec.com
电话:400-675-8118
扫描二维码
关注微信公众号
扫描二维码
关注微信视频号