APP漏洞自動化掃描專業評測報告(上篇)

1、前言

隨着Android操做系統的快速發展,運行於Android之上的APP如雨後春筍般涌現。因爲一些APP的開發者只注重APP業務功能的實現,對APP可能出現安全問題不夠重視,使得APP存在較多的安全隱患。國內一些安全廠商爲這些開發者提供了各類各樣的安全服務,包括APP的加固、安全漏洞分析等。html

目前在業界有不少自動化檢測APP安全性的在線掃描平臺。爲了瞭解目前國內移動APP在線漏洞掃描平臺的發展狀況,我進行了一次移動安全掃描平臺的評測分析;主要從漏洞項對比、掃描能力對比以及掃描結果這三個方向來對比。數據庫

但願這次的調研結果能夠爲讀者提供更加可靠的安全漏洞掃描服務建議。跨域

2、分析對象

這一章主要介紹須要對比的掃描平臺和須要測試的APP樣本。安全

2.1 對比平臺

掃描平臺 網址
阿里聚安全漏洞掃描 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進行屢次測試

 

2.2 測試樣本

測試樣本:編碼

名稱  版本
WiFi萬能鑰匙 4.0.9
墨跡天氣 5.0916.02
新浪微博 6.7.0
測試app
手機百度 7.4

經過上傳精心構造的包含各類漏洞的「測試APP」,測試它們的掃描能力,隨後上傳應用市場中下載量較大的應用程序進行實際測試。因爲受時間和資源的限制,並未大規模上傳應用進行測試,也只是詳細對比了WiFi萬能鑰匙的掃描結果。所以掃描結果有些許的片面性,但整體反映各個掃描平臺的檢測能力。加密

3、整體能力對比

3.1 掃描時間對比

如下列表各個掃描平臺掃描時間的對比,金剛只能檢測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和金剛時卻沒法預測大體的掃描時間。

3.2 漏洞項對比

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個)

3.3 掃描能力對比

最後我用本身編寫的測試APP測試各個掃描平臺的掃描能力。這些掃描能力主要分爲靜態檢測能力和動態檢測能力。靜態檢測能力包括檢測隱藏dex、過程間分析、正向分析、逆向分析;動態測試主要是指測試拒絕服務漏洞的能力,拒絕服務漏洞又能夠劃分爲:空Intent引發的拒絕服務,強制類型轉換引發的拒絕服務以及序列化對象致使的拒絕服務。因爲這些檢測能力決定了掃描器掃描結果的精度和準度,所以我詳細分析了各個掃描平臺的掃描能力。

轉載:http://www.cnblogs.com/redbricks/p/5752168.html

相關文章
相關標籤/搜索