梆梆安全的移動應用測評云平臺能夠幫助移動應用開發(fā)者對其APP進行全面的安全測評,測試包括自動和人工兩種方式,測評項目包括安全檢測、風險評估和漏洞掃描三類。測評結束后,開發(fā)者會獲得一份安全測評報告,里面記錄了每個測評項目的測評目的、測評項目可能產(chǎn)生的危害、測評項目的詳細內(nèi)容以及相應的解決方案。一般在自動測評方式下,開發(fā)者就可以獲知當前應用所面臨的主要安全問題,而人工測評方式由專業(yè)滲透和逆向測試工程師進行,能夠幫助開發(fā)者對其應用進行更加全面和細致的安全測評。
移動應用的安全檢測
安全檢測可以幫助應用開發(fā)者檢查其所開發(fā)應用APK的內(nèi)部行為是否符合安全規(guī)范,一共會檢測7個項目。
。1) 病毒檢測,顧名思義就是檢測APK是否含有病毒特征。
。2) 敏感行為檢測包括短信、彩信行為檢測,上網(wǎng)行為檢測,系統(tǒng)破壞行為檢測,安裝卸載行為檢測,隱私竊取行為檢測,收藏夾篡改檢測,動態(tài)加載行為檢測。
。3) 配置文件檢測會分別對APK里的Receiver組件和Service組件進行檢測。
。4) 權限檢測主要是進行APK敏感權限和冗余權限的檢測。
。5) 敏感詞檢測包含代碼檢測和資源檢測兩項。
。6) 廣告檢測主要測評APK里是否有廣告內(nèi)容。
。7) 動態(tài)檢測主要是進行上網(wǎng)行為檢測、本地配置文件讀寫檢測、數(shù)據(jù)文件讀寫檢測、SD卡文件讀寫檢測、短信行為參數(shù)解析、彩信行為、加解密算法檢測、反射類和方法調(diào)用檢測以及隱私泄密。
以上這些安全檢測可以提前幫助應用開發(fā)者發(fā)現(xiàn)其APP內(nèi)部是否存在信息泄露、權限混亂等危險。而且這些檢測項目都可以通過自動方式完成。
移動應用的風險評估
風險評估能夠檢測APK在實際應用中可能面臨的外部風險,比如二次打包、反編譯、數(shù)據(jù)泄漏等。風險評估包含41個測評項目,其中有9項可以通過自動方式完成,其余的項目則需要通過人工方式進行測評。
在可以自動測評的項目里,代碼保護會檢測JAVA層代碼是否有保護、是否做過混淆、是否有調(diào)試符號;Java層調(diào)試會檢測AndroidManifest中的調(diào)試標記;組件安全評估會檢測AndroidManifest中的組件是否能夠被導出;敏感函數(shù)調(diào)用會檢測APP中是否包含敏感函數(shù),例如短信操作、聯(lián)系人操作等等;調(diào)試日志函數(shù)評估用于檢測APP中是否有調(diào)試日志函數(shù)調(diào)用;動態(tài)調(diào)試可以檢測APP是否可被動態(tài)調(diào)試,應用運行時是否可以被GDB工具掛接;動態(tài)注入可以檢測APP是否可被動態(tài)注入;APP防篡改評估則會檢查應用的代碼、資源文件、配置文件等被篡改(如添加廣告)后是否可以重新打包并正常運行;明文數(shù)字證書風險評估則是檢測客戶端是否包含明文存儲的數(shù)字證書文件。
需要人工進行的風險評估包括加固殼識別、完整性校驗、卸載清除、版本升級、登錄控制、支付控制、支付密碼設置、雙因子認證、超時重新鑒權、密碼強度、反編譯防范、測試數(shù)據(jù)包含、安裝包中敏感信息加密、第三方SDK安全、敏感信息顯示、敏感數(shù)據(jù)截獲、密碼專用鍵盤保護、未授權程序組件訪問、敏感數(shù)據(jù)存儲、敏感數(shù)據(jù)殘留、遠程數(shù)據(jù)傳輸保密性、交易通信完整性、日志信息、界面切換后敏感信息需清空、通訊協(xié)議檢測、雙向認證、重放攻擊、轉(zhuǎn)賬安全性檢測、界面劫持、截屏防范、遠程數(shù)據(jù)傳輸保密性、交易通信完整性。
移動應用的漏洞掃描
漏洞掃描對于移動應用而言十分重要,漏洞掃描可以幫助開發(fā)者提前發(fā)現(xiàn)其APK里存在的安全漏洞,防止惡意攻擊者利用這些漏洞對應用發(fā)起攻擊。
由于漏洞掃描的專業(yè)性,所以目前只能自動檢測程序代碼內(nèi)部是否殘留測試使用的URL地址,以及應用是否使用了具有任意下載APK漏洞的友盟SDK版本。數(shù)據(jù)庫注入、全局可讀寫內(nèi)部文件、Webview遠程代碼執(zhí)行、瀏覽器的Intent Scheme URL攻擊、手勢密碼繞過、被調(diào)用安裝任意APK、被調(diào)用卸載任意APK、其他業(yè)務邏輯漏洞掃描則需要通過人工方式進行。
自動測評方式下單個APK包的檢測時間不超過10分鐘,而人工測試則會在2~3天內(nèi)完成。如果開發(fā)者希望進行定制化的應用測評,可以單獨提出申請。