隱蔽重新導向(英語: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.