隨着Android操做系統的快速發展,運行於Android之上的APP如雨後春筍般涌現。因爲一些APP的開發者只注重APP業務功能的實現,對APP可能出現安全問題不夠重視,使得APP存在較多的安全隱患。國內一些安全廠商爲這些開發者提供了各類各樣的安全服務,包括APP的加固、安全漏洞分析等。html
目前在業界有不少自動化檢測APP安全性的在線掃描平臺。爲了瞭解目前國內移動APP在線漏洞掃描平臺的發展狀況,我進行了一次移動安全掃描平臺的評測分析;主要從漏洞項對比、掃描能力對比以及掃描結果這三個方向來對比。數據庫
但願這次的調研結果能夠爲讀者提供更加可靠的安全漏洞掃描服務建議。跨域
這一章主要介紹須要對比的掃描平臺和須要測試的APP樣本。安全
掃描平臺 | 網址 |
---|---|
阿里聚安全漏洞掃描 | http://jaq.alibaba.com/ |
360APP漏洞掃描 | http://dev.360.cn/mod/vulscan |
騰訊金剛審計系統 | http://service.security.tencent.com/kingkong |
百度移動雲測試中心 | http://mtc.baidu.com/startTest/safe |
AppRisk Scanner | https://apprisk.newskysecurity.com |
愛加密 | |
梆梆加固 | https://www.bangcle.com/ |
AppTest掌測 | http://www.appstest.cn/ |
TestIn測試平臺 | www.testin.cn/ |
騰訊優測 | http://utest.qq.com/ |
愛內測 | http://www.ineice.com/ |
AppScan | http://www-03.ibm.com/software/products/zh/appscan-mobile-analyzer |
Fortify SCA | http://www8.hp.com/us/en/software-solutions/application-security/ |
對上述掃描平臺,我都上傳APP進行了測試,簡單比較它們的掃描結果。最後,綜合檢測結果、它們在漏洞掃描領域的知名度以及它們的用戶數量,我選取表中前五個掃描平臺,即阿里聚安全、360APP漏洞掃描、金剛、百度和AppRisk進行詳細的對比分析;因爲金剛和優測都是騰訊旗下的產品,因此我選擇了專一於APP審計的金剛審計系統。app
愛加密掃描速度很快,但整個漏洞掃描就是爲其加密模塊作鋪墊,掃描項很是簡單,沒有實際的漏洞掃描,只是簡單的字符串匹配,故掃描速度很是快。梆梆加密掃描速度也比較快,掃描內容比愛加密要豐富,一共14項,包含了一些高危漏洞的掃描,如與WebView相關的一些漏洞等,可是其漏洞掃描模塊也是爲了給本身的加固服務作鋪墊,因此沒有選取這兩家。AppTest掌測測試成本過高,每次測試2999元起,因此沒有對它進行詳細分析。騰訊優測的掃描結果與金剛很是類似,但沒有金剛詳細;有時候掃描結果只有漏洞概述,沒有漏洞的詳細信息,也沒有修復建議。愛內測的掃描結果很是簡略,只判斷是否存在漏洞,而不統計漏洞的個數以及漏洞位置。ide
AppScan和Fortify SCA是國外的掃描平臺,分別屬於IBM和惠普。我分析了它們的掃描結果,AppScan的免費版本檢測結果沒有多大的參考價值,重要的漏洞信息都沒有顯示,若是測試時間超過4個小時,則會中斷掃描服務。Fortify SCA的掃描側重Web應用程序,雖然也能夠掃描Android程序,但掃描結果以Web漏洞爲主,差強人意,並且在免費試用15天后,每測試一個APP須要花費2000美圓,因此我沒有詳細分析這兩個平臺。函數
如下簡單統計了各個平臺的收費狀況,以下表:測試
掃描平臺 | 是否收費 | 備註 |
---|---|---|
阿里聚安全漏洞掃描 | 免費 | 徹底免費 |
360APP漏洞掃描 | 免費 | 徹底免費 |
騰訊金剛審計系統 | 免費 | 徹底免費 |
百度移動雲測試中心 | 9.9元/次 | 新用戶能夠得到一張9元代金券,只能用百度錢包支付剩餘的0.9元 |
AppRisk Scanner | 不詳 | 普通帳戶能夠測試2個app,隨後能夠經過能夠經過郵件聯繫AppRisk升級帳戶 |
愛加密 | 免費 | 漏洞掃描主要爲其加密服務作推廣,掃描能力不好 |
梆梆加固 | 免費 | 漏洞掃描主要爲其加密服務作推廣,掃描能力較差 |
AppTest掌測 | 2999元/次 | AppTest掌測還有其餘測試服務,收費標準不一樣,安全測試是2999元/次 |
TestIn測試平臺 | 2000元/次 | 安全掃描服務須要填寫很是詳細的申請表纔有機會得到1次試用服務 |
騰訊優測 | 200元/次 | 新用戶無償使用一次。經過U幣的形式付款,1U幣=1元 |
愛內測 | 免費 | 愛內測免費版主要爲其定製化檢測作廣告 |
AppScan | 混合 | AppScan將用戶分爲免費帳戶和標準帳戶,免費帳戶的掃描結果簡單;標準帳戶能夠按次收費也能夠按月收費 |
Fortify SCA | 2000美圓/個 | 新用戶免費試用15天,超過15天后每測試一個APP須要2000美圓,一年內可對同一個APP進行屢次測試 |
測試樣本:編碼
名稱 | 版本 |
---|---|
WiFi萬能鑰匙 | 4.0.9 |
墨跡天氣 | 5.0916.02 |
新浪微博 | 6.7.0 |
測試app | 無 |
手機百度 | 7.4 |
經過上傳精心構造的包含各類漏洞的「測試APP」,測試它們的掃描能力,隨後上傳應用市場中下載量較大的應用程序進行實際測試。因爲受時間和資源的限制,並未大規模上傳應用進行測試,也只是詳細對比了WiFi萬能鑰匙的掃描結果。所以掃描結果有些許的片面性,但整體反映各個掃描平臺的檢測能力。加密
如下列表各個掃描平臺掃描時間的對比,金剛只能檢測50M之內的APP,因此沒有新浪微博的檢測時間,而百度每檢測一次收費9.9元,並且沒有記錄掃描時間;受限於時間和經費,沒有再次檢測APP以獲取掃描時間,單位:分。
阿里聚安全 | 360 | 百度 | 金剛 | Apkrisk | |
---|---|---|---|---|---|
WiFi萬能鑰匙(5.38M) | 6 | 458 | 無 | 1395 | 3 |
墨跡天氣(14.9M) | 16 | 1256 | 無 | 1577 | 4 |
手機百度(36.8M) | 21 | 261 | 無 | 710 | 7 |
新浪微博(53.2M) | 45 | 1112 | 無 | 無 | 8 |
補充一下,時間的獲取是以掃描界面內對應APP給出的或者是以收到掃描結束通知爲依據的。能夠看出,阿里聚安全和AppRisk的掃描時間與APP的大小成正比,而360和金剛沒有明顯的規律。當用戶把APP投入阿里聚安全和AppRisk中掃描時,能夠根據APP的大小預測大體的掃描時間;而投入到360和金剛時卻沒法預測大體的掃描時間。
360將許多類型相同的漏洞分紅多個具體的漏洞,我將其合併一下(組件導出歸爲一類,文件讀寫歸爲一類,SQL注入歸爲一類)。
如下是具體漏洞個數對比:
漏洞類型 | 阿里聚安全 | 360 | 金剛 | 百度 | Apkrisk |
---|---|---|---|---|---|
WebView組件遠程代碼執行漏洞 | √ | √ | √ | √ | √ |
WebView繞過證書校驗漏洞 | √ | √ | √ | √ | √ |
WebView明文存儲密碼風險 | √ | √ | √ | ||
WebView組件系統隱藏接口漏洞 | √ | √ | √ | √ | √ |
組件導出風險 | √ | √ | √ | √ | |
存在能夠被惡意訪問的表單 | √ | ||||
存在外部可訪問的表單 | √ | ||||
本地代碼執行漏洞 | √ | ||||
本地SQL注入漏洞 | √ | √ | |||
私有文件遍歷漏洞 | √ | √ | |||
getDir任意讀寫 | √ | ||||
通用簽名漏洞 | √ | ||||
安全加固風險 | √ | ||||
不安全的反射 | √ | ||||
META-INF目錄存在敏感文件信息 | √ | ||||
ContentProvider文件跨域訪問 | √ | ||||
Native動態調試 | √ | ||||
固定端口監聽風險 | √ | ||||
Zip文件目錄遍歷漏洞 | √ | ||||
密鑰硬編碼 | √ | √ | |||
廣播信息泄露風險 | √ | √ | |||
Url用戶敏感信息泄露 | √ | ||||
Uri用戶敏感信息泄露 | √ | ||||
外部URL可控的WebView | √ | ||||
KeyStore風險 | √ | √ | |||
嘗試使用root權限 | √ | ||||
Intent敏感數據泄露風險 | √ | √ | |||
運行其餘可執行程序風險 | √ | ||||
第三方庫檢測 | √ | ||||
日誌泄露風險 | √ | √ | √ | √ | |
Dex文件動態加載風險 | √ | √ | √ | ||
數據庫全局讀寫漏洞 | √ | √ | |||
WebView File域同源策略繞過 | √ | √ | √ | ||
Fragment注入漏洞 | √ | √ | √ | ||
初始化IVParameterSpec函數出錯 | √ | √ | √ | √ | |
PendigIntent誤用風險 | √ | √ | √ | ||
用戶自定義權限濫用風險 | √ | √ | √ | √ | |
SharedPrefs任意讀寫 | √ | √ | √ | √ | √ |
源碼泄露漏洞(混淆率等) | √ | ||||
App存在隱式意圖調用 | √ | √ | √ | ||
加密哈希函數漏洞MD5 | √ | ||||
加密哈希函數漏洞SHA-1 | √ | ||||
證書弱校驗 | √ | √ | √ | √ | √ |
主機名弱校驗 | √ | √ | √ | √ | |
隨機數加密破解漏洞 | √ | √ | √ | √ | √ |
Intent Scheme URL漏洞 | √ | √ | √ | ||
本地拒絕服務 | √ | √ | |||
全局文件可讀可寫 | √ | √ | √ | √ | √ |
強制類型轉換本地拒絕服務漏洞 | √ | √ | |||
AES/DES弱加密 | √ | √ | √ | √ | |
RSA弱加密風險 | √ | √ | |||
調試開關開啓風險 | √ | √ | √ | √ | √ |
備份功能開啓風險 | √ | √ | √ | √ | √ |
中間人攻擊 | √ | √ | √ | √ |
從上表能夠看出,五個產品相同的掃描項有9種,其中四個產品相同的掃描項有7種。總的來講,這五個產品基本覆蓋了目前Android應用程序可能出現的全部漏洞。
整體覆蓋量排名:阿里聚安全(35個)>360(31個)>百度(26個)>金剛(23個)>Apkrisk(20個)
最後我用本身編寫的測試APP測試各個掃描平臺的掃描能力。這些掃描能力主要分爲靜態檢測能力和動態檢測能力。靜態檢測能力包括檢測隱藏dex、過程間分析、正向分析、逆向分析;動態測試主要是指測試拒絕服務漏洞的能力,拒絕服務漏洞又能夠劃分爲:空Intent引發的拒絕服務,強制類型轉換引發的拒絕服務以及序列化對象致使的拒絕服務。因爲這些檢測能力決定了掃描器掃描結果的精度和準度,所以我詳細分析了各個掃描平臺的掃描能力。
轉載:http://www.cnblogs.com/redbricks/p/5752168.html