2018年1月9日,最新攻擊威脅模型「應用克隆」一經披露就吸引了多方關注,引起了很多網民的恐慌情緒。新年伊始,網絡安全問題又再次成爲大衆熱議的話題。html
漏洞描述android
「應用克隆」危機是指Android WebView的跨域訪問漏洞(CNVD-2017-36682),利用該漏洞,可遠程獲取用戶隱私數據(包括手機應用數據、照片、文檔等敏感信息),還可竊取用戶登陸憑證,在受害者毫無察覺的狀況下實現對APP用戶帳戶的徹底控制,至關於可遠程「克隆」用戶帳戶、竊取隱私信息、盜取帳號及資金等…web
WebView是Android用於顯示網頁的控件,是一個基於Webkit引擎、展示web頁面的控件。WebView控件功能除了具備通常View的屬性和設置外,還可對URL請求、頁面加載、渲染、頁面交互進行處理。跨域
因爲該組件普遍應用於Android平瀏覽器
臺,致使大量APP受影響,構成較爲嚴重的攻擊威脅。研究顯示,市面上200多款常見安卓應用中,有27款應用可被這種方式攻擊,佔比超過10%。安全
漏洞產生原理網絡
同源策略(Same Origin Policy)是禁止 JavaScript 進行跨站訪問的安全策略。它也是瀏覽器的沙盒環境所提供的一項制約。目前爲止一直使用着「相同主機」這個含糊的用語,而嚴格來講,「同源」需知足如下所有條件。app
URL 的主機(FQDN :Fully Qualified Domain Name,全稱域名)一致ide
Scheme(協議)一致函數
端口號一致
該漏洞產生的緣由是在Android應用中,WebView開啓了file域訪問,且容許file域對http域進行訪問,同時未對file域的路徑進行嚴格限制所致。攻擊者經過URL Scheme的方式,可遠程打開並加載惡意HTML文件,遠程獲取APP中包括用戶登陸憑證在內的全部本地敏感數據。
該漏洞觸發成功的前提條件以下:
1.WebView中setAllowFileAccessFromFileURLs 或setAllowUniversalAccessFromFileURLsAPI配置爲true(minSdk<=4.1 默認爲true,minSdk>4.1 默認爲false);
2.WebView能夠直接被外部調用,並可以加載外部可控的HTML文件。
風險等級
高危
漏洞影響範圍
漏洞影響使用WebView控件,開啓file域訪問而且未按安全策略開發的Android應用APP。
漏洞防禦方案
一、漏洞掃描檢測
1.1在代碼開發審計階段,使用海雲安的SCAP作源代碼安全審計
使用SCAP,在開發階段便可及時發現此漏洞,對該漏洞風險進行規避。
1.2在APP打包上架前,使用海雲安的MARS作黑盒測試自查,以下:
海雲安MARS對APP的安全檢測問題定位顆粒度可達到具體代碼類、方法、調用函數、調用模式級別,檢測準確率高。
二、開發編碼防禦
因爲google目前暫未發佈相應的解決方案,臨時解決方案以下:
1. file域訪問爲非功能需求時,手動配置setAllowFileAccessFromFileURLs或setAllowUniversalAccessFromFileURLs兩個API爲false。(Android4.1版本以前這兩個API默認是true,須要顯式設置爲false)
2. 若須要開啓file域訪問,則設置file路徑的白名單,嚴格控制file域的訪問範圍,具體以下:
(1)固定不變的HTML文件能夠放在assets或res目錄下,file:///android_asset和file:///android_res 在不開啓API的狀況下也能夠訪問;
(2)可能會更新的HTML文件放在/data/data/(app) 目錄下,避免被第三方替換或修改;
(3)對file域請求作白名單限制時,須要對「../../」特殊狀況進行處理,避免白名單被繞過。
3. 避免App內部的WebView被不信任的第三方調用。排查內置WebView的Activity是否被導出、必須導出的Activity是否會經過參數傳遞調起內置的WebView等。
4. 建議進一步對APP目錄下的敏感數據進行保護。客戶端APP應用設備相關信息(如IMEI、IMSI、Android_id等)做爲密鑰對敏感數據進行加密。使攻擊者難以利用相關漏洞得到敏感信息。
更多內容,歡迎進入海雲安網站進一步瞭解諮詢