Facebook的SDK漏洞威脅數(shù)以百萬計的手機用戶賬戶
來自MetaIntell智能手機領導風險管理(MRM)的安全研究人員,發(fā)現(xiàn)了一個最新版的Facebook的SDK中的漏洞,該漏洞會暴露數(shù)以百萬計的Facebook的用戶的身份認證令牌,聽起來還是很嚇人的。
Facebook的對于Android和IOS的SDK提供了使用身份驗證登錄Facebook,讀取和寫入到Facebook API等許多簡易方式。
Facebook的OAuth認證或說“以Facebook賬戶”登錄的機制,提供了一種無需用戶輸入用戶名或者密碼就能在第三方app上直接登錄的個性化而安全的方式。Faceook的SDK通過實現(xiàn)OAuth2.0的用戶代理流程來獲取應用所需要的訪問令牌,從而實現(xiàn)利用Facebook的API來實現(xiàn)讀取,修改或?qū)懭胗脩舻腇acebook數(shù)據(jù)的功能。
訪問未加密的訪問令牌
用戶的私人的秘密訪問令牌本應當永遠不會與任何人共享。但令人驚奇的是,研究人員發(fā)現(xiàn),F(xiàn)acebook的SDK庫直接把令牌以明文格式存儲在設備上,任何人都能輕易地獲取Android或者IOS的加密令牌,而完全不需要root或者越獄,我和我的小伙伴都驚呆了!
“在一臺IOS設備上,插上USB之后,僅僅需要5秒鐘,就可以通過juice jacking 攻擊獲取到訪問令牌。”MetaIntell的首席架構(gòu)師Chilik Tamir告訴記者。
來自其他程序的威脅
他還說,除此之外,我們手機上的任何被賦予讀取文件系統(tǒng)權(quán)限的app都能夠遠程訪問或者偷取用戶的Facebook訪問令牌。
研究人員戲稱為漏洞“社會登錄會話劫持”。該漏洞一旦被利用,便可以讓攻擊者通過訪問令牌和會話劫持的方法來訪問受害者的Facebook帳戶信息。
視頻演示
研究人員在youtube上發(fā)布了一段視頻,該視頻展示了研究人員是如何通過IOS版的Viber利用這個漏洞的。(很明顯,Viber使用了Facebook的OAuth認證登錄方式)
演示視頻:http://www.youtube.com/watch?v=1fylUF_YUqk //需要翻墻
Chilik Tamir 說,所有使用Facebook的OAuth認證方式登錄的iOS和Android應用程序都非常容易受到這種攻擊。
研究人員在blog中寫道,“MetaIntell已確定的前100名免費iOS應用程序中,有71個是使用Facebook
SDK的,而這些app的下載量已經(jīng)達到了12億,影響范圍相當廣。而在排名前100位的Android應用程序中,有31個app利用Facebook的SDK,下載次數(shù)則超過了1000億。”
Facebook的安全團隊的回應
MetaIntell團隊已經(jīng)通知了Facebook的安全團隊有關該漏洞的信息,但貌似Facebook沒有修復SDK的打算。
收到MetalIntell的漏洞報告之后,F(xiàn)acebook回應到:“我跟進了我們的平臺開發(fā)團隊,看看他們是否會在這方面作出任何變更:-在Android方面,我們已經(jīng)得出結(jié)論,我們不會做任何改變:我們認為安卓系統(tǒng)提供的安全等級是足夠高的。-另一方面,我們的IOS團隊正在探索以最安全方式將訪問令牌存儲到通過密鑰方可訪問的儲存位置的可能性。“
我們應當怎么應對?
移動應用程序的用戶應盡量不要使用移動應用程序中的“通過Facebook登錄”選項,同時禁止應用程序使用他們的Facebook登錄。
對于應用程序開發(fā)人員,我們建議將用戶的訪問令牌從本地存儲轉(zhuǎn)移到有安全加密傳輸?shù)木€上加密存儲空間中。