不要让我失望:FIDO认证降级攻击
关键要点
- FIDO基于的通行密钥仍然是防范常见凭证钓鱼和账户接管威胁的推荐认证方法
- Proofpoint研究人员发现FIDO认证可通过降级攻击绕过
- 攻击者使用专用钓鱼工具包可将FIDO认证降级为安全性较低的方法,使目标面临中间人威胁
- Proofpoint研究人员尚未在野外观察到FIDO认证降级攻击
- 认证降级仍然是挑战"防钓鱼"认证方法的关键手段,但攻击者当前重点仍是针对使用其他MFA方法或完全无MFA的账户
概述
随着组织努力跟上不断演变的威胁态势——特别是由复杂网络犯罪分子和国家资助威胁行为者策划的中间人攻击日益增长的危险——FIDO认证的广泛采用通过提供强大的身份验证方法显著提高了在线安全性。然而,Proofpoint威胁研究人员最近发现了一个威胁向量,可能使攻击者能够降级基于FIDO的认证机制,给组织和个人用户带来潜在风险。
现代钓鱼:中间人风格
在FIDO标准出现之前,现代凭证窃取向量主要依赖于利用传统基于密码甚至多因素认证机制的钓鱼技术。
典型的中间人攻击始于受害者收到包含恶意网页链接的钓鱼消息,该网页模仿合法登录页面。虚假域名连接到反向代理服务器,在受害者和实际服务之间中继流量。当受害者输入凭证时,它们会立即被攻击者截获。如果受害者成功完成MFA挑战,攻击者也会截获令牌,从而实现完整的会话劫持。
近年来,高级中间人钓鱼工具包的开发和普及,如Evilginx、EvilProxy和Tycoon,已成为威胁态势的关键变化。同时,钓鱼即服务平台也越来越受欢迎,因为它们通过为攻击者提供直观的点选界面来简化钓鱼活动的执行,从而消除了许多技术障碍。正是由于这些变化,中间人钓鱼攻击变得比以往更加普遍和有效。
FIDO
FIDO是一套开放标准,旨在通过提高安全性和用户体验来增强在线认证。FIDO联盟引入这些标准是为了减少对密码的依赖,并推广更强、防钓鱼的认证方法。
简而言之,FIDO消除了对传统凭证的需求,从而消除了常见钓鱼威胁带来的风险。此外,FIDO可以将硬件安全密钥与生物识别或PIN码结合以提供额外保护。
证据在于钓鱼工具包
如今,大多数钓鱼威胁在面对使用标准钓鱼工具包的FIDO保护账户时都会失败。要理解原因,我们必须解释什么是钓鱼工具包。钓鱼工具包是钓鱼工具包使用的配置文件或模板,用于定义合法网站的模拟以及用户凭证和会话令牌的拦截。
由于大多数钓鱼工具包都是为传统凭证收集和前FIDO MFA绕过设计的,它们在遇到FIDO认证时通常会抛出错误,使整个攻击链不成功。
图1:对使用FIDO认证的用户使用标准钓鱼工具包时显示的错误。
FIDO降级攻击执行
安全研究人员先前已证明某些基于FIDO的认证实现,最显著的是Windows Hello for Business,可能容易受到降级攻击。这些攻击通过强制用户回退到安全性较低的认证方法来工作。
在本文中,我们揭示了这种FIDO降级攻击可以针对Microsoft Entra ID用户执行,且不限于任何特定实现。
用户代理欺骗
并非所有Web浏览器都支持使用Microsoft Entra ID的通行密钥认证方法。例如,在Windows上使用Safari时不支持FIDO。
图2:Microsoft Entra ID对FIDO2认证的支持。
这个看似微不足道的功能差距可以被攻击者利用。威胁参与者可以调整中间人以欺骗不受支持的用户代理,该代理不被FIDO实现识别。随后,用户将被强制通过安全性较低的方法进行认证。在Microsoft平台上观察到的这种行为是一个缺失的安全措施。
认证降级流程
基于先前的发现,Proofpoint研究人员已成功为Evilginx中间人攻击框架制作了一个专用钓鱼工具包,该工具包将强制目标将其认证方法降级为安全性较低的方法。攻击序列依赖于目标用户账户存在除FIDO之外的替代认证方法。但幸运的是,FIDO实现往往就是这种情况,因为大多数管理员倾向于维护实用的账户恢复选项。
钓鱼攻击流程如下:
- 初始交互:通过电子邮件、短信、OAuth同意请求或其他通信渠道向目标发送钓鱼链接
- 认证降级:一旦目标上当并点击恶意URL,他们将看到认证错误消息,提示他们选择替代登录方法
图3:向目标显示的登录错误消息
图4:目标需要选择不同的认证方法
图5:如果目标选择Microsoft Authenticator应用,他们需要输入验证码。列表中的任何其他MFA方法都有效
- 凭证和MFA令牌窃取:一旦受害者使用欺骗界面进行认证,威胁参与者能够拦截和查看登录凭证和会话cookie,就像在标准中间人钓鱼攻击中一样
图6:Evilginx中受害者会话列表,我们可以看到"已捕获"的会话
图7:Evilginx控制台中显示的受害者凭证和cookie详细信息
- 会话劫持和账户接管:最后,攻击者可以通过将窃取的会话cookie导入自己的浏览器来劫持已认证会话,从而授予他们访问受害者账户的权限,而无需插入任何凭证或通过MFA挑战。攻击者然后可以执行一系列入侵后行动,包括数据外泄和在受影响环境内的横向移动
图8:将拦截的会话cookie导入攻击者的浏览器
图9:攻击者使用拦截的会话cookie成功以受害者身份认证
用户账户仍然面临风险
如演示所示,修改后的中间人钓鱼工具包可用于发起FIDO认证降级攻击,强制受害者通过安全性较低的方法进行认证。这使攻击者能够窃取凭证和/或会话cookie,最终导致账户接管和一系列入侵后威胁。
尽管技术上可行,但目前没有证据表明威胁参与者在野外使用这种技术。这可能由于以下原因:
- 较低努力的替代方案:许多攻击者当前选择更简单的攻击路径,通常针对具有弱或单因素认证或其他已知对当前钓鱼工具包易受攻击的MFA方法的用户。这些方法需要较少的技术复杂性,仍然产生高成功率
- 技术敏锐度:创建或调整钓鱼工具包以促进FIDO降级攻击需要更深入的理解和专门知识,这可能成为阻止大多数低级攻击者的障碍
尽管缺乏威胁参与者使用的观察证据,Proofpoint认为FIDO认证降级攻击是一个重要的新兴威胁。这些攻击可能由复杂的对手和APT执行。
展望未来,随着对中间人钓鱼风险认识的提高和更多组织采用像FIDO这样的"防钓鱼"认证方法,攻击者可能尝试通过将FIDO认证降级纳入其杀伤链来发展现有战术、技术和程序。