引言
可信平台模块(TPM)是专用处理器或固件,用于保护用于安全操作系统的加密密钥。然而,近期的研究表明,TPM并不完全可靠。来自美国伍斯特理工学院和加州大学圣地亚哥分校,以及德国吕贝克大学的研究人员发现,TPM泄露的时间信息可以恢复用于加密签名的私钥。
研究概述
在一篇于周二发布的论文《TPM-FAIL: TPM与时间和格攻击》中,研究人员Daniel Moghimi、Berk Sunar、Thomas Eisenbarth和Nadia Heninger描述了他们如何成功地对TPM 2.0设备进行了黑箱时间分析,从而恢复了256位的ECDSA(椭圆曲线数字签名算法)和ECSchnorr签名的私钥,这些私钥本应在TPM内部保持不可见。
时间测量与侧信道攻击
时间测量代表了一种侧信道攻击,可以用来推测加密系统的内部工作原理。研究表明,不同制造商的TPM在进行椭圆曲线签名操作时,存在时间泄露的脆弱性,这使得私有签名密钥的恢复成为可能。论文指出:“我们的分析显示,TPM的椭圆曲线签名操作容易受到时间泄露的攻击,这种泄露足够显著,可以被网络对手远程利用。”
密钥恢复过程
研究人员发现,地方攻击者可以在4到20分钟内从Intel的fTPM中恢复ECDSA密钥,具体时间取决于可用的访问级别。此外,这一技术也可以远程执行,约需五小时即可从VPN服务器中获取认证密钥。
远程攻击的设想
在发给《注册》杂志的一封电子邮件中,Moghimi表示,远程攻击场景假设存在一个配置为使用TPM进行认证的VPN,并且在网络上公开可用。他解释道:“一个本应使用VPN服务的客户端充当对手,窃取VPN服务器的私钥。因此,她可以冒充VPN服务器,破坏其他用户与VPN服务器的安全通信。”
为了测量每次认证握手所需的时间,攻击者需要进行多次握手,然后利用这些时间测量作为侧信道,以推断VPN服务器在TPM内部的秘密信息。这些握手在网络流量中看起来像正常的流量,并不会明显表现出恶意。
攻击的复杂性
Moghimi指出:“由于网络在时间通道上的噪声,远程攻击需要更长时间。网络越快,远程攻击的效果就越好,因为时间噪声会更少。”他补充道,研究团队在一个简单的1GB本地网络上进行了测试,这在许多组织和公司中很常见。他认为,在10GB网络或光纤网络上,远程攻击的速度和难度会更低。
TPM的安全漏洞
研究人员识别了Intel的fTPM(基于固件的TPM)中的缺陷,影响了运行Intel管理引擎的PC和笔记本电脑,包括华硕、联想、戴尔和惠普等厂商的设备。此外,STMicroelectronics的专用TPM硬件(ST33TPHF2ESPI)也存在这些漏洞。这些漏洞存在于被认为能抵抗侧信道攻击的FIPS 140-2 Level 2和Common Criteria (CC) EAL 4+认证的设备中。
研究人员还测试了Infineon和Nuvoton的TPM。Infineon硬件(SLB 9670)表现出非恒定时间行为,但似乎没有可利用的漏洞。Nuvoton单元(rls NPCT)在ECDSA中显示出恒定时间行为,意味着它不易受攻击。
漏洞披露与修复
这些安全漏洞被标记为Intel fTPM的CVE-2019-11090和STMicroelectronics TPM芯片的CVE-2019-16863。研究人员负责任地向这两家公司披露了他们的发现,并将在1月的真实世界密码学2020会议上发表他们的工作,同时也与Intel和STMicroelectronics的补丁发布相吻合。
Intel在其安全博客中披露了其补丁,指出其管理引擎相关的24个缺陷中发现了22个。STMicroelectronics尚未立即回应评论请求,但研究人员表示,该公司已发布一款新芯片来修复这些缺陷。
结论
TPM作为一种保护机制,其安全性面临挑战。研究人员的发现提醒我们,尽管TPM被认为是安全的,但实际应用中仍需保持警惕,并及时更新补丁以防止潜在的攻击。
如需了解更多详细信息,可以访问TPM.fail网站。