近期國內(nèi)多款安卓版知名手機(jī)APP被曝光存在“應(yīng)用克隆”漏洞。攻擊者利用該漏洞,可以輕松“克隆”用戶賬戶,竊取隱私信息,盜取賬號及資金等,國內(nèi)約10%的主流APP受到漏洞影響。作為中國領(lǐng)先的網(wǎng)絡(luò)安全廠商,360旗下APP從產(chǎn)品開發(fā)階段就已對“應(yīng)用克隆”攻擊威脅進(jìn)行全面預(yù)防,完全不受此次漏洞影響。
360旗下的360加固保聯(lián)合自動化漏洞檢測平臺360顯危鏡,針對該問題,第一時間上線解決方案,提供免費(fèi)的在線安全掃描服務(wù),開發(fā)者只需登錄加固官網(wǎng)(http://jiagu.# ),選擇“安全掃描”服務(wù),一鍵上傳應(yīng)用,即可獲得專業(yè)的安全風(fēng)險報(bào)告。
需要注意的是,如果報(bào)告中同時存在“WebView存在本地接口”和“WebView啟動訪問文件數(shù)據(jù)”兩個漏洞風(fēng)險,開發(fā)者就要尤其注意,通過人工檢測的方法判斷APP是否有被利用的安全風(fēng)險。
根據(jù)360信息安全中心的評估,“應(yīng)用克隆”漏洞攻擊模型中主要涉及到兩個過程,一是數(shù)據(jù)讀取,二是數(shù)據(jù)復(fù)制。在數(shù)據(jù)讀取過程中主要涉及到WebView的跨源攻擊,因?yàn)锳ndroid沙盒的存在,兩個應(yīng)用之間一般情況下是不可以進(jìn)行文件的相互訪問,但不正確的使用WebView可能會打破這種隔離。WebView未禁用file域訪問,允許file域訪問http域,且未對file域的路徑進(jìn)行嚴(yán)格限制的情況下,攻擊者通過URL Scheme的方式,可遠(yuǎn)程打開并加載惡意HTML文件,遠(yuǎn)程獲取APP中包括用戶登錄憑證在內(nèi)的所有本地敏感數(shù)據(jù),并外傳到攻擊者的服務(wù)器。
由于漏洞的攻擊鏈條中,需要利用多個漏洞才能實(shí)現(xiàn),因此可有多種方式截?cái)嘣摴舻膶?shí)現(xiàn)方式。針對上述幾個問題,只要從任何一點(diǎn)截?cái)?,即可極大程度上杜絕該漏洞攻擊的實(shí)現(xiàn)。
修復(fù)建議:
1. 在使用Webview時,對于不需要使用file協(xié)議的應(yīng)用,禁用file協(xié)議。
setAllowFileAccess可以設(shè)置是否允許WebView使用File協(xié)議,默認(rèn)值是允許,如果不允許使用File協(xié)議,則不會存在跨源的安全威脅。
2. 對于需要使用file協(xié)議的應(yīng)用,禁止file協(xié)議調(diào)用javascript。
setJavaScriptEnabled可以設(shè)置是否允許WebView使用JavaScript,默認(rèn)是不允許,但很多應(yīng)用,包括移動瀏覽器為了讓W(xué)ebView執(zhí)行http協(xié)議中的javascript,都會主動設(shè)置允許WebView執(zhí)行Javascript,而又不會對不同的協(xié)議區(qū)別對待,比較安全的實(shí)現(xiàn)是如果加載的url是http或https協(xié)議,則啟用javascript,如果是其它危險協(xié)議,如是file協(xié)議,則禁用javascript。
3. 設(shè)置file域白名單,檢查file域路徑避免被繞過。
固定不變的HTML文件可以放到assets或res目錄,可能會更新的HTML文件放到應(yīng)用私有目錄下,避免被第三方替換或修改,對file域請求做白名單限制時,需要對“../../”特殊情況進(jìn)行處理,避免白名單被繞過。
360加固保一直致力于守護(hù)為移動應(yīng)用安全,會及時推送安全相關(guān)資訊、第一時間發(fā)布漏洞預(yù)警,提供解決方案,關(guān)注微信公眾號(360加固保),為移動應(yīng)用安全保駕護(hù)航。
申請創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!