OAuth中的“肮脏舞蹈”:研究人员揭示了网络攻击如何导致帐户劫持

安全研究人员发现,可以通过滥用OAuth流程来执行单击帐户劫持。OAuth,也称为开放式身份验证,是一种跨第三方服务管理身份和保护在线区域的框架。例如,服务提供商可以利用OAuth提供临时和安全的访问令牌,而不是利用帐户用户名和密码组合。但是,在某些情况下,攻击者可以滥用OAuth实现来窃取这些令牌并执行一键帐户劫持。

7月6日,Detectify的安全顾问Frans Rosén向我们介绍了几种潜在的攻击媒介,以及组织如何降低被入侵的风险。

罗森将这些场景描述为“肮脏的舞蹈”。攻击者可以滥用OAuth“舞曲”——他们的身份验证过程以及他们如何管理浏览器和服务提供商之间的通信——通过结合响应类型切换、无效状态和重定向 URI 编程“怪癖”来窃取用户信息,例如授权码或令牌.

包括Google和Mozilla在内的浏览器开发人员近年来一直在努力破坏任何潜在的跨域引用泄漏和跨站点脚本(XSS)攻击的途径。

然而,正如MITRE于6月底公布的最新2022年常见弱点枚举(CWE)最危险的25个软件弱点列表中所强调的那样,这些攻击仍然很常见,并且对全球用户构成威胁。

浏览器为降低这些攻击风险而实施的解决方案包括内容安全策略(CSP)和可信类型,它们允许软件拒绝可能导致DOM XSS和凭据劫持的数据值。

然而,研究人员表示,Slack、Facebook和Twitter等公司使用的OAuth登录流程可能会因为同样的影响而被“破坏”。

应该记住,这些类型的攻击并不容易执行,而且正如Rosén所说,涉及到对源代码的检查和对OAuth舞蹈如何工作的知识的“研究”。

要窃取代币,攻击者必须首先打破发行代币的系统和使用它们的服务提供商之间的链条。

这可以通过特制链接更改使用中的状态值来实现,该链接作为登录页面发送给潜在受害者,但使用攻击者的有效状态。

一旦受害者登录并被重定向回网站,“舞蹈”就会中断,因为用户没有有效的状态。然后将向用户显示一条错误消息,如果攻击者能够从错误页面泄漏数据和URL,研究人员表示,威胁行为者“现在可以使用自己的状态和从受害者那里泄漏的代码登录” .

也有可能使用响应类型、响应模式切换和重定向uri路径滥用来拦截连接并导致意外行为,尽管更改这些路径很困难。

“在使用代码的正确OAuth-dance中,在从服务提供商获取访问令牌的最后一步中,还必须提供redirect_uri以向服务提供商进行验证,”Rosén解释说。

“如果舞蹈中使用的redirect_uri与网站发送给提供商的值不匹配,则不会发出访问令牌。”

研究人员测试了不同的攻击方式,实现了一键劫持。5月12日报告了一个涉及Apple OAuth登录的漏洞。

攻击者还可以利用其他怪癖来破坏OAuth并获取泄露的URL。其中包括对在身份验证期间接收URL数据的第三方域执行XSS攻击,以及滥用用于获取URL的API。例如,没有充分来源检查的域可能面临被利用的风险。

“由于每个OAuth提供商都允许这么多不同的响应类型和模式,因此网站要涵盖所有不同的情况变得非常棘手,”Rosén 说。

为了降低攻击风险,研究人员建议查看OAuth 2.0 Security Best Current Practice guide,确保为OAuth的授权响应呈现的页面不包含第三方资源或链接,并且用户还应该考虑只允许有限的OAuth响应——类型和模式。

“您今天可能不会使用任何易受攻击的第三方脚本,但如果您组织中的任何人通过Google跟踪代码管理器或类似工具引入任何新内容,或者如果第三方脚本发生更改,您可以防止任何未来潜在的令牌泄漏,”Rosén评论道.

发表评论

评论已关闭。

相关文章