TPM 2.0程序代码被爆2个可外泄资讯的漏洞

攸关资料与身份安全的信赖平台模块(Trusted Platform Module,TPM)2.0近日被发现参考实例程序代码有2个内存毁损漏洞,可造成设备机密资料外泄,或被黑客升级权限而执行恶意程序代码。

TPM 2.0是安全密码处理器的国际标准,旨在使用设备中的安全硬件处理设备上的加密密钥,其技术规范是由信赖计算组织(Trusted Computing Group,TCG)编写。TPM 2.0是计算机安全技术不可或缺的元素,Windows 11需要TPM2.0才能安装,它也是生物识别Windows Hello及加密技术BitLocker的关键。

两项漏洞是由Quarks Lab研究人员发现并通报,影响TPM 2.0参考实例1.59、1.38和1.16。根据TPC指出,漏洞都是发生在TPM 2.0 CryptParameterDecryption函数。其中一个编号CVE-2023-1018是越界读取(out-of- bounds read),另一个CVE-2023-1017则是越界写入。两漏洞可被用户模式的应用程序触发,具备基本权限的攻击者可发送有加密参数的恶意TPM 2.0指令,到以问题版本实例为基础的TPM 2.0固件,完成攻击目的。

漏洞起因在程序代码没有实例检查TPM 2.0指令长度的机制,造成内存缓冲溢出。漏洞滥用结果可引发本机内存资讯泄漏,或是攻击者扩张权限。TPC还在分析是否有其他组件受两项漏洞影响。

而根据网络安全紧急回应协调中心(CERT/CC)的安全公告,除了泄漏敏感资讯,某些情况下,攻击者还可以复写TPM固件内的受保护资料,造成在TPM崩溃或是在其中执行任意程序代码。由于攻击程序是在TPM执行,因此不会被设备上的其他组件,包括安全软件侦测到。

CVE-2023-1017及CVE-2023-1018并未有官方指派的风险值,但RedHat分别将两项漏洞风险列为7.7及5.5。

TCG已发布更新版参考组件库规格以解决2项漏洞。CERT/CC呼吁用户应安装由软件厂商如OS及计算机OEM提供的更新,包括更新TPM芯片的固件。某些情况下,OEM可能会要求TPM重设回出厂设置。

此外一些安全要求较高的环境中,用户最好考虑使用TPM远程验证(Remote Attestation)以侦测设备上的固件是否遭到变更或篡改。CERT强调,由于攻击发生在TPM软件中,因此密码或PIN防护、TPM-totp(time-based one-time password)等安全方案无法防堵攻击。