全軍覆沒(méi):Android主流應(yīng)用普遍存在加密漏洞

aqniu
研究者用Crylogger測(cè)試了Google Play商店中1780個(gè)流行的Android應(yīng)用程序,涵蓋了流行的信息流媒體、文件和密碼管理器、身份驗(yàn)證應(yīng)用程、個(gè)人通訊等多種應(yīng)用,結(jié)果令人震驚,幾乎所有Android應(yīng)用都存在加密漏洞。

哥倫比亞大學(xué)的研究人員近日發(fā)布了Crylogger,這是一種開(kāi)放源代碼動(dòng)態(tài)分析工具,可檢測(cè)Android應(yīng)用程序中存在的加密漏洞。

研究者用Crylogger測(cè)試了Google Play商店中1780個(gè)流行的Android應(yīng)用程序,涵蓋了流行的信息流媒體、文件和密碼管理器、身份驗(yàn)證應(yīng)用程、個(gè)人通訊等多種應(yīng)用,結(jié)果令人震驚,幾乎所有Android應(yīng)用都存在加密漏洞:

●所有受測(cè)應(yīng)用都違反26條加密規(guī)則中的至少一項(xiàng)

●1775個(gè)應(yīng)用使用了不安全的偽隨機(jī)數(shù)生成器(PRNG)

●1764個(gè)應(yīng)用使用了損壞的哈希函數(shù)(SHA1、MD2、MD5等)

●1076個(gè)應(yīng)用程序使用CBC操作模式(在客戶端-服務(wù)器方案中容易受到填充oracle攻擊的影響)

●820個(gè)應(yīng)用程序使用靜態(tài)對(duì)稱加密密鑰(硬編碼)

關(guān)于Crylogger

接受檢測(cè)的每個(gè)帶有工具化密碼庫(kù)的應(yīng)用程序都在Crylogger中運(yùn)行,該工具記錄程序執(zhí)行期間傳遞給密碼API的參數(shù),然后使用密碼規(guī)則列表離線檢查其合法性。

研究人員解釋說(shuō):“加密(密碼)算法是所有安全系統(tǒng)的基本組成部分:例如,加密哈希函數(shù)和加密算法可以保證諸如完整性和機(jī)密性之類的安全屬性。”

“所謂加密濫用就是調(diào)用的加密API未遵守通用安全準(zhǔn)則,例如由密碼學(xué)家或NIST和IETF等組織建議的準(zhǔn)則。”

為了確認(rèn)可以真正利用Crylogger識(shí)別并標(biāo)記加密漏洞,研究人員手動(dòng)對(duì)28個(gè)經(jīng)過(guò)測(cè)試的應(yīng)用程序進(jìn)行了反向工程,并發(fā)現(xiàn)其中14個(gè)確實(shí)容易受到攻擊(即使某些問(wèn)題可能被開(kāi)發(fā)人員認(rèn)為不在加密范圍內(nèi),因?yàn)樗鼈冃枰嵘龣?quán)限才能有效利用)。

雙管齊下

通過(guò)對(duì)150個(gè)樣本應(yīng)用的對(duì)比測(cè)試,研究者發(fā)現(xiàn)Crylogger(動(dòng)態(tài)分析工具)與CryptoGuard(檢測(cè)Java應(yīng)用程序加密濫用的一個(gè)開(kāi)源靜態(tài)分析工具)存在互補(bǔ)關(guān)系,前者漏掉的一些漏洞會(huì)被后者檢測(cè)到,反之亦然。

研究人員建議開(kāi)發(fā)者在應(yīng)用在應(yīng)用商店上架或發(fā)布之前,同時(shí)使用以上兩個(gè)工具對(duì)應(yīng)用進(jìn)行測(cè)試。

令人揪心的發(fā)現(xiàn)

如本文開(kāi)頭所述,太多的應(yīng)用程序破壞了太多的加密規(guī)則。而且,太多的應(yīng)用程序和庫(kù)開(kāi)發(fā)人員選擇忽略這些問(wèn)題。

研究人員通過(guò)電子郵件向306個(gè)違反9個(gè)或更多加密規(guī)則的Android應(yīng)用程序開(kāi)發(fā)人員發(fā)送了電子郵件:只有18個(gè)開(kāi)發(fā)人員回覆,只有8個(gè)開(kāi)發(fā)人員在第一封電子郵件后繼續(xù)進(jìn)行交流,并提供了有關(guān)其發(fā)現(xiàn)的有用反饋。他們還聯(lián)系了流行的Android庫(kù)的6位開(kāi)發(fā)人員,并從其中2位獲得了答案。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論