張 君
隨著移動互聯網的普及,智能終端和移動應用得到了迅猛發展。2017年2月22日,全球領先的移動互聯網第三方數據挖掘和分析機構艾媒咨詢權威首發《2016-2017年中國移動應用商店市場監測報告》。報告顯示,2016年第四季度,第三方移動應用商店活躍用戶規模增長到4.53億人。移動互聯網用戶的“爆炸式”增長、云存儲技術的日益成熟以及移動通信網絡數據上網的逐步提速,促使移動應用市場規模快速壯大,也使人們的日常生活發生了深刻變革。在利益驅使下,部分移動應用開發商設計惡意移動應用程序,使得惡意吸費、惡意內嵌廣告、隱私竊取、誘騙欺詐等一系列移動應用安全問題越來越突出,嚴重損害了用戶利益,制約了移動應用市場的良性發展。面對日益凸顯的移動應用軟件安全問題,如何提高移動應用和智能終端安全性、保障用戶合法權益,成了整個社會共同關注的熱點話題。
通付盾發布的2016年度《移動應用安全態勢報告》[1],對295個移動應用市場和移動應用分發平臺的3 641 831個移動應用進行了評估,分析發現惡意應用軟件34 149個、盜版應用23 089個、高危應用37 838個,總數達95 076個,占移動應用總數的2.61%,主要集中于生活服務、游戲娛樂、教育培訓等行業。這將對用戶隱私、財產安全等造成潛在威脅。
阿里聚安全移動病毒樣本庫2016年新增病毒樣本達3 284 524個[2],平均每天新增9 000個樣本,相當于每10 s生成一個病毒樣本。阿里聚安全2016年的統計報告顯示,2016年各月新增移動病毒樣本數量如圖1所示。

圖1 2016年度每月移動病毒樣本增長數量統計
病毒入侵手機后,首先檢測宿主手機是否裝有制毒者指定的第三方應用,如果有,則病毒發作,欺騙用戶誤認為應用本身的惡意行為,從而蒙蔽用戶,偽裝自己。這樣不僅損害第三方應用的名譽,而且對用戶的手機安全帶來一定危害。
阿里聚安全2016年度從16個行業中分別選取了15個熱門應用,發現240個仿冒應用,其中89%的熱門應用存在仿冒,總仿冒數量高達12 859個,平均每個應用仿冒數量達54個,總感染設備量達2 374萬臺。仿冒應用中,55%為惡意行為,45%為盜版軟件。其中,惡意行為主要具有流氓行為、惡意扣費、短信劫持或隱私竊取等。具有惡意行為的仿冒應用,對手機用戶的賬號、資金、隱私安全存在較大的安全風險。
當前的移動應用市場面臨著如下安全問題:
(1)軟件數量多、企業規模小、發布渠道廣、版本更新快;
(2)移動應用質量參差不齊,傳統服務模式面臨成本壓力;
(3)移動應用容易被逆向工程,應用軟件容易被篡改;
(4)渠道混亂,部分渠道甚至成為滋生惡意應用的溫床。
從國家安全層面而言,通過移動終端多樣化地獲取敏感信息,再輔以強大后臺的同步分析,很容易獲取國家的經濟、政治等涉密信息,甚至通過移動智能終端散布謠言、傳播危險信息,會使國家對信息資源生產、傳播和監管的能力面臨嚴峻挑戰。
病毒緊盯熱門游戲或知名軟件進行二次打包、篡改感染已經成為一種趨勢。病毒制造者一般通過植入惡意代碼或者廣告插件的方式攫取利潤。他們對軟件或熱門游戲進行反編譯,分析應用軟件源代碼或中間代碼,將惡意代碼、廣告代碼植入其中,然后重新編譯和打包。一方面通過應用商店、網站論壇、二維碼鏈接、云存儲等主流的渠道投放出去;另一方面,通過與其他應用軟件綁定,在其他軟件頁進行懸浮窗提醒、彈窗廣告、通知欄提醒等多種形式誘騙用戶點擊安裝。在用戶安裝成功后,流氓行為便觸發。制毒者和非法廣告渠道商會對非法利益進行分成,這些利益主要來自于用戶點擊廣告、智能終端靜默下載軟件產生的非法推廣利益。
移動應用安全形勢越來越惡劣,己經成為威脅移動互聯網發展的重要因素之一。對移動智能終端惡意程序進行有效防范和控制,關系我國移動互聯網產業的健康發展和廣大移動終端用戶的切身利益。但是,移動終端的安全環境與傳統終端差別極大。移動智能相比傳統終端具有的移動性和保存個人隱私數據等新特性,使得傳統的軟件安全技術并不能有效應用于移動智能終端軟件安全中。因此,研究移動應用安全分析和保護技術具有重要意義。當前,全方位、多角度檢測并深度挖掘移動應用安全隱患刻不容緩。
鑒于當前移動應用快速增長的發展趨勢和安全風險,本文提出構建集安全檢測、源代碼分析、渠道監測三位一體的移動應用安全風險評估模型,并搭建基于B/S架構的安全檢測平臺,實現對移動應用安全從開發、交付到運行全生命周期的安全評估。
移動應用安全評估平臺部署,如圖2所示。

圖2 移動應用安全評估平臺網絡拓撲結構
平臺部署考慮到渠道監測的流量和數據要求,建議將渠道監測模塊部署在專有云平臺上,既保證數據流量的要求,又可以確保監測數據的安全性。APP安全檢測和源代碼檢測的服務器建議部署在內網中,通過防火墻和入侵檢測系統實現網絡邊界的安全防護,以保證檢測報告的安全性。
移動應用安全評估平臺主要針對移動手機端的Android應用和IOS應用的整個體系結構進行評估,計劃主要包括三部分內容,重點針對Android版的移動應用:
(1)開發階段:源代碼分析;
(2)交付階段:漏洞掃描、安全評估;
(3)運行階段:渠道監測。
開發階段的源代碼代碼安全分析有助于快速定位安全問題,高效低成本地解決安全問題。平臺通過與源代碼測試工具的整合,提供了移動應用開發過程的安全編碼檢測、代碼凈化、安全編譯以及對外部代碼引入的安全檢測,避免存在SQL注入、敏感信息泄露等安全風險。在交付階段,通過定向檢測,結合構建的涉及病毒、漏洞、程序安全、數據安全、環境安全等多方面的評估指標體系[3],確保上線APP的安全可靠。平臺采用統一的引擎分析,快速掃描、快速執行檢測,并快速生成檢測報告。以安卓版的檢測為例,其工作原理如圖3所示。
在評估的基礎上,對盜版應用進行監測,分析APP投放使用后的安全風險,是監管部門和用戶關注的焦點。對國內外200個APP推廣渠道信息包括應用商店、下載站、論壇等進行監測,采取爬蟲技術精準識別渠道正盜版,并實時監控各渠道相關數據信息,24小時即時更新。一旦發現盜版應用,將第一時間反饋詳細數據信息到用戶后臺,同時提供盜版應用詳情分析,分析項目涵蓋APK所有路徑文件及代碼,包括權限、源碼、RES目錄、METADATA信息、SO庫等。通過分析可供用戶清晰查看被修改或添加的第三方代碼,從而提供全面記錄APP盜版分析的數據報告。

圖3 安卓版APP檢測工作原理
移動應用交付前,從應用所處開發平臺和移動應用本身存在的安全隱患出發,基于移動應用程序包反編譯、逆向等技術,構建移動應用安全評估指標。指標將從應用漏洞檢測、系統環境安全、程序安全、業務應用安全、數據安全等方面進行綜合考慮。
檢測APP軟件是否存在病毒、木馬、吸費代碼等惡意特征以及敏感信息泄露、服務攻擊、文件目錄遍歷漏洞等安全問題。相關檢測指標和檢測內容如表1所示。
在病毒和漏洞檢測的基礎上,主要從數據安全性評估、程序安全性評估、業務安全性評估和系統境安全性評估[4]四方面構建安全評估指標。

表1 相關檢測指標及檢測內容
3.2.1 系統環境安全性評估
系統環境安全性評估主要包括對服務器地址篡改、輸入監聽、系統文件破壞、惡意動態注入、釣魚攻擊、網絡監聽、關鍵數據截獲等項目的評估。其中,輸入監聽重點檢測程序運行時是否存在被輸入時屏幕截屏/錄屏、數據輸入攔截/劫持、數據輸入篡改等風險;惡意動態注入檢測應用是否存在動態注入攻擊風險,能否劫持目標進程函數、竊取目標進程數據、篡改目標進程數據等。
3.2.2 程序安全性評估
程序安全性評估從應用的安裝與卸載、人機交互、登錄檢測、程序完整性、發布規范、應用安全性等方面進行評估,包括第三方庫安全性、APP篡改、APP反向編譯、界面劫持、程序發布、版本規范等評估項。其中,APP反向編譯檢測檢測應用程序中的Java代碼是否采取加密保護,是否能夠通過baksmali/apktool/dex2jar等反編譯工具逆向出代碼,造成核心代碼邏輯泄露、重要數據加密代碼邏輯泄露等。
3.2.3 業務安全性評估
對金融類APP、游戲類APP和政務類APP等不同業務應用,可以結合應用的使用場景,制定不同的評估指標。指標可以包括認證過程安全性、證書監測、Session安全性、功能安全測試、密碼安全性、中間人攻擊等評估項;檢測應用是否對客戶端和服務端證書進行有效性校驗,資源文件中的證書文件是否為明文存儲,是否存在Content Provider數據泄露風險,WebView組件是否存在忽略SSL證書驗證錯誤等。對于金融類APP,還可增加篡改交易檢測、任意賬號密碼重置檢測和越權查詢用戶信息檢測等。
3.2.4 數據安全性評估
數據安全性評估主要包括存儲安全性檢測、H5文件明文存儲檢測、資源文件篡改分析、賬號等敏感數據內存運行安全性、圖片冗余數據安全性、日志信息安全性等評估指標。其中,存儲安全性檢測檢測移動APP的敏感數據是否采用外部存儲(如sdcard卡),如果使用,是否僅限制本應用訪問,而其他任何可以有訪問Sdcard權限的應用均不能訪問。H5文件明文存儲檢測檢測移動APP中的H5資源文件是否進行混淆加固,避免泄露頁面基本布局和一些重要的信息。資源文件篡改分析檢測移動APP中的資源文件是否未做資源加密、包簽名驗證、包完整性驗證等措施,重要資源是否存在被篡改的風險,造成程序被直接修改、資源被打包成山寨應用。
本文分析了移動應用安全威脅新趨勢,提出了監管移動應用安全需要建立三位一體的安全評估平臺,并提出了移動應用安全交付使用時的評估指標體系,形成了移動應用安全能力評估的整體框架和測試方法。
面對移動應用安全防護能力嚴重匱乏的現狀,呼吁國家相關安全管理部門高度重視,圍繞開發者、應用商店等產業鏈核心參與者,制定移動應用安全防護能力管理措施。第一,以安全底線為基本管理原則,規范移動應用具備的底線安全能力,提升開發者安全能力,強化移動應用網絡安全基礎對抗能力,發揮風險防范作用;第二,引入平臺治理模式,強化平臺主體責任,應用商店等從事移動應用分發服務的互聯網信息服務提供者,應參照移動應用安全平臺的構架,強化移動應用安全防護能力檢測和監測[5];第三,建立移動應用安全防護能力事中事后監測審查機制,相關監管可采用“監測分析+定期通報+行政處理”模式,敦促和規范移動應用健康發展。
[1] 江蘇通付盾科技有限公司.2016年度‘移動應用安全態勢報告[EB/OL].(2017-03-13)[2017-09-22].http://www.sohu.com/a/128701727_466220.Jiangsu Tongfu Shield Technology Co., Ltd.2016 Annual Report on Mobile Application Security[EB/OL].(2017-03-13)[2017-10-22].http://www.sohu.com/a/128701727_466220.
[2] 阿里聚安全.2016互聯網安全年報[EB/OL].(2016-02-25)[2017-10-15].http://digi.163.com/16/0225/19/BGM02RCN00162017T.html.Ali Poly Security.2016 Internet Security Annual Report.[EB/OL].(2016-02-25)[2017-10-15].http://digi.163.com/16/0225/19/BGM02RCN00162017T.html.
[3] 陳建民.基于行為的移動應用程序安全檢測方法研究[J].計算機工程與設計,2012,33(12):4480-4481.CHEN Jian-min.A Study of Mobile Application Security Detection Based on Behavior[J].Computer Engineering and Design,2012,33(12):4480-4481.
[4] 陳希,劉穎卿,葉蘊芳.構建移動應用安全評測體系[J].電信工程技術與標準化,2015(12):13-15.CHEN Xi,LIU Ying-qing,YE Yun-fang.Construction of Mobile Application Security Evaluation System[J].Telecommunications Engineering Technology and Standardization,2015(12):13-15.
[5] 于成麗.移動應用安全防護能力評估方法研究[J].電信網技術,2017,1(01):49.YU Cheng-li.Study on Evaluation Methods of Security Capability of Mobile Applications[J].Telecom Network Technology,2017,1(01):49.