蔣永成, 化存卿
(上海交通大學(xué)信息安全學(xué)院,上海200122)
近年來,隨著“棱鏡門”事件到中國國家域名系統(tǒng)被攻擊,信息安全問題已經(jīng)成為國家關(guān)注的問題。從國家安全委員會與中央網(wǎng)絡(luò)安全和信息化領(lǐng)導(dǎo)小組的成立,可以看出,信息安全在國家層面得到了極大的提升。同時,隨著我國的移動互聯(lián)網(wǎng)事業(yè)的蓬勃發(fā)展,個人、企業(yè)用戶對其的依賴性日益增強。與之相伴的,就是移動互聯(lián)網(wǎng)的安全問題愈加嚴重,信息安全問題呈現(xiàn)出了多樣化的趨勢,因此十分有必要對其進行管理和防范。
現(xiàn)今,移動互聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展突飛猛進,基于安卓和IOS兩種操作系統(tǒng)的智能終端已在手機市場中普及,智能操作系統(tǒng)本身提供的功能和服務(wù)越來越豐富,支持這兩種操作系統(tǒng)的終端形式多種多樣,硬件性能也越來越強大。各種移動應(yīng)用也隨之呈現(xiàn)出了爆炸式的增長,深入至人們?nèi)粘I畹母鞣矫?,改變著人們的生活方式?/p>
隨著這一行業(yè)的繁榮,從事移動應(yīng)用開發(fā)的公司、個人穩(wěn)步增長,其推出的應(yīng)用絕大部分應(yīng)用都是免費的。因而,有部分開發(fā)者出經(jīng)濟利益考慮,創(chuàng)造出了一些的惡意、風(fēng)險應(yīng)用。據(jù)360公司報告《2014年中國手機安全狀況報告》[1]統(tǒng)計,2014年全年,該公司累計截獲Android平臺惡意樣本326.0萬個,較2012年,2013年分別增長了25.3倍和3.86倍。平均每天捕獲惡意樣本近8 932個。應(yīng)用的安全形勢雖較前一年有所緩和,但仍然十分嚴峻。
另外一方面,人們獲取移動應(yīng)用的主要來源是應(yīng)用商店。在國外,應(yīng)用發(fā)布渠道相對集中:安卓應(yīng)用的主要發(fā)布渠道為GooglePlay,絕大部分IOS應(yīng)用發(fā)布的主要渠道為APP Store,這兩家公司均提供了相對完善的安全保護措施。但在我國國內(nèi),情況則大為不同,應(yīng)用發(fā)布的渠道極其的多樣化,為用戶提供應(yīng)用下載服務(wù)的應(yīng)用商城十分繁多。各應(yīng)用商城出于某方面因素的考慮,如,保證應(yīng)用的全面性、廣告的推廣等等,往往對于上架的應(yīng)用把關(guān)不嚴,從而國內(nèi)應(yīng)用市場上出現(xiàn)了各式各樣的惡意應(yīng)用。
如何檢測移動應(yīng)用的安全性,保障廣大用戶的使用安全,已經(jīng)成為了當(dāng)前安全領(lǐng)域的一個研究熱點。從目前現(xiàn)有的安全檢測的產(chǎn)品以及流程上看,最為明確的是對與含有已知的惡意代碼的應(yīng)用檢測,這一商業(yè)模式已經(jīng)十分的成熟和普遍,即,將移動應(yīng)用簡單的區(qū)分為惡意和安全。但是,對于含有于未知惡意代碼以及含有一定風(fēng)險的應(yīng)用,卻未能作出全面的、系統(tǒng)化的判定。因此,本文將從用戶使用、國家監(jiān)管、系統(tǒng)運行、網(wǎng)絡(luò)危害等方面,系統(tǒng)化、體系化的分析移動應(yīng)用的安全性,提出一種全新的移動應(yīng)用安全性判定體系。
移動應(yīng)用,其最終的服務(wù)對象是廣大的用戶,為用戶提供各種各樣的便利服務(wù)。如果有某些惡意或者風(fēng)險功能干擾了正常服務(wù),損害了用戶的利益,那么就違背了移動應(yīng)用開發(fā)的根本初衷。即使有些移動應(yīng)用開發(fā)者一開始就是為了一些不正當(dāng)目的,但其還是偽裝成為服務(wù)用戶形式推出。因此,移動應(yīng)用風(fēng)險的根本性的判定原則,是使用者的對其的反饋,而非軟件開發(fā)者、應(yīng)用檢測者、市場監(jiān)管者的判定。因此,用戶的利益是否被侵害、用戶是否應(yīng)有充分的知情權(quán),是判定應(yīng)用是否為惡意應(yīng)用、風(fēng)險應(yīng)用的根本原則。
政策法規(guī)方面,監(jiān)管者出于規(guī)范市場的目的,對行業(yè)總體情況進行監(jiān)管,因此,有關(guān)部門發(fā)布的通知、標(biāo)準(zhǔn)具有參考意義。工信部及其下屬的標(biāo)準(zhǔn)化組織CCSA推出的政策通知文件主要有:《工業(yè)和信息化部關(guān)于加強移動智能終端進網(wǎng)管理的通知》與《移動智能終端應(yīng)用軟件安全技術(shù)要求》[2]兩份?!锻ㄖ分嗅槍π氯刖W(wǎng)終端的內(nèi)置應(yīng)用,從保護用戶隱私、資費獲取、終端使用、網(wǎng)絡(luò)使用、內(nèi)容使用幾個方面做出了原則性的規(guī)定。CCSA標(biāo)準(zhǔn)中,《要求》中規(guī)定了移動智能終端應(yīng)用軟件的安全技術(shù)要求,其中詳細闡明了惡意軟件、風(fēng)險軟件等的明確定義,是一份值得參考的標(biāo)準(zhǔn)。
網(wǎng)絡(luò)運營商方面,出于對自身網(wǎng)絡(luò)安全的考慮,需要移動應(yīng)用保證不能夠影響其網(wǎng)絡(luò)正常、穩(wěn)定的運行。如今的移動應(yīng)用大多采用自定義的私有協(xié)議,其設(shè)計的交互過程、攜帶字段往往會對網(wǎng)絡(luò)造成潛在的風(fēng)險,例如,在一些IM類應(yīng)用剛剛推出之際,如,微信、QQ等,會使網(wǎng)絡(luò)中的RNC處理負荷急劇上升,對網(wǎng)絡(luò)處理能力產(chǎn)生較大影響。因此,在移動應(yīng)用檢測過程中,需要考慮其對網(wǎng)絡(luò)的影響。
在移動應(yīng)用的業(yè)務(wù)運營方面,需要保證移動應(yīng)用的合規(guī)性,這對其業(yè)務(wù)拓展較為相關(guān)。如,應(yīng)用商城的運營方要把握其應(yīng)用是否提供了其所申明的服務(wù),是否有額外的不相關(guān)功能,內(nèi)容是否積極向上等等。因此,移動應(yīng)用檢測過程中,還要考慮其運營需求。
根據(jù)以上所提出的原則、標(biāo)準(zhǔn),結(jié)合從實際的應(yīng)用商城運營方的調(diào)研,提出了移動應(yīng)用安全級別判定模型,該模型分別從移動應(yīng)用的通信行為、資源調(diào)用行為、資費扣取、內(nèi)容使用以及其他行為幾個方面,將移動應(yīng)用分為惡意軟件、風(fēng)險軟件、安全軟件三類,其中風(fēng)險軟件中,又將其分為“低風(fēng)險”和“高風(fēng)險”兩類,其模型如下:
圖1 移動應(yīng)用風(fēng)險判定模型
(1)惡意、風(fēng)險應(yīng)用判定依據(jù)說明
在該風(fēng)險模型中,區(qū)分惡意軟件與風(fēng)險軟件的最主要判定依據(jù)是看用戶利益是否遭到了實質(zhì)性的損害。包括:是否對手機的操作系統(tǒng)、其他應(yīng)用服務(wù)以及手機硬件造成損害;是否對用戶自身擁有資源造成損失,如用戶文件、資金、私隱等。另外,應(yīng)用中是否攜帶了國家違禁內(nèi)容、用戶是否擁有知情權(quán)也將作為重要判定依據(jù)。
某些應(yīng)用不能說其是惡意軟件,也不能說其是安全軟件,它是介于二者之間的灰色軟件,所以稱之為風(fēng)險軟件。高風(fēng)險與低風(fēng)險同屬于風(fēng)險軟件類別,其界定的方法較為模糊,其界定的主要依據(jù)就是看對用戶產(chǎn)生損害的風(fēng)險程度,需視具體情況而定。此外,高風(fēng)險軟件中判定依據(jù)包括:運營商網(wǎng)絡(luò)是否受到影響;是否符合移動應(yīng)用商城運營方利益。低風(fēng)險軟件中判定依據(jù)包括:是否引起用戶體驗的不適、業(yè)務(wù)流程不流暢、功能不符合邏輯等。
安全軟件即對用戶的利益無損,用戶充分了解自己的使用行為,并且軟件不對網(wǎng)絡(luò)、運營方造成任何影響。安全軟件也可以使用排除法來判定,即經(jīng)過以上的判定準(zhǔn)則匹配過后,既不是惡意軟件也不是風(fēng)險軟件的,即為安全軟件。
(2)惡意應(yīng)用及風(fēng)險應(yīng)用的危害類型劃分
目前,在文獻[2]中,已經(jīng)將主要的惡意軟件、風(fēng)險軟件中各類型的惡意行為、風(fēng)險行為明確描述,主要包括:遠程控制、惡意傳播、隱私獲取、系統(tǒng)破壞、惡意扣費、資費消耗、“三涉”內(nèi)容、誘騙欺詐、流氓行為、自動聯(lián)網(wǎng)、非規(guī)范化提示等等,這里不再一一敘述。同時,本判定模型中又多加了一些額外的危害類型,其定義如下:
1)主F流廠商認定的惡意代碼:主要是指市場上一些主要安全廠商認定的新發(fā)現(xiàn)的惡意代碼,包含該惡意代碼的應(yīng)用即為惡意應(yīng)用。
2)信令風(fēng)暴:智能手機上的某些應(yīng)用,如,即時通訊、網(wǎng)頁瀏覽會產(chǎn)生小數(shù)據(jù)包的傳輸。小流量數(shù)據(jù)業(yè)務(wù)有在單位時間內(nèi)流量小、持續(xù)在線時間長、較高的數(shù)據(jù)實時傳輸性特點。當(dāng)用戶使用這些業(yè)務(wù)時,小數(shù)據(jù)包會頻繁交換,對業(yè)務(wù)信道資源使用效率和信令信道的負荷產(chǎn)生很大影響[3]。
3)無限制聯(lián)網(wǎng):是指在一段時間內(nèi)網(wǎng)絡(luò)連接請求失敗,重復(fù)發(fā)起連接請求,試圖無限制的連接網(wǎng)絡(luò)。
4)誘騙行為:區(qū)別于惡意應(yīng)用中的“誘騙欺詐”,該行為不存在欺詐行為,該行為明確表明具有收費項目,但是因語言描述含糊等原因,使用戶使用過程中有扣費風(fēng)險。
5)漏洞、軟件BUG:由于操作系統(tǒng)漏洞、應(yīng)用程序以及應(yīng)用協(xié)議存在漏洞,或軟件自身有大BUG,讓外界的威脅可以乘虛而入,造成對用戶使用存在利益上的損害。
6)惡搞行為:做出一些驚嚇、迷惑等等的以捉弄他人為目的行為,其有損于用戶體驗,但是未造成實質(zhì)性的利益損失。
7)敏感內(nèi)容:未涉及“三涉”內(nèi)容,但是違背了國家的其它一些規(guī)章制度,或者政府臨時性的政令等。如:國家要求封禁的網(wǎng)絡(luò)中的政治熱點事件。
8)內(nèi)容不合規(guī):發(fā)布的內(nèi)容有悖于運營方的需要,如,肆意宣傳競爭對手內(nèi)容,與該軟件主題明顯不相關(guān)內(nèi)容等。
上一節(jié)提出的移動應(yīng)用風(fēng)險模型中,其各種行為的分類均為理想意義上的定義,其作用是為實際的應(yīng)用安全檢測提供指導(dǎo)和為各種應(yīng)用行為的提供定性依據(jù),并不可以直接將其應(yīng)用到實際的安全檢測中。因此,需要考慮移動應(yīng)用邏輯上的使用過程,提出一套切實可行的通用性的流程,以便將風(fēng)險模型應(yīng)用于實際的檢測操作。
本節(jié)計劃從通信行為判定、資費扣取行為判定、資源調(diào)用行為判定、內(nèi)容使用行為的判定四個方面,判定移動應(yīng)用的風(fēng)險程度。提出的判定的流程如下:
通信行為的檢測分為靜默、提示與確認、網(wǎng)絡(luò)行為三個檢測階段,然后利用可以搜集到的日志記錄、網(wǎng)絡(luò)抓包等結(jié)果,進行聯(lián)合分析,進而判定應(yīng)用的通信行為風(fēng)險度。在靜默階段,將待測試應(yīng)用安裝在安卓虛擬機或者真機運行環(huán)境中,不打開網(wǎng)絡(luò)且不進行任何操作,靜置一段時間(如:半天或者一天)后,觀察其行為[4]。提示與確認階段,需要人工進行操作,由人為主觀判斷提示是否符合相關(guān)規(guī)范以及意義是否明確。在網(wǎng)絡(luò)行為分析階段,需要利用網(wǎng)絡(luò)分析工具,提取應(yīng)用在一段時間內(nèi)的連接請求數(shù)、連接的IP地址等,綜合分析應(yīng)用對網(wǎng)絡(luò)的威脅以及自身網(wǎng)絡(luò)行為的安全性。通信行為風(fēng)險性判定的具體判定流程與其中所關(guān)注的內(nèi)容詳見表1。
表1 通行行為所屬類別判定流程
資費扣取行為由于直接涉及用戶的經(jīng)濟利益,因而其判定流程比較細致。資費扣取行為分為靜默、訂購提示、訂購確認與取消、短信通知、退訂幾個階段。靜默階段,用戶將應(yīng)用安裝于一個通信網(wǎng)絡(luò)連接正常的安卓系統(tǒng)中,靜置若干時間,然后通過運營商賬單、支付工具的賬戶存取記錄(如個人支付寶的帳戶記錄)等來判定待檢測應(yīng)用是否有惡意扣費行為。訂購確認與取消、短信通知、退訂階段,由檢測人員操作待檢測應(yīng)用的訂購流程,主觀判斷其提示的相關(guān)信息是否明確、價格是否明示、業(yè)務(wù)流程是否流暢等。資費扣取行為風(fēng)險性判定的具體判定流程與其中所關(guān)注的內(nèi)容詳見表2。
表2 資費扣取類行為判定流程
資源使用行為判定分為APK包規(guī)范性測試、APK的安裝與卸載測試、APK更新測試、軟件運行測試幾個階段。APK包規(guī)范性測試階段,檢測人員可以從應(yīng)用商城的實際運營要求出發(fā),根據(jù)應(yīng)用開發(fā)者提交的上架申請材料描述,利用安卓的靜態(tài)檢測工具,將諸如包名、版本號、證書等信息進行提取,然后驗證其有效性。APK的安裝與卸載、更新、運行可以使用安卓的動態(tài)分析技術(shù)和靜態(tài)分析技術(shù),進行相關(guān)的組件分析、權(quán)限分析、API函數(shù)分析、狀態(tài)檢測、運行日志抓取等,然后綜合判定其風(fēng)險類別。資源使用行為風(fēng)險性判定的具體判定流程與其中所關(guān)注的內(nèi)容詳見表3。
表3 資源使用行為所屬類別判定流程
內(nèi)容使用行為判定需要從兩個方面去檢測,一個是軟件自身含有的內(nèi)容,另外一個方面是應(yīng)用運行時產(chǎn)生的內(nèi)容。文字內(nèi)容檢測的方法主要是依靠關(guān)鍵字匹配,找出敏感字段。音視頻內(nèi)容檢測方面,鑒于現(xiàn)有市場上的檢測系統(tǒng)的檢測準(zhǔn)確率均不理想,建議還是以人工審核為主。內(nèi)容使用行為風(fēng)險性判定的具體判定流程與其中所關(guān)注的內(nèi)容詳見表4。對于以上的四種判定流程,他們之間并不是相互孤立的,而是相互聯(lián)系相輔相承的。一些移動應(yīng)用軟件通過復(fù)雜的行為及行為組合實現(xiàn)多樣化的功能,這些行為有些與安全不相關(guān),但與其他行為組合后有較高的敏感性[5],如:讀取并判定網(wǎng)絡(luò)狀態(tài),并發(fā)送用戶信息等。因此,實際的應(yīng)用檢測過程中,可以將以上四種流程作為通用性質(zhì)的判定流程,可以根據(jù)實際情況,進行靈活的組合和變更。
表4 內(nèi)容使用行為所屬類別判定流程
下面,我們將基于以上提出的通用判定流程,結(jié)合移動應(yīng)用的判定的根本性原則,重點分析幾種典型應(yīng)用的風(fēng)險程度判定。
依據(jù)之前提出的判定模型和流程,在本節(jié)中,將選出幾類風(fēng)險度較高的應(yīng)用進行分析,將通用的判定流程中較為關(guān)鍵的步驟,依據(jù)具體的實際情況,進行進一步細化說明,讓判定流程更加具體化,增加其可執(zhí)行性。
ROOT類軟件主要是指破解Android系統(tǒng)ROOT權(quán)限的軟件,不包括申請ROOT權(quán)限的軟件。目前,國內(nèi)裝機量較大的兩款ROOT軟件為:“百度一鍵ROOT”與“360一鍵ROOT”。該類型應(yīng)用在市場有多款,風(fēng)險程度十分高,給用戶造成的威脅較大。該類應(yīng)用主要有如下三方面的具體情況,需要在檢測時考慮:
1)在資源使用行為判定環(huán)節(jié),確定伴隨破解ROOT,或取得ROOT后,有惡意行為的,定義為病毒。
2)如果只單獨含有破解ROOT權(quán)限的行為的,定義為高險軟件,因為該軟件擁有破解手機系統(tǒng)ROOT權(quán)限的功能,需要按需使用。因為并不是所有用戶均能準(zhǔn)確判定與了解自己對于ROOT權(quán)限的分配和使用,從而較為容易造成系統(tǒng)破壞行為。
3)可以針對市場用戶反映較好的,下載量較大的2-3款ROOT軟件等設(shè)定為安全,建議用戶下載。
監(jiān)控類軟件:即具有防盜或者監(jiān)聽功能的軟件。該類型應(yīng)用主要是政企應(yīng)用市場居多,其功能與惡意應(yīng)用極為相似,因此在判定的把握上較為困難。該類型應(yīng)用與“隱私竊取”惡意應(yīng)用的區(qū)分主要為:
1)在用戶未知曉的情況下對本地的通話、錄音、圖片等等進行上傳,或者能夠?qū)崟r監(jiān)控用戶在終端上的操作行為、動作或者通話等等。一些企業(yè)用戶在要求員工使用該類軟件時,建議出具書面說明該類應(yīng)用的功能。
2)能夠訪問并獲取個人的通訊錄、短信、通話記錄、郵件,并將這些數(shù)據(jù)進行轉(zhuǎn)移的,如果用戶能夠明確知道其轉(zhuǎn)移后的地方并可以進行修改、刪除操作,則為高風(fēng)險應(yīng)用,如果沒有,則為隱私竊取類應(yīng)用。
3)以上提及的行為中,還會有幾種行為組合出現(xiàn)的情況,建議在獲取事實的基礎(chǔ)上,根據(jù)具體應(yīng)用的業(yè)務(wù)邏輯性進行進一步分析。
流氓及惡搞行為的軟件,是指有些行為并沒有損害用戶的利益,但是使用過程中給用戶帶來了不良使用感受。流氓及惡搞的行為多種多樣,即使在同一套標(biāo)準(zhǔn)下,不同的檢測者可能也會有不同的判斷結(jié)論。該類型應(yīng)用判定為惡意應(yīng)用的根本原則就是,損害到了用戶的利益。其高風(fēng)險與低風(fēng)險的判斷依據(jù)主要是:
1)攜帶有文獻[2]中提及的流氓行為即為高風(fēng)險應(yīng)用,如:非功能要求常駐內(nèi)存、開機自啟動、安裝后沒有圖標(biāo)、不能卸載等等。
2)攜帶有驚嚇、捉弄行為應(yīng)用為低風(fēng)險應(yīng)用,如:廣告彈窗故意遮擋用戶屏幕且活動不易點擊關(guān)閉;彈出嚇人圖片等等。
綜上所述,移動應(yīng)用惡意和風(fēng)險性既要考慮用戶的使用,又要考慮相關(guān)政府的監(jiān)管需求,同時還要滿足網(wǎng)絡(luò)及運營的標(biāo)準(zhǔn),從整體上考慮其風(fēng)險程度。同時,還需要不斷對以上提及的幾個安全方面進行持續(xù)的跟蹤關(guān)注,及時獲取最新的熱點及用戶反饋,不斷優(yōu)化其結(jié)構(gòu)以及內(nèi)容,從而很好的滿足用戶的安全需求。
[1] 任寰.2014年中國手機安全狀況報告[EB/OL].北京:奇虎360科技有限公司,2015-01-01[2015-01-20].http://ad8n468m37.l7.yunpan.cn/lk/cyCT3CtHPnIJJ
[2] 潘娟,匡曉烜,落紅衛(wèi).YD/T 2407-2013,移動智能終端安全能力技術(shù)要求[S].北京:人民郵電出版社,2013:1-9.
[3] 路瑋,盛煜,王波等.移動無線通信網(wǎng)絡(luò)信令風(fēng)暴分析[C]//2012年度全國無線及移動通信學(xué)術(shù)大會(WMC’12).北京:人民郵電出版社,2012:256-260.
[4] 王艷紅,楊丁寧,史德年.當(dāng)前移動應(yīng)用軟件常用安全檢測技術(shù)[J].現(xiàn)代電信科技,2012(9):10-14.
[5] 楊正軍,落紅衛(wèi).移動應(yīng)用軟件安全風(fēng)險度量化研究[J].互聯(lián)網(wǎng)天地,2014(3):34-37.