2018年,谷歌发布了名字“Titan”以硬件产品为基础FIDO用于保护所有支持硬件的平台账户的技术规范。Google Titan 这样的硬件安全密钥被认为是保护用户账户预防钓鱼和接管攻击的最安全的方式。NinjaLab最新研究表明,拥有此类双因子认证设备的攻击者可以嵌入其中Titan中芯片的电磁侧信道可以克隆。
漏洞概述
该漏洞CVE编号为CVE-2021-3011,攻击者可以利用这个漏洞Google Titan Key 或YubiKey这样的FIDO U2F与受害者账户相关的加密钥或ECDSA私钥完全破坏了双因子认证的保护。换句话说,攻击者可以在不需要的情况下进行U2F设备或登录受害者的应用程序帐户,而受害者根本没有注意到。
攻击中,攻击者克隆了受害者应用账户U2F设备。除非合法用户取消或废除其双因子认证凭证,否则克隆授予其访问应用账户的权限。
攻击概述
整个克隆(密钥恢复攻击)需要满足一些先决条件。首先,攻击者需要获取目标帐户的登录用户名和密码Titan Security Key访问权限,通过定制软件提取与账户相关的密钥。
要克隆U2F研究人员需要移除设备的塑料保证,并暴露其中两个微控制器——安全用于加密操作enclave (NXP A700X 芯片)和作为USB/NFC路由器的通用芯片在接口和认证微控制器之间。然后通过ECDSA前面过程中NXP芯片散发的电磁辐射来利用侧信道攻击提取出ECDSA加密密钥。
侧通道攻击是利用计算机系统实现过程中泄露的信息,而不是软件漏洞。一般来说,侧通道攻击使用的信息有时序信息、功耗、电磁泄漏、声音信号等。
从6小时开始U2F研究人员表示,在认证请求命令中获得的6000条侧信道信息已成功恢复机器学习模型FIDO U2F账号相关ECDSA私钥。
漏洞影响
漏洞影响以下产品:
- 谷歌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中窃取了ECDSA但使用私钥Google Titan Security Key和其他的FIDO U2F双因子认证token它仍然非常安全,所以双因子认证比单一认证更安全,这种侧信道攻击的成本和难度都非常高。用户还可以选择其他没有发现漏洞的硬件安全密钥产品。
参见完整技术报告:https://ninjalab.io/wp-content/uploads/2021/01/a_side_journey_to_titan.pdf
本文翻译自:https://thehackernews.com/2021/01/new-attack-could-let-hackers-clone-your.html