張 君
隨著移動(dòng)互聯(lián)網(wǎng)的普及,智能終端和移動(dòng)應(yīng)用得到了迅猛發(fā)展。2017年2月22日,全球領(lǐng)先的移動(dòng)互聯(lián)網(wǎng)第三方數(shù)據(jù)挖掘和分析機(jī)構(gòu)艾媒咨詢權(quán)威首發(fā)《2016-2017年中國(guó)移動(dòng)應(yīng)用商店市場(chǎng)監(jiān)測(cè)報(bào)告》。報(bào)告顯示,2016年第四季度,第三方移動(dòng)應(yīng)用商店活躍用戶規(guī)模增長(zhǎng)到4.53億人。移動(dòng)互聯(lián)網(wǎng)用戶的“爆炸式”增長(zhǎng)、云存儲(chǔ)技術(shù)的日益成熟以及移動(dòng)通信網(wǎng)絡(luò)數(shù)據(jù)上網(wǎng)的逐步提速,促使移動(dòng)應(yīng)用市場(chǎng)規(guī)??焖賶汛螅彩谷藗兊娜粘I畎l(fā)生了深刻變革。在利益驅(qū)使下,部分移動(dòng)應(yīng)用開發(fā)商設(shè)計(jì)惡意移動(dòng)應(yīng)用程序,使得惡意吸費(fèi)、惡意內(nèi)嵌廣告、隱私竊取、誘騙欺詐等一系列移動(dòng)應(yīng)用安全問(wèn)題越來(lái)越突出,嚴(yán)重?fù)p害了用戶利益,制約了移動(dòng)應(yīng)用市場(chǎng)的良性發(fā)展。面對(duì)日益凸顯的移動(dòng)應(yīng)用軟件安全問(wèn)題,如何提高移動(dòng)應(yīng)用和智能終端安全性、保障用戶合法權(quán)益,成了整個(gè)社會(huì)共同關(guān)注的熱點(diǎn)話題。
通付盾發(fā)布的2016年度《移動(dòng)應(yīng)用安全態(tài)勢(shì)報(bào)告》[1],對(duì)295個(gè)移動(dòng)應(yīng)用市場(chǎng)和移動(dòng)應(yīng)用分發(fā)平臺(tái)的3 641 831個(gè)移動(dòng)應(yīng)用進(jìn)行了評(píng)估,分析發(fā)現(xiàn)惡意應(yīng)用軟件34 149個(gè)、盜版應(yīng)用23 089個(gè)、高危應(yīng)用37 838個(gè),總數(shù)達(dá)95 076個(gè),占移動(dòng)應(yīng)用總數(shù)的2.61%,主要集中于生活服務(wù)、游戲娛樂(lè)、教育培訓(xùn)等行業(yè)。這將對(duì)用戶隱私、財(cái)產(chǎn)安全等造成潛在威脅。
阿里聚安全移動(dòng)病毒樣本庫(kù)2016年新增病毒樣本達(dá)3 284 524個(gè)[2],平均每天新增9 000個(gè)樣本,相當(dāng)于每10 s生成一個(gè)病毒樣本。阿里聚安全2016年的統(tǒng)計(jì)報(bào)告顯示,2016年各月新增移動(dòng)病毒樣本數(shù)量如圖1所示。
圖1 2016年度每月移動(dòng)病毒樣本增長(zhǎng)數(shù)量統(tǒng)計(jì)
病毒入侵手機(jī)后,首先檢測(cè)宿主手機(jī)是否裝有制毒者指定的第三方應(yīng)用,如果有,則病毒發(fā)作,欺騙用戶誤認(rèn)為應(yīng)用本身的惡意行為,從而蒙蔽用戶,偽裝自己。這樣不僅損害第三方應(yīng)用的名譽(yù),而且對(duì)用戶的手機(jī)安全帶來(lái)一定危害。
阿里聚安全2016年度從16個(gè)行業(yè)中分別選取了15個(gè)熱門應(yīng)用,發(fā)現(xiàn)240個(gè)仿冒應(yīng)用,其中89%的熱門應(yīng)用存在仿冒,總仿冒數(shù)量高達(dá)12 859個(gè),平均每個(gè)應(yīng)用仿冒數(shù)量達(dá)54個(gè),總感染設(shè)備量達(dá)2 374萬(wàn)臺(tái)。仿冒應(yīng)用中,55%為惡意行為,45%為盜版軟件。其中,惡意行為主要具有流氓行為、惡意扣費(fèi)、短信劫持或隱私竊取等。具有惡意行為的仿冒應(yīng)用,對(duì)手機(jī)用戶的賬號(hào)、資金、隱私安全存在較大的安全風(fēng)險(xiǎn)。
當(dāng)前的移動(dòng)應(yīng)用市場(chǎng)面臨著如下安全問(wèn)題:
(1)軟件數(shù)量多、企業(yè)規(guī)模小、發(fā)布渠道廣、版本更新快;
(2)移動(dòng)應(yīng)用質(zhì)量參差不齊,傳統(tǒng)服務(wù)模式面臨成本壓力;
(3)移動(dòng)應(yīng)用容易被逆向工程,應(yīng)用軟件容易被篡改;
(4)渠道混亂,部分渠道甚至成為滋生惡意應(yīng)用的溫床。
從國(guó)家安全層面而言,通過(guò)移動(dòng)終端多樣化地獲取敏感信息,再輔以強(qiáng)大后臺(tái)的同步分析,很容易獲取國(guó)家的經(jīng)濟(jì)、政治等涉密信息,甚至通過(guò)移動(dòng)智能終端散布謠言、傳播危險(xiǎn)信息,會(huì)使國(guó)家對(duì)信息資源生產(chǎn)、傳播和監(jiān)管的能力面臨嚴(yán)峻挑戰(zhàn)。
病毒緊盯熱門游戲或知名軟件進(jìn)行二次打包、篡改感染已經(jīng)成為一種趨勢(shì)。病毒制造者一般通過(guò)植入惡意代碼或者廣告插件的方式攫取利潤(rùn)。他們對(duì)軟件或熱門游戲進(jìn)行反編譯,分析應(yīng)用軟件源代碼或中間代碼,將惡意代碼、廣告代碼植入其中,然后重新編譯和打包。一方面通過(guò)應(yīng)用商店、網(wǎng)站論壇、二維碼鏈接、云存儲(chǔ)等主流的渠道投放出去;另一方面,通過(guò)與其他應(yīng)用軟件綁定,在其他軟件頁(yè)進(jìn)行懸浮窗提醒、彈窗廣告、通知欄提醒等多種形式誘騙用戶點(diǎn)擊安裝。在用戶安裝成功后,流氓行為便觸發(fā)。制毒者和非法廣告渠道商會(huì)對(duì)非法利益進(jìn)行分成,這些利益主要來(lái)自于用戶點(diǎn)擊廣告、智能終端靜默下載軟件產(chǎn)生的非法推廣利益。
移動(dòng)應(yīng)用安全形勢(shì)越來(lái)越惡劣,己經(jīng)成為威脅移動(dòng)互聯(lián)網(wǎng)發(fā)展的重要因素之一。對(duì)移動(dòng)智能終端惡意程序進(jìn)行有效防范和控制,關(guān)系我國(guó)移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)的健康發(fā)展和廣大移動(dòng)終端用戶的切身利益。但是,移動(dòng)終端的安全環(huán)境與傳統(tǒng)終端差別極大。移動(dòng)智能相比傳統(tǒng)終端具有的移動(dòng)性和保存?zhèn)€人隱私數(shù)據(jù)等新特性,使得傳統(tǒng)的軟件安全技術(shù)并不能有效應(yīng)用于移動(dòng)智能終端軟件安全中。因此,研究移動(dòng)應(yīng)用安全分析和保護(hù)技術(shù)具有重要意義。當(dāng)前,全方位、多角度檢測(cè)并深度挖掘移動(dòng)應(yīng)用安全隱患刻不容緩。
鑒于當(dāng)前移動(dòng)應(yīng)用快速增長(zhǎng)的發(fā)展趨勢(shì)和安全風(fēng)險(xiǎn),本文提出構(gòu)建集安全檢測(cè)、源代碼分析、渠道監(jiān)測(cè)三位一體的移動(dòng)應(yīng)用安全風(fēng)險(xiǎn)評(píng)估模型,并搭建基于B/S架構(gòu)的安全檢測(cè)平臺(tái),實(shí)現(xiàn)對(duì)移動(dòng)應(yīng)用安全從開發(fā)、交付到運(yùn)行全生命周期的安全評(píng)估。
移動(dòng)應(yīng)用安全評(píng)估平臺(tái)部署,如圖2所示。
圖2 移動(dòng)應(yīng)用安全評(píng)估平臺(tái)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
平臺(tái)部署考慮到渠道監(jiān)測(cè)的流量和數(shù)據(jù)要求,建議將渠道監(jiān)測(cè)模塊部署在專有云平臺(tái)上,既保證數(shù)據(jù)流量的要求,又可以確保監(jiān)測(cè)數(shù)據(jù)的安全性。APP安全檢測(cè)和源代碼檢測(cè)的服務(wù)器建議部署在內(nèi)網(wǎng)中,通過(guò)防火墻和入侵檢測(cè)系統(tǒng)實(shí)現(xiàn)網(wǎng)絡(luò)邊界的安全防護(hù),以保證檢測(cè)報(bào)告的安全性。
移動(dòng)應(yīng)用安全評(píng)估平臺(tái)主要針對(duì)移動(dòng)手機(jī)端的Android應(yīng)用和IOS應(yīng)用的整個(gè)體系結(jié)構(gòu)進(jìn)行評(píng)估,計(jì)劃主要包括三部分內(nèi)容,重點(diǎn)針對(duì)Android版的移動(dòng)應(yīng)用:
(1)開發(fā)階段:源代碼分析;
(2)交付階段:漏洞掃描、安全評(píng)估;
(3)運(yùn)行階段:渠道監(jiān)測(cè)。
開發(fā)階段的源代碼代碼安全分析有助于快速定位安全問(wèn)題,高效低成本地解決安全問(wèn)題。平臺(tái)通過(guò)與源代碼測(cè)試工具的整合,提供了移動(dòng)應(yīng)用開發(fā)過(guò)程的安全編碼檢測(cè)、代碼凈化、安全編譯以及對(duì)外部代碼引入的安全檢測(cè),避免存在SQL注入、敏感信息泄露等安全風(fēng)險(xiǎn)。在交付階段,通過(guò)定向檢測(cè),結(jié)合構(gòu)建的涉及病毒、漏洞、程序安全、數(shù)據(jù)安全、環(huán)境安全等多方面的評(píng)估指標(biāo)體系[3],確保上線APP的安全可靠。平臺(tái)采用統(tǒng)一的引擎分析,快速掃描、快速執(zhí)行檢測(cè),并快速生成檢測(cè)報(bào)告。以安卓版的檢測(cè)為例,其工作原理如圖3所示。
在評(píng)估的基礎(chǔ)上,對(duì)盜版應(yīng)用進(jìn)行監(jiān)測(cè),分析APP投放使用后的安全風(fēng)險(xiǎn),是監(jiān)管部門和用戶關(guān)注的焦點(diǎn)。對(duì)國(guó)內(nèi)外200個(gè)APP推廣渠道信息包括應(yīng)用商店、下載站、論壇等進(jìn)行監(jiān)測(cè),采取爬蟲技術(shù)精準(zhǔn)識(shí)別渠道正盜版,并實(shí)時(shí)監(jiān)控各渠道相關(guān)數(shù)據(jù)信息,24小時(shí)即時(shí)更新。一旦發(fā)現(xiàn)盜版應(yīng)用,將第一時(shí)間反饋詳細(xì)數(shù)據(jù)信息到用戶后臺(tái),同時(shí)提供盜版應(yīng)用詳情分析,分析項(xiàng)目涵蓋APK所有路徑文件及代碼,包括權(quán)限、源碼、RES目錄、METADATA信息、SO庫(kù)等。通過(guò)分析可供用戶清晰查看被修改或添加的第三方代碼,從而提供全面記錄APP盜版分析的數(shù)據(jù)報(bào)告。
圖3 安卓版APP檢測(cè)工作原理
移動(dòng)應(yīng)用交付前,從應(yīng)用所處開發(fā)平臺(tái)和移動(dòng)應(yīng)用本身存在的安全隱患出發(fā),基于移動(dòng)應(yīng)用程序包反編譯、逆向等技術(shù),構(gòu)建移動(dòng)應(yīng)用安全評(píng)估指標(biāo)。指標(biāo)將從應(yīng)用漏洞檢測(cè)、系統(tǒng)環(huán)境安全、程序安全、業(yè)務(wù)應(yīng)用安全、數(shù)據(jù)安全等方面進(jìn)行綜合考慮。
檢測(cè)APP軟件是否存在病毒、木馬、吸費(fèi)代碼等惡意特征以及敏感信息泄露、服務(wù)攻擊、文件目錄遍歷漏洞等安全問(wèn)題。相關(guān)檢測(cè)指標(biāo)和檢測(cè)內(nèi)容如表1所示。
在病毒和漏洞檢測(cè)的基礎(chǔ)上,主要從數(shù)據(jù)安全性評(píng)估、程序安全性評(píng)估、業(yè)務(wù)安全性評(píng)估和系統(tǒng)境安全性評(píng)估[4]四方面構(gòu)建安全評(píng)估指標(biāo)。
表1 相關(guān)檢測(cè)指標(biāo)及檢測(cè)內(nèi)容
3.2.1 系統(tǒng)環(huán)境安全性評(píng)估
系統(tǒng)環(huán)境安全性評(píng)估主要包括對(duì)服務(wù)器地址篡改、輸入監(jiān)聽、系統(tǒng)文件破壞、惡意動(dòng)態(tài)注入、釣魚攻擊、網(wǎng)絡(luò)監(jiān)聽、關(guān)鍵數(shù)據(jù)截獲等項(xiàng)目的評(píng)估。其中,輸入監(jiān)聽重點(diǎn)檢測(cè)程序運(yùn)行時(shí)是否存在被輸入時(shí)屏幕截屏/錄屏、數(shù)據(jù)輸入攔截/劫持、數(shù)據(jù)輸入篡改等風(fēng)險(xiǎn);惡意動(dòng)態(tài)注入檢測(cè)應(yīng)用是否存在動(dòng)態(tài)注入攻擊風(fēng)險(xiǎn),能否劫持目標(biāo)進(jìn)程函數(shù)、竊取目標(biāo)進(jìn)程數(shù)據(jù)、篡改目標(biāo)進(jìn)程數(shù)據(jù)等。
3.2.2 程序安全性評(píng)估
程序安全性評(píng)估從應(yīng)用的安裝與卸載、人機(jī)交互、登錄檢測(cè)、程序完整性、發(fā)布規(guī)范、應(yīng)用安全性等方面進(jìn)行評(píng)估,包括第三方庫(kù)安全性、APP篡改、APP反向編譯、界面劫持、程序發(fā)布、版本規(guī)范等評(píng)估項(xiàng)。其中,APP反向編譯檢測(cè)檢測(cè)應(yīng)用程序中的Java代碼是否采取加密保護(hù),是否能夠通過(guò)baksmali/apktool/dex2jar等反編譯工具逆向出代碼,造成核心代碼邏輯泄露、重要數(shù)據(jù)加密代碼邏輯泄露等。
3.2.3 業(yè)務(wù)安全性評(píng)估
對(duì)金融類APP、游戲類APP和政務(wù)類APP等不同業(yè)務(wù)應(yīng)用,可以結(jié)合應(yīng)用的使用場(chǎng)景,制定不同的評(píng)估指標(biāo)。指標(biāo)可以包括認(rèn)證過(guò)程安全性、證書監(jiān)測(cè)、Session安全性、功能安全測(cè)試、密碼安全性、中間人攻擊等評(píng)估項(xiàng);檢測(cè)應(yīng)用是否對(duì)客戶端和服務(wù)端證書進(jìn)行有效性校驗(yàn),資源文件中的證書文件是否為明文存儲(chǔ),是否存在Content Provider數(shù)據(jù)泄露風(fēng)險(xiǎn),WebView組件是否存在忽略SSL證書驗(yàn)證錯(cuò)誤等。對(duì)于金融類APP,還可增加篡改交易檢測(cè)、任意賬號(hào)密碼重置檢測(cè)和越權(quán)查詢用戶信息檢測(cè)等。
3.2.4 數(shù)據(jù)安全性評(píng)估
數(shù)據(jù)安全性評(píng)估主要包括存儲(chǔ)安全性檢測(cè)、H5文件明文存儲(chǔ)檢測(cè)、資源文件篡改分析、賬號(hào)等敏感數(shù)據(jù)內(nèi)存運(yùn)行安全性、圖片冗余數(shù)據(jù)安全性、日志信息安全性等評(píng)估指標(biāo)。其中,存儲(chǔ)安全性檢測(cè)檢測(cè)移動(dòng)APP的敏感數(shù)據(jù)是否采用外部存儲(chǔ)(如sdcard卡),如果使用,是否僅限制本應(yīng)用訪問(wèn),而其他任何可以有訪問(wèn)Sdcard權(quán)限的應(yīng)用均不能訪問(wèn)。H5文件明文存儲(chǔ)檢測(cè)檢測(cè)移動(dòng)APP中的H5資源文件是否進(jìn)行混淆加固,避免泄露頁(yè)面基本布局和一些重要的信息。資源文件篡改分析檢測(cè)移動(dòng)APP中的資源文件是否未做資源加密、包簽名驗(yàn)證、包完整性驗(yàn)證等措施,重要資源是否存在被篡改的風(fēng)險(xiǎn),造成程序被直接修改、資源被打包成山寨應(yīng)用。
本文分析了移動(dòng)應(yīng)用安全威脅新趨勢(shì),提出了監(jiān)管移動(dòng)應(yīng)用安全需要建立三位一體的安全評(píng)估平臺(tái),并提出了移動(dòng)應(yīng)用安全交付使用時(shí)的評(píng)估指標(biāo)體系,形成了移動(dòng)應(yīng)用安全能力評(píng)估的整體框架和測(cè)試方法。
面對(duì)移動(dòng)應(yīng)用安全防護(hù)能力嚴(yán)重匱乏的現(xiàn)狀,呼吁國(guó)家相關(guān)安全管理部門高度重視,圍繞開發(fā)者、應(yīng)用商店等產(chǎn)業(yè)鏈核心參與者,制定移動(dòng)應(yīng)用安全防護(hù)能力管理措施。第一,以安全底線為基本管理原則,規(guī)范移動(dòng)應(yīng)用具備的底線安全能力,提升開發(fā)者安全能力,強(qiáng)化移動(dòng)應(yīng)用網(wǎng)絡(luò)安全基礎(chǔ)對(duì)抗能力,發(fā)揮風(fēng)險(xiǎn)防范作用;第二,引入平臺(tái)治理模式,強(qiáng)化平臺(tái)主體責(zé)任,應(yīng)用商店等從事移動(dòng)應(yīng)用分發(fā)服務(wù)的互聯(lián)網(wǎng)信息服務(wù)提供者,應(yīng)參照移動(dòng)應(yīng)用安全平臺(tái)的構(gòu)架,強(qiáng)化移動(dòng)應(yīng)用安全防護(hù)能力檢測(cè)和監(jiān)測(cè)[5];第三,建立移動(dòng)應(yīng)用安全防護(hù)能力事中事后監(jiān)測(cè)審查機(jī)制,相關(guān)監(jiān)管可采用“監(jiān)測(cè)分析+定期通報(bào)+行政處理”模式,敦促和規(guī)范移動(dòng)應(yīng)用健康發(fā)展。
[1] 江蘇通付盾科技有限公司.2016年度‘移動(dòng)應(yīng)用安全態(tài)勢(shì)報(bào)告[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互聯(lián)網(wǎng)安全年報(bào)[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] 陳建民.基于行為的移動(dòng)應(yīng)用程序安全檢測(cè)方法研究[J].計(jì)算機(jī)工程與設(shè)計(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] 陳希,劉穎卿,葉蘊(yùn)芳.構(gòu)建移動(dòng)應(yīng)用安全評(píng)測(cè)體系[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,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] 于成麗.移動(dòng)應(yīng)用安全防護(hù)能力評(píng)估方法研究[J].電信網(wǎng)技術(shù),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.