黑客可以使用NXP芯片中的辅助通道克隆Google Titan 2FA密钥

2021-01-09 12:28:46

安全专家之间已达成广泛共识,即物理两因素身份验证密钥可以最有效地防止帐户被接管。今天发表的研究并没有改变这种想法,但是它确实显示了拥有Google Titan密钥的恶意攻击者如何克隆它。

要成功进行攻击,有一些艰巨的障碍需要清除。黑客首先必须窃取目标的帐户密码,还需要秘密获取物理密钥长达10个小时。克隆还需要价值高达12,000美元的设备和定制软件,以及高级的电气工程和密码学背景。这意味着关键的克隆-曾经在野外发生-可能只有一个民族国家追求其最高价值目标才能完成。

安全公司NinjaLab的研究人员在周四发表的研究报告中写道:“尽管如此,这项工作表明Google Titan安全密钥(或其他受影响的产品)无法避免攻击者愿意付出足够努力的[]不为人知的安全漏洞。” 。 “面临此类威胁的用户可能应该切换到尚未发现漏洞的其他FIDO U2F硬件安全密钥。”

两因素身份验证或2FA是一种使帐户接管变得更加困难的方法。 2FA不仅使用密码来证明有人被授权访问帐户,还需要第二个因素,例如一次性密码,拥有物理对象,指纹或其他生物特征。

物理密钥是(即使不是)最安全的2FA形式之一,因为它们存储使它们在内部工作的长期秘密,并且仅输出不可重用的值。这个秘密也是不可能的。物理密钥也更方便,因为它们可在所有主要操作系统和硬件上使用。 Titan漏洞是主流2FA密钥中唯一发现的弱点之一。无论多么不可能,成功的实际利用都会完全破坏拇指大小设备提供的安全性保证。 NinjaLab研究人员很快指出,尽管存在缺陷,但使用Titan安全密钥或其他受影响的身份验证设备登录帐户仍然比不登录更为安全。

通过使用热风枪和手术刀去除塑料钥匙盒并露出NXP A700X芯片的作用,该芯片可作为存储密码秘密的安全元件。接下来,攻击者将芯片连接到进行测量的硬件和软件,因为密钥被用于对现有帐户进行身份验证。测量完成后,攻击者将芯片密封在新的外壳中,然后将其退还给受害者。

提取并重新密封芯片大约需要四个小时。对于攻击者想要破解的每个帐户,还需要花费六个小时来进行评估。换句话说,该过程将花费10个小时来克隆单个帐户的密钥,花费16个小时来克隆两个帐户的密钥,并花费22个小时来复制三个帐户。

通过观察芯片产生数字签名时的局部电磁辐射,研究人员可以利用NXP芯片中的侧通道漏洞。该漏洞利用使攻击者可以获得为给定帐户指定的长期椭圆曲线数字信号算法私钥。有了加密密钥,攻击者便可以创建自己的密钥,该密钥将适用于她所针对的每个帐户。

一位不参与研究的独立密码学专家Paul Kocher表示,尽管现实世界中遭受攻击的风险很低,但考虑到不同的用户类别(异议人士,律师,新闻工作者和其他高价值目标-谁依赖它,以及随着时间的推移攻击会改善的可能性。

他在一封电子邮件中写道:“这项工作之所以引人注目,是因为它成功地攻击了为高安全性应用而设计的坚固目标,并明显破坏了产品的安全性。” “真正的对手很可能能够改善攻击(例如,缩短数据收集时间和/或消除物理打开设备的需要)。例如,攻击可能会扩展到酒店健身房更衣室中放置一个小时的令牌。”

实际上,正如NinjaLab研究人员指出的那样,与使用FIDO U2F标准的其他安全密钥一样,Google Titan也被认为不可能从设备上转移加密密钥和签名。

如我们所见,FIDO U2F协议非常简单,与U2F设备进行交互的唯一方法是通过注册或身份验证请求。注册阶段将生成新的ECDSA密钥对并输出公共密钥。身份验证将主要执行ECDSA签名操作,我们可以选择输入消息并获取输出签名。

因此,即使对于合法用户,也无法知道给定应用程序帐户的ECDSA密钥。这是协议的局限性,例如,使得[用户]无法将用户凭据从一个安全密钥转移到另一个安全密钥。如果用户要切换到新的硬件安全密钥,则必须为每个应用程序帐户执行新的注册阶段。这将创建新的ECDSA密钥对并撤销旧的密钥对。

从安全的角度来看,功能上的这种限制是一种优势:通过设计,不可能创建克隆。此外,这是侧通道反向工程的障碍。在密钥上没有任何控制,几乎不可能了解(更不用说攻击)高度安全的实现的细节了。我们将必须找到一种解决方法,以在更方便的环境中研究实施安全性。

尽管描述了一种损害谷歌销售钥匙安全性的方法,但这项研究不会根据谷歌的漏洞赏金计划获得付款,该计划向发现谷歌产品或服务中的安全漏洞并将其秘密报告给公司的黑客提供奖励。谷歌发言人表示,需要实际拥有的攻击不在公司安全密钥威胁模型的范围之内。她还指出了实施攻击的难度和费用。

尽管研究人员对Google Titan进行了攻击,但他们认为使用A700X的其他硬件或基于A700X的芯片也可能容易受到攻击。如果为真,则包括Yubico的YubiKey NEO和飞天制造的几个2FA钥匙。

Yubico的女发言人Ashton Miller在一封电子邮件中表示,该公司已了解这项研究,并认为其调查结果是准确的。她写道:“虽然研究人员指出,这种攻击需要物理设备访问,昂贵的设备,定制软件和技术技能,但Yubico建议撤销丢失,被盗或放错位置的YubiKey NEO的访问权限,以降低风险,”她写道。

恩智浦了解该报告,并感谢研究人员的合作。自2020年10月以来,我们与大多数可能受影响的客户进行了积极沟通,并为他们提供了与我们的安全专家进行讨论的机会。这项工作几乎完成了。我们鼓励客户针对使用受影响产品的系统和应用程序完成自己的风险评估。根本原因无法在受影响的产品中解决。但是,在某些用例中,可以在系统级别应用对策。这些产品具有更新一代的解决方案。

一种可以部分缓解这种攻击的对策是,提供基于密钥的2FA的服务提供商使用U2F标准中内置的功能,该功能计算密钥与提供商服务器之间的交互次数。如果密钥报告的数字与服务器上存储的数字不匹配,提供商将有充分的理由相信该密钥是克隆。谷歌发言人表示,该公司具有此功能。

Ninjalab联合创始人VictorLomné和法国蒙彼利埃的Thomas Roche进行的这项研究令人印象深刻,并且很可能会及时修复侧通道漏洞。同时,绝大多数使用受影响密钥的人应该继续这样做,或者最多只能切换到没有已知漏洞的密钥。这项研究最糟糕的结果是人们完全停止使用物理安全密钥。

克隆还需要价值高达12,000美元的设备,定制软件以及电气工程和密码学的高级背景。这意味着关键的克隆-曾经在野外发生-可能只有一个民族国家追求其最高价值目标才能完成。

我已经厌倦了这些东西。 12,000美元不是“国家/地区”状态领土。很多人有12,000美元。我阅读了这篇论文,然后执行攻击甚至发明攻击,都不需要电气工程的高级背景。它需要具备一定的电气工程知识或电气工程基础知识,并愿意花钱购买昂贵的探头。很多业余爱好者都可以做到。先进的"所需的密码也不是那么特别。您真正需要的是对如何在处理器中实现EC操作的详细了解。这就是您可以从网上获得的所有信息。如果您拥有CS学位和业余无线电爱好,那么您可能已经准备好了。您没有提到实际上很难重新封装某些东西,以确保用户看不到它,但这并不是无法实现的。您还没有提到围绕抓住钥匙,对其进行处理并在未引起注意的情况下将其退还的后勤问题。最后一点可能是其中唯一需要多个人的部分。好吧,那是您实际利用结果获利的部分。我知道很多个人如果确实需要可以发动袭击。我能行。我可能不得不复习一些东西。我将不得不建造或购买一些我碰巧躺在附近的挑剔的东西。在尝试“真实”之前,我想反复练习。工具调试需要花费时间,可能价值超过12,000美元。但我认为毫无疑问,我可以从已发布的说明中做到这一点。我可能可以完成本文的原始工作。而且我没那么特别。好吧,的确,在大多数情况下,这种攻击是不实际的。这不是您要针对低价值目标执行的操作。它有很多方法可能会失败。同样,从芯片中挖掘密钥只是实际实现任何实际目标的第一步;其余操作的成本确实具有威慑力。通常会有更简单的方法来做您想要的事情。但是这种想法只能由&nbs; NSA"来完成。或导致对您的潜在对手可能是谁的误解。

您需要成为3字母的代理机构,才能使后勤成功地进行攻击并且未被发现,而不是因为所需设备的货币价值或所需知识水平。我也可以进行攻击(现在已经为我阐明了)。我有€€¢$¥来购买所需的设备。但是,确定目标钥匙的制造商和型号,获取所需帐户的密码,未检测到目标的钥匙,在进行攻击时使目标物分散注意力16小时以上,并返回未检测到的钥匙(包括带有匹配序列号的假冒新机壳以及个性化的划痕和划痕),等等……这可能需要值得三封信代理的后勤工作。当然,除非您想对朋友和/或家人造成伤害。