抗钓鱼 MFA
本文约需 2 分钟阅读
抗钓鱼 MFA (Phishing-Resistant MFA) 是指即使认证信息因钓鱼攻击被窃取也无法被突破的多因素认证方式。具体而言,基于 FIDO2/WebAuthn 和 PKI (公钥基础设施) 的认证属于此类。美国网络安全和基础设施安全局 (CISA) 将抗钓鱼 MFA 定位为「MFA 的黄金标准」,并建议所有组织部署。
CISA 的建议与美国政府的强制要求
2022 年 1 月,拜登政府发布了管理和预算办公室 (OMB) 备忘录 M-22-09,要求联邦政府机构强制部署抗钓鱼 MFA。该备忘录是向零信任架构迁移的一部分,并明确区分「SMS OTP 和 TOTP 不具备抗钓鱼能力」。其背景是传统 MFA 无法防御的高级攻击不断增多,例如 2020 年的 SolarWinds 事件和 2021 年的 Colonial Pipeline 攻击。
具备抗钓鱼能力的方式 vs 不具备的方式
对 AiTM (中间人) 攻击的耐性
AiTM (Adversary-in-the-Middle) 攻击是一种高级手法:攻击者在用户与正规网站之间设置反向代理,实时中继并窃取认证信息和会话 Cookie。当用户在伪造网站上输入密码和 OTP 时,攻击者将其原样转发到正规网站以完成登录,并夺取所签发的会话 Cookie。TOTP 和 SMS OTP 对此攻击毫无防御力。
基于 FIDO2 的认证会在签名中以密码学方式嵌入源 (域名) 信息,因此在攻击者的代理域名下无法生成面向正规网站的签名。这使得 AiTM 攻击在结构上无法成立。两步验证的基础中详细解说了各方式的区别。
对 MFA 疲劳攻击的耐性
MFA 疲劳攻击 (MFA Fatigue Attack / MFA Bombing) 是指攻击者用窃取的密码反复尝试登录,向用户大量发送推送通知,企图诱使用户误点「批准」的手法。在 2022 年的 Uber 入侵事件中,攻击者就是用此手法获得了对内部系统的访问权限。FIDO2 认证不使用推送通知,而是要求用户的主动操作 (触摸 / 生物识别),因此疲劳攻击无法成立。MFA 疲劳攻击的文章中详细解说了实际的攻击案例与对策。
部署的实务考量
抗钓鱼 MFA 的部署在技术上可通过推广通行密钥和安全密钥来实现,但要在整个组织范围内部署则需要分阶段的方法。现实的做法是先从特权账户 (管理员、管理层) 开始引入,再扩展到普通员工。从既有的多因素认证环境迁移时,不要立即废弃 TOTP,而应将 FIDO2 设为首选认证方式,并在一段并行运行期间内将 TOTP 保留为后备方式。MFA 安全相关书籍 (Amazon)也可作为部署计划的参考。
现场使用案例
「遵循 CISA 的指导,我们将所有管理员账户切换为强制使用 YubiKey。迁移前每月有 2〜3 起由钓鱼引发的事件,迁移后的 18 个月内一直保持为零。我们正在向普通员工推广通行密钥。」
请一并参阅安全密钥部署指南。
这篇文章对您有帮助吗?