您好,登錄后才能下訂單哦!
隨著Android操作系統的快速發展,運行于Android之上的APP如雨后春筍般涌現。由于一些APP的開發者只注重APP業務功能的實現,對APP可能出現安全問題不夠重視,使得APP存在較多的安全隱患。國內一些安全廠商為這些開發者提供了各種各樣的安全服務,包括APP的加固、安全漏洞分析等。
目前在業界有很多自動化檢測APP安全性的在線掃描平臺。為了了解目前國內移動APP在線漏洞掃描平臺的發展情況,我進行了一次移動安全掃描平臺的評測分析;主要從漏洞項對比、掃描能力對比以及掃描結果這三個方向來對比。
希望此次的調研結果可以為讀者提供更加可靠的安全漏洞掃描服務建議。
這一章主要介紹需要對比的掃描平臺和需要測試的APP樣本。
掃描平臺 | 網址 |
---|---|
阿里聚安全漏洞掃描 | http://jaq.alibaba.com/ |
360APP漏洞掃描 | http://dev.#/mod/vulscan |
騰訊金剛審計系統 | http://service.security.tencent.com/kingkong |
百度移動云測試中心 | http://mtc.baidu.com/startTest/safe |
AppRisk Scanner | https://apprisk.newskysecurity.com |
愛加密 | http://www.ijiami.cn/ |
梆梆加固 | 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審計的金剛審計系統。
愛加密掃描速度很快,但整個漏洞掃描就是為其加密模塊做鋪墊,掃描項非常簡單,沒有實際的漏洞掃描,只是簡單的字符串匹配,故掃描速度非常快。梆梆加密掃描速度也比較快,掃描內容比愛加密要豐富,一共14項,包含了一些高危漏洞的掃描,如與WebView相關的一些漏洞等,但是其漏洞掃描模塊也是為了給自己的加固服務做鋪墊,所以沒有選取這兩家。AppTest掌測測試成本太高,每次測試2999元起,所以沒有對它進行詳細分析。騰訊優測的掃描結果與金剛非常相似,但沒有金剛詳細;有時候掃描結果只有漏洞概述,沒有漏洞的詳細信息,也沒有修復建議。愛內測的掃描結果非常簡略,只判斷是否存在漏洞,而不統計漏洞的個數以及漏洞位置。
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引起的拒絕服務,強制類型轉換引起的拒絕服務以及序列化對象導致的拒絕服務。由于這些檢測能力決定了掃描器掃描結果的精度和準度,因此我詳細分析了各個掃描平臺的掃描能力。
由于內容太長,我將掃描能力和掃描結果單獨作為下篇分享出來,敬請關注!
Sunnieli
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。