复杂的攻击破坏了最流行的 FIDO 密钥的安全保障。
研究人员周二表示,YubiKey 5 是基于FIDO 标准的双因素身份验证最广泛使用的硬件令牌,但它存在一个加密缺陷,当攻击者获得对它的临时物理访问权限时,这个手指大小的设备很容易被克隆。
这种加密漏洞被称为侧信道,存在于大量其他身份验证设备中使用的小型微控制器中,包括银行智能卡、电子护照和安全区域访问。虽然研究人员已经确认所有 YubiKey 5 系列型号都可以克隆,但他们还没有测试使用该微控制器的其他设备,例如英飞凌生产的 SLE78 以及被称为英飞凌 Optiga Trust M 和英飞凌 Optiga TPM 的后续微控制器。研究人员怀疑,任何使用这三种微控制器和英飞凌加密库的设备都存在同样的漏洞。
无法修补
YubiKey 制造商 Yubico 发布了一项咨询报告,与 NinjaLab 的一份详细披露报告相呼应。NinjaLab 是一家安全公司,对 YubiKey 5 系列进行了逆向工程,并设计了此次克隆攻击。所有运行 5.7 版之前固件的 YubiKey 都存在漏洞。该固件于 5 月发布,用自定义版本取代了 Infineon 加密库。无法更新 YubiKey 上的密钥固件。这意味着所有受影响的 YubiKey 都存在永久漏洞。
该公告确认:“攻击者可以利用此问题进行复杂且有针对性的攻击,以恢复受影响的私钥。” “攻击者需要实际拥有 YubiKey、安全密钥或 YubiHSM,了解他们想要攻击的账户以及执行必要攻击的专用设备。根据使用情况,攻击者可能还需要其他知识,包括用户名、PIN、帐户密码或身份验证密钥。”
侧信道是物理表现形式中留下的线索的结果,例如电磁辐射、数据缓存或完成泄露加密机密的任务所需的时间。在这种情况下,侧信道是数学计算(称为模数求逆)所花费的时间。英飞凌加密库未能实施一种常见的侧信道防御,即常数时间,因为它执行涉及椭圆曲线数字签名算法的模数求逆运算。常数时间确保执行的时间敏感加密操作是统一的,而不是根据特定密钥而变化的。
更准确地说,侧通道位于英飞凌的扩展欧几里德算法实现中,该算法是一种用于计算模逆的方法。通过在令牌进行自我验证时使用示波器测量电磁辐射,研究人员可以检测到微小的执行时间差异,从而揭示令牌的临时 ECDSA 密钥(也称为随机数)。进一步的分析使研究人员能够提取支撑令牌整个安全性的秘密 ECDSA 密钥。
在周二的报告中,NinjaLab 联合创始人 Thomas Roche 写道:
在一次在线采访中,罗氏详细阐述道:
这些攻击需要价值约 1.1 万美元的设备,以及对电气和密码工程的深入了解。攻击的难度意味着,只有民族国家或其他拥有类似资源的实体才有可能实施这种攻击,而且只会在高度针对性的场景中进行。这种攻击在野外被广泛使用的可能性极低。
NinjaLab 周二的报告概述了克隆攻击的完整流程:
攻击者窃取受 FIDO 保护的受害者应用程序帐户的登录名和密码(例如,通过网络钓鱼攻击)。
攻击者可以在有限的时间内物理访问受害者的设备,而受害者却毫不知情。
通过窃取受害者的登录名和密码(针对特定的应用程序帐户),攻击者可以在执行侧信道测量的同时向设备发送尽可能多的身份验证请求。
对手悄悄地将 FIDO 设备归还给受害者。
对手对测量结果执行旁道攻击,并成功提取与受害者应用程序账户相关的 ECDSA 私钥。
攻击者无需 FIDO 设备,受害者也不会察觉,即可登录受害者的应用程序帐户。换句话说,攻击者为受害者的应用程序帐户创建了 FIDO 设备的克隆。只要合法用户不撤销其身份验证凭据,此克隆就会授予对应用程序帐户的访问权限。
然而,这份清单忽略了一个关键步骤,即拆开 YubiKey 并露出里面的逻辑板。这可能需要使用热风枪和手术刀拆下塑料钥匙外壳,露出逻辑板中作为存储加密机密的安全元件的部分。从那里,攻击者会将芯片连接到硬件和软件,在密钥用于验证现有帐户时进行测量。测量完成后,攻击者会将芯片密封在新外壳中并将其返还给受害者。
上一张幻灯片下一张幻灯片
黑客可以利用 NXP 芯片中的侧通道克隆 Google Titan 2FA 密钥
此次攻击及其潜在漏洞与 2021 年 NinjaLab克隆 Google Titan 密钥的攻击几乎完全相同。那次攻击需要对令牌进行物理访问约 10 小时。
这些攻击违反了 FIDO 合规密钥的基本保证,即密钥存储的秘密加密材料无法被任何其他设备读取或复制。这一保证至关重要,因为 FIDO 密钥用于各种安全关键环境,例如军事和企业网络。
尽管如此,符合 FIDO 标准的身份验证是最强大的身份验证形式之一,不易受到凭证钓鱼或中间人攻击。只要密钥不落入技术高超、装备精良的攻击者之手,它仍然是最强大的身份验证形式之一。还值得注意的是,克隆令牌只是获得对帐户或设备的未经授权访问所需的两个主要步骤之一。攻击者还必须获取用于第一个身份验证因素的用户密码。这些要求意味着物理密钥仍然是最安全的身份验证方法之一。
为了发现侧信道,研究人员对英飞凌加密库进行了逆向工程,这是一套经过严格保护的代码集合,制造商竭力保密。该库的详细描述可能会引起密码学研究人员的极大兴趣,因为他们正在分析该库在其他安全设备中的工作原理。
想要了解其 YubiKey 运行的固件版本的人可以使用Yubico Authenticator应用程序。主屏幕的左上角显示钥匙的系列和型号。在下面的示例中,来自周二的公告,YubiKey 是 YubiKey 5C NFC 版本 5.7.0。
YubiKeys 提供可选的用户身份验证保护,包括要求用户提供 PIN 码或指纹或面部扫描。要使用这些附加措施对 YubiKeys 进行克隆攻击,攻击者还需要拥有用户验证因素。有关使用这些附加措施进一步锁定 YubiKeys 的更多信息,请点击此处。
目前仍未解答的一个关键问题是,还有哪些安全设备依赖这三个易受攻击的英飞凌安全模块并使用英飞凌加密库?英飞凌尚未发布公告,也没有回复索要公告的电子邮件。目前,尚无已知的 CVE 来跟踪该漏洞。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...