近日IEEE發(fā)表了一份報(bào)告,直接炮轟如Stack Overflow這樣的社區(qū),為無經(jīng)驗(yàn)的、低技術(shù)能力的開發(fā)者和程序員提供了開發(fā)便利,從而導(dǎo)致了APP應(yīng)用開發(fā)的低安全性。
報(bào)告中指出Android代碼中的漏洞,包括但不限于不安全的數(shù)據(jù)存儲,未受保護(hù)的組件間通信,破壞的TLS實(shí)施以及違反最低特權(quán)的行為,已經(jīng)使全球的隱私泄露日益猖獗。
IEEE研究人員推測,APP應(yīng)用程序的發(fā)展會催生更多的安全問題,因?yàn)樗絹碓蕉嗟卦试S無經(jīng)驗(yàn)的、低技術(shù)能力的開發(fā)者和程序員來開發(fā)復(fù)雜和敏感的應(yīng)用程序。報(bào)告特別指出了如Stack Overflow之類的互聯(lián)網(wǎng)資源被指責(zé)為促進(jìn)由缺乏經(jīng)驗(yàn)的開發(fā)人員和程序員,復(fù)制/粘貼的不安全解決方案。
在本文中,IEEE的研究人員首次系統(tǒng)地分析了信息資源的使用如何影響代碼安全性。他們首先調(diào)查了295個(gè)在Google Play市場上發(fā)布的應(yīng)用程式開發(fā)人員,了解如何使用資源解決與安全相關(guān)的問題。
根據(jù)調(diào)查結(jié)果,與54名Android開發(fā)人員(學(xué)生和專業(yè)人員)進(jìn)行了實(shí)驗(yàn)室研究,其中參與者在時(shí)間限制下編寫了安全和隱私相關(guān)代碼。參與者被賦予四個(gè)條件選其一:自由選擇資源,僅限Stack Overflow,僅限官方Android文檔或僅限于書籍。那些被允許使用Stack Overflow的參與者產(chǎn)生的安全代碼遠(yuǎn)遠(yuǎn)低于使用官方Android文檔或書籍的安全代碼,而使用官方Android文檔的參與者的功能代碼比使用Stack Overflow的功能代碼少得多。
為了評估Stack Overflow作為資源的質(zhì)量,我們調(diào)查了參與者在研究過程中訪問的139個(gè)線程,發(fā)現(xiàn)只有25%的線程有助于解決分配的任務(wù),只有17%的用戶包含安全的代碼段。為了獲得關(guān)于我們參與者在實(shí)驗(yàn)室研究中寫的安全和不安全代碼普遍程度的實(shí)際實(shí)況,我們靜態(tài)分析了Google Play中20萬個(gè)應(yīng)用程序的隨機(jī)抽樣,發(fā)現(xiàn)93.6%的應(yīng)用程序至少使用了一個(gè)API。
▲
還發(fā)現(xiàn),參與者發(fā)生的許多安全錯誤也出現(xiàn)其他方面,也可能源于使用Stack Overflow來解決編程問題。總而言之,我們的結(jié)果證實(shí),API文檔是安全的,但很難使用,而諸如Stack Overflow之類的非正式文檔更易于訪問,但往往導(dǎo)致不安全。考慮到時(shí)間限制和經(jīng)濟(jì)壓力,相信Android開發(fā)人員將會繼續(xù)選擇最容易使用的資源,但是我們的研究結(jié)果表明APP應(yīng)用開發(fā)確實(shí)需要安全但可用的文檔。
報(bào)告全文:http://ieeexplore.ieee.org/document/7546508/?reload=true