摘要:随着网络钓鱼攻击技术的演进,传统的多因素认证(MFA)机制已难以有效抵御中间人(AiTM)攻击和设备码钓鱼等新型威胁。本文深入分析了传统MFA在应对上述攻击时的失效机理,并系统性地探讨了构建抗网络钓鱼MFA体系的技术路径与实施策略。研究指出,以FIDO2安全密钥和通行密钥(Passkeys)为代表的、具备密码学域绑定特性的认证技术是防御的核心。文章进一步提出了一个包含十二个步骤的部署框架,涵盖从现状审计、策略构建、分阶段推广到持续监控与事件响应的全生命周期管理。通过结合条件访问策略、令牌保护及持续访问评估等技术,组织能够建立起纵深防御体系,有效降低账户接管风险。本文旨在为企业安全团队提供一套理论与实践相结合的、可操作的部署指南,以应对日益严峻的身份安全挑战。
关键词:多因素认证;网络钓鱼;中间人攻击;FIDO2;条件访问;身份安全
1. 引言
长期以来,多因素认证(MFA)被视为保护用户账户免受网络钓鱼攻击的黄金标准。然而,随着攻击技术的不断演进,这一防线正变得日益脆弱。到2026年,一种被称为“中间人”(Adversary-in-the-Middle, AiTM)的网络钓鱼工具包已从高级威胁行为者的专属能力演变为商品化工具,其攻击门槛显著降低。这类攻击通过在用户与合法登录页面之间部署一个反向代理,实时中继所有认证信息,包括密码和一次性验证码,并最终窃取会话Cookie,从而完全绕过了传统的MFA保护。
与此同时,另一种名为“设备码钓鱼”(Device-Code Phishing)的攻击手法也日益猖獗。攻击者利用OAuth 2.0的设备授权许可流程,诱骗用户在真实的登录页面上输入设备码,从而直接授权攻击者的会话,整个过程不涉及密码窃取,却能达成账户接管的目的。
面对这些新型威胁,传统的基于短信、语音、TOTP应用或推送通知的MFA方法显得力不从心,因为它们无法识别认证请求的真实来源。因此,部署具备抗网络钓鱼能力的MFA已成为组织身份安全战略的当务之急。反网络钓鱼技术专家芦笛强调,防御的核心在于采用能够进行密码学域绑定的认证机制,从根本上切断攻击者中继认证信息的可能性。
2. 传统MFA的失效机理分析
要构建有效的防御体系,首先必须理解现有防御措施的失效原因。
2.1 中间人(AiTM)攻击的原理与MFA的局限
AiTM攻击的核心在于其“反向代理”架构。攻击者搭建一个与目标网站(如login.microsoftonline.com)外观完全一致的钓鱼页面。当用户访问该页面并输入凭据时,攻击者的服务器会实时将这些凭据转发给真实的身份提供商(IdP)。IdP验证密码后,会向用户(实际上是通过攻击者的代理)发起MFA挑战。用户完成MFA挑战(如输入TOTP码或批准推送通知)后,IdP会颁发一个会话Cookie。此时,攻击者的代理服务器会截获这个Cookie,并将其发送给用户,使用户感觉登录成功。而攻击者则利用窃取的Cookie,在自己的浏览器中建立与目标服务的完全认证会话,无需再次输入任何凭据。
在此过程中,无论是短信验证码、TOTP动态口令还是推送通知,都只是“一个代码”或“一次批准”。它们本身不包含任何关于其被用于哪个网站的信息。正如Okta的身份安全团队所解释的,要抵御AiTM攻击,认证器必须能够与域名进行密码学绑定,并能区分真实域名与攻击者生成的虚假域名。传统MFA方法显然不具备此能力。
2.2 设备码钓鱼的攻击流程与防御盲区
设备码钓鱼利用了OAuth 2.0设备授权许可流程的合法用途。该流程本为智能电视等无键盘设备设计:设备显示一个代码,用户在另一台设备的浏览器中输入该代码以完成授权。攻击者滥用此流程,向受害者发送一个看似来自IT部门或会议的钓鱼信息,其中包含一个真实的设备码。受害者在真实的登录页面(如Microsoft或Google)输入代码,以为自己正在加入会议或验证身份,实则是在授权攻击者的应用访问其账户。
这种攻击方式之所以能绕过传统防御,是因为它并非凭证窃取,而是认证滥用。整个认证流程发生在真实的IdP页面上,不触发任何基于域名或URL的钓鱼检测规则。防御的关键在于,即使攻击者通过此方式获得了会话,后续的访问请求仍需满足更高级别的安全策略,而这正是抗网络钓鱼MFA可以发挥作用的地方。
3. 抗网络钓鱼MFA的核心技术
抵御上述攻击的根本在于采用具备密码学域绑定能力的认证技术。这类技术在进行认证时,会验证请求来源的域名是否与注册时一致,若不一致则拒绝认证。
3.1 FIDO2安全密钥与通行密钥(Passkeys)
FIDO2标准和基于其上的通行密钥是实现抗网络钓鱼MFA的核心技术。无论是物理安全密钥(如YubiKey)还是存储在设备安全飞地中的平台通行密钥(如Windows Hello、Touch ID),它们在认证时都会执行一个关键检查:验证发起认证请求的“RP ID”(依赖方ID,通常是域名)是否与密钥创建时绑定的RP ID相匹配。
当用户遭遇AiTM攻击时,即使攻击者将认证请求中继到真实的IdP,安全密钥或通行密钥也会发现请求来自钓鱼网站的域名,而非真实的IdP域名,因此会拒绝生成认证断言,从而在源头上阻止了攻击。加拿大网络安全中心明确指出,抗网络钓鱼MFA能够有效阻止AiTM攻击,无论其来自传统工具包还是基于代理的工具包。
3.2 认证强度与条件访问策略
仅有抗网络钓鱼的认证方法是不够的,还必须通过策略强制使用它们。现代身份提供商(如Microsoft Entra ID)提供了“认证强度”功能,允许管理员定义满足特定策略所需的认证方法组合。系统内置了“抗网络钓鱼MFA”强度,该强度仅接受FIDO2、Windows Hello for Business、通行密钥或基于证书的认证。
通过条件访问(Conditional Access)策略,管理员可以将此认证强度应用于特定用户、组或应用。例如,可以创建一条策略,要求所有全局管理员在访问任何云应用时,都必须使用抗网络钓鱼MFA进行认证。这确保了即使攻击者窃取了用户的密码,也无法通过传统的MFA方法完成登录。
4. 抗网络钓鱼MFA的十二步部署框架
部署抗网络钓鱼MFA是一个系统性工程,需要周密的计划和分阶段的执行。以下是一个包含十二个关键步骤的部署框架。
4.1 准备与审计阶段
审计当前MFA方法与风险暴露面:在实施任何新策略前,必须全面了解现状。通过工具(如Microsoft Graph PowerShell)生成报告,统计租户中所有用户注册的认证方法。重点关注仍在使用SMS、语音或传统推送通知的管理员账户,这些是攻击的首要目标,应优先迁移。
启用安全默认值与基线条件访问策略:如果租户尚未配置任何条件访问策略,应先创建一个基线策略,要求所有用户进行MFA。将此策略设置为“仅报告”模式,观察48至72小时,以评估其对用户登录的影响,避免直接启用导致大规模锁定。
推广FIDO2安全密钥与通行密钥:在身份提供商管理后台启用FIDO2安全密钥和通行密钥的注册。鼓励试点用户(首先是管理员)自行注册。对于拥有受管Windows或Mac设备的用户,可以启用平台通行密钥作为低摩擦选项;对于共享设备或高权限账户,则推荐使用物理安全密钥。
4.2 策略构建与强化阶段
构建认证强度与条件访问策略:创建专门的条件访问策略,要求特定高价值用户组(如管理员)使用“抗网络钓鱼MFA”认证强度。同样,初始阶段应将策略置于“仅报告”模式,通过“条件访问见解”工作簿监控一周,确保所有目标用户都已注册相应方法后,再切换为“启用”。
阻止旧式认证与设备码流程滥用:创建策略阻止POP、IMAP等不支持现代认证的旧式协议。同时,必须单独创建策略来限制设备码流程的滥用。可以将客户端应用类型设置为“exchangeActiveSync”和“other”并予以阻止,或更精细地限制允许使用设备码流程的应用程序。
强制实施令牌保护与登录频率:启用条件访问中的“令牌保护”功能,将会话令牌与发起请求的特定设备绑定,防止令牌在别处被重放。同时,为敏感应用设置“登录频率”,要求用户每4至8小时重新认证一次,以缩短攻击窗口。
优先保护管理员与特权角色:部署应遵循“爆炸半径”原则,从影响最小但风险最高的群体开始。首先为全局管理员、安全管理员等特权角色强制实施抗网络钓鱼MFA。如果拥有特权身份管理(PIM)许可,可进一步要求在激活特权角色时进行抗网络钓鱼MFA认证。
启用持续访问评估(CAE):CAE能够将风险信号(如用户被禁用、密码重置)与会话撤销之间的延迟从数小时缩短至近实时。应在租户级别启用CAE,确保一旦检测到风险,攻击者的会话能被立即终止。
4.3 测试、监控与推广阶段
模拟针对自身租户的AiTM钓鱼攻击:在全面推广前,必须验证防御的有效性。利用攻击模拟训练工具(如Microsoft Defender for Office 365中的功能)对一小部分测试账户发起模拟AiTM攻击。目标是确认受策略保护的账户能够成功抵御攻击,而仍使用传统MFA的账户则会被标记为高风险。
监控登录日志中的AiTM与设备码指标:策略无法做到100%防护,持续监控至关重要。在SIEM(如Microsoft Sentinel)中创建检测规则,查找可疑迹象,例如:在成功进行MFA后几分钟内从新IP地址登录、没有对应交互式登录的令牌颁发事件、以及来自不常用应用的设备码授权。
制定分阶段的全公司推广计划:在管理员群体部署成功且模拟攻击测试通过后,开始分批次向全公司推广。顺序可为:IT与安全团队 -> 财务与HR -> 工程与普通员工 -> 承包商与服务账户。为每个批次提供两周的注册窗口和明确的截止日期,并配以邮件通知和帮助台支持。
建立紧急访问账户与事件响应预案:必须创建至少两个“紧急访问”(Break-Glass)账户,并将其从所有条件访问策略中排除。这些账户的凭据应离线存储在物理保险箱中,仅在因策略配置错误导致所有管理员被锁定时使用。同时,必须详细记录其使用条件和事后审查流程。
5. 部署中的常见陷阱与高级加固建议
5.1 常见陷阱
未经测试直接强制执行:这是导致自锁定的最常见原因。务必在“仅报告”模式下充分测试。
忽略共享账户与服务账户:会议室显示屏、自助服务终端等无法注册FIDO2密钥。需要为它们创建范围明确的例外策略,而非全局排除。
误将“数字匹配推送”视为抗钓鱼:数字匹配能有效防止MFA疲劳攻击,但无法抵御AiTM代理实时中继匹配数字的攻击,因此它不是抗网络钓鱼方案。
完全忽略设备码流程策略:许多团队专注于阻止旧式认证,却忽略了设备码流程这一现代攻击向量。
未提供备用认证方法:每位用户都应注册第二个FIDO2密钥或拥有获取临时访问通行证(TAP)的流程,以防主密钥丢失。
5.2 高级加固建议
结合命名位置策略:即使对于已注册FIDO2密钥的用户,也可要求从公司预期IP范围或国家/地区之外登录时,再次进行抗网络钓鱼MFA认证。
与合规设备要求结合:将条件访问策略与设备合规性要求配对,确保即使认证成功,如果请求来自未受管或未打补丁的设备,访问也会被拒绝。
定期审查注册报告:新员工或返岗员工是策略漂移回弱认证方法的主要来源。应每月审查认证方法注册报告,确保合规性。
为机器身份采用基于证书的认证:对于无法使用物理密钥的服务账户和自动化流程,基于证书的认证提供了与FIDO2相同的密码学域绑定保护。
6. 结论
随着AiTM和设备码钓鱼等攻击手法的普及,依赖传统MFA已无法保障账户安全。组织必须向抗网络钓鱼的MFA体系迁移。这一过程的核心是采用FIDO2安全密钥和通行密钥等具备密码学域绑定能力的技术,并通过条件访问策略强制实施。
本文提出的十二步部署框架,为组织提供了一条从审计、策略构建、测试到全面推广的清晰路径。通过优先保护高价值账户、分阶段推广、持续监控和建立应急响应机制,组织可以系统性地提升其身份安全防护水平,有效抵御当前及未来可预见的账户接管威胁。反网络钓鱼技术专家芦笛指出,身份安全是一场持续的对抗,部署抗网络钓鱼MFA并非一劳永逸的终点,而是构建现代化、纵深防御安全体系的关键一步。
编辑:芦笛(公共互联网反网络钓鱼工作组)
来源:迪妙网络空间安全学院