杜 煒 李 劍
(北京郵電大學(xué)計算機學(xué)院 北京 100876) (duwei0810@gmail.com)
權(quán)威市場研究機構(gòu)Gartner于2017年5月發(fā)布了全球智能手機操作系統(tǒng)在2017年第1季度的分布報告[1].從分布報告中可以看出在智能手機的操作系統(tǒng)市場中,安卓智能操作系統(tǒng)比去年的市場份額增長了2%,在第1季度的市場份額已經(jīng)高達(dá)86.1%,成為智能手機中主流的操作系統(tǒng).而iOS智能操作系統(tǒng)的市場份額比去年的市場份額降低了0.9%,作為擁有第二大市場份額的智能操作系統(tǒng),其在該季度的市場份額卻只有13.7%,離Android智能操作系統(tǒng)的市場份額還有較大的差距.后面,包括Windows Phone在內(nèi)的其他智能操作系統(tǒng)的市場份額總共為0.2%,占的市場份額很少.
隨著安卓操作系統(tǒng)迅速成為市場占有率最高的智能操作系統(tǒng),安卓軟件的數(shù)量也迅速增長.最近1份報告顯示[2],到2017年9月為止,在Google Play上的安卓軟件數(shù)量已經(jīng)達(dá)到330萬個,并且除了Google Play,還有很多第三方應(yīng)用商店也提供了安卓軟件的下載.由于安卓系統(tǒng)的開放性、開源性及其相對簡單的檢查機制,使得安卓系統(tǒng)吸引了很多惡意軟件開發(fā)者,因此安卓成為惡意軟件進(jìn)行惡意行為的一個主要平臺.
安卓惡意軟件的迅速增長已經(jīng)對用戶造成了很大的威脅,安卓惡意軟件最常見的惡意行為主要有以下幾種:通過假連接、假按鈕和假提示來誘導(dǎo)用戶下載惡意軟件;通過向付費號碼發(fā)送短信進(jìn)行惡意扣費;偷盜敏感信息并發(fā)送到遠(yuǎn)程服務(wù)等等,這些惡意行為會直接或間接造成用戶的經(jīng)濟損失或隱私泄露.并且自2012年以來,安卓惡意軟件的數(shù)量從幾十萬跨越到幾百萬,這表明安卓惡意軟件總體已經(jīng)進(jìn)入了平穩(wěn)高發(fā)期,這就使得安卓惡意軟件的檢測成為一項迫在眉睫的工作.為了應(yīng)對日益嚴(yán)重的安卓信息安全威脅,本文提出了一種基于半監(jiān)督學(xué)習(xí)的安卓惡意軟件檢測及其惡意行為分析的研究方案,提高了惡意軟件檢測的精確率.
目前,商業(yè)的殺毒產(chǎn)品通常都是采用傳統(tǒng)的基于簽名的檢測技術(shù),通常是從軟件中提取二進(jìn)制模式或者隨機片段來創(chuàng)建惡意軟件簽名,將產(chǎn)生的惡意軟件簽名加入到創(chuàng)建的惡意代碼庫中,之后使用相同簽名的任何應(yīng)用程序都將被視為該惡意軟件的一個樣本.基于簽名的惡意軟件檢測技術(shù)雖然檢測速度快,只要是存入惡意代碼庫的惡意代碼,都能夠準(zhǔn)確檢測出來.但是這種檢測方法對于事先未知的威脅是無法檢測到的,因為不存在以前生成的簽名,并且可以通過對安卓應(yīng)用程序注入惡意代碼來繞過簽名驗證機制,所以基于簽名的檢測技術(shù)并不具備很好的檢測能力.
在過去幾年中,國內(nèi)外研究人員提出了一些處理日益嚴(yán)重的安卓惡意軟件的分析方法和檢測手段,按照方法可以將其分為靜態(tài)分析和動態(tài)分析.
靜態(tài)分析是一種通過分析代碼段來檢測惡意軟件的分析技術(shù),是在安卓軟件不運行的狀態(tài)下,將安卓APK進(jìn)行反匯編處理以后對代碼進(jìn)行規(guī)則匹配及分析,這種情況下只會產(chǎn)生很小的開銷.Liang等人[3]提出了一個基于權(quán)限組合的安卓惡意軟件檢測方案,開發(fā)了k-map工具來獲得惡意軟件經(jīng)常請求的權(quán)限組合,并根據(jù)權(quán)限組合自動生成規(guī)則集來進(jìn)行檢測;Idrees等人[4]提出了一種通過分析安卓應(yīng)用程序的權(quán)限和意圖組合特征來檢測惡意軟件的方法,這種方法輔以機器學(xué)習(xí)算法進(jìn)一步對應(yīng)用程序進(jìn)行分類;Wu等人[5]提出了DroidMat檢測工具,從AndroidManifest.xml文件中提取權(quán)限信息、組件信息以及API信息作為安卓軟件的特征,采用分類算法對待檢測的軟件進(jìn)行分類,得到該軟件是良性軟件還是惡意軟件;Sanz等人[6]提出了一個名為PUMA的安卓惡意軟件檢測方案,該方案基于權(quán)限信息對安卓軟件進(jìn)行分類.
與靜態(tài)分析相反,動態(tài)分析是一種通過在真實環(huán)境中執(zhí)行安卓軟件來對惡意軟件進(jìn)行評估的檢測技術(shù),可以在安卓軟件運行時動態(tài)監(jiān)測行為,實時捕獲敏感行為并進(jìn)行分析.Bla?Sing等人[7]提出了一個名為AASandbox的動態(tài)檢測工具,在一個完全隔離的環(huán)境中執(zhí)行安卓軟件,通過分析執(zhí)行期間獲得的低級別交互日志來進(jìn)行安卓惡意軟件檢測,這是一種較早使用動態(tài)分析方法來進(jìn)行惡意軟件檢測的;Narudin等人[8]提出了一種利用機器學(xué)習(xí)方法評估各種網(wǎng)絡(luò)流量特征的惡意軟件檢測的解決方案;Shabtai等人[9]提出了一個名為Andromaly的檢測安卓惡意軟件的框架,持續(xù)不斷地監(jiān)控從移動設(shè)備獲得的各種特征和事件,然后應(yīng)用機器學(xué)習(xí)將收集的數(shù)據(jù)分類為良性軟件或惡意軟件.盡管這些動態(tài)檢測在識別惡意行為上相當(dāng)有效,但需要花費大量的環(huán)境搭建成本和人力分析成本.此外,對于條件觸發(fā)式的安卓惡意軟件,動態(tài)分析也束手無策.
本文從高校實驗室、研究機構(gòu)以及安全公司獲得了48 143個安卓軟件并作為數(shù)據(jù)集,隨后使用VirusTotal[10]為每個安卓軟件標(biāo)注.因此我們統(tǒng)計了每個安卓軟件是否屬于惡意軟件以及其惡意軟件家族信息,得到了590種不同的惡意軟件家族的信息.
我們根據(jù)這590種惡意軟件家族出現(xiàn)的頻率,列出其常見的20種惡意軟件家族,如表1所示.盡管安卓惡意軟件家族體現(xiàn)了安卓惡意軟件的惡意行為,但是,不同的惡意軟件家族很可能具有相似甚至完全相同的惡意行為,因此我們通過人工分析以及聚類等方法將具有相同惡意行為的惡意軟件家族合并,并為每個安卓惡意軟件產(chǎn)生最終惡意行為標(biāo)簽.但是,想得到590種惡意軟件家族具體的惡意行為是需要花費巨大人力的,甚至是達(dá)不到的,因此,我們只針對表1中最常見的20種惡意軟件家族進(jìn)行分析.但是剩下未標(biāo)注的數(shù)據(jù)并未因此丟棄,而是通過半監(jiān)督學(xué)習(xí)的方式作用在模型上.
表1 最常見的20種惡意軟件家族
特征的提取也要分為靜態(tài)分析和動態(tài)分析,靜態(tài)分析主要從安卓軟件的代碼發(fā)掘與惡意行為相關(guān)的特征,稱之為靜態(tài)特征.而動態(tài)分析主要通過在真實環(huán)境(虛擬機)中執(zhí)行安卓軟件,同時動態(tài)監(jiān)控其運行時的行為,抓取一些與惡意行為相關(guān)的動態(tài)特征.而本節(jié)我們同時提取了靜態(tài)特征和動態(tài)特征作為訓(xùn)練的輸入.
2.2.1靜態(tài)特征提取
靜態(tài)分析需要從代碼中發(fā)掘,而我們的樣本是編譯后的二進(jìn)制文件,因此,第1步是將安卓軟件進(jìn)行反編譯.我們使用了工具APKTool.APKTool是一系列工具的集合,它的功能包括APK文件的解包和打包、AXML的編碼與解碼、資源文件的解包和打包、smali文件的匯編與反匯編、smali文件的調(diào)試等.經(jīng)過APKTool工具進(jìn)行反匯編后,每個APK文件會得到一個如圖1所示的文件結(jié)構(gòu):
圖1 反編譯后的文件目錄結(jié)構(gòu)
從AndroidManifest文件中提取了142種權(quán)限特征和65種服務(wù)特征,從smali文件中提取了36種敏感API特征.
2.2.2動態(tài)特征提取
安卓軟件樣本的動態(tài)行為是使用DroidBox工具來進(jìn)行監(jiān)控的,DroidBox可以查找某些調(diào)試消息,收集與被監(jiān)控的應(yīng)用程序相關(guān)的任何信息并生成json格式的日志,該日志中包含了應(yīng)用程序運行后發(fā)生的動態(tài)行為.它包含以下重要信息,來確定該安卓軟件的危險性.
1) 網(wǎng)絡(luò)通信數(shù)據(jù);
2) 文件讀寫操作;
3) 網(wǎng)絡(luò)通信,文件讀寫的信息泄露;
4) 權(quán)限漏洞;
5) SMS短信;
6) 調(diào)用Android API進(jìn)行加密操作;
7) 撥打電話.
如上所述,我們使用這7種敏感的動態(tài)行為作為動態(tài)特征.
2.2.3編碼
最后,本實驗提取了142種權(quán)限、65種服務(wù)和36種敏感API以及7種敏感動態(tài)特征,共250種特征.而這250種特征均屬于類別特征(categorical feature),即存在或不存在2種類別,而不是連續(xù)值.我們使用獨熱編碼(one-hot encoding)將其編碼為特征向量.獨熱編碼又稱一位有效編碼,主要使用了N位0-1狀態(tài)表示每個特征的N個取值.由于我們的特征均是二值特征,因此使用250維度的0-1向量即可將特征編碼為特征向量,其中每一維度表示一種特征,1表示該特征存在,0表示不存在.
對安卓惡意軟件檢測的研究已經(jīng)日益成熟,但是在之前的研究中絕大部分只是將安卓軟件識別為惡意軟件或者是良性軟件2種,而在本文的研究中,不僅只想將安卓惡意軟件識別出來,并且想對安卓惡意軟件的惡意行為進(jìn)行分析.安卓惡意軟件家族信息可以反映出安卓軟件的惡意行為,首先通過工具可以得到每一個惡意軟件樣本的惡意軟件家族信息,然后通過對獲得的惡意軟件家族進(jìn)行人工分析和聚類分析,得到了不同的惡意軟件行為,對惡意軟件樣本進(jìn)行標(biāo)注.
2.3.1人工分析
首先,對表1中的20種惡意軟件家族進(jìn)行人工分析,可以發(fā)現(xiàn)明顯有幾個惡意軟件家族是完全一樣的.例如,“Android.Trojan.FakeInst”和“Trojan:AndroidFakeInst”,“Adware:AndroidAdWo”和“Android.Adware.Adwo”,這2對惡意軟件家族明顯存在著相同的惡意軟件行為.繼續(xù)分析其他的惡意軟件家族,最終總結(jié)出了3種惡意行為,即SMSSend,Adware和PrivacySteal.3種惡意行為的解釋如下.
SMSSend:發(fā)送SMS消息或打電話給付費號碼.
Adware:為用戶提供廣告內(nèi)容.
PrivacySteal:從設(shè)備中竊取機密信息.
2.3.2聚類分析
圖2 聚類結(jié)果示意圖
對于安卓惡意軟件來說,只將它們分為2.3.1節(jié)所列出的3種惡意軟件行為太籠統(tǒng),例如Privacy-Steal,信息竊取可能是盜取安卓設(shè)備的設(shè)置信息,也可能是盜取用戶的地理位置.所以需要對2.3.1節(jié)得到的3種惡意行為進(jìn)行細(xì)化,得到更準(zhǔn)確的惡意行為分類,但是已經(jīng)無法從惡意軟件家族中獲取更多信息.顯然,聚類算法[11]很適合用來分析這類問題,通過聚類我們可以分析不同惡意家族的相似程度.對人工分析得到的3個主要類別進(jìn)行k-means聚類,步驟如下:
1) 首先,構(gòu)造樣本的特征向量,我們使用python-scikit-learn中的k-means訓(xùn)練聚類模型,選擇2個或者3個聚類簇.
2) 其次,調(diào)整聚類簇的個數(shù)k,使得目標(biāo)函數(shù)最大.
3) 最后,使用PCA進(jìn)行降維處理成2維數(shù)據(jù),調(diào)用Matplotlib繪圖顯示聚類結(jié)果.
從圖2的3個分圖分析可知,圖2(a)中SMSSend類別沒有明顯的聚類特性,而圖2(b)中Adware類別可以聚類為2個類別,分別命名為Adware.A和Adware.B.同理圖2(c)中PrivacySteal也可以聚類為2個類別,分別命名為PrivacySteal.A和PrivacySteal.B.而最終我們將每個類別對應(yīng)在惡意家族中.
表2 5種惡意行為
最終,經(jīng)過人工分析和聚類分析2個過程,將安卓惡意軟件家族歸并為了5種惡意行為,如表2所示,分別為SMSSend,Adware.A,Adware.B,PrivacySteal.A和PrivacySteal.B,再加上良性的安卓軟件,故本實驗共標(biāo)注了6個類別.
由于有大量人力無法標(biāo)注的樣本,因此本文提出的Co-RFGBDT算法是一種使用協(xié)同訓(xùn)練技術(shù)的半監(jiān)督模型,同時屬于混合了隨機森林以及梯度提升決策樹(gradient boosting decison tree, GBDT)兩者優(yōu)點的一種集成訓(xùn)練模型.
2.4.1半監(jiān)督學(xué)習(xí)
監(jiān)督學(xué)習(xí)的監(jiān)督是指給定的訓(xùn)練數(shù)據(jù)具有標(biāo)注的標(biāo)簽,一般用于分類或者回歸.反之,無監(jiān)督學(xué)習(xí)是給定的數(shù)據(jù)沒有標(biāo)注,一般用來作聚類(例如k-means等)或者生成模型(例如自動編碼器、GAN等).而半監(jiān)督學(xué)習(xí)主要是如我們的場景一樣,人工標(biāo)注的代價巨大且耗時,而且專業(yè)知識也影響著標(biāo)注的準(zhǔn)確率,但是不標(biāo)注也就沒有目標(biāo),而僅僅使用已標(biāo)注的少量數(shù)據(jù)進(jìn)行訓(xùn)練得到的模型泛化能力不夠.因此,半監(jiān)督學(xué)習(xí)就是研究如何在標(biāo)注少量樣本時,利用已標(biāo)注樣本和大量的未標(biāo)注樣本進(jìn)行充分學(xué)習(xí)的方法.
2.4.2隨機森林和GBDT優(yōu)劣分析
若將模型的預(yù)測值作為隨機變量,那么廣義的偏差表示該隨機變量的均值距離真實值的差異,而方差表示該預(yù)測值隨機變量的離散程度.若模型的偏差較大意味著預(yù)測不準(zhǔn)確,若模型的方差較大意味著由于輸入變化導(dǎo)致預(yù)測的不穩(wěn)定,一般方差大意味著模型可能存在過擬合.隨機森林是一個優(yōu)化方差,但沒有優(yōu)化偏差的模型,而GBDT是一個優(yōu)化偏差,但沒有優(yōu)化方差的模型.
對于隨機森林,每個模型預(yù)測值使用隨機變量Xm表示,由于每個訓(xùn)練單元均使用幾乎同樣的模型,而且隨機抽樣的樣本也存在相似性,我們假設(shè)每個訓(xùn)練單元具有相同的均值和方差,分別用μ和σ2表示.于是總模型的均值為
從上式可以看出,隨機森林集成后模型的均值和單個模型的均值并不能顯著降低模型預(yù)測值隨機變量的均值,也就不會改變模型預(yù)測的偏差.
而如果假設(shè)每個訓(xùn)練單元是獨立的,那么總模型的方差為
但隨機森林每個訓(xùn)練單元是不可能獨立的,我們觀察另一個極端,即若每個訓(xùn)練單元都是完全相同的,那么總模型的方差為
而對于GBDT,其每棵樹的生成依賴于之前訓(xùn)練的決策樹,訓(xùn)練單元之間是強相關(guān)的,因此其并沒有顯著降低模型的方差,從而可能出現(xiàn)過擬合.而由于GBDT每次迭代均在最小化損失函數(shù),因此其偏差自然會下降.
而針對GBDT和隨機森林的優(yōu)缺點,結(jié)合了隨機森林以及梯度提升決策樹的優(yōu)點,本文提出一種名為Co-RFGBDT的半監(jiān)督學(xué)習(xí)方法,用于安卓惡意軟件檢測以及其惡意行為的分析.
2.4.3Co-RFGBDT算法
在安卓惡意行為分析場景中大量標(biāo)注樣本是不現(xiàn)實的,因此本文提出了一種半監(jiān)督學(xué)習(xí)算法Co-RFGBDT.我們借鑒了Co-Forest的思想,但區(qū)別為Co-Forest使用決策樹當(dāng)作訓(xùn)練單元,而Co-RFGBDT則將一個完整GBDT模型作為訓(xùn)練單元.并且,為了保證不同模型之間的獨立性,GBDT的樹的深度以及樹的個數(shù)并不固定,而是服從均勻分布,我們稱之為隨機GBDT.因此,與傳統(tǒng)的隨機森林相比,每個訓(xùn)練單元降低了預(yù)測的偏差,而所有訓(xùn)練單元用Bagging集成后可以降低預(yù)測的方差.除此以外,另一個區(qū)別在于輸出,輸出引入了拒絕機制,即若預(yù)測的數(shù)據(jù)的最多數(shù)投票的數(shù)量小于置信度閾值時,那么將拒絕預(yù)測的輸入,在本文具體的場景中,其表示識別到了未知的惡意行為.
我們給出Co-RFGBDT算法的完整描述:假設(shè)H*表示所有GBDT模型的集合,共有N個,第i個GBDT模型用hi∈H*表示,Hi表示H*中除了hi之外的所有模型的集合,稱之為伴隨集合.使用L表示已經(jīng)標(biāo)注的數(shù)據(jù)集合,使用U表示未標(biāo)注的數(shù)據(jù)集合.
算法1. Co-RFGBDT.
輸入:已標(biāo)注數(shù)據(jù)集合L、未標(biāo)注數(shù)據(jù)集合U、置信度閾值θ、GBDT模型的數(shù)量N.
過程:
1) 訓(xùn)練N個GBDT模型,每個模型的樹的深度服從均勻分布U(a1,b1),每個模型的樹的個數(shù)服從均勻分布U(a2,b2),并且每個模型的訓(xùn)練樣本使用Bagging方式從L中放回隨機抽樣共|L|次.
2) Fori=1 toM:
ei,0=0.5
Wi,0=0
t=0
3) Loop until 所有GBDT模型均不再更改
t=t+1
Fori=1 toN:
ei,t=EstimateError(Hi,L)
Ifei,t-1 IfConfidence(Hi,xu)>θ Wi,t=Wi,t+Confidence(Hi,xu) Fori=1 toN: Ifei,tWi,t 輸出: Ifvotemax≥θelse reject 在最終輸出模型中,其中Ihi(x)=y(i)表示模型hi(x)=y的指示函數(shù),votemax表示所有模型中最多數(shù)投票的個數(shù),若該個數(shù)小于置信度θ,那么則拒絕分類,回到安卓惡意行為分析的場景中.由于我們只標(biāo)注了部分惡意行為,但是安卓惡意軟件的惡意行為層出不窮.因此,采用這種方式,當(dāng)一次預(yù)測中votemax≤θ時,我們認(rèn)為該安卓軟件的惡意行為是未知的. 我們使用多分類的精確率(precision)和召回率(recall)作為評價指標(biāo).首先,我們先使用混淆矩陣(confusion matrix)表示多分類模型的預(yù)測結(jié)果,如表3所示: 表3 混淆矩陣 如表3所示,混淆矩陣的每一行表示實際類別的個數(shù),而每一列表示該類別的預(yù)測的個數(shù),那么對于第i個類別,其精確率和召回率為 但由于類別有6個,指標(biāo)太多會影響模型的比較,因此,我們使用整體指標(biāo)準(zhǔn)確率(accuracy)表示模型整體的優(yōu)劣,準(zhǔn)確率表示分類器所有被正確分類的樣本與總樣本數(shù)的比例,本文使用符號Acc表示. 3.2.1基準(zhǔn)實驗結(jié)果分析 本文將隨機森林、GBDT以及Co-Forest這3種基準(zhǔn)實驗參數(shù)調(diào)至最優(yōu),然后進(jìn)行對比分析,如表4所示: 表4 2個基準(zhǔn)實驗和2個比較實驗以及Co-RFGBDT的比較 由表4可以看出,隨機森林在大多類別上的精確率要比GBDT高,而GBDT在大多類別的召回率較高,但總體來看效果相當(dāng). 而對于Co-Forest和Co-RFGBDT算法,均符合我們的預(yù)期.當(dāng)使用了半監(jiān)督學(xué)習(xí)后,使用了更多未標(biāo)注的惡意家族樣本參與到訓(xùn)練,學(xué)習(xí)到了更廣泛數(shù)據(jù)的分布,可以得到更好的效果. 對于本文中提出的Co-RFGBDT算法,由于其針對Co-Forest作了改進(jìn),使用了GBDT代替決策樹作為訓(xùn)練單元,在一定程度上避免了偏差出現(xiàn)的可能性,而且通過Bagging以及每個GBDT分類器的生成隨機性,保證了不同分類器的差異,從而足夠降低了方差.其總體Acc相對于基準(zhǔn)算法提升了0.015,獲得了最優(yōu)的效果. 但是從表4可以看出,由于Co-RFGBDT使用了機器學(xué)習(xí)中拒絕分類的方式(根據(jù)置信度閾值θ),以當(dāng)前參數(shù)0.3為例,若某預(yù)測樣本通過分類器獲得的最多投票比例不超過0.3,那么我們認(rèn)為該樣本的惡意行為是未知的.但設(shè)置一個完美的θ是很難的,從Co-RFGBDT的結(jié)果也可以看出,精確率相對較高,但是召回率相對較低.接下來我們詳細(xì)分析參數(shù)θ對于精確率和召回率的影響. 3.2.2置信度θ結(jié)果分析 Co-RFGBDT分類的效果與很多參數(shù)相關(guān),其中置信度閾值θ是一個比較重要的參數(shù).θ不僅控制了未標(biāo)注樣本的召回閾值,還控制著確定惡意行為是否屬于未知惡意行為.從理論上來講,θ值設(shè)置得越高那么預(yù)測的置信度就越高,精確率就會越高,但相應(yīng)的召回率就會降低.我們將設(shè)置θ從0.1到0.9,間隔為0.1. 如圖3所示,隨著θ從0緩慢的增加,Acc會跟著緩慢的上升,但當(dāng)θ>0.6以后,Acc會因為召回率的急劇下降而下降.因此最終我們選擇θ=0.3作為最終的置信度閾值參數(shù).而此時Acc值為0.915 609. 圖3 Acc折線圖 在本文中,提取了安卓軟件的權(quán)限、服務(wù)和敏感API這3種靜態(tài)特征,并提取了7種動態(tài)特征彌補了只使用靜態(tài)特征不充分的問題.在靜態(tài)特征中,主要通過反編譯安卓軟件,并從中提取特征.而動態(tài)特征則是使用DroidBox工具提取了安卓軟件運行時的json日志,從中獲得了動態(tài)行為特征.對安卓惡意軟件的惡意行為分析是通過多分類來完成的,首先通過VirusTotal工具獲得了每個安卓惡意樣本的惡意軟件家族信息,然后通過對這些惡意軟件家族進(jìn)行人工分析和聚類分析,將惡意行為分為5類,并對惡意樣本進(jìn)行標(biāo)注.使用半監(jiān)督學(xué)習(xí)方法Co-RFGBDT將少量的已標(biāo)注樣本和大量的未標(biāo)注樣本進(jìn)行機器學(xué)習(xí)訓(xùn)練,并進(jìn)行實驗評估,并與隨機森林、GBDT以及Co-Forest作了對比,并分析結(jié)果出現(xiàn)的原因.最終證明了本文提出的安卓惡意檢測及其惡意行為分析方案具有較高的準(zhǔn)確率和召回率,而且證明了本文提出的Co-RFGBDT半監(jiān)督學(xué)習(xí)算法在一些場景下具有更好的性能. [1]Egham U K. Gartner says worldwide sales of smartphones grew 9 percent in first quarter of 2017[OL]. [2018-01-05]. https:www.gartner.comnewsroomid3725117 [2]Google Play. Number of available applications in the Google Play Store from December 2009 to September 2017 [OL]. [2018-01-05]. https:www.statista.comstatistics266210number-of-available-applications-in-the-google-play-store [3]Liang S, Du X. Permission-combination-based scheme for android mobile malware detection[C]Proc of 2014 IEEE Int Conf on Communications (ICC). Piscataway, NJ: IEEE, 2014: 2301-2306 [4]Idrees F, Rajarajan M. Investigating the android intents and permissions for malware detection[C]Proc of the 10th Int Conf on Wireless and Mobile Computing, Networking and Communications (WiMob). Piscataway, NJ: IEEE, 2014: 354-358 [5]Wu D J, Mao C H, Wei T E, et al. Droidmat: Android malware detection through manifest and API calls tracing[C]Proc of the 7th Asia Joint Conf on Information Security (Asia JCIS). Piscataway, NJ: IEEE, 2012: 62-69 [6]Sanz B, Santos I, Laorden C, et al. Puma: Permission usage to detect malware in android[C]Proc of Int Joint Conf CISIS’12-ICEUTE’12-SOCO’12 Special Sessions. Berlin: Springer, 2013: 289-298 [7]Bla?Sing T, Batyuk L, Schmidt A D, et al. An Android application sandbox system for suspicious software detection[C]Proc of Int Conf on Malicious and Unwanted Software. Piscataway, NJ: IEEE, 2010: 55-62 [8]Narudin F A, Feizollah A, Anuar N B, et al. Evaluation of machine learning classifiers for mobile malware detection[J]. Soft Computing, 2014, 20(1): 1-15 [9]Shabtai A, Kanonov U, Elovici Y, et al. “Andromaly”: A behavioral malware detection framework for android devices[J]. Journal of Intelligent Information Systems, 2012, 38(1): 161-190 [10]Total V. VirusTotal-Free online virus, malware and URL scanner[OL]. [2018-01-05]. https:www. virustotal. comen [11]Amorim R C, Mirkin B. Minkowski metric, feature weighting and anomalous cluster initialisation in K-means clustering[J]. Pattern Recognition, 2012, 45 (3): 1061-1075 杜煒 碩士研究生,主要研究方向為信息安全、機器學(xué)習(xí). duwei0810@gmail.com 李劍 博士,教授,博士生導(dǎo)師,主要研究方向為智能網(wǎng)絡(luò)安全、量子密碼學(xué). lijian@bupt.edu.cn3 實驗結(jié)果及分析
3.1 評價標(biāo)注
3.2 結(jié)果對比
4 總 結(jié)