译者 | 陈峻
审校 | 重楼
2023年,知名网络安全公司KnowBe4对2,600名IT专业人员的调查显示,大型组织与中小型组织在安全实践方面仍存在着显著的差异。虽然只有38%的大型组织尚未通过启用多重身份验证(multifactor authentication,MFA)来保护其用户账户,但是有高达62%的中小型组织根本没有实施任何MFA。
不过,可喜的是,随着无密码方法的普及、以及应用复杂性的增长,MFA方法正在变得越来越多地被用到。后疫情时代,美国拜登政府于2021年发布了关于改善国家网络安全的行政命令。作为跟进,Google当年也对其所有员工提出了MFA要求。之后,Microsoft for Azure的各类登录都通过加强其身份验证的实践,旨在增强IT运营,并鼓励在所有应用程序中,进行全面且持续的身份验证。有调查表明,目前已有三分之二的普通用户会经常使用MFA登录,而使用MFA进行登录保护的企业管理员更是高达90%。
有了MFA就万无一失?
目前,大多数人都已领略了MFA在增强安全方面的优势。但是MFA在具体实施上却存在着不统一、甚至参差不齐的问题。这往往让业务安全经理及其用户深感困惑。当然,有时MFA用户也会因为增加了更多的认证因素,而担负额外的工作量。这种天生的不便性也增加了MFA的障碍。
只要你留心,就会发现新闻中屡屡报道了各种绕过MFA的攻击事件。例如,最近有消息称,某团体发起了针对已安装了Microsoft 365的小型企业的、鱼叉式网络钓鱼攻击。此外,2022 年,Okta也曾遭受了一系列网络攻击。这些攻击通过感染供应链窃取了其存放这GitHub的源代码。而且,其中的两次单独的攻击都窃取了大量用户凭据,并破坏了由其支持的门户页面。而作为身份验证的服务供应商,Okta对该事件发生的情况,并未提供非常透明的信息。这让外界对MFA是否被正确实施,提出了质疑。
值得注意的MFA威胁模式
在我们开始讨论最常见的黑客攻击技术之前,让我们先来了解一些典型的MFA失败案例。总的说来,它们可以被归纳为如下三种威胁模式:
- MFA疲劳或推送炸弹,通过发送大量授权请求(通常表现为密集地推送SMS消息,直到用户不堪其扰,从而批准请求,并授予攻击者访问权限。例如:Uber在2022年发生的安全事件就属于此类。颇具讽刺意味的是,只要启用使用MFA的范围越广,MFA疲劳攻击的成功率就越大。Cisco Duo的Jennifer Golden曾在2022年的一篇博文中写道:“我们所达到了MFA普及程度,反而激励了对手绕过这种控制的斗志。
- 攻击者也会结合使用社会工程和网络钓鱼攻击,来破坏系统的整体身份验证流程,并诱骗用户放弃其MFA令牌。用户行为的变化(例如疫情后、奥运会期间开始密集使用远程办公的场景,就经常会被攻击者所利用。Arctic Wolf在其最近的一篇博客中写道:“将社会工程与MFA疲劳攻击结合使用,会大幅提高攻击者的得手率,毕竟这样很容易产生一种虚假的信任感。
- 以非MFA用户和具有弱密码的应用作为目标,是第三种常见的威胁模式。如前文所述,虽然MFA的采用率已显著提高,但远未达到普遍程度,攻击者依然可以找到那些未受保护的系统和用户,来开展相应的攻击。例如,几年前,Akira 勒索软件攻击者就使用未配置MFA的Cisco 网络渗透到目标组织中,并利用暴力破解的方式,来获取用户凭据。2021年的Colonial Pipeline攻击,大家一定还记忆犹新。当时,分析师发现是由于其泄露了未运行任何MFA的传统网络上的单一密码所造成的。此类弱密码一直被使用在某个十分“长寿”的应用所连接的Cisco网络交换机中。尽管该公司在2017年的一篇博文中,早已发出了警告,但此功能仍在被持续利用。
常见的MFA攻击方法
在上述提到的各种威胁中,通常有如下三类MFA攻击会被使用。
- 移动安全性差。移动智能手机是进入公司网络的一个重要节点,攻击者会利用诸如替换SIM卡等各种方法,来达到其目的。例如,攻击者可以设法让电信服务提供商的客服人员相信他们是合法的SIM卡所有者,从而能够获取到SMS的身份验证消息。当然,其他方法也包括,直接攻击蜂窝服务提供商的网络本身。
- 不完善的MFA身份验证工作流。通常,企业的身份验证工作流较为复杂,用户可以选择通过Web门户、智能手机应用、以及应用程序接口(API)直接访问并调取应用。同时,他们可以通过采用不同操作系统的各种端口、本地网络或私有网络进行连接。这些都意味着,我们在测试MFA时,都必须考虑到各种情况,并且尽量拦截通过供应链上的中间人、或浏览器里的中间人(man-in-the-browser)所发起的MFA代码层面的攻击。
- 针对Cookie的攻击,例如Cookie传递(pass-the-cookie)和被盗的会话Cookie。发生此类情况往往是由于网站并未强制执行会话的非活动时间限制,从而让攻击者可以使用这些不完善的Cookie,来达到绕过MFA的目的。你可以通过由KnowBe4提供的链接,来了解更多详细信息。
防范MFA攻击的策略
鉴于上述漏洞,我们需要以不降低用户体验度为前提,构建出更加完善的MFA。以下便是一些能够确保你的MFA策略成功实施的建议。
- 首先,请了解你要保护的资源。CISA(美国网络安全与基础设施安全局)在其2022年发布的情况说明书里提到:“网络威胁攻击者通常会以电子邮件系统、文件服务器和远程访问系统为目标,设法访问组织的数据,同时会试图破坏 Active Directory等身份服务器,以便其创建新的帐户或控制现有用户帐户”。CISA建议你考虑将支持FIDO协议的系统,用于由MFA保护的最重要的部件,例如:那些最敏感的应用所使用的硬件密钥。目前,FIDO联盟已经发布了一系列关于企业应如何更好地实施此类方法的白皮书。对此,RSA通过链接,给出了深入探讨,值得你仔细阅读。
- 其次,所有身份验证都应基于风险,并根据用户在任何给定时刻的行为,自动且动态地调整安全防护。也就是说,那些仅使用单一访问控制的旧方法,需要及时被替换或整合。目前,已有许多身份验证产品能够将MFA耦合到其自适应的身份验证过程中。同时,与此相配套部分应该是对访问权限的仔细评估。鉴于多数时候,用户一旦被配置了访问权限,就再也没有任何后续的审核或权限的调整,IT安全人员应该“确保员工只能访问和完成其工作职责所需的有限数据,”Abnormal Security 在其一篇博文中这样写道。
- 此外,请不要忽视密码重置的过程,这往往是攻击者的常用爆破点。Mitnick Security在今年4月份的一篇博文中提到:“令人惊讶的是,有许多网站根本没有对其2FA的重置密码过程予以双重验证,或者他们只是提供了一套不强制用户使用MFA的机制”。
- 再次,应该通过评估,锁定最有可能成为被攻击目标的用户。CISA在其报告中写道:“每个组织都会有一些少量的、具有额外访问权限的用户帐户。他们往往会成为网络攻击者所觊觎的高价值目标”。因此,在MFA项目的初始推行阶段,我们应当重点考虑包括IT运维、系统管理员、律师、以及HR经理等组群的管控。
- 实际上,上述各个要点都应该成为对整体MFA工作流予以分析的一部分。当然,这些也并非什么新鲜事。早在2021年,供职于Akamai的Gerhard Giese就在其一篇博文中指出,MFA并不总能够有效地防御撞库攻击(credential stuffing)。他说,IT经理需要“重新检查现有的身份验证工作流和登录界面,以确保攻击者无法通过查询Web服务器的响应,来发现有效的凭据,以及实施针对僵尸网络攻击的有效管理。
综上所述,通过全面规划、实施和测试,MFA技术应该对内成为企业安全关键基础架构的一部分,对外成为响应政府和监管部门要求的实施动力。
译者介绍
陈峻(Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。
原文标题:How MFA gets hacked — and strategies to prevent it,作者:David Strom