黃梅根 曾云科
(重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 重慶 400065)
?
基于權(quán)限組合的Android竊取隱私惡意應(yīng)用檢測(cè)方法
黃梅根曾云科
(重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院重慶400065)
在分析Android系統(tǒng)總共165個(gè)權(quán)限的基礎(chǔ)上,提煉出30個(gè)理論上可以獲取Android系統(tǒng)隱私資源的惡意權(quán)限組合。提出一種針對(duì)應(yīng)用類別的基于惡意權(quán)限組合的惡意值、待測(cè)應(yīng)用惡意權(quán)值、惡意閾值的竊取隱私惡意應(yīng)用檢測(cè)方法。通過(guò)實(shí)驗(yàn)驗(yàn)證了該方法的正確性和準(zhǔn)確率,并在Android系統(tǒng)中得以實(shí)現(xiàn)。
Android系統(tǒng)惡意權(quán)限組合惡意應(yīng)用檢測(cè)應(yīng)用類別
Android OS自從發(fā)布以后憑借其開(kāi)放性吸引了大批研發(fā)人員的關(guān)注和大量智能終端廠商的參與,很快便取得了智能終端市場(chǎng)的絕對(duì)優(yōu)勢(shì)地位。據(jù)調(diào)研公司Kantar Worldpanel ComTech統(tǒng)計(jì)數(shù)據(jù)顯示,2015年Android操作系統(tǒng)在中國(guó)智能手機(jī)市場(chǎng)的市場(chǎng)份額是70.9%,遠(yuǎn)遠(yuǎn)超過(guò)其他智能手機(jī)操作系統(tǒng)[1]。但也正是由于其開(kāi)放性,Android系統(tǒng)上的惡意應(yīng)用也隨著Android系統(tǒng)的發(fā)展而迅速發(fā)展起來(lái)了。
如今的手機(jī)已經(jīng)不像傳統(tǒng)的手機(jī)只被用來(lái)打電話或發(fā)短信,它現(xiàn)在已經(jīng)滲入了人們生活各個(gè)方面,諸如交友、購(gòu)物、娛樂(lè)、資訊等。據(jù)Android官網(wǎng)統(tǒng)計(jì),每天至少有一百萬(wàn)臺(tái)基于Android系統(tǒng)的設(shè)備被激活[2]。Android系統(tǒng)的快速普及也給了惡意應(yīng)用更大的滋生動(dòng)力,以獲取人們生活各方面的隱私信息。據(jù)網(wǎng)秦的“云安全”監(jiān)測(cè)平臺(tái)統(tǒng)計(jì),2014 年第一季度查殺到手機(jī)惡意軟件共計(jì) 41 199款,被感染的智能手機(jī)共計(jì)1784 萬(wàn)部,其中竊取用戶隱私的惡意行為占大部分,隱私安全問(wèn)題不容忽視[3]。又據(jù)360互聯(lián)網(wǎng)安全中心統(tǒng)計(jì),2014全年360互聯(lián)網(wǎng)安全中心共截獲Android平臺(tái)新增惡意應(yīng)用326.0萬(wàn)個(gè),平均每天截獲新增惡意應(yīng)用近8932個(gè)[4]。Android 移動(dòng)終端存在很大的安全隱患。
本文的主要研究如下:首先從隱私信息入手,提出一系列威脅用戶隱私的惡意權(quán)限組合,其中任意一個(gè)惡意權(quán)限組合都能達(dá)到竊取用戶隱私的目的。然后以GooglePlay對(duì)所有Android應(yīng)用的分類為基礎(chǔ),對(duì)每個(gè)分類下的大量正常應(yīng)用的權(quán)限進(jìn)行統(tǒng)計(jì)分析,以確認(rèn)某些特定分類確實(shí)需要獲取終端的某些隱私信息。為了避免因?yàn)檫@種情況造成的誤報(bào),本文計(jì)算出每個(gè)類別對(duì)每個(gè)惡意權(quán)限組合的惡意值。最后把惡意值作為初始參數(shù),通過(guò)惡意值計(jì)算出待檢測(cè)應(yīng)用的惡意權(quán)值,從而判斷該應(yīng)用是否是竊取隱私的惡意應(yīng)用。本文設(shè)計(jì)了多組實(shí)驗(yàn)評(píng)估本文提出方法的有效性和準(zhǔn)確性。
1.1Android權(quán)限機(jī)制
Google公司為Android系統(tǒng)設(shè)計(jì)了一系列涉及到安全操作和隱私信息的權(quán)限標(biāo)簽。應(yīng)用中如果有需要執(zhí)行某些安全相關(guān)操作或者訪問(wèn)隱私數(shù)據(jù)的情況,開(kāi)發(fā)者就需要在其配置文件AndroidMainfest.xml[5]中聲明相應(yīng)權(quán)限。Android系統(tǒng)中的權(quán)限分為普通、危險(xiǎn)、簽名、簽名或系統(tǒng)四種級(jí)別[6]。普通和危險(xiǎn)級(jí)別的權(quán)限在應(yīng)用安裝時(shí)會(huì)被提示在屏幕上,以通知用戶是否授予相應(yīng)權(quán)限;而簽名或系統(tǒng)級(jí)別權(quán)限,只有當(dāng)申請(qǐng)?jiān)摍?quán)限的應(yīng)用具有與系統(tǒng)相同的簽名或該應(yīng)用是系統(tǒng)應(yīng)用時(shí)才能被授權(quán)。應(yīng)用有了相應(yīng)的權(quán)限后就可以進(jìn)行相應(yīng)的操作或訪問(wèn)相應(yīng)的隱私數(shù)據(jù)。例如:應(yīng)用如果申請(qǐng)CALL_PHONE這個(gè)權(quán)限,那么它就可以在無(wú)需用戶確認(rèn)的情況下?lián)艽螂娫?,惡意?yīng)用可能會(huì)利用這個(gè)權(quán)限來(lái)實(shí)施消耗用戶的話費(fèi)或監(jiān)聽(tīng)用戶談話內(nèi)容等惡意操作,侵犯用戶隱私。Android官網(wǎng)列出了Android系統(tǒng)自帶的165個(gè)權(quán)限[7]。
1.2國(guó)內(nèi)外研究現(xiàn)狀
目前,Android惡意應(yīng)用檢測(cè)技術(shù)分為動(dòng)態(tài)檢測(cè)技術(shù)和靜態(tài)檢測(cè)技術(shù)。Enck等人的輕量級(jí)應(yīng)用檢測(cè)工具Kirin提出了一組危險(xiǎn)權(quán)限組合[8],如表1所示。文獻(xiàn)[9]對(duì)Android的隱私信息風(fēng)險(xiǎn)點(diǎn)進(jìn)行了分析,并通過(guò)編寫(xiě)竊取隱私的惡意代碼驗(yàn)證各個(gè)風(fēng)險(xiǎn)點(diǎn)確實(shí)存在。文獻(xiàn)[10]曾針對(duì)Android隱私數(shù)據(jù)提出了TaintDroid模型,其對(duì)隱私數(shù)據(jù)做著色跟蹤以判斷應(yīng)用是否竊取用戶隱私。文獻(xiàn)[11]提出了Saint機(jī)制,Saint可以控制應(yīng)用安裝時(shí)權(quán)限的分配,程序運(yùn)行時(shí)根據(jù)自定義策略保護(hù)應(yīng)用的對(duì)外接口。文獻(xiàn)[12]提出了APEX,通過(guò)修改包管理器讓用戶可以在運(yùn)行應(yīng)用時(shí)授予或撤銷(xiāo)應(yīng)用申請(qǐng)的某些權(quán)限。文獻(xiàn)[13]從Android所有權(quán)限中提取出相關(guān)度小、使用頻繁的68個(gè)權(quán)限并計(jì)算每個(gè)權(quán)限的先驗(yàn)概率,再通過(guò)改進(jìn)的貝葉斯算法計(jì)算后驗(yàn)概率以計(jì)算應(yīng)用的惡意概率,以此判斷應(yīng)用是否是惡意應(yīng)用。文獻(xiàn)[14]根據(jù)GooglePlay對(duì)Android應(yīng)用的分類分別統(tǒng)計(jì)每一類應(yīng)用中每個(gè)權(quán)限出現(xiàn)的概率,通過(guò)每個(gè)權(quán)限的概率計(jì)算未知應(yīng)用的惡意值以判斷應(yīng)用是否惡意。對(duì)大量數(shù)據(jù)運(yùn)用數(shù)據(jù)挖掘技術(shù)可以挖掘出很多有用的信息[15],文獻(xiàn)[16,17]利用數(shù)據(jù)挖掘技術(shù)挖掘出惡意應(yīng)用的特征,以此來(lái)檢測(cè)未知惡意應(yīng)用。

表1 Kirin 安全策略
在以權(quán)限判斷惡意應(yīng)用的研究中,文獻(xiàn)[8,16]總結(jié)惡意權(quán)限組合以判斷應(yīng)用是否是惡意應(yīng)用。但某些惡意權(quán)限組合確實(shí)是某些類別應(yīng)用所必需的,例如FINE_LOCATION+ INTERNET這個(gè)組合可以被用來(lái)跟蹤用戶地理位置,天氣預(yù)報(bào)類應(yīng)用的確需要這個(gè)組合來(lái)判斷用戶的位置以顯示本地天氣預(yù)報(bào)。文獻(xiàn)[14]通過(guò)分別計(jì)算每個(gè)應(yīng)用類別中每一個(gè)權(quán)限出現(xiàn)的概率,以此為基礎(chǔ)分析待測(cè)應(yīng)用是否是惡意應(yīng)用。由于同一類別的Android應(yīng)用申請(qǐng)單個(gè)權(quán)限的差異性也很大,因此這種方法的精確性會(huì)受到該原因的影響。本文把上述兩種研究方法結(jié)合起來(lái),首先通過(guò)分析提出30個(gè)能竊取用戶隱私的惡意權(quán)限組合,然后通過(guò)實(shí)驗(yàn)統(tǒng)計(jì)和計(jì)算得出每個(gè)惡意權(quán)限組合在每一類應(yīng)用中的惡意值,最后通過(guò)惡意值計(jì)算出待檢測(cè)應(yīng)用的惡意權(quán)值,以惡意權(quán)值判斷待測(cè)應(yīng)用是否是竊取用戶隱私的惡意應(yīng)用。相比于文獻(xiàn)[8,16],本文的方法在惡意權(quán)限組合的基礎(chǔ)上加入了應(yīng)用類別的概念,把應(yīng)用類別對(duì)惡意權(quán)限組合的影響納入考慮范圍,從而可以降低誤報(bào)率;相比于文獻(xiàn)[14]僅通過(guò)計(jì)算單個(gè)權(quán)限在每個(gè)類別中出現(xiàn)的概率的方法,本文則提出一系列竊取用戶隱私的惡意權(quán)限組合,通過(guò)計(jì)算各惡意權(quán)限組合相對(duì)于應(yīng)用類別的惡意值來(lái)判斷應(yīng)用的惡意性,以惡意權(quán)限組合和類別來(lái)判斷應(yīng)用的惡意性,其對(duì)惡意應(yīng)用的針對(duì)性更強(qiáng)。
2.1惡意權(quán)限組合
本文以竊取Android系統(tǒng)隱私數(shù)據(jù)為切入點(diǎn)。Android系統(tǒng)隱私數(shù)據(jù)可以劃分為四類:通話、短信、地理位置信息、其他個(gè)人隱私信息。通過(guò)參考Kirin安全規(guī)則[8]并分析在Android源代碼中對(duì)應(yīng)于官網(wǎng)165個(gè)權(quán)限[7]每個(gè)權(quán)限的詳細(xì)解釋,本文提出如表2所示的一系列惡意權(quán)限組合。

表2 惡意權(quán)限組合
如果其中任意一個(gè)權(quán)限組合被應(yīng)用申請(qǐng)且被用戶授予權(quán)限,那么該應(yīng)用就有獲取用戶相應(yīng)的隱私數(shù)據(jù)并發(fā)送給惡意應(yīng)用指定接收方的能力。如表2中第1條惡意權(quán)限組合,READ_PHONE_STATE權(quán)限允許應(yīng)用實(shí)時(shí)監(jiān)聽(tīng)手機(jī)通話狀態(tài);表3是Android系統(tǒng)定義的手機(jī)通話模塊的三種狀態(tài)。

表3 通話模塊的狀態(tài)
那么竊取隱私的惡意應(yīng)用則可以根據(jù)監(jiān)聽(tīng)到通話模塊的狀態(tài)由CALL_STATE_RINGING變?yōu)镃ALL_STATE_OFFHOOK而確定用戶正在通話,從而再利用RECORD_AUDIO權(quán)限啟動(dòng)錄音功能記錄用戶通話內(nèi)容;監(jiān)聽(tīng)到通話模塊狀態(tài)由CALL_STATE_OFFHOOK變?yōu)镃ALL_STATE_IDEL而判斷用戶通話完畢掛機(jī),從而中止錄音;最后再利用INTERNET權(quán)限把錄音上傳到指定服務(wù)器并刪除本地錄音。至此,惡意應(yīng)用就利用惡意權(quán)限組合1完成了竊取用戶通話內(nèi)容并上傳的惡意操作。
2.2具體檢測(cè)方法
但并不是所有申請(qǐng)了表2中權(quán)限組合的應(yīng)用都是惡意應(yīng)用,如一個(gè)天氣預(yù)報(bào)APP就需要獲取ACCESS_FINE_LOCATION+INTERNET或ACCESS_COARSE_LOCAION+INTERNET這些惡意權(quán)限組合,它們可以給用戶自動(dòng)提供本地天氣預(yù)報(bào);如果一味按照以上惡意權(quán)限組合規(guī)則去判斷一個(gè)應(yīng)用是否是惡意應(yīng)用,則會(huì)造成很多誤報(bào)。
針對(duì)類似情況,本文提出一種在不同應(yīng)用類別情景下基于惡意權(quán)限組合的竊取Android隱私惡意應(yīng)用檢測(cè)方法。該方法的設(shè)計(jì)思想為:首先根據(jù)GooglePlay對(duì)Android應(yīng)用的分類(如表4所示),從每個(gè)類別中各取30個(gè)非惡意應(yīng)用作為實(shí)驗(yàn)樣本,統(tǒng)計(jì)30個(gè)惡意權(quán)限組合在每個(gè)類別實(shí)驗(yàn)樣本中出現(xiàn)的概率,并通過(guò)概率計(jì)算出各個(gè)惡意權(quán)限組合對(duì)于各類別的惡意值。例如天氣類應(yīng)用中惡意權(quán)限組合16、17的惡意值計(jì)算出來(lái)應(yīng)該很小,而在音樂(lè)與音頻類應(yīng)用中其惡意值應(yīng)該很大。然后利用惡意值計(jì)算待檢測(cè)應(yīng)用的惡意權(quán)值。如果應(yīng)用的惡意權(quán)值小于或等于預(yù)設(shè)的閾值,那么就認(rèn)為該應(yīng)用不是竊取用戶隱私的惡意應(yīng)用,反之則是竊取隱私的惡意應(yīng)用。下面給出詳細(xì)介紹。
設(shè)應(yīng)用類別集合C={c1,c2,…,c26},ci代表表4中相應(yīng)的應(yīng)用類別,設(shè)惡意權(quán)限組合集合M={m1,m2,…,m30},mj代表表2中相應(yīng)的惡意權(quán)限組合。設(shè)T為惡意閾值。

表4 GooglePlay對(duì)應(yīng)用的分類
定義1概率P(ci,mj):在ci類應(yīng)用樣本中第mj條惡意權(quán)限組合出現(xiàn)的概率。
(1)
其中TS(ci):類別ci中實(shí)驗(yàn)樣本的總數(shù);PT(ci,mj):類ci樣本中第mj條惡意權(quán)限組合在實(shí)驗(yàn)樣本中出現(xiàn)的次數(shù)。
定義2惡意值B(ci,mj):對(duì)類ci,第mj條惡意權(quán)限組合的惡意值。
(2)
以0.9為底的對(duì)數(shù)函數(shù)在0到1區(qū)間內(nèi)的較大斜率單調(diào)遞減性質(zhì)可以放大各惡意權(quán)限組合的惡意值之間的差異性。P(ci,mj)等于0則惡意值B(ci,mj)趨向于無(wú)窮大,表征類ci應(yīng)用申請(qǐng)第mj條惡意權(quán)限組合是不合理的。
定義3惡意權(quán)值T(a):應(yīng)用a的惡意權(quán)值;
(3)

本文檢測(cè)方法的步驟:
Step1構(gòu)建非惡意樣本庫(kù)。
GooglePlay是Android應(yīng)用的官方市場(chǎng),它對(duì)上線的應(yīng)用有嚴(yán)格的審核機(jī)制。本文根據(jù)GooglePlay對(duì)應(yīng)用的26個(gè)分類,從其中下載評(píng)分高、下載用戶多的應(yīng)用,并通過(guò)殺毒軟件過(guò)濾,分別采集每類樣本各30個(gè),共780個(gè),把它們作為非惡意應(yīng)用實(shí)驗(yàn)樣本。GooglePlay應(yīng)用分為26類,如表4所示(由于個(gè)性化與動(dòng)態(tài)壁紙內(nèi)容相同故歸為一類)。
Step2根據(jù)式(1)、式(2)計(jì)算出P(ci,mj)、B(ci,mj)。
Android SDK(soft development kit)中的資產(chǎn)打包工具AAPT(Android asset packaging tool)可以提取應(yīng)用AndroidManifest.xml中申請(qǐng)的權(quán)限,編寫(xiě)Java程序自動(dòng)執(zhí)行APTT工具,對(duì)Step1構(gòu)建的非惡意樣本庫(kù)中的應(yīng)用進(jìn)行解壓,以應(yīng)用類別為單位逐一提取每個(gè)樣本應(yīng)用的權(quán)限并以二維數(shù)組的形式保存,二維數(shù)組的行存儲(chǔ)的是一個(gè)應(yīng)用申請(qǐng)的所有權(quán)限。將二維數(shù)組的每一行與表2對(duì)比,統(tǒng)計(jì)該類別中每個(gè)惡意權(quán)限組合出現(xiàn)的次數(shù),即式(1)中的PT(ci,mj)。圖1、圖2分別是娛樂(lè)、天氣兩個(gè)類別的非惡意樣本通過(guò)統(tǒng)計(jì)得出的PT(ci,mj)統(tǒng)計(jì)圖。根據(jù)PT(ci,mj)計(jì)算式(1)的概率P(ci,mj)和式(2)中的惡意值B(ci,mj),由于不同類別中不同惡意權(quán)限組合的B(ci,mj)各不相同,限于篇幅不予列出。

圖1 娛樂(lè)類應(yīng)用權(quán)限組合分布圖

圖2 天氣類應(yīng)用權(quán)限組合分布圖
Step3由B(ci,mj)根據(jù)式(3)計(jì)算任意一個(gè)應(yīng)用a的惡意權(quán)值T(a)。
由Step2得到B(ci,mj)后就可以通過(guò)式(3)檢測(cè)任意一個(gè)類別中任意一個(gè)應(yīng)用的惡意性了。執(zhí)行過(guò)程如圖3所示。執(zhí)行Java程序啟動(dòng)aapt.exe提取其AndroidManifest.xml中聲明的權(quán)限,并在程序中把應(yīng)用a的權(quán)限與表3中的惡意權(quán)限組合對(duì)比,得到應(yīng)用a中出現(xiàn)的惡意權(quán)限組合的集合N(a),通過(guò)式(3)計(jì)算應(yīng)用a的惡意權(quán)值T(a)。如果T(a)大于惡意閾值T,則判斷a為威脅用戶隱私的惡意應(yīng)用,若T(a)小于或等于T則判斷a是正常應(yīng)用。T的取值很關(guān)鍵,如果該值過(guò)大,會(huì)造成檢測(cè)的準(zhǔn)確率很低,T太小會(huì)造成正常應(yīng)用的誤報(bào)率很高。通過(guò)給閾值T取不同的值,反復(fù)實(shí)驗(yàn)對(duì)比分析,取經(jīng)驗(yàn)值T=0.5時(shí)檢測(cè)的準(zhǔn)確率較高、誤報(bào)率較低,綜合表現(xiàn)最佳。

圖3 惡意應(yīng)該檢測(cè)流程圖
實(shí)驗(yàn)在內(nèi)存為4 GB、處理器為Intel(R) Core(TM) 2.6 GHz的機(jī)器上完成,用Java語(yǔ)言實(shí)現(xiàn)了如圖3所示檢測(cè)流程。為了衡量實(shí)驗(yàn)的效果,先定義真陽(yáng)性TP(True Positive),即正常應(yīng)用被檢測(cè)為正常的數(shù)量;假陽(yáng)性FP(Fail Positive),即正常應(yīng)用被檢測(cè)為惡意的數(shù)量;真陰性TN(True Negative),即惡意應(yīng)用被檢測(cè)為惡意的數(shù)量;假陰性FN(Fail Negative),即惡意應(yīng)用被檢測(cè)為正常的數(shù)量;定義FPR=FP/(TP+FP),即正常應(yīng)用的誤報(bào)率;TNR=TN/(TN+FN),即惡意應(yīng)用被檢測(cè)為惡意應(yīng)用的檢出率;ACC=(TP+TN)/( TP+FP+TN+FN),即檢測(cè)的總體準(zhǔn)確率。
VirusShare[18]是一個(gè)龐大的病毒庫(kù),其收集了被各大殺毒中心認(rèn)定為病毒的病毒樣本,其中也包含Android系統(tǒng)上竊取用戶隱私的惡意應(yīng)用。本文從其中下載竊取用戶隱私的惡意應(yīng)用500個(gè),從其中隨機(jī)抽取300個(gè)作為實(shí)驗(yàn)數(shù)據(jù)。從初始樣本中取150個(gè)正常應(yīng)用,再另外從GooglePlay中下載150個(gè)正常應(yīng)用。以正常應(yīng)用和竊取用戶隱私的惡意應(yīng)用各50個(gè)為一組,共6組作為實(shí)驗(yàn)數(shù)據(jù)。統(tǒng)計(jì)實(shí)驗(yàn)結(jié)果如表5所示。

表5 實(shí)驗(yàn)結(jié)果
由表5可以計(jì)算出本文方法的總體準(zhǔn)確率ACC為82.83%,惡意應(yīng)用樣本的檢出率為74.67%,正常應(yīng)用的誤報(bào)率為9%。用以上6組數(shù)據(jù)作為樣本,用文獻(xiàn)[8]的方法進(jìn)行檢測(cè),得出總體準(zhǔn)確率ACC為62.15%,惡意應(yīng)用樣本的檢出率為32.29%,正常應(yīng)用的誤報(bào)率為8%。本文方法雖然誤報(bào)率略高于文獻(xiàn)[8],但總體檢測(cè)準(zhǔn)確率和惡意應(yīng)用檢出率均高出文獻(xiàn)[8]很多。同時(shí),本文與文獻(xiàn)[19]同屬于基于權(quán)限檢測(cè)惡意應(yīng)用的靜態(tài)檢測(cè)方法,本文的平均準(zhǔn)確率略高于文獻(xiàn)[19]的總體平均準(zhǔn)確率ACC的80.634%??梢?jiàn)本文檢測(cè)方法雖然誤報(bào)率略高一點(diǎn),但是其準(zhǔn)確率和惡意應(yīng)用檢出率都較高,相比之下綜合表現(xiàn)更佳。作為一個(gè)輕量級(jí)檢測(cè)方法,用來(lái)初步判斷Android應(yīng)用是否有竊取隱私信息的惡意傾向還是有效的。
實(shí)現(xiàn)是在一臺(tái)內(nèi)存為4 GB、處理器為Intel(R) Core(TM) 3.2GHz、操作系統(tǒng)為Ubuntu12.04的機(jī)器上,先下載并編譯Android4.0.3源代碼;然后修改Android系統(tǒng)安裝應(yīng)用的入口代碼PackageInstaller:在用戶安裝應(yīng)用時(shí)對(duì)安裝應(yīng)用申請(qǐng)的權(quán)限進(jìn)行檢測(cè),如果檢測(cè)到待安裝應(yīng)用存在惡意權(quán)限組合,則要求用戶選擇應(yīng)用類別以進(jìn)一步檢測(cè),如圖4所示;最后根據(jù)用戶選擇的應(yīng)用類別計(jì)算出待安裝應(yīng)用的惡意權(quán)值T(a),如果T(a)大于閾值T則提示該應(yīng)用的何風(fēng)險(xiǎn),并讓用戶選擇是否繼續(xù)安裝。

圖4 提示用戶選擇應(yīng)用類別
本文通過(guò)參考Kirin檢測(cè)工具的安全策略,并分析Android系統(tǒng)的所有權(quán)限,從隱私信息入手提出了一系列竊取用戶隱私信息的Android惡意權(quán)限組合;由于某些惡意組合出現(xiàn)在某些特定類別應(yīng)用中是合理的,所以又通過(guò)大量實(shí)驗(yàn)計(jì)算出每個(gè)類別分別對(duì)每個(gè)惡意權(quán)限組合的惡意值;利用惡意值可以計(jì)算出任意待檢測(cè)應(yīng)用的惡意權(quán)值,把惡意權(quán)值與本文提出的閾值T比較,從而判斷該應(yīng)用是否是竊取隱私的惡意應(yīng)用。實(shí)驗(yàn)結(jié)果證明本文提出的方法的檢測(cè)準(zhǔn)確率高。最后通過(guò)編譯并修改Android系統(tǒng)源代碼,把本文的方法添加到應(yīng)用安裝入口PackageInstaller中,增加了Android系統(tǒng)的安全性。下一步將擴(kuò)大樣本的數(shù)量等,進(jìn)一步完善本文的檢測(cè)方法。
[1] Smartphone OS sales market share[EB/OL].(2015-3-7) http://www.kantarworldpanel.com/global/smartphone-os-market-share/.
[2] Android,the world’s most popular mobile platform[EB/OL].(2015-4-22) http://developer.android.com/about/index.html.[3] 2014年第一季度網(wǎng)秦全球手機(jī)安全報(bào)告[EB/OL].(2014-5-28) http://s1.nq.com/file/cnnq/download/2014Q1.pdf.
[4] 360互聯(lián)網(wǎng)安全中心2014年手機(jī)安全報(bào)告[EB/OL].(2015-3-20) http://zt.360.cn/1101061855.php?dtid=1101061451&did=1101205565.
[5] The Android manifest.xml file [EB/OL].(2015-4-3) https://developer.android.com/samples/BluetoothLeGatt/AndroidManifest.html.
[6] 蔣紹林,王金雙,張濤,等.Android安全研究綜述[J].計(jì)算機(jī)應(yīng)用與軟件,2012,29(10):205-210.
[7] Mainfest.Permission[EB/OL].(2015-4-22) http://developer.and roid.com/reference/android/Manifest.permission.html.
[8] Enck W,Ongtang M,Patrick McDaniel.On Lightweight Mobile Phone Application Certification[C]//Proceedings of the 16th ACM Conference on Computer and Communication-s,2009:235-245.
[9] 張嘉賓.Android應(yīng)用的安全性研究[D].北京:北京郵電大學(xué),2013.
[10] Enck W,Gilbert P,Byunggon C,et al.TaintDroid:An information flow tracking system for real-time privacy monitoring on smartphones[C]//Proceeding of the 9th USENIX Symposium on Operating Systems Design and Implementation (OSDI 10),2010:393-408.
[11] Ongtang M,McLaughlin S,Enck W,et al.Semantically rich application-centric security in Android [C]//Annual Computer Security Applications Conference,2009:304-309.
[12] Nauman M,Khan S,Zhang X.Apex:Extending Android permission model and enforcement with defined runtime constraints [C]//ACM Conference on Computer and Communication Security,2010:328-332.
[13] 張銳,楊吉云.基于權(quán)限相關(guān)性的Android惡意軟件檢測(cè)[J].計(jì)算機(jī)應(yīng)用,2014,34(5):1322-1325.
[14] 張葉慧,彭新光,蔡志標(biāo).基于類別以及權(quán)限的Android惡意應(yīng)用檢測(cè)[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(5):1568-1571.
[15] 李海峰,章寧,朱建明,等.時(shí)間敏感數(shù)據(jù)流上的頻繁項(xiàng)集挖掘算法[J].計(jì)算機(jī)學(xué)報(bào),2012,35(11):2283-2293.
[16] 楊歡,張玉清,胡予濮,等.基于權(quán)限頻繁模式挖掘算法的 Android 惡意應(yīng)用檢測(cè)方法[J].通信學(xué)報(bào),2013,34(S1):106-115.
[17] 楊歡,張玉清,胡予濮,等.基于多類特征的Android應(yīng)用惡意行為檢測(cè)系統(tǒng)[J].計(jì)算機(jī)學(xué)報(bào),2014,37(1):15-27.
[18] Virusshare.com-Because share is caring [EB/QL].(2015-4-3) http://virusshare.com/support.
[19] Sanz B,Santos I,Laorden C,et al.Permission usage to detect Malware in android [C]//International Joint Conference CISIS’ 12-ICEUTE’ 12-SOCO’ 12 Special Sessions,2013:289-298.
DETECTION METHOD FOR ANDROID MALWARE OF PRIVACY STEALING BASED ON PERMISSIONS COMBINATION
Huang MeigenZeng Yunke
(College of Computer Science and Technology,Chongqing University of Posts and Telecommunications,Chongqing 400065,China)
On the basis of analysing 165 permissions of Android system,we extracted 30 malicious permissions combinations that can theoretically acquire privacy resources of Android system.Aiming at the application category we proposed a detection method for the malwares stealing privacies,which is based on malicious value of malicious permissions combination,malicious weight of application under test,and malicious threshold.The correctness and accuracy of this method have been verified through the experiment.The method has also been implemented in Android operating system.
Android operating systemMalicious permissions combinationMalware detectionApplication category
2015-05-21。重慶市自然科學(xué)基金項(xiàng)目(cstc2012jjA4014);重慶市教委科學(xué)技術(shù)研究項(xiàng)目(KJ130518)。黃梅根,高工,主研領(lǐng)域:網(wǎng)絡(luò)通信。曾云科,碩士生。
TP309
A
10.3969/j.issn.1000-386x.2016.09.074