隱蔽重定向(英語:Covert Redirect)[1],是關於單點登錄(Single sign-on)的安全漏洞。因其對OAuth和OpenID的影響而為人所知[2]。由新加坡南洋理工大學物理和數學科學學院博士生王晶(Wang Jing)發現並命名[3]。
此條目可能包含原創研究。 (2016年5月14日) |
此條目需要精通或熟悉相關主題的編者參與及協助編輯。 (2014年11月8日) |
隱蔽重定向的一個重要應用是進行釣魚式攻擊[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]。
入侵技術
攻擊者創建一個使用真實站點地址的彈出式登錄窗口——而不是使用一個假的域名——以引誘上網者輸入他們的個人信息[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]。
漏洞防範
- 對redirect_uri進行全路徑驗證,避免URL跳轉情況
- 參數state即用即毀
- 首次授權,強制驗證
- 獲取access_token,驗證App secret
- 回調URL進行跳轉校驗等
- 加強redirect_uri驗證,避免繞過[23]
對於普通用戶來說,其實沒有什麼好恐慌的,這次問題的利用的前提是對構造URL的訪問,所以主要是針對URL提高警惕和識別,需要注意以下幾點:
- 只授權給可信的第三方應用
- 不要訪問不明來路的鏈接,正常的應用授權應該是通過頁面中的登錄按鈕等方式進行的[23]。
背景
OAuth是一個被廣泛應用的開放登陸協議,允許用戶讓第三方應用訪問該用戶在某一網站上存儲的私密的信息(如照片,視頻,聯繫人列表),而無需將用戶名和密碼提供給第三方應用。這次曝出的漏洞,可將OAuth 2.0的使用方(第三方網站)的回跳域名劫持到惡意網站去,黑客利用XSS漏洞攻擊就能隨意操作被授權的帳號,讀取用戶的隱私信息。像騰訊、新浪微博等社交網站一般對登入回調地址沒有任何限制,極易遭黑客利用[16]。
參見
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.