研究人员最近发现了一种令人不安的攻击趋势,这些攻击专门设计来绕过多因素身份验证(MFA)的保护机制。这些高级技术利用了身份验证工作流程中的漏洞,而非身份验证因素本身,从而使攻击者能够在启用 MFA 的情况下,仍能未经授权访问受保护的账户。
此次攻击标志着威胁行为者能力的重大演进,挑战了 MFA 几乎完全防止未经授权访问的普遍假设。
多因素身份验证已成为网络防御的基石,要求用户通过多种方式验证身份——通常是将密码与发送到移动设备或硬件令牌的一次性代码结合使用。这种分层方法传统上为攻击者设置了巨大的障碍,因为同时破坏多个身份验证因素被认为是非常困难或资源密集的。
然而,Quarkslab 的研究人员发现了一种特别复杂的绕过技术,该技术操纵的是身份验证过程本身,而不是试图窃取或破坏二次验证因素。他们的分析表明,攻击者利用的是系统验证和跟踪 MFA 完成状态时的时序漏洞和实施缺陷,从而有效地让应用误以为二次验证已成功完成,而实际上并没有。
这些攻击的影响尤其令人担忧,因为与传统暴力破解相比,它们通常留下的取证证据极少。许多受害者只有在发现异常账户活动时才会察觉被入侵,而此时敏感数据可能已经被窃取。安全团队发现这些攻击尤其难以检测,因为它们在安全日志中显示为合法的身份验证流程。
会话令牌操纵分析
最令人担忧的技术涉及在验证流程中精心定时地操纵身份验证响应数据。当用户发起身份验证时,主要因素(通常是密码)会生成一个初始会话令牌,该令牌随后处于挂起状态等待二次验证。攻击者发现了一些方法,可以在 MFA 挑战完成之前拦截并修改该令牌的状态标志。
正常的身份验证流程与被绕过验证步骤的受攻击流程形成鲜明对比。攻击通常使用 JavaScript 代码注入来修改身份验证响应,如下面的简化示例所示:
该代码片段展示了攻击者如何拦截身份验证响应并修改关键状态标志,以错误地表明 MFA 验证已成功完成。网络流量显示,修改后的响应正是在身份验证序列中被注入的时刻。
这种漏洞主要影响在身份验证服务器和资源服务器之间实现单独会话状态跟踪的系统。这种架构决策在网络安全延迟期间或发生特定错误条件时,形成了一个可被利用的安全缺口。
安全专家建议组织在整个会话周期内持续验证 MFA 状态,而不仅仅是在初始登录时,并采用无法在未检测到的情况下被修改的加密签名令牌。在系统更新以解决这些漏洞之前,用户应保持警惕,注意启用 MFA 后可能出现的异常账户活动,这可能表明未经授权的访问。