中文

CTRAPS: FIDO2 中的 CTAP 客户端伪装与 API 混淆攻击

密码学与安全 2025-12-09 v2

摘要

FIDO2 是单因素和双因素认证的标准技术,包含 WebAuthn 和 CTAP 应用层协议。我们关注 CTAP 协议,该协议允许 FIDO2 客户端与硬件认证器通信。目前尚无人探索 CTAP 认证器 API,这一关键的协议级攻击面。我们通过对 CTAP 认证器 API 的首次安全与隐私评估,揭示了两类协议级攻击,称为 CTRAPS。客户端伪装(CI)攻击利用缺乏客户端身份验证,即可进行无点击攻击,删除 FIDO2 凭证(包括 passkeys),无需用户交互。API 混淆(AC)攻击滥用缺乏的协议 API 强制措施,使 FIDO2 认证器、客户端和无知的用户误以为正在调用合法的 API,从而调用不受欢迎的 CTAP API。所提出的十一项攻击可在近距离或远程方式进行,有效性不依赖于底层 CTAP 传输。我们详细描述了八个 CTAP 规范中的漏洞,以实现 CTRAPS 攻击,其中六个为新发现,包括未经身份验证的 CTAP 客户端和可跟踪的 FIDO2 凭证。我们发布 CTRAPS,一个用于分析 CTAP 并实施 CTRAPS 攻击的原创工具包。通过利用 Yubico、Feitian、SoloKeys 和 Google 等六个流行认证器,以及 Microsoft、Apple、GitHub 和 Facebook 等十个广泛使用的依赖方,我们确认了攻击的实际性。我们提出八项实用且向后兼容的防御措施,以修复攻击及其根本原因。我们对发现的 findings 负责任地向 FIDO 联盟和受影响的供应商披露。

关键词

引用

@article{arxiv.2412.02349,
  title  = {CTRAPS: CTAP Client Impersonation and API Confusion on FIDO2},
  author = {Marco Casagrande and Daniele Antonioli},
  journal= {arXiv preprint arXiv:2412.02349},
  year   = {2025}
}