据BleepingComputer报道,近日安全分析师发现采用联发科芯片的小米智能手机的支付系统存在安全问题,这些智能手机依赖联发科芯片提供的负责签署交易的可信执行环境(TEE)。
攻击者可以利用这些漏洞使用第三方非特权应用程序签署虚假支付数据包。通俗来说,这意味着黑客可以将用户移动钱包中的钱转账到黑客账户中。
考虑到移动支付和小米手机的普及率,尤其是在亚洲市场,研究人员估计黑客有机会染指的资金规模达到数十亿美元。
小米的“可信环境”
2021年Check Point曾在联发科芯片的DSP固件中发现“窃听漏洞”,黑客可“零点击”攻击未安装安全更新的用户。而最近曝出的漏洞来自小米手机使用的与联发科芯片匹配的TEE可信执行环境架构——“Kinibi”,该架构在安卓操作系统环境中创建了一个单独的虚拟安全空间,用于存储签署交易所需的安全密钥。(编者:TEE安全空间通常托管一些重要的安全功能,例如硬件加密/密钥、DRM、移动支付、生物特征识别等)。
智能手机中常见的TEE有三大类:高通的QSEE/QTEE、华为的TrustedCore和Trustonic的Kinibi,后者主要应用于联发科和三星的手机芯片。
在采用联发科芯片的小米手机中,Kinibi运行着负责安全管理的小米“thhadmin”,以及“Tencent Soter”嵌入式移动支付框架,该框架为第三方应用程序提供API以集成支付能力。
拥有超过10亿用户的微信支付和支付宝等应用程序都依赖“Tencent Soter”API来验证支付数据包来进行安全的金融交易。
攻击小米的“可信空间”
Check Point的安全研究人员发现,小米使用的可信应用程序文件格式存在一个漏洞——缺乏版本控制。这为降级攻击打开了大门,这意味着黑客可以用旧的易受攻击的版本替换新的更安全的应用程序。
研究人员在腾讯Soter可信应用程序中利用了另一个漏洞(CVE-2020-14125),该漏洞允许攻击者在非特权用户的上下文中提取私钥并签署虚假支付数据包。
研究者成功绕过了小米和联发科的安全补丁,用MIUI 10.4.1.0中的应用程序覆盖MIUI 12.5.6.0上的“thhadmin”应用程序,开辟了许多利用可能性。
研究者使用以下Java代码在Soter应用程序中调用initSigh函数后,使用SoterService作为代理建立通信链接。
用户如何保护自己
对于采用联发科芯片的小米手机的用户,6月份的Android安全更新非常重要,该更新修补了CVE-2020-14125漏洞。
Soter密钥泄漏的漏洞则属于第三方问题,小米已经确认供应商正在修复,未来应该会提供补丁。
如果用户无法完全禁用移动支付,请尽量减少手机上新装应用程序的数量,确保操作系统更新到最新版本,警惕所有短信中的链接(例如不存在的快递订单、核算相关通知等等),并使用可以检测和阻止可疑行为的手机安全软件。
参考链接:
https://research.checkpoint.com/2022/researching-xiaomis-tee/