大量開(kāi)發(fā)者會(huì)將訪問(wèn)token和API密鑰硬編碼至Android應(yīng)用
現(xiàn)如今,許多開(kāi)發(fā)者仍然習(xí)慣于將access token(訪問(wèn)憑證)和API key(API密鑰)等敏感內(nèi)容編碼到移動(dòng)APP中去,將依托于各種第三方服務(wù)的數(shù)據(jù)資產(chǎn)置于風(fēng)險(xiǎn)中。
機(jī)密信息易遭泄漏
網(wǎng)絡(luò)安全公司Fallible一項(xiàng)最新的研究結(jié)果(點(diǎn)擊查看)顯示:在統(tǒng)計(jì)到的16,000多個(gè)安卓應(yīng)用中,有約2,500個(gè)應(yīng)用都出現(xiàn)開(kāi)發(fā)者將機(jī)密憑證硬編碼進(jìn)去的情況。統(tǒng)計(jì)工具為去年11月該公司生產(chǎn)的在線掃描程序。
應(yīng)該說(shuō),當(dāng)需要提供的訪問(wèn)只在有限的范圍內(nèi)時(shí),將第三方服務(wù)的訪問(wèn)憑證硬編碼到應(yīng)用程序中的做法還是可以理解的。但在某些情況下,開(kāi)發(fā)者如果將允許訪問(wèn)機(jī)密數(shù)據(jù)或關(guān)鍵系統(tǒng)的key也加入進(jìn)去,就很容易產(chǎn)生問(wèn)題。
比如,在Fallible本次的統(tǒng)計(jì)中,有304個(gè)APP就出現(xiàn)了這種情況。這些APP包含了為如Twitter,Dropbox,F(xiàn)lickr,Instagram,Slack,AWS(亞馬遜云計(jì)算)等服務(wù)準(zhǔn)備的access token和API key。對(duì)比16,000的統(tǒng)計(jì)總數(shù),這300多個(gè)應(yīng)用可能不算多,但是從它們所牽涉的服務(wù)類型和訪問(wèn)權(quán)限來(lái)看,一個(gè)小小的key就可能會(huì)導(dǎo)致大量的數(shù)據(jù)泄漏。
就拿Slack(流行的辦公交流應(yīng)用)token來(lái)說(shuō),這種token可允許你訪問(wèn)開(kāi)發(fā)團(tuán)隊(duì)使用的聊天日志,而這些日志中很可能包含如數(shù)據(jù)庫(kù),持續(xù)集成平臺(tái)和其他內(nèi)部服務(wù)的更多憑證,更不要說(shuō)訪問(wèn)共享文件等內(nèi)容。去年,網(wǎng)站安全公司Detectify就曾發(fā)現(xiàn)超過(guò)1,500個(gè)Slack token被硬編碼到GitHub上的開(kāi)源項(xiàng)目中。(了解更多詳情)
不僅如此,AWS訪問(wèn)憑證也曾被大量發(fā)現(xiàn)于GitHub的項(xiàng)目中,這使得亞馬遜不得不主動(dòng)出擊掃描這些漏洞并棄用遭泄漏的密鑰。據(jù)Faillible的研究人員在博客中介紹,許多被發(fā)現(xiàn)的AWS服務(wù)密鑰都提供了可以創(chuàng)建和刪除實(shí)例(instance)的權(quán)限。刪除AWS instance會(huì)導(dǎo)致數(shù)據(jù)損失和服務(wù)停止,而創(chuàng)建instance則在給黑客帶來(lái)便利的同時(shí),由受害者來(lái)買(mǎi)單。
不過(guò),這也不是人們第一次在移動(dòng)應(yīng)用中發(fā)現(xiàn)API key, access token等機(jī)密憑證。2015年德國(guó)達(dá)姆施塔特市科技大學(xué)的研究人員曾在安卓和iOS系統(tǒng)中發(fā)現(xiàn)超過(guò)1,000個(gè)用于BaaS(后端即服務(wù))框架的訪問(wèn)憑證。這些憑證允許訪問(wèn)超過(guò)1850萬(wàn)條數(shù)據(jù)庫(kù)記錄,包含應(yīng)用開(kāi)發(fā)者存儲(chǔ)在Pares,CloudMine,AWS等BaaS服務(wù)提供商那里的56,000,000個(gè)數(shù)據(jù)項(xiàng)目。
Truffle Hog
本月的早些時(shí)候,一名安全研究人員曾公布了一款叫做“Truffle Hog”(松露豬,專門(mén)在秋天嗅探埋藏在土里的松露)的工具。此款工具能幫助公司及獨(dú)立開(kāi)發(fā)者掃描他們的程序,尋找那些可能早些時(shí)候添加之后卻又忘記了的秘密token。