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






