应对账户接管:为何MFA只是第一步

简介

多重身份验证(MFA)无法消除账户接管威胁。它确实增加了攻击难度,但执意发起攻击的攻击者已经找到了绕过所有现有身份验证因素的巧妙方法。与其认为MFA解决了身份验证问题,不如将其视为扩大了攻击面:每种身份验证因素都会引入一套新的依赖系统、新的缺陷和漏洞来源,以及新的社会工程攻击机会。遗憾的是,许多安全组织看待MFA的方式,就像过去看待网络边界一样,认为它是抵御多种攻击的屏障。由零信任安全倡导者揭示的安全边界谬误,使攻击者得以利用网络内部的漏洞横向移动并提升权限。同样,认为MFA能够解决账户接管问题的错误观念,也使安全组织无法认识到MFA的弱点,以及系统中仍然存在的诸多漏洞,而这些漏洞会使用户账户面临被犯罪分子接管的风险。本白皮书通过分析攻击者绕过MFA的方式,说明MFA使其他一些安全措施变得更加重要,包括机器人缓解、JavaScript供应链保护和情境风险监控。这些技术既能强化MFA带来的安全优势,又能减少MFA给用户造成的操作阻碍。

推动MFA采用的因素

尽管存在弱点,MFA仍将长期存在,而且理由充分:仅使用密码的身份验证显然已经失效。

人类很难记住由随机字符组成的长字符串。因此,我们往往会走捷径:选择容易记忆、容易预测的密码,在不同应用中重复使用密码,或将密码随手写在便利贴上。虽然企业会通过规定密码长度和复杂度来降低这种风险,但人的记忆力终究有限。即使有复杂度要求,我们仍会采用容易预测的方式,例如只将首字母大写、用特殊字符替换外形相似的字母或数字(如用$替换S),或在密码末尾添加123等容易猜到的数字。(请参阅有关密码可预测性的研究结果。)

人类还有一些共同的弱点,容易被社会工程攻击者利用。当攻击者利用我们的信任、从众心理、对权威的尊重以及助人意愿时,我们可能会交出密码。事实证明,有时只要开口询问,人们就会说出自己的密码。您可以在这段有趣的Jimmy Kimmel Live视频中看到这一幕。

鉴于基于密码的身份验证存在这些弱点,政府机构和行业协会正在推动采用多重身份验证(MFA)。2021年5月,拜登总统发布了一项行政命令,要求联邦机构在180天内采用MFA;网络安全和基础设施安全局(CISA)也在面向私营企业推广MFA。支付卡行业安全标准委员会通过其《数据安全标准v4.0》要求各组织在2025年3月31日前,对所有访问持卡人数据的行为实施MFA。

随着MFA相较于仅使用密码的身份验证所具备的明显优势推动其普及,安全专业人员需要更加关注MFA的不足,以及它如何扩大攻击面并产生新的漏洞,使攻击者能够绕过身份验证控制。

MFA扩大的攻击面

MFA是指在身份验证过程中使用两个或更多身份验证因素。身份验证因素是指通过以下方式证明身份:

  • 知识因素:您知道的信息,例如密码或个人识别码(PIN)
  • 持有物:您拥有的物品,例如移动设备、智能卡、硬件令牌或USB驱动器
  • 固有特征:通过指纹、面部扫描和虹膜纹理等生物识别信息确定的个人特征

实现MFA的方式多种多样,其中许多方式要么会引入新的攻击面,要么会使应用程序仍面临仅使用密码进行身份验证时存在的同类漏洞。

基于短信的MFA

MFA的实施方式多种多样,其中许多方式要么会引入新的攻击面,要么会使应用程序仍面临纯密码身份验证所特有的相同漏洞。

最常见的多重身份验证(MFA)实现方式是通过短信向用户发送一次性密码(OTP),原则上可借此证明用户持有智能手机。通常,用户先使用用户名和密码发起登录,触发应用发送短信。随后,用户查看OTP并将其输入应用,以完成身份验证并生成在设定时长内有效的会话令牌。

基于短信的身份验证仍存在的漏洞

通过短信实现持有要素认证无法消除若干关键漏洞。用户需要在应用中输入一次性密码(OTP)和密码,而应用会通过其使用的同一通信通道将OTP发回服务器。因此,攻击者一旦攻破应用、设备或网络中的任何一项,就能获取密码、OTP和会话令牌。

攻击端点

攻击者利用多种成熟且仍然常见的技术,通过恶意软件感染并控制设备,从而实施浏览器中间人(MitB)攻击。在浏览器中运行代码后,攻击者可以获取密码和一次性密码(OTP),并冒充用户进行身份验证。攻击者也可以等待身份验证完成后窃取会话标识符,进而绕过身份验证并访问用户账户。(有关感染端点的恶意软件近期趋势,请参阅F5 Labs关于BlackGuard信息窃取程序的报告。)

入侵应用

攻击者可通过感染应用程序大规模接管用户账户。除了利用恶意软件入侵企业基础设施外,犯罪分子还可通过攻破构成应用程序的任一代码库来访问应用程序数据,这种手法称为供应侧攻击。

在软件供应链攻击中,攻击者通常会将目标锁定为受信任的第三方供应商或开源代码库,这些供应商或代码库为目标组织提供软件组件(库、框架、服务)。攻击者将恶意软件注入组件,随后该组件会被集成到应用中。由于并非所有供应商和开源团队都具备实施安全编码实践所需的技能和资源,此类攻击可能会奏效。

Web和移动应用尤其容易受到供应链攻击,因为它们通常包含数十个第三方脚本,其中许多脚本由标签管理器动态添加到页面中。这些脚本经常在未通知的情况下发生变化,且不会经过组织的代码安全检查。如果攻击者攻破其中任何一个脚本,就能完全控制应用,包括读取用户输入、访问浏览器内存中的数据,或劫持用户操作流程,在用户毫无察觉的情况下将其重定向到恶意应用。

这些供应链攻击(例如Magecart)已导致数十万条凭据遭到泄露。与浏览器中间人(MitB)攻击非常相似,这些供应链攻击可绕过任何需要在应用中输入持有证明令牌的多重身份验证(MFA)解决方案,而大多数使用一次性密码(OTP)的实现通常都采用这种方式。由于恶意代码会读取用户输入,因此可能同时窃取静态密码和OTP,以及应用收集的任何其他个人或财务信息。

监听网络

由于在基于SMS的身份验证中,密码、OTP和会话令牌通过同一网络连接传输,因此这种MFA仍容易受到利用DNS投毒、ARP投毒和恶意无线接入点等典型攻击途径发起的中间人(MitM)攻击。

社会工程学

针对基于短信的MFA,最常见且成功率较高的攻击方式之一,是利用社会工程学,通过实时网络钓鱼代理(RTPP)实施中间人(MitM)攻击。

在这种攻击中,欺诈者利用网络钓鱼电子邮件诱骗用户访问攻击者控制的网站,用户随后会在该网站输入凭据。到这一步,该手法与窃取凭据的网络钓鱼攻击相同,但要绕过MFA,还需要额外一步。当用户在应用中输入用户名和密码时,攻击者会将这些凭据转发给目标应用,目标应用随后向用户发出第二重身份验证请求。用户很可能会批准该请求,因为他们以为自己正在向可信应用进行身份验证;用户会点击批准按钮,或按提示在应用中输入令牌。无论哪种情况,攻击者都能访问该应用。(如需观看此攻击的演示,请参阅Kevin Mitnick的这段视频。)

借助自动化手段,加之用户容易落入网络钓鱼骗局,RTPP攻击可能大规模得逞。(有关实时网络钓鱼代理增长趋势的更多数据,请参阅《F5 Labs网络钓鱼与欺诈报告》。)

基于短信的身份验证面临的新漏洞

使用SMS作为第二重身份验证因素,不仅无法消除仅使用密码进行身份验证时存在的许多漏洞,还会使应用面临更多攻击途径。

物理设备被盗

针对基于持有物的身份验证,最明显的攻击方式或许就是盗窃实体设备。犯罪分子窃取手机后,即使手机处于锁定状态,也可能获取通知中显示的一次性密码(OTP)。许多手机失窃受害者发现自己银行账户中的资金被盗。

SIM(用户身份识别模块)卡换卡攻击

犯罪分子无需实际持有手机,即可获取通过短信发送的一次性密码(OTP)。SIM卡交换(https://www.darkreading.com/edge/sim-swapping-attacks-what-they-are-how-to-stop-them)也称为SIM卡劫持或SIM卡移植,可让攻击者绕过基于短信的身份验证。这是面向客户的应用中最常用的多重身份验证(MFA)形式。在SIM卡交换攻击中,欺诈者会利用电信服务提供商将电话号码转移到另一台设备的功能。该功能原本便于用户在手机丢失或被盗时继续使用原号码。

欺诈者首先通过在线调查、网络钓鱼或社会工程手段收集受害者的个人信息。攻击者利用这些信息说服电信运营商将受害者的电话号码转移到欺诈者的SIM卡上。攻击者也可能通过凭据填充、暴力破解或字典攻击,入侵用户在服务提供商处的账户。

控制受害者的电话服务后,诈骗者将收到所有原本发给受害者的短信和语音来电,从而能够截获通过短信发送的任何安全令牌。

硬件令牌设备

硬件令牌设备是一类专用设备,通常体积很小,可显示一次性密码(OTP),用户将其输入应用程序进行身份验证。这类设备无需应用程序与用户通信即可验证用户持有该设备,从而消除基于短信的身份验证所面临的一个主要漏洞。

设备无需在每次登录时向用户发送OTP,而是根据初始种子值和算法生成一系列OTP。设置时,设备与身份验证服务会共享该种子值。种子值会与一个计数器结合;该计数器可随登录请求等事件递增,也可按60秒等时间间隔递增。我们将这两种方式分别称为基于事件的OTP(EOTP)和基于时间的OTP(TOTP)。EOTP和TOTP都属于基于哈希的OTP(HOTP),因为计数器和种子会一起传入哈希函数,生成看似随机的数字字符串;如果实施正确,该字符串不会呈现可预测的规律。

硬件令牌无需通过短信发送OTP,因此攻击者无法通过SIM卡交换等手段,在OTP到达用户之前将其截获。但是,用户必须在应用中输入OTP,而应用会通过与密码相同的通信通道将OTP传输到身份验证服务,因此基于短信的身份验证所存在的其他大多数漏洞仍然存在。攻击者可以采用与攻击短信OTP相同的方式,通过入侵端点、网络或应用来获取密码和OTP。

针对短信身份验证的常见攻击方式是实时网络钓鱼代理。无论OTP显示在手机还是专用设备上,用户都可能受骗,在虚假网站中输入OTP,因此这种攻击对硬件设备生成的OTP同样有效。

虽然硬件设备可避免攻击者在OTP传输给用户的过程中将其截获,但这类设备依赖的种子值可能遭到泄露。攻击者可通过实际接触设备(有关电子显微镜攻击的介绍,请参阅《破解MFA的12种以上方法》)、入侵身份验证服务所使用的数据库,或拦截设备与身份验证服务协商种子值的设置过程来获取种子值。

身份验证器应用

身份验证器应用的工作方式与硬件令牌非常相似,可根据初始种子和算法生成一系列一次性密码(OTP),无需通过易受攻击的通道传输种子。此外,它们还可利用其他通道传输OTP,进一步增强安全性。在这种情况下,用户名和密码验证成功后,身份验证服务会向身份验证器应用发送推送通知,提示用户批准请求。用户批准后,身份验证器应用会将OTP直接发送到身份验证服务,无需用户在应用中输入。身份验证器应用与身份验证服务之间通过单独的连接进行通信。

使用其他通信通道意味着,攻击者无法通过入侵应用程序来获取OTP,因为OTP从未输入该应用程序。由于密码和OTP通过不同的安全通道传输,攻击者也更难通过入侵网络连接来同时获取二者。但是,如果应用程序本身和身份验证器应用在同一设备上运行,入侵端点可能会使攻击者同时获取密码和OTP。(请参阅F5 Labs关于恶意软件的报告,该恶意软件会入侵Google Authenticator。)

遗憾的是,身份验证器应用无法阻止实时网络钓鱼代理。用户仍可能因收到网络钓鱼短信而受骗,在虚假网站中输入用户名和密码。用户输入凭据后,应用会向身份验证器应用发出请求。由于用户以为自己正在登录可信应用,很可能会批准该请求,从而完成身份验证。尽管攻击者始终无法看到一次性密码(OTP),但攻击者的代理此时将控制已经过身份验证的会话,进而访问用户的账户。(有关RTPP和推送通知身份验证的更多信息,请参阅Hacker News中的这篇网络钓鱼平台相关文章。)

此外,身份验证器应用简单易用,也为攻击者通过社会工程手段绕过MFA提供了另一种途径。在MFA轰炸或MFA疲劳攻击中,攻击者会发送多个欺诈性身份验证请求,诱骗目标提供身份验证码。攻击者通常使用自动化工具生成大量请求,向受害者发送过多通知或消息,要求其输入身份验证码,使其应接不暇。

虽然MFA轰炸可能会诱骗用户输入短信或硬件设备提供的一次性密码(OTP),但这种攻击对身份验证器应用尤其有效,因为用户只需按一下按钮,就能轻松停止接连不断的请求。

生物特征认证

生物特征认证的实现方式比基于持有物的认证更为多样。不仅触发认证请求并将相关数据传回认证服务的方法众多,生物特征的形式也多种多样,从指纹到虹膜扫描均有涉及。执行扫描所需的硬件可能集成在运行应用程序的设备中,例如笔记本电脑上的指纹读取摄像头,也可能需要使用独立硬件。生物特征读取器可能由操作系统或专用应用程序控制。由于实现方式存在这些差异,很难对每个漏洞进行建模。不过,需要认识到,尽管生物特征认证以安全性更高而著称,但仍存在一些非常明确的漏洞。

事实上,实时网络钓鱼代理是一种常见的持有要素绕过方法,同样也可用于绕过生物特征认证。当用户误以为攻击者控制的应用是可信应用并登录后,该应用会使用用户的凭据代其登录真正的应用,从而触发生物特征认证请求。只要用户认为自己正在真实应用中进行身份认证,就很可能继续完成生物特征认证,使攻击者得以访问该账户。(由W3C制定的FIDO2标准WebAuthn具备网络钓鱼防护机制,但尚未被Web应用广泛采用。)

能否通过攻陷端点、应用或网络来绕过生物识别身份验证,取决于具体的实现方式。如果生物识别身份验证系统与应用在同一设备上运行,攻陷端点可能会导致身份验证失效。如果应用负责管理生物识别身份验证流程,攻陷应用可能会导致身份验证失效。如果生物识别身份验证通过应用所用的同一通信通道传输,攻陷网络也可能会导致身份验证失效。简而言之,生物识别身份验证需要针对具体实现进行详细的威胁建模。

生物特征认证会带来一种独特的漏洞,即生物特征可能被复制和伪造。以指纹为例,我们几乎会在接触过的每个光滑表面上留下指纹,包括门把手、餐厅里的物品和垃圾。要从这些表面采集指纹并不难;我们都曾在警匪剧中无数次看到这样的情节。复制指纹同样不难,从3D打印机到软糖熊,都可以用来制作指纹复制品。

对于其他形式的生物特征识别,揭示生物特征如何被欺骗的安全研究人员与开发反欺骗技术的供应商之间一直在进行一场较量。3D面具曾骗过机场的面部识别设备,但这些面具可通过活体检测等方法识别。同样,攻击者曾将语音录音与深度伪造语音合成技术结合使用,以绕过语音识别系统。不过,录音设备产生的细微失真或许可以帮助检测此类欺骗。即使是虹膜图像,也可以使用美容隐形眼镜或人造眼球进行复制和伪造,但各种反欺骗技术可以检测此类欺骗,其中包括利用人体组织与合成材料在光照下的差异。简而言之,生物特征识别设备的安全性将取决于当前欺骗与反欺骗技术的发展水平。

即使我们像隐士一样生活,避免接触任何物体表面,攻击者仍可能窃取我们的生物特征数据。攻击者已通过恶意软件、社会工程以及利用未修补的漏洞,窃取了数十亿个用户名和密码。如果攻击者能够攻破存储密码的数据库,他们也必然会侵入存储生物特征数据的数据库。一旦某次数据泄露导致生物特征数据暴露,能否继续安全地使用这些数据进行身份验证,将取决于系统能否检测出对这些数据的仿冒。

复制和欺骗带来的安全风险之所以更加严重,是因为我们无法轻易改变生物识别技术所测量的特征。攻击者窃取密码后,我们可以更改密码。如果攻击者窃取了OPT加密狗或手机,我们可以更换设备并重置种子。但如果攻击者获取了我们的指纹、掌纹、面部图像或任何其他生物特征,并掌握了有效伪造这些特征的方法,我们就无法在不承受巨大痛苦的情况下改变这些身体特征。

提升多重身份验证的安全性

虽然MFA相比基于密码的单因素身份验证有所改进,但至少目前常见的实现方式仍存在漏洞。因此,不应将MFA视为安全之旅的终点,而应将其视为新的起点。应用安全最佳实践仍然至关重要,包括威胁建模、代码审查、漏洞扫描、渗透测试和红队测试。在进行威胁建模时,应审视身份验证和会话管理流程的各个环节,并考虑从身份存储到物理安全、网络安全和数据安全等众多攻击点。网络攻击很可能会瞄准最薄弱的环节。尤其是,MFA的漏洞凸显了几个需要重点关注的领域:缓解自动化攻击、防范JavaScript供应链攻击,以及考虑风险上下文。

从网络中移除机器人

犯罪分子利用机器人扩大多种针对MFA的主要攻击,包括凭据填充、实时网络钓鱼代理和MFA轰炸。因此,缓解机器人威胁是保护各种形式MFA的关键。

根据OWASP对凭据填充攻击的定义,犯罪分子会获取此前数据泄露事件中被盗的凭据(通常从暗网购买),并使用这些凭据尝试登录其他应用。由于已有数十亿条凭据因数据泄露而暴露,犯罪分子会利用机器人自动执行测试,以便测试海量凭据,从而尽可能提高收益。美国联邦调查局、美国证券交易委员会和纽约州总检察长办公室均已就凭据填充带来的财务风险发出警告;全球隐私大会是一个由130多家监管机构组成的协会,已将凭据填充认定为全球隐私威胁。

对于MFA和仅使用密码的身份验证而言,防范凭据填充攻击同样重要。MFA的核心在于使用多个身份验证因素,但如果未能保护第一个因素,就只剩下一个因素。一旦攻击者获取用户密码,双因素身份验证就会变成单因素身份验证,纵深防御也将失效。

此外,缓解机器人威胁至关重要,因为犯罪分子利用机器人攻击的不只是密码。事实上,机器人是成功发起实时网络钓鱼代理攻击的关键工具,而此类攻击是绕过MFA最常见的机制。当用户受网络钓鱼电子邮件诱骗,在虚假网站中输入凭据时,攻击者需要将这些凭据转发至目标应用,以触发MFA请求,无论该请求涉及短信、身份验证器应用,还是复杂的生物识别技术。为了快速、大规模地转发请求,犯罪分子需要将这一过程自动化,这意味着请求将由机器人转发至应用。(如需大致了解利用机器人绕过一次性密码的服务,请参阅Krebs on Security文章《一次性密码拦截机器人的兴起》。)因此,阻止恶意机器人提交凭据,可以大幅削弱实时网络钓鱼代理的有效性,并帮助组织更有效地保护持有因素和固有因素这两类身份验证因素。

犯罪分子利用机器人攻击MFA的另一种常见方式是MFA轰炸。在此情境下,“轰炸”是指大量生成登录请求,触发海量身份验证请求,诱使用户因误操作或不堪其扰而批准请求。为了针对大量用户生成足够多的请求,使攻击有利可图,犯罪分子需要将这一过程自动化。这也意味着,到达您网站的登录请求将由机器人生成。

这些示例表明,几乎所有针对MFA的攻击都需要依赖机器人才能大规模得逞。因此,实施MFA的组织需要认真对待机器人缓解措施。

遗憾的是,许多组织没有充分认识到机器人程序的复杂程度,也低估了犯罪分子频繁改造机器人程序以绕过检测的决心。相反,太多企业仍依赖已经失效的机器人程序缓解技术,包括CAPTCHA、IP地址拒绝列表和HTTP标头指纹。

CAPTCHA对机器人防护几乎没有作用,反而会给真实客户带来困扰,因为机器人可以利用依赖机器学习和点击农场的低成本CAPTCHA破解服务绕过这些验证。只需在网上搜索“CAPTCHA破解”服务,就会发现至少有十几家服务商在价格和速度方面展开竞争。要深入了解这些服务,可以阅读F5情报主管Dan Woods撰写的文章《我曾是一名人工CAPTCHA破解员》。更有意思的是,ChatGPT曾通过社会工程手段诱导他人代为完成CAPTCHA验证,从而成功绕过CAPTCHA。

对于依赖基于WAF的IP拒绝列表来缓解机器人流量的组织而言,这项任务同样艰巨。目前有一些服务可向机器人创建者提供数千万个住宅IP地址,用于绕过机器人检测。这些服务以轮换住宅代理的名义推广。机器人向代理发送HTTP请求,这与许多企业浏览器通过正向代理发送请求的方式类似;该服务会持续轮换用于向网站或API发送请求的公网IP地址。过去,机器人通常使用数据中心代理,这些代理往往来自云服务,广为人知且易于识别。然而,这些新型代理服务使用与客户位于同一地理区域的住宅IP地址。由于互联网服务提供商(ISP)采用网络地址转换(NAT),每个IP地址都可能同时代表机器人或真实客户,因此无法在不拒绝真实客户的情况下屏蔽所有这些IP地址。(有关这些服务如何获取这些IP地址的研究,请参阅论文《Your Phone is My Proxy》。)

同样,基于标头顺序差异来检测机器人也已不再奏效,因为机器人已经识破了这种方法。事实上,包括stealth-puppeteer和undetected-chromedriver在内的多个开源项目都能正确设置标头顺序,因此使用这些常见的自动化框架时,可以轻松绕过检测。

如今,要检测高级机器人,需要采用高级信号收集、全天候监控和机器学习,并对机器人的工具调整迅速做出响应。如果没有部署专用的机器人管理解决方案,即能够检测工具调整并迅速做出响应的防御措施,机器人将使犯罪分子能够有效扩大针对MFA的攻击规模。

防范JavaScript供应链攻击

一旦应用遭到入侵,几乎任何形式的MFA都会失效。如果攻击者将代码植入应用,防护便会彻底失守。攻击者可以获取凭据和其他MFA输入、窃取会话标识符以接管会话,或直接从应用中窃取数据。现代Web应用通常由20多个JavaScript文件组成,其中大部分来自第三方,且未经组织的应用安全团队审查。因此,通过JavaScript供应链攻击入侵应用的风险往往比通常认为的更高。

现有客户端安全协议过于静态,难以保护当今的动态Web应用。内容安全策略(CSP)通过限制脚本行为来防范JavaScript供应链攻击,但如果第三方供应商以违反CSP限制的方式动态更新脚本,CSP很容易导致网站功能中断。脚本违反安全策略时,您可能希望它停止运行,但这种情况若发生在生产环境中,可能会严重影响客户。(参见CSP为何失效?)子资源完整性(SRI)是另一种Web安全协议,但它更不适用于第三方动态内容,因为每次脚本发生变化时,都需要使用哈希值更新脚本标签;如果脚本在未通知的情况下发生变化,就无法做到这一点。事实上,SRI旨在阻止的正是大多数现代应用所依赖的这类脚本更新。

在缺乏明确控制措施来消除JavaScript供应链漏洞的情况下,组织需要灵活寻找方法,至少对相关风险进行监控。组织可以更全面地记录网站上的脚本,并根据脚本来源和变更频率评定风险等级。应定期审查通过标签管理器添加的脚本,以评估风险。组织可以采用监控工具,通过合成监控、报告模式下的CSP或在浏览器中运行的JavaScript代理来跟踪脚本行为。

由于第三方脚本频繁变更,且没有机会接受安全审查,组织必须持续监控其应用中是否存在可疑行为,例如脚本读取敏感数据并将其外泄至不受信任的域。如果不监控此类JavaScript供应链攻击,任何形式的MFA都无法保障用户安全。

识别已知可信用户,并对可疑行为进行质询

MFA的目的应是提升安全性,而不是用毫无意义的安全形式主义给客户增加负担。组织可以根据情境风险调整登录要求,避免反复要求重要的回头客进行MFA验证,转而通过延长用户会话简化其使用流程,为他们提供个性化、轻松无负担的体验,就像美国运输安全管理局(TSA)通过TSA PreCheck为可信旅客提供快速安检一样。

情境风险涉及多个维度:

  • 地理位置:根据IP地址判断,用户是否从常用地区登录?
  • ASN(自治系统编号):根据IP地址判断,用户登录时使用的ISP是否与平时相同,例如与其住所、工作地点或常去的咖啡馆关联的ISP?
  • 设备:用户是否使用常用设备登录?
  • 时间/日期:用户是否像往常一样,在一天中的同一时段或每周的同一天登录,例如早上登录办理银行业务,晚上登录玩游戏?
  • 行为:用户的打字速度是否与平时相同,鼠标移动模式以及复制和粘贴方式是否也与平时相似?
  • 功能:用户使用的功能是否与平时相同?

如果用户一直保持良好行为记录,并且从相同地点、使用相同设备、在每天相同时间,以相似的行为模式使用常用功能访问网站,甚至可能无需要求用户登录;可以改为持续进行静默身份验证并延长会话,为用户提供便利。如果上下文偏离正常模式,表明风险较高,则可以为应用添加自适应策略,逐步提高安全要求:要求使用密码登录、要求进行双重身份验证(2FA)、将账户标记为待审核、通过短信或电子邮件向用户发送登录提醒,或锁定账户,要求用户联系支持团队。

会话时长往往被设为固定期限,而不考虑上下文风险。这会导致任何持有会话令牌的人都能继续访问用户有权访问的数据,忽视了会话劫持风险。更安全的做法是遵循零信任原则:假定已发生入侵并持续监控。如果会话期间上下文发生变化,应提前结束会话并要求额外身份验证,验证的严格程度取决于上下文的变化幅度和数据的敏感程度。

结论

常言道,安全是一段旅程。MFA为这段旅程开辟了多条岔路,提供了更多选择;如果正确实施,这些选择可以切实增强安全性。然而,无论采用多少种因素、实施得多么完善、成本多么高,任何形式的MFA都无法让我们跳过这段旅程,直接抵达终点。可以肯定的是,今后还会有更多“密码已死”的论调,也会有更多宣传声称新的MFA技术将一劳永逸地保障身份验证安全,但意志坚定的攻击者仍有办法绕过新技术。

在加强关键应用安全的过程中,F5是值得信赖的合作伙伴。F5 Distributed Cloud Services包括用于缓解机器人攻击的Bot Defense、用于监控JavaScript供应链攻击的Client-Side Defense,以及用于识别回访用户并量化情境风险的Authentication Intelligence。借助F5的支持,您可以在保障MFA安全的同时优化客户体验。详细了解F5 Distributed Cloud Services并注册,与我们的团队沟通。

发布于2023年6月26日