鄭 堯,王軼駿,薛 質(zhì)
(上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240)
通過AndroidManifest和API調(diào)用追蹤的惡意檢測
鄭 堯,王軼駿,薛 質(zhì)
(上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240)
研究了一種靜態(tài)基于特征向量的機(jī)制,提供了一種靜態(tài)分析的方法,用來檢測Android惡意應(yīng)用。為了識(shí)別不同Android惡意軟件的意圖,各種聚類算法被應(yīng)用在此機(jī)制中,用來增強(qiáng)對(duì)Android任意應(yīng)用程序的行為建模能力。同時(shí)研發(fā)了一套系統(tǒng)—XDroidMat。XDroidMat從每個(gè)Android應(yīng)用程序的AndroidManifest.xml中抽取出靜態(tài)信息,把組件作為切入點(diǎn),往后追蹤組件間通信及其API的調(diào)用。然后使用“k-means”算法加強(qiáng)建立惡意程序模型的能力。聚類的個(gè)數(shù)是通過奇異值分解算法決定的。最后采用“kNN”算法判別應(yīng)用程序是惡意應(yīng)用還是正常合法的應(yīng)用。實(shí)驗(yàn)結(jié)果表明,XDroidMat的準(zhǔn)確率達(dá)到了98.12%,在檢測Android惡意應(yīng)用中性能優(yōu)異。
Android惡意應(yīng)用;靜態(tài)分析;基于特征;組件間通信
隨著科技的發(fā)展,移動(dòng)手機(jī)早已進(jìn)入智能手機(jī)時(shí)代,較以前具有了更多復(fù)雜的功能。不僅僅是官方市場(Google Play),而且第三方市場也在提供Android應(yīng)用,推動(dòng)了Android的發(fā)展。不幸的是,這種發(fā)展也帶來了很多惡意應(yīng)用開發(fā)者。智能手機(jī)已經(jīng)變成惡意軟件惡意行為的另一個(gè)溫床。
Android市場是增長最快的移動(dòng)應(yīng)用平臺(tái)。有報(bào)告顯示,Android市場的增長率是Apple應(yīng)用商店增長率的三倍以上。Apple的應(yīng)用商店,每個(gè)可用的應(yīng)用都要被安全工程師檢查。但是在Android市場,在應(yīng)用發(fā)布到市場之前,沒有一套完整的應(yīng)用檢測程序。
在此研究中,提出一種基于特征的機(jī)制,為檢測Android惡意軟件提供一種靜態(tài)分析方法。在該機(jī)制中,考慮了包括permissions,component配置,Intent消息傳遞和API調(diào)用等靜態(tài)信息,給Android應(yīng)用的行為建模。為了識(shí)別不同Android惡意軟件的意圖,各種聚類算法被應(yīng)用在此機(jī)制中,用來增強(qiáng)對(duì)Android任意應(yīng)用程序的行為建模能力。利用提出的機(jī)制研發(fā)了一套系統(tǒng)—XDroidMat,從每個(gè)Android應(yīng)用程序的AndroidManifest.xml中抽取靜態(tài)信息,并把每個(gè)組件(Activity,Service和Receiver)作為切入點(diǎn),往后追蹤組件間通信及其API的調(diào)用。使用“k-means”算法加強(qiáng)建立惡意程序模型的能力,以及“kNN”算法判別應(yīng)用程序是惡意應(yīng)用還是合法應(yīng)用。
文中描述了從不同方面對(duì)Android惡意軟件檢測的相關(guān)工作。此外,討論了其他相關(guān)[1]工作使用的不同特征。
1.1 誤用檢測模型
誤用檢測是一種基于簽名的方法,通過一套規(guī)則或策略檢測到惡意軟件。
有相關(guān)研究工作應(yīng)用該機(jī)制來檢測移動(dòng)惡意軟件。例如,Kim等[1]從收集到的樣本中建立能耗的歷史,從這段歷史庫中建立了一種能量特征,來做能量性的惡意應(yīng)用檢測;Fuchs等[2]提出了一種ScanSroid機(jī)制,提取應(yīng)用程序的安全規(guī)范,應(yīng)用數(shù)據(jù)流分析來檢測某一數(shù)據(jù)流是否違反這些策略。
1.2 異常檢測
異常檢測不同于誤用檢測,它運(yùn)用機(jī)器學(xué)習(xí)算法來學(xué)習(xí)已知惡意行為,預(yù)測未知或新的惡意軟件。盡管異常檢測能夠檢測較新的惡意應(yīng)用,但也會(huì)提高漏報(bào)率。
Bose等[3]為檢測框架,通過觀察應(yīng)用的邏輯順序檢測Android惡意應(yīng)用,而不是基于簽名的解決方案。更進(jìn)一步,他們基于SVM訓(xùn)練一個(gè)分類器,用來把惡意應(yīng)用從正常應(yīng)用中區(qū)分出來。
Zhao[4]等利用SVD算法,專注于基于惡意軟件檢測軟件行為的框架—AntiMalDroid。這種框架將惡意軟件特征動(dòng)態(tài)擴(kuò)展到數(shù)據(jù)庫中。
Teufl[5]等提取了關(guān)鍵權(quán)限,執(zhí)行語義搜索查詢,獲得權(quán)限之間的關(guān)系,用來檢測可疑異常的應(yīng)用程序。
1.3 提取特征
提取的特征通常對(duì)于創(chuàng)建分析模型是有用的和有意義的。文中提取的特性對(duì)仿真結(jié)果有一定影響。因此,對(duì)提取特征進(jìn)行分類和定義。將調(diào)查到的特征分為三類:動(dòng)態(tài)的、靜態(tài)的和額外信息。
(1)動(dòng)態(tài)特征。
相關(guān)工作中涉及到集中動(dòng)態(tài)特征,如下所述:
登錄行為序列:Zhao等[4]提出以登錄行為序列作為特征,檢測Android惡意應(yīng)用,然后建立了特征模型來檢測惡意應(yīng)用與其在運(yùn)行時(shí)的有效變異。
系統(tǒng)調(diào)用:耿東久等[6]追蹤系統(tǒng)調(diào)用行為。
動(dòng)態(tài)污染的數(shù)據(jù)流和控制流:楊博[7]研究了第三方應(yīng)用程序隱私敏感數(shù)據(jù)流動(dòng),提出了基于控制流和數(shù)據(jù)流的Android應(yīng)用分析技術(shù),為權(quán)限檢測和通信系統(tǒng)分析提供了可靠的數(shù)據(jù)。張一等[8]提出了動(dòng)態(tài)跟蹤防御方法,可以對(duì)應(yīng)用進(jìn)程間通信(IPC)進(jìn)行監(jiān)測,監(jiān)測是否發(fā)生惡意的權(quán)限提升。
能量功耗:文獻(xiàn)[1]考慮把能量功耗作為區(qū)分合法應(yīng)用與惡意應(yīng)用的特征。
(2)靜態(tài)特征。
另一種流行的惡意軟件分析方法是靜態(tài)分析。它通過分析應(yīng)用程序的每個(gè)組件實(shí)現(xiàn)目標(biāo)。盡管對(duì)惡意軟件使用動(dòng)態(tài)分析可以提供全面的了解,但仍受到高成本環(huán)境部署和手動(dòng)調(diào)查的限制。相關(guān)工作中涉及到集中動(dòng)態(tài)特征,下面列出文中主要使用的靜態(tài)特性。
請(qǐng)求的權(quán)限:張葉慧等[9]統(tǒng)計(jì)每一個(gè)類別應(yīng)用程序權(quán)限使用情況,利用應(yīng)用程序的訪問權(quán)限,計(jì)算該類別惡意閾值。沈才樑等[10]的研究也聚焦在權(quán)限提升。
載入的包:Zhou等[11]考慮了被應(yīng)用載入的包。李宇翔等[12]利用重打包注入安全防護(hù)代碼的加固系統(tǒng),不僅提供應(yīng)用動(dòng)態(tài)權(quán)限管理機(jī)制,還提供權(quán)限劃分細(xì)粒度的安全策略。
API調(diào)用:Zhou等[11]、曾立鹍等[13]、呂曉慶等[14]也在他們的研究中考慮了API調(diào)用。
(3)額外信息。
通過上述內(nèi)容可以發(fā)現(xiàn),不管對(duì)于PC還是智能手機(jī),動(dòng)態(tài)分析和靜態(tài)分析都是兩種主要機(jī)制。但是,不僅來自應(yīng)用程序本身的信息很重要,來自其他方面的信息也非常重要。很多研究者認(rèn)為,這些信息可能幫助來鑒別重包裝的應(yīng)用是否為原始合法應(yīng)用的更新版本,還是被注入了另外一些功能,比如廣告和惡意模式。而在安卓市場上的應(yīng)用程序的信息,比如應(yīng)用程序描述、下載數(shù)量,價(jià)格和激活模式應(yīng)用范疇,也是重點(diǎn)研究的對(duì)象。例如,祝為等[15]利用Android Rootkit等技術(shù)特征,從內(nèi)核級(jí)別對(duì)Android系統(tǒng)進(jìn)行檢測。另外一些研究者通過對(duì)應(yīng)用程序的網(wǎng)絡(luò)行為進(jìn)行觀察,從而對(duì)其進(jìn)行檢測。
提出一種靜態(tài)特征機(jī)制為Android惡意應(yīng)用檢測提供一種靜態(tài)分析方法,考慮了檢測效率和跨版本的分析能力。這種機(jī)制涉及到靜態(tài)信息,包括權(quán)限、組件配置、Intent消息傳遞和API調(diào)用,用這些特征來描述Android惡意應(yīng)用行為。該系統(tǒng)的構(gòu)架如圖1所示。將從構(gòu)架和詳細(xì)機(jī)制兩個(gè)部分來介紹。
在說明使用什么樣的特征之前,首先描述一些良性的應(yīng)用和Android惡意軟件之間的觀測結(jié)果。統(tǒng)計(jì)了搜集的正常合法應(yīng)用與惡意應(yīng)用中每個(gè)組件的使用情況,如表1所示。從中發(fā)現(xiàn),Android惡意應(yīng)用比合法應(yīng)用往往要求更多的Permission、Service和Receiver組件。它們通常在悄悄地運(yùn)行后臺(tái)服務(wù)時(shí)隱藏惡意行為。
圖1 XDroidMat系統(tǒng)架構(gòu)
應(yīng)用類型良性應(yīng)用惡意應(yīng)用Permission4.7812.51Activity10.23.60Service0.421.10Receiver0.651.72Provider0.120.23
調(diào)查了合法應(yīng)用軟件和惡意應(yīng)用軟件需要的前30個(gè)權(quán)限,發(fā)現(xiàn)在權(quán)限需求方面兩者有一個(gè)非常重要的區(qū)別。對(duì)于合法軟件來說,它們通常需要的是正常合法的非敏感權(quán)限,比如網(wǎng)絡(luò)權(quán)限INTERNET、獲取網(wǎng)絡(luò)狀態(tài)權(quán)限ACCESS NETWORK STATE等等。但是,對(duì)于應(yīng)用軟件來說,它們經(jīng)常請(qǐng)求敏感權(quán)限,而這些權(quán)限可能對(duì)應(yīng)相關(guān)的惡意行為,比如申請(qǐng)SEND SMS權(quán)限用來發(fā)送高費(fèi)率短信,申請(qǐng)INSTALL PACKAGE權(quán)限用來安裝從其地方來的Android惡意軟件。雖然有些權(quán)限都被合法應(yīng)用軟件和惡意應(yīng)用軟件申請(qǐng),但是這些權(quán)限被用在不同的組件中(比如,合法軟件在Activity組件中使用這個(gè)權(quán)限,而惡意軟件在Service組件中使用該權(quán)限)。
2.1 靜態(tài)行為提取
從AndroidManifest.xml和smali文件中提取出足夠的信息進(jìn)行深入分析。定義以下靜態(tài)特征,這些特征隱含了每個(gè)應(yīng)用的配置和意圖。在提取特征完畢后,為每個(gè)應(yīng)用建立一個(gè)特征向量。如果元素不包括在應(yīng)用程序中,向量中對(duì)應(yīng)元素的值為0,如果元素是應(yīng)用程序包含的,則該元素的值為1。
(1)AndroidManifest.xml文件是每個(gè)應(yīng)用對(duì)于Android系統(tǒng)的重要信息,是系統(tǒng)在運(yùn)行任何應(yīng)用的代碼時(shí)所必須的信息。它提供了應(yīng)用的所有設(shè)置信息,包含了一些區(qū)分的很顯然的特點(diǎn),比如Permission和Component(包括Activity,Service和Receiver)。
(2)Intent消息也是用到的一個(gè)特征。Intent負(fù)責(zé)對(duì)應(yīng)用中一次操作的動(dòng)作、動(dòng)作涉及數(shù)據(jù)、附加數(shù)據(jù)進(jìn)行描述。應(yīng)用的三個(gè)核心組件Activities,Services和Broadcast Receivers都是通過Intents來激活的。
(3)應(yīng)用程序的字節(jié)碼包含豐富的語義信息,比如API calls。想知道的是應(yīng)用執(zhí)行什么樣的操作是敏感的。特別地,關(guān)注那些權(quán)限受到保護(hù)的API的調(diào)用。另外,想知道它們?cè)谑裁唇M件中被使用。API在不同組件中使用暗示著不同的意圖。例如,Android惡意應(yīng)用軟件通常在Service組件中調(diào)用getDeviceId()這個(gè)API,然后在后臺(tái)悄悄運(yùn)行,來搜集手機(jī)信息。然而合法應(yīng)用軟件則是在Activity組件中調(diào)用這個(gè)API,并且顯示在界面上。有了API調(diào)用信息,能間接地推斷出app的意圖。
(4)Inter-Component Communication(ICC),組件間通信。文中研究發(fā)現(xiàn),大多數(shù)Android惡意軟件都喜歡在后臺(tái)悄悄運(yùn)行來隱藏自己,做一些惡意行為,比如偷取私人信息或者控制整個(gè)裝置并使之成為一個(gè)蠕蟲一樣。通常,它們是由Broadcast Receiver來監(jiān)聽和獲取特殊的廣播,比如BOOT COMPLETED(當(dāng)Android系統(tǒng)完成啟動(dòng)程序時(shí)會(huì)發(fā)送出來)。此后,Receiver要么自己運(yùn)行,要么永久地在后臺(tái)運(yùn)行。把組件(Activity,Service,Broadcast Receiver)作為切入點(diǎn),深入追蹤應(yīng)用軟件的組件間通信和與權(quán)限相關(guān)的API調(diào)用的情況。
2.2 功能行為識(shí)別
為了識(shí)別不同的Android應(yīng)用的意圖,應(yīng)用不同的聚類算法。文中選擇最常用k-means和EM算法。
首先研究的問題是確定聚類數(shù)目。運(yùn)用TF-IDF算法做出應(yīng)用特征矩陣。TF-IDF是一種關(guān)于信息檢索與信息勘探的統(tǒng)計(jì)方法。它實(shí)際上是一種加權(quán)技術(shù),常常被用于資訊檢索與資訊探勘的加權(quán)。用它對(duì)每個(gè)字詞相對(duì)于一個(gè)文件集或一個(gè)語料庫中的某一份文件的重要程度進(jìn)行評(píng)估。
文中使用奇異值分解(SingularValueDecomposition)算法確定最佳聚類數(shù)量。
對(duì)合法應(yīng)用來說,每個(gè)合法應(yīng)用屬于由Android市場決定的根據(jù)其功能的一個(gè)主題類別。文中參考GooglePlay類別(共26個(gè)),認(rèn)為每個(gè)類別作為一個(gè)聚類,因?yàn)槲闹姓J(rèn)為同一類別的應(yīng)用具有相似的功能。
奇異值分解算法描述如下:
F表示一個(gè)數(shù)據(jù)矩陣,m行n列,即m種Android資源,n種屬性。文中使用合適的分類方法,把F矩陣分解成l基的線性光譜混合模型。在系統(tǒng)設(shè)置中,列數(shù)太大,即F矩陣中的行數(shù)太大,使奇異值分解加大分解計(jì)算量,才能得到重要的特征。文中不直接使用F矩陣來實(shí)施SVD算法。
(1)
F×FT=U×D2×UT
(2)
U=F×FT/D2×UT
(3)
V=D-1×UT×F
(4)
在此系統(tǒng)中,隱藏變量的數(shù)量優(yōu)先被決定。文中利用頻譜分析所用到的SVD,選取占總頻譜能量λ(比如λ=95%)比例的前l(fā)個(gè)奇異值,作為聚類個(gè)數(shù)。進(jìn)一步使用式(5)的SVD算法來分解F矩陣。
M=U×S×VT
(5)
式(5)中,利用對(duì)角矩陣S,選取占總頻譜能量λ(比如λ=95%)比例的前l(fā)個(gè)奇異值作為隱藏變量的個(gè)數(shù),如式(6)所示。
(6)
k表示占總頻譜能量λ的所有頻率數(shù)的最小整數(shù),滿足式(7)。
(7)
2.3 Android惡意軟件識(shí)別
行為識(shí)別能總結(jié)Android惡意軟件的不同功能,用來做進(jìn)一步的預(yù)測參考。具有類似功能的應(yīng)用程序可以歸在一類。在認(rèn)識(shí)了應(yīng)用程序的行為意圖后,最后的目標(biāo)就是識(shí)別Android惡意應(yīng)用。在給定代表聚類的概要信息后,原則上能利用任意分類器進(jìn)行Android惡意應(yīng)用的檢測。文中采用樸素貝葉斯算法和kNN(k=1)算法。
2.4 構(gòu)造ICC特權(quán)圖推理
前一階段是設(shè)計(jì)檢測單獨(dú)的Android惡意應(yīng)用。對(duì)于重新打包的Android惡意應(yīng)用軟件來說,它們與合法應(yīng)用軟件非常相似。如果仍舊采用基于向量的機(jī)制,那么這些Android惡意應(yīng)用軟件可能輕易地偽裝,被系統(tǒng)認(rèn)為是合法應(yīng)用軟件。因?yàn)樗鼈兪褂玫拇蠖鄶?shù)組件都是合法的,而只有很少的一部分是惡意的。
為了解決這種類型的偽裝,采用ICC特權(quán)圖推理方法識(shí)別惡意組件。盡管只有很少的一部分惡意模式可能被注入到合法應(yīng)用中,但最終它們需要權(quán)限才能做惡意行為??梢酝ㄟ^ICC特權(quán)圖總結(jié)出重打包的Android惡意應(yīng)用的行為。
在此階段,前面基于向量機(jī)制檢測出來的合法程序含有部分惡意組件的標(biāo)簽,嘗試構(gòu)建這些應(yīng)用的ICC特征圖以進(jìn)行更深入的分析。
在ICC特權(quán)圖中,有四種頂點(diǎn)(Activity,Service,Broadcast Receiver和Permission),兩種邊(ICC和ICC-Permission)。每個(gè)應(yīng)用軟件都有自己的ICC結(jié)構(gòu),通過追蹤特權(quán)API的使用,把每個(gè)組件與其相聯(lián)系的權(quán)限連接起來。最后,把這些應(yīng)用軟件的ICC特權(quán)圖合成一個(gè)圖。假設(shè),在底部不同的應(yīng)用軟件在ICC圖中沒有任何聯(lián)系,但是它們共享同一套權(quán)限。
在ICC特權(quán)圖建立好之后,用PageRank算法來給組件打分,并通過關(guān)系傳播。一旦某個(gè)組件得到高分,它可能被認(rèn)定是惡意的,進(jìn)而其所屬的應(yīng)用軟件被認(rèn)為是Android惡意軟件。在ICC特權(quán)圖中,節(jié)點(diǎn)可能是組件或者權(quán)限,但把它們當(dāng)做同樣的目標(biāo),即節(jié)點(diǎn)。
為了評(píng)估該方法,文中對(duì)XDroidMat的有效性進(jìn)行驗(yàn)證。另外,將XDroidMat和另一款常用的基于簽名的Android惡意應(yīng)用檢測Androguard[4]進(jìn)行比較,在Blackhat2011上發(fā)布。
3.1 數(shù)據(jù)集
在Contagio mobile和VirusShare網(wǎng)站上搜集惡意軟件。文中隨機(jī)在Google Play商店給每個(gè)類別(共26類)下載了50個(gè)應(yīng)用程序。默認(rèn)這1 300個(gè)應(yīng)用是安全合法的??偣菜鸭?23個(gè)Android惡意應(yīng)用,包含了34個(gè)惡意程序家族。
3.2 評(píng)價(jià)標(biāo)準(zhǔn)
評(píng)估時(shí)把每個(gè)Android惡意程序作為一個(gè)實(shí)例。把Android惡意程序檢測為真實(shí)例True instance,而把合法應(yīng)用檢測為假實(shí)例False instance。
定義了一組相關(guān)指標(biāo),從各個(gè)方面來衡量實(shí)驗(yàn)效果。現(xiàn)設(shè)TP(True Positive)為惡意軟件被正確檢測出來,即惡意軟件被檢測為惡意軟件的數(shù)量。FP(False Positive)表示惡意軟件沒有被正確檢測出來(而被檢測為合法軟件)的數(shù)量。TN(True Negative)表示合法軟件被檢測出來的數(shù)量,即被檢測為合法軟件的數(shù)量。FN(False Negative)表示合法軟件沒有被正確檢測出來(而被檢測為惡意軟件)的數(shù)量。
3.3 有效性分析
為了評(píng)估XDroidMat的有效性,設(shè)置了兩個(gè)系列的實(shí)驗(yàn),一個(gè)是基本參數(shù)比較,另一個(gè)是與Androguard(一個(gè)很受歡迎的開源的Android惡意應(yīng)用分析檢測工具)進(jìn)行比較。
這四種特征集如下:
(1)Intent+API:此特征集涵蓋了應(yīng)用的所有信息,包括組件類別、所需權(quán)限、Intents以及API調(diào)用。
(2)有API而沒有Intent:此特征集幾乎和前者一樣,除了沒有考慮Intents信息。
(3)Permission+API:此特征集包含所需權(quán)限和API調(diào)用。
(4)Intent+Permission+API:此特征集在文中方法中用到,包含所需權(quán)限、Intents以及API調(diào)用。
表2顯示了應(yīng)用不同特征集到XDroidMat中的實(shí)驗(yàn)結(jié)果。
基本參數(shù)有效性的比較結(jié)果顯示,特征集“with+Intent+API”有最好的召回率。文中方法用到的特征集“Permission+Intents+API”,有最佳的準(zhǔn)確率。前者包含了與應(yīng)用相關(guān)的所有信息,而這些信息能夠檢測出更多的Android惡意應(yīng)用軟件。但是由于大部分特征是組間類別,這些組間類別對(duì)于每個(gè)應(yīng)用都是唯一的,所以前者不是經(jīng)常用。盡管后者的召回率(recall rate)不像前者那么好,但是它的精確率(precision)是最好的,而且更常被用到。
表2 不同特征組合的召回率、精確率比較
表3顯示了應(yīng)用不同的聚類和分類算法在此機(jī)制中的不同結(jié)果。文中采用四種不同組合的分類算法來分析結(jié)果。
表3 不同的聚類和分類算法的召回率、精確率比較
文中選擇了k-means和kNN的組合。
比較了XDroidMat和Androguard的檢測能力。實(shí)驗(yàn)結(jié)果見表3。此外,兩個(gè)系統(tǒng)的混淆矩陣和評(píng)價(jià)標(biāo)準(zhǔn)結(jié)果顯示在表4和表5中。
表4 Androguard的混淆矩陣
表5 XDroidMat的混淆矩陣
實(shí)驗(yàn)顯示,XDroidMat能檢測出更多的惡意應(yīng)用。甚至在小樣本情況下,XDroidMat也有更好的效果。此外,XDroidMat能識(shí)別大多數(shù)Android變異惡意軟件。從平均召回率和F-measure等評(píng)價(jià)標(biāo)準(zhǔn)來看,XDroidMat相對(duì)于Androguard都要好。
由于考慮了Permissions,Intents和API調(diào)用等情況,實(shí)驗(yàn)結(jié)果表明XDroidMat比Androguard能檢測出更多的Android惡意應(yīng)用。但是,XDroidMat能檢測出的Android惡意應(yīng)用家族類別的數(shù)量要少于Androguard。因?yàn)榇蠖鄶?shù)家族只有一個(gè)樣本,使得XDroidMat學(xué)習(xí)它們的行為受限。其中,BaseBridge和DroidKungFu兩類家族是XDroidMat不能檢測出來的。
文中提出了XDroidMat,一種根據(jù)應(yīng)用不同意圖惡意應(yīng)用新檢測的方法。XDroidMat能夠區(qū)分Android惡意軟件變種截然不同的意圖,準(zhǔn)確率能達(dá)到98.12%。它是一個(gè)線性大小問題(輸入矩陣的非零數(shù)量)。不需要在沙盒中動(dòng)態(tài)檢測Android應(yīng)用的行為,節(jié)省環(huán)境配置開銷和手工調(diào)查成本。
[1]KimH,ShinKG,PillaiP.MODELZ:monitoring,detection,andanalysisofenergy-greedyanomaliesinmobilehandsets[J].IEEETransactionsonMobileComputing,2011,10(7):968-981.
[2]FuchsAP,ChaudhuriA,FosterJS.SCanDroid:automatedsecuritycertificationofAndroidapplications[R].Maryland:Univ.ofMaryland,2009.
[3]BoseA,HuX,ShinKG,etal.Behavioraldetectionofmalwareonmobilehandsets[C]//Proceedingsofthe6thinternationalconferenceonmobilesystems,applications,andservices.[s.l.]:ACM,2008:225-238.
[4]ZhaoM,GeF,ZhangT,etal.AntiMalDroid:anefficientSVM-basedmalwaredetectionframeworkforAndroid[C]//ProceedingsofICICA.[s.l.]:[s.n.],2011:158-166.
[5]TeuflP,KraxbergerS,OrthackerC,etal.Androidmarketanalysiswithactivationpatterns[M]//Securityandprivacyinmobileinformationandcommunicationsystems.[s.l.]:Springer,2012:1-12.
[6] 耿東久,索 岳,陳 渝,等.基于Android手機(jī)的遠(yuǎn)程訪問和控制系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2011,31(2):559-561.
[7] 楊 博.Android系統(tǒng)下應(yīng)用程序的安全性研究[D].上海:上海交通大學(xué),2013.
[8] 張 一,施 勇,薛 質(zhì).Android中權(quán)限提升漏洞的動(dòng)態(tài)防御技術(shù)[J].信息安全與通信保密,2013(11):71-74.
[9] 張葉慧,彭新光,蔡志標(biāo).基于類別以及權(quán)限的Android惡意程序檢測[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(5):1568-1571.
[10] 沈才樑,唐科萍,俞立峰,等.Android權(quán)限提升漏洞攻擊的檢測[J].電信科學(xué),2012,28(5):115-119.
[11]ZhouY,WangZ,ZhouW,etal.Hey,You,getoffofmymarket:detectingmaliciousappsinofficialandalternativeandroidmarkets[C]//Proceedingsofannualnetwork&distributedsystemsecuritysymposium.[s.l.]:[s.n.],2012:1-13.
[12] 李宇翔,林柏鋼.基于Android重打包的應(yīng)用程序安全策略加固系統(tǒng)設(shè)計(jì)[J].信息網(wǎng)絡(luò)安全,2014(1):43-47.
[13] 曾立鹍,唐泉彬,牛 斗.Android系統(tǒng)應(yīng)用程序組件安全性分析[J].軟件,2014,35(3):147-151.
[14] 呂曉慶,鄒仕洪.基于smali的Android軟件敏感API調(diào)用日志模塊嵌入系統(tǒng)[EB/OL].[2012-12-28].http://www.paper.edu.cn/releasepaper/content/201212-1107.
[15] 祝 為,王軼駿,薛 質(zhì).基于VFS的AndroidRootkit技術(shù)研究[J].信息安全與通信保密,2013(1):68-69.
Android Malware Detection of Calls Tracing with AndroidManifest and API
ZHENG Yao,WANG Yi-jun,XUE Zhi
(School of Electronic Information and Electrical Engineering,Shanghai Jiaotong University,Shanghai 200240,China)
A static feature-based mechanism is studied to provide a static analysis method for detection of the Android malware.In order to identify the intention of different Android malware,all kinds of clustering algorithms are applied to enhance the malware modeling capability to any Android procedure.Besides,a system,called XDroidMat,is developed.The XDroidMat extracts the information from each application’s manifest file and regards components as entry points drilling down for tracing API Calls related to permissions.Then it usesk-meansalgorithmtostrengthenthemalwaremodelingcapability.ThenumberofclustersisdecidedbySingularValueDecomposition(SVD)methodonthelowrankapproximation.Finally,ituseskNNalgorithmtoclassifytheapplicationasbenignormalicious.TheexperimentalresultsshowXDroidMatcanget98.12%accuracyanddowellindetectingtheAndroidmalware.
Android malware;static analysis;feature-based;ICC
2015-06-06
2015-11-09
時(shí)間:2017-02-17
國家自然科學(xué)基金資助項(xiàng)目(61332010)
鄭 堯(1988-),男,碩士,研究方向?yàn)樾畔踩?;王軼駿,講師,研究方向?yàn)樾畔踩?;?質(zhì),教授,研究方向?yàn)樾畔踩?/p>
http://www.cnki.net/kcms/detail/61.1450.TP.20170217.1623.006.html
TP
A
1673-629X(2017)03-0126-05
10.3969/j.issn.1673-629X.2017.03.026