隐蔽重定向漏洞

隐蔽重定向(英语:Covert Redirect[1],是关于单点登录(Single sign-on)的安全漏洞。因其对OAuthOpenID的影响而为人所知[2]。由新加坡南洋理工大学物理和数学科学学院博士生王晶(Wang Jing)发现并命名[3]

隐蔽重定向的一个重要应用是进行钓鱼式攻击[4],别的网站钓鱼是用假的网站,而隐蔽重定向却是用真的知名网站进行钓鱼。这是一种完美钓鱼方式[5]

安全漏洞

2014年5月,继OpenSSL漏洞后,开源安全软件再曝安全漏洞。新加坡南洋理工大学研究人员王晶发现,OAuth2.0和OpenID授权接口的网站存隐蔽重定向漏洞、英文名为“Covert Redirect”。该漏洞OSVDB编号106567[6]。SCIP编号vuldb.13185[7]。中国国家资讯安全漏洞共享平台编号CNVD-2014-02785[8]。Bugtraq ID是67196[9]

该漏洞首先由CNET报道[10],并由此引起广泛关注和大量讨论。雅虎,福克斯新闻,骇客新闻,凤凰网,人民网等媒体认为该漏洞影响很大[11][12][13][14][15][16][17]。攻击者创建一个使用真实站点地址的弹出式登录窗口——而不是使用一个假的域名——以引诱上网者输入他们的个人资讯。而Mashable等则认为该漏洞是个旧漏洞[18]

最后的主流结论是,隐蔽重定向是一个值得注意的漏洞。该漏洞达不到HeartBleed的级别,但仍然是对授权应用权限的一个提醒[19][20]

OAuth和OpenID也分别对此漏洞进行了说明和建议[21][22]

入侵技术

攻击者创建一个使用真实站点地址的弹出式登录窗口——而不是使用一个假的域名——以引诱上网者输入他们的个人资讯[23]

漏洞危害

骇客可利用漏洞给钓鱼网站(phishing)“变装”,用知名大型网站链接引诱用户登录钓鱼网站,一旦用户访问钓鱼网站并登录授权,骇客即可读取其在网站上存储的私密资讯[2]

腾讯QQ、新浪微博、阿里巴巴淘宝、支付宝、搜狐网、网易、人人网、开心网、亚马逊、微软Live、WordPress、eBay、PayPal、Facebook、Google、Yahoo、LinkedIn、VK.com、Mail.Ru、Odnoklassniki.ru、GitHub等大量知名网站受影响[2]

鉴于OAuth和OpenID被广泛用于各大公司——如微软、Facebook、Google、以及LinkedIn——Wang表示他已经向这些公司已经了汇报。Wang声称,微软已经给出了答复,调查并证实该问题出在第三方系统,而不是该公司的自有站点。Facebook也表示,“短期内仍无法完成完成这两个问题的修复工作,只得迫使每个应用程式平台采用白名单”。至于Google,该公司正在追踪OpenID的问题;而LinkedIn则声称它已经在在部落格中说明这一问题[4]

其实漏洞不是出现在OAuth这个协议本身,这个协议本身是没有问题的,之所以存在问题是因为各个厂商没有严格引用官方文档,只是实现了简版。问题的原因在于OAuth的提供方提供OAuth授权过程中没有对回调的URL进行校验,从而导致可以被赋值为非原定的回调URL,就可以导致跳转、XSS等问题,甚至在对回调URL进行了校验的情况可以被绕过[23]

漏洞影响

通过对中国部分提供OAuth 2.0的网站进行测试和调查,发现均不同程度的存在以上的问题。

OAuth提供方 回调URL校验 可利用第三方应用漏洞 校验绕过
新浪微博 是(已修复)
百度 未测试
腾讯 (已修复)
360 未测试 未测试
开心网
人人网 未测试
淘宝网 未测试
天涯
搜狐
网易微博

从测试结果可以看出,除了百度绕过未进行测试外,其他都存在问题,而且好几个甚至对回调URL都没有进行校验,而对回调URL进行校验了的又可以被绕过[23]

漏洞防范

OAuth提供方

  • 对redirect_uri进行全路径验证,避免URL跳转情况
  • 参数state即用即毁
  • 首次授权,强制验证
  • 获取access_token,验证App secret
  • 回调URL进行跳转校验等
  • 加强redirect_uri验证,避免绕过[23]

普通用户

对于普通用户来说,其实没有什么好恐慌的,这次问题的利用的前提是对构造URL的访问,所以主要是针对URL提高警惕和识别,需要注意以下几点:

  • 只授权给可信的第三方应用
  • 不要访问不明来路的链接,正常的应用授权应该是通过页面中的登录按钮等方式进行的[23]

背景

OAuth是一个被广泛应用的开放登陆协议,允许用户让第三方应用访问该用户在某一网站上存储的私密的资讯(如照片,视频,联络人列表),而无需将用户名和密码提供给第三方应用。这次曝出的漏洞,可将OAuth 2.0的使用方(第三方网站)的回跳域名劫持到恶意网站去,骇客利用XSS漏洞攻击就能随意操作被授权的账号,读取用户的隐私资讯。像腾讯、新浪微博等社交网站一般对登录回调地址没有任何限制,极易遭骇客利用[16]

参见

参考文献

  1. ^ Covert Redirect. Tetraph. May 01 2014. [2014-11-08]. (原始内容存档于2014-11-08). 
  2. ^ Wang Jing. [2014-11-08]. (原始内容存档于2014-11-08). 
  3. ^ 4.0 4.1 兩款互聯網登錄系統曝出重大漏洞短期內或無法修復. 凤凰网. 5月03 2014. [2014-11-08]. (原始内容存档于2014-11-08). 
  4. ^ Facebook, Google Users Threatened by New Security Flaw. 雅虎. 5月02 2014. [2014-11-08]. (原始内容存档于2021-01-21). 
  5. ^ OAuth / OpenID Unspecified Application Redirect Weakness. OSVDB. 5月02 2014. [永久失效链接]
  6. ^ VulDB: OAuth/OpenID 2.0 privilege escalation. SCIP. 5月12 2014. [2014-11-08]. (原始内容存档于2016-03-15). 
  7. ^ OAuth 2.0隱蔽重定向漏洞. 国家资讯安全漏洞共享平台. 5月06 2014. (原始内容存档于2014-11-08). 
  8. ^ OAuth and OpenID Open Redirection Vulnerability. SecurityFocus. 2 May 2014 [15 November 2014]. (原始内容存档于2021-01-22). 
  9. ^ Serious security flaw in OAuth, OpenID discovered. CNET. 5月02 2014. [2014-11-08]. (原始内容存档于2015-11-02). 
  10. ^ Facebook, Google users threatened by new security flaw. 福克斯新闻. 5月05 2014. [2014-11-08]. (原始内容存档于2015-09-24). 
  11. ^ Nasty Covert Redirect Vulnerability found in OAuth and OpenID. Thehackernews. 5月03 2014. [2014-11-08]. (原始内容存档于2014-11-08). 
  12. ^ OAuth與OpenID登錄工具曝出重大漏洞. 网易. 5月03 2014. [2014-11-08]. (原始内容存档于2014-11-08). 
  13. ^ 兩款互聯網登錄系統曝出重大漏洞短期內或無法修復. 搜狐. 5月04 2014. [2014-11-08]. (原始内容存档于2014-11-08). 
  14. ^ OAuth和OpenID兩款登六系統再曝重大漏洞. 太平洋电脑网. 5月04 2014. (原始内容存档于2014-11-08). 
  15. ^ 16.0 16.1 Oauth2.0協議曝漏洞大量社交網隱私或遭泄露. 人民网. 5月04 2014. (原始内容存档于2014-11-08). 
  16. ^ OAuth與OpenID登錄工具曝出重大漏洞. CSDN. 5月04 2014. [2014-11-08]. (原始内容存档于2015-07-21). 
  17. ^ Another Security Flaw Gets the Heartbleed Treatment, But Don't Believe the Hype. Tetraph. 3 May 2014 [10 November 2014]. (原始内容存档于2021-03-27). 
  18. ^ Covert Redirect Flaw in OAuth is Not the Next Heartbleed. Symantec. May 03 2014. [2014-11-08]. (原始内容存档于2019-06-12). 
  19. ^ 'Covert Redirect' vulnerability impacts OAuth 2.0, OpenID. SC Magazine. 2 May 2014 [10 November 2014]. (原始内容存档于2016-03-17). 
  20. ^ OAuth Security Advisory: 2014.1 "Covert Redirect". OAuth. 5月04 2014. [2014-11-08]. (原始内容存档于2015-11-21). 
  21. ^ Covert Redirect. OpenID. 5月15 2014. [2014-11-08]. (原始内容存档于2014-10-20). 
  22. ^ 23.0 23.1 23.2 23.3 23.4 針對近期“博全球眼球OAuth漏洞”的分析與防範建議. 知道创宇. 5月06 2014. [2014-11-08]. (原始内容存档于2014-11-08). 

外部链接