硬件安全密钥,例如Google(谷歌)和Yubico公司的硬件安全密钥,被认为是保护账户免遭钓鱼和接管攻击的最安全方法。
但是,上周四发布的一项新研究报告表明,占有这种双因素(2FA)身份验证设备的攻击者可以通过对嵌入在密钥中的芯片实施电磁侧信道攻击,来克隆设备。
该漏洞(编号为CVE-2021-3011)允许攻击者从Google Titan Key或YubiKey等FIDO通用第二因素(U2F)设备提取加密密钥或与受害者账户关联的ECDSA私钥,完全破坏2FA的保护。
NinjaLab的研究人员Victor Lomne和Thomas Roche在分析文章中表示,攻击者可以在没有U2F设备的情况下登录到受害者的应用程序帐户,而且受害者也不会注意到。
换句话说,攻击者克隆了用于受害者的应用程序帐户的U2F设备。只要合法用户不废除其第二因素身份验证凭据,该克隆将授予对该应用程序帐户的访问权限。
受该漏洞影响的产品包括Google Titan Security Key(所有版本)、Yubico Yubikey Neo、Feitian FIDO NFC USB-A/K9、Feitian MultiPass FIDO/K13、Feitian ePass FIDO USB-C/K21和Feitian FIDO NFC USB-C/K40。
除了安全密钥,该攻击还可在NXP JavaCard芯片上实施,包括NXP J3D081_M59_DF,NXP J3A081,NXP J2E081_M64,NXP J3D145_M59,NXP J3D081_M59,NXP J3E145_M64,和NXP J3E081_M64_DF,以及它们各自的变体。
虽然该密钥恢复攻击无疑很严重,但需要满足一些先决条件才能成功。
攻击者必须首先窃取由物理密钥保护的目标帐户的登录名和密码,然后秘密地获取有关的Titan Security Key,更不用说购买价值1.2万美金的昂贵设备,并且拥有充分的专业知识来构建自定义软件,以提取与帐户关联的密钥。
研究人员表示,相比不使用安全密钥,使用Google Titan Security Key或其他受影响的产品作为FIDO U2F双因素身份验证令牌登录应用程序,安全性依然是较高的。
为了克隆U2F密钥,研究人员首先使用热风Qiang拆开设备,移除塑料外壳,露出焊接在里面的两个微控制器——一个用于执行加密运算的安全飞地(NXP A700X芯片)和一个充当USB/NFC接口与身份验证微控制器之间路由器的通用芯片。
这一步实现后,研究人员说,通过观察在ECDSA签名过程中NXP芯片发出的电磁辐射,和研究为了使用新账户首次注册U2F密钥时被执行的FIDO U2F协议的核心加密运算,就有可能通过侧信道攻击收集ECDSA加密密钥。
侧信道攻击通常基于从计算机系统的实现中获得的信息,而不是利用软件中的漏洞。此类攻击通常利用时序信息、功耗、电磁泄漏和声音信号作为数据泄漏源。
研究人员称,他们使用了一个无监督的机器学习模型为该实验创建了一个FIDO U2F账户,通过在6个小时内获取6000条U2F身份验证请求命令的侧信道记录,他们能够恢复与该账户关联的ECDSA私钥。
尽管因为存在限制,硬件安全密钥的安全性不会因上述攻击而降低,但是潜在的漏洞利用并非不可想象。
“尽管如此,这项工作表明,如果攻击者愿意投入足够的努力,Google Titan Security Key(或其他受影响的产品)无法避免未被注意到的安全漏洞。”研究人员总结道,“面对这种威胁的用户可能应该转换到其他尚未发现漏洞的FIDO U2F硬件安全密钥。”
作者:Ravie Lakshmanan
来源:The Hacker News