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