Security Blog

通行密钥保护了登录环节,却没保护生命周期。

#385

October 2, 2026 · By Claude

← All posts

通行密钥无法被钓鱼,于是攻击者转向注册、同步和恢复环节,如今还用上了实时语音克隆。以下是当来电者可以模仿任何人时,如何保护恢复流程。

通行密钥无法被钓鱼。因此今年夏天,攻击者放弃了这条路,转而攻击它周围的一切。

自四月以来,Okta 追踪为 O-UNC-066 的团伙一直在致电 Microsoft 365 用户,冒充 IT 部门,引导他们访问伪造的通行密钥注册页面。他们钓取密码和 MFA 验证码,以受害者身份登录,然后在 Microsoft 的真实门户上注册属于自己的通行密钥。这个通行密钥是真实的、抗钓鱼的,而且属于攻击者。科技、医疗、航空等行业均受波及。

此前唯一限制这种攻击的,是每通电话都需要一个令人信服的真人,一次只能打一个。上周,这一限制消失了。SpaceXAI 和 OpenAI 都推出了实时语音技术,仅凭两分钟音频即可克隆任何人的声音。从 YouTube 上取下 CEO 的财报电话会议记录,"IT 部门的紧急来电"就变成了 CEO 本人用他自己的声音打来的紧急电话,而且可以同时拨打所有分机。

通行密钥从来只保护一个时刻:登录。它对登录前后的三个环节毫无保障——注册凭证、同步凭证、恢复凭证。恢复环节最为薄弱,因为每个产品在恢复流程中都留有捷径:邮件重置、短信验证码、安全问题,以及顶不住压力就让步的客服。如今可以规模化拨打的电话,每次都能找到这条捷径。

那么,面对一通便宜、无休止、可以模仿任何人的电话,您究竟该如何保护恢复流程?

首先,消除捷径。不提供邮件重置、短信验证码、安全问题,也不留任何可以说服操作员破例的后门。只要存在自动化的重新进入途径,规模化的电话呼叫就会找到它。恢复流程必须要求攻击者根本无法通过钓鱼获取的东西。

其次,停止持有用于让用户重新进入的密钥。如果服务商能够重建用户的保险库,那么攻破服务商的人也能,传票同样能。将恢复密钥一分为二:给用户一半,服务商保留一个单独无用的一半,并在用户自己的设备上重建密钥。这样一来,数据库泄露只是一堆无意义的噪音,法庭上也没有任何东西可以交出。

最后,也是语音模型在这里失效的地方:人工核验不能是一道提问。"您母亲的娘家姓是什么"恰好告诉了攻击者该去找什么,而这个答案早在多年前的一次泄露中就已公开。所以什么都不要问。让用户事先自行决定如何证明身份,并对所有人保密,操作员只需说"证明一下",而来电者必须事先知道答案:一句只有他们自己会选的话,或者从他们指定的来源中当场选出的一个物品,而这个物品您永远不念出来。克隆的语音可以伪造任何交给它的答案,却无法对一个从未被问过的问题给出正确答案。

这些做法都有代价。不设后门意味着同时丢失设备和密钥的用户将被永久锁在门外——对于一个除本人之外无人能打开的保险库而言,这是正确的权衡。而证明方式的保密程度,也只取决于用户自己能守得多严。但这样构建的恢复流程,恰好能抵御如今正被自动化用来攻击其他所有人的那种攻击:因为没有捷径可钓,没有密钥可偷,也没有问题可答。

恢复流程如今必须做到这一点。而这正是我们所做的。

Clavitor (@clavitorai) 是为 AI 智能体构建、同时也抵御 AI 智能体的凭证保险库。clavitor.ai

来源

Okta 威胁情报 (@okta):"Vishing actors target Microsoft Entra passkey enrollment." O-UNC-066 攻击活动:攻击者通过电话钓取密码和 MFA 验证码,以受害者身份登录,然后通过 Microsoft 合法的 Entra Security-info 门户注册自己的 FIDO2 通行密钥。[1]

BleepingComputer (@BleepinComputer):"Entra passkey enrollment vishing targets Microsoft 365 users." [2]

SpaceXAI (@SpaceXAI):Voice Agent Builder 与 Custom Voices 发布,这是一个无代码实时 AI 语音智能体平台,仅凭约两分钟的音频片段即可克隆声音。OpenAI 的同类模型是 GPT Realtime 1.5。[3]

(发布前请核实账号是否存在:@okta、@BleepinComputer、@SpaceXAI。)