亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于半監(jiān)督學(xué)習(xí)的安卓惡意軟件檢測(cè)及其惡意行為分析

        2018-04-02 03:04:42
        信息安全研究 2018年3期
        關(guān)鍵詞:特征分析檢測(cè)

        杜 煒 李 劍

        (北京郵電大學(xué)計(jì)算機(jī)學(xué)院 北京 100876) (duwei0810@gmail.com)

        權(quán)威市場(chǎng)研究機(jī)構(gòu)Gartner于2017年5月發(fā)布了全球智能手機(jī)操作系統(tǒng)在2017年第1季度的分布報(bào)告[1].從分布報(bào)告中可以看出在智能手機(jī)的操作系統(tǒng)市場(chǎng)中,安卓智能操作系統(tǒng)比去年的市場(chǎng)份額增長(zhǎng)了2%,在第1季度的市場(chǎng)份額已經(jīng)高達(dá)86.1%,成為智能手機(jī)中主流的操作系統(tǒng).而iOS智能操作系統(tǒng)的市場(chǎng)份額比去年的市場(chǎng)份額降低了0.9%,作為擁有第二大市場(chǎng)份額的智能操作系統(tǒng),其在該季度的市場(chǎng)份額卻只有13.7%,離Android智能操作系統(tǒng)的市場(chǎng)份額還有較大的差距.后面,包括Windows Phone在內(nèi)的其他智能操作系統(tǒng)的市場(chǎng)份額總共為0.2%,占的市場(chǎng)份額很少.

        隨著安卓操作系統(tǒng)迅速成為市場(chǎng)占有率最高的智能操作系統(tǒng),安卓軟件的數(shù)量也迅速增長(zhǎng).最近1份報(bào)告顯示[2],到2017年9月為止,在Google Play上的安卓軟件數(shù)量已經(jīng)達(dá)到330萬(wàn)個(gè),并且除了Google Play,還有很多第三方應(yīng)用商店也提供了安卓軟件的下載.由于安卓系統(tǒng)的開(kāi)放性、開(kāi)源性及其相對(duì)簡(jiǎn)單的檢查機(jī)制,使得安卓系統(tǒng)吸引了很多惡意軟件開(kāi)發(fā)者,因此安卓成為惡意軟件進(jìn)行惡意行為的一個(gè)主要平臺(tái).

        安卓惡意軟件的迅速增長(zhǎng)已經(jīng)對(duì)用戶(hù)造成了很大的威脅,安卓惡意軟件最常見(jiàn)的惡意行為主要有以下幾種:通過(guò)假連接、假按鈕和假提示來(lái)誘導(dǎo)用戶(hù)下載惡意軟件;通過(guò)向付費(fèi)號(hào)碼發(fā)送短信進(jìn)行惡意扣費(fèi);偷盜敏感信息并發(fā)送到遠(yuǎn)程服務(wù)等等,這些惡意行為會(huì)直接或間接造成用戶(hù)的經(jīng)濟(jì)損失或隱私泄露.并且自2012年以來(lái),安卓惡意軟件的數(shù)量從幾十萬(wàn)跨越到幾百萬(wàn),這表明安卓惡意軟件總體已經(jīng)進(jìn)入了平穩(wěn)高發(fā)期,這就使得安卓惡意軟件的檢測(cè)成為一項(xiàng)迫在眉睫的工作.為了應(yīng)對(duì)日益嚴(yán)重的安卓信息安全威脅,本文提出了一種基于半監(jiān)督學(xué)習(xí)的安卓惡意軟件檢測(cè)及其惡意行為分析的研究方案,提高了惡意軟件檢測(cè)的精確率.

        1 相關(guān)工作

        目前,商業(yè)的殺毒產(chǎn)品通常都是采用傳統(tǒng)的基于簽名的檢測(cè)技術(shù),通常是從軟件中提取二進(jìn)制模式或者隨機(jī)片段來(lái)創(chuàng)建惡意軟件簽名,將產(chǎn)生的惡意軟件簽名加入到創(chuàng)建的惡意代碼庫(kù)中,之后使用相同簽名的任何應(yīng)用程序都將被視為該惡意軟件的一個(gè)樣本.基于簽名的惡意軟件檢測(cè)技術(shù)雖然檢測(cè)速度快,只要是存入惡意代碼庫(kù)的惡意代碼,都能夠準(zhǔn)確檢測(cè)出來(lái).但是這種檢測(cè)方法對(duì)于事先未知的威脅是無(wú)法檢測(cè)到的,因?yàn)椴淮嬖谝郧吧傻暮灻?,并且可以通過(guò)對(duì)安卓應(yīng)用程序注入惡意代碼來(lái)繞過(guò)簽名驗(yàn)證機(jī)制,所以基于簽名的檢測(cè)技術(shù)并不具備很好的檢測(cè)能力.

        在過(guò)去幾年中,國(guó)內(nèi)外研究人員提出了一些處理日益嚴(yán)重的安卓惡意軟件的分析方法和檢測(cè)手段,按照方法可以將其分為靜態(tài)分析和動(dòng)態(tài)分析.

        靜態(tài)分析是一種通過(guò)分析代碼段來(lái)檢測(cè)惡意軟件的分析技術(shù),是在安卓軟件不運(yùn)行的狀態(tài)下,將安卓APK進(jìn)行反匯編處理以后對(duì)代碼進(jìn)行規(guī)則匹配及分析,這種情況下只會(huì)產(chǎn)生很小的開(kāi)銷(xiāo).Liang等人[3]提出了一個(gè)基于權(quán)限組合的安卓惡意軟件檢測(cè)方案,開(kāi)發(fā)了k-map工具來(lái)獲得惡意軟件經(jīng)常請(qǐng)求的權(quán)限組合,并根據(jù)權(quán)限組合自動(dòng)生成規(guī)則集來(lái)進(jìn)行檢測(cè);Idrees等人[4]提出了一種通過(guò)分析安卓應(yīng)用程序的權(quán)限和意圖組合特征來(lái)檢測(cè)惡意軟件的方法,這種方法輔以機(jī)器學(xué)習(xí)算法進(jìn)一步對(duì)應(yīng)用程序進(jìn)行分類(lèi);Wu等人[5]提出了DroidMat檢測(cè)工具,從AndroidManifest.xml文件中提取權(quán)限信息、組件信息以及API信息作為安卓軟件的特征,采用分類(lèi)算法對(duì)待檢測(cè)的軟件進(jìn)行分類(lèi),得到該軟件是良性軟件還是惡意軟件;Sanz等人[6]提出了一個(gè)名為PUMA的安卓惡意軟件檢測(cè)方案,該方案基于權(quán)限信息對(duì)安卓軟件進(jìn)行分類(lèi).

        與靜態(tài)分析相反,動(dòng)態(tài)分析是一種通過(guò)在真實(shí)環(huán)境中執(zhí)行安卓軟件來(lái)對(duì)惡意軟件進(jìn)行評(píng)估的檢測(cè)技術(shù),可以在安卓軟件運(yùn)行時(shí)動(dòng)態(tài)監(jiān)測(cè)行為,實(shí)時(shí)捕獲敏感行為并進(jìn)行分析.Bla?Sing等人[7]提出了一個(gè)名為AASandbox的動(dòng)態(tài)檢測(cè)工具,在一個(gè)完全隔離的環(huán)境中執(zhí)行安卓軟件,通過(guò)分析執(zhí)行期間獲得的低級(jí)別交互日志來(lái)進(jìn)行安卓惡意軟件檢測(cè),這是一種較早使用動(dòng)態(tài)分析方法來(lái)進(jìn)行惡意軟件檢測(cè)的;Narudin等人[8]提出了一種利用機(jī)器學(xué)習(xí)方法評(píng)估各種網(wǎng)絡(luò)流量特征的惡意軟件檢測(cè)的解決方案;Shabtai等人[9]提出了一個(gè)名為Andromaly的檢測(cè)安卓惡意軟件的框架,持續(xù)不斷地監(jiān)控從移動(dòng)設(shè)備獲得的各種特征和事件,然后應(yīng)用機(jī)器學(xué)習(xí)將收集的數(shù)據(jù)分類(lèi)為良性軟件或惡意軟件.盡管這些動(dòng)態(tài)檢測(cè)在識(shí)別惡意行為上相當(dāng)有效,但需要花費(fèi)大量的環(huán)境搭建成本和人力分析成本.此外,對(duì)于條件觸發(fā)式的安卓惡意軟件,動(dòng)態(tài)分析也束手無(wú)策.

        2 實(shí)驗(yàn)過(guò)程

        2.1 數(shù)據(jù)集分析

        本文從高校實(shí)驗(yàn)室、研究機(jī)構(gòu)以及安全公司獲得了48 143個(gè)安卓軟件并作為數(shù)據(jù)集,隨后使用VirusTotal[10]為每個(gè)安卓軟件標(biāo)注.因此我們統(tǒng)計(jì)了每個(gè)安卓軟件是否屬于惡意軟件以及其惡意軟件家族信息,得到了590種不同的惡意軟件家族的信息.

        我們根據(jù)這590種惡意軟件家族出現(xiàn)的頻率,列出其常見(jiàn)的20種惡意軟件家族,如表1所示.盡管安卓惡意軟件家族體現(xiàn)了安卓惡意軟件的惡意行為,但是,不同的惡意軟件家族很可能具有相似甚至完全相同的惡意行為,因此我們通過(guò)人工分析以及聚類(lèi)等方法將具有相同惡意行為的惡意軟件家族合并,并為每個(gè)安卓惡意軟件產(chǎn)生最終惡意行為標(biāo)簽.但是,想得到590種惡意軟件家族具體的惡意行為是需要花費(fèi)巨大人力的,甚至是達(dá)不到的,因此,我們只針對(duì)表1中最常見(jiàn)的20種惡意軟件家族進(jìn)行分析.但是剩下未標(biāo)注的數(shù)據(jù)并未因此丟棄,而是通過(guò)半監(jiān)督學(xué)習(xí)的方式作用在模型上.

        表1 最常見(jiàn)的20種惡意軟件家族

        2.2 特征提取

        特征的提取也要分為靜態(tài)分析和動(dòng)態(tài)分析,靜態(tài)分析主要從安卓軟件的代碼發(fā)掘與惡意行為相關(guān)的特征,稱(chēng)之為靜態(tài)特征.而動(dòng)態(tài)分析主要通過(guò)在真實(shí)環(huán)境(虛擬機(jī))中執(zhí)行安卓軟件,同時(shí)動(dòng)態(tài)監(jiān)控其運(yùn)行時(shí)的行為,抓取一些與惡意行為相關(guān)的動(dòng)態(tài)特征.而本節(jié)我們同時(shí)提取了靜態(tài)特征和動(dòng)態(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)過(guò)APKTool工具進(jìn)行反匯編后,每個(gè)APK文件會(huì)得到一個(gè)如圖1所示的文件結(jié)構(gòu):

        圖1 反編譯后的文件目錄結(jié)構(gòu)

        從AndroidManifest文件中提取了142種權(quán)限特征和65種服務(wù)特征,從smali文件中提取了36種敏感API特征.

        2.2.2動(dòng)態(tài)特征提取

        安卓軟件樣本的動(dòng)態(tài)行為是使用DroidBox工具來(lái)進(jìn)行監(jiān)控的,DroidBox可以查找某些調(diào)試消息,收集與被監(jiān)控的應(yīng)用程序相關(guān)的任何信息并生成json格式的日志,該日志中包含了應(yīng)用程序運(yùn)行后發(fā)生的動(dòng)態(tài)行為.它包含以下重要信息,來(lái)確定該安卓軟件的危險(xiǎn)性.

        1) 網(wǎng)絡(luò)通信數(shù)據(jù);

        2) 文件讀寫(xiě)操作;

        3) 網(wǎng)絡(luò)通信,文件讀寫(xiě)的信息泄露;

        4) 權(quán)限漏洞;

        5) SMS短信;

        6) 調(diào)用Android API進(jìn)行加密操作;

        7) 撥打電話(huà).

        如上所述,我們使用這7種敏感的動(dòng)態(tài)行為作為動(dòng)態(tài)特征.

        2.2.3編碼

        最后,本實(shí)驗(yàn)提取了142種權(quán)限、65種服務(wù)和36種敏感API以及7種敏感動(dòng)態(tài)特征,共250種特征.而這250種特征均屬于類(lèi)別特征(categorical feature),即存在或不存在2種類(lèi)別,而不是連續(xù)值.我們使用獨(dú)熱編碼(one-hot encoding)將其編碼為特征向量.獨(dú)熱編碼又稱(chēng)一位有效編碼,主要使用了N位0-1狀態(tài)表示每個(gè)特征的N個(gè)取值.由于我們的特征均是二值特征,因此使用250維度的0-1向量即可將特征編碼為特征向量,其中每一維度表示一種特征,1表示該特征存在,0表示不存在.

        2.3 惡意行為標(biāo)注

        對(duì)安卓惡意軟件檢測(cè)的研究已經(jīng)日益成熟,但是在之前的研究中絕大部分只是將安卓軟件識(shí)別為惡意軟件或者是良性軟件2種,而在本文的研究中,不僅只想將安卓惡意軟件識(shí)別出來(lái),并且想對(duì)安卓惡意軟件的惡意行為進(jìn)行分析.安卓惡意軟件家族信息可以反映出安卓軟件的惡意行為,首先通過(guò)工具可以得到每一個(gè)惡意軟件樣本的惡意軟件家族信息,然后通過(guò)對(duì)獲得的惡意軟件家族進(jìn)行人工分析和聚類(lèi)分析,得到了不同的惡意軟件行為,對(duì)惡意軟件樣本進(jìn)行標(biāo)注.

        2.3.1人工分析

        首先,對(duì)表1中的20種惡意軟件家族進(jìn)行人工分析,可以發(fā)現(xiàn)明顯有幾個(gè)惡意軟件家族是完全一樣的.例如,“Android.Trojan.FakeInst”和“Trojan:AndroidFakeInst”,“Adware:AndroidAdWo”和“Android.Adware.Adwo”,這2對(duì)惡意軟件家族明顯存在著相同的惡意軟件行為.繼續(xù)分析其他的惡意軟件家族,最終總結(jié)出了3種惡意行為,即SMSSend,Adware和PrivacySteal.3種惡意行為的解釋如下.

        SMSSend:發(fā)送SMS消息或打電話(huà)給付費(fèi)號(hào)碼.

        Adware:為用戶(hù)提供廣告內(nèi)容.

        PrivacySteal:從設(shè)備中竊取機(jī)密信息.

        2.3.2聚類(lèi)分析

        圖2 聚類(lèi)結(jié)果示意圖

        對(duì)于安卓惡意軟件來(lái)說(shuō),只將它們分為2.3.1節(jié)所列出的3種惡意軟件行為太籠統(tǒng),例如Privacy-Steal,信息竊取可能是盜取安卓設(shè)備的設(shè)置信息,也可能是盜取用戶(hù)的地理位置.所以需要對(duì)2.3.1節(jié)得到的3種惡意行為進(jìn)行細(xì)化,得到更準(zhǔn)確的惡意行為分類(lèi),但是已經(jīng)無(wú)法從惡意軟件家族中獲取更多信息.顯然,聚類(lèi)算法[11]很適合用來(lái)分析這類(lèi)問(wèn)題,通過(guò)聚類(lèi)我們可以分析不同惡意家族的相似程度.對(duì)人工分析得到的3個(gè)主要類(lèi)別進(jìn)行k-means聚類(lèi),步驟如下:

        1) 首先,構(gòu)造樣本的特征向量,我們使用python-scikit-learn中的k-means訓(xùn)練聚類(lèi)模型,選擇2個(gè)或者3個(gè)聚類(lèi)簇.

        2) 其次,調(diào)整聚類(lèi)簇的個(gè)數(shù)k,使得目標(biāo)函數(shù)最大.

        3) 最后,使用PCA進(jìn)行降維處理成2維數(shù)據(jù),調(diào)用Matplotlib繪圖顯示聚類(lèi)結(jié)果.

        從圖2的3個(gè)分圖分析可知,圖2(a)中SMSSend類(lèi)別沒(méi)有明顯的聚類(lèi)特性,而圖2(b)中Adware類(lèi)別可以聚類(lèi)為2個(gè)類(lèi)別,分別命名為Adware.A和Adware.B.同理圖2(c)中PrivacySteal也可以聚類(lèi)為2個(gè)類(lèi)別,分別命名為PrivacySteal.A和PrivacySteal.B.而最終我們將每個(gè)類(lèi)別對(duì)應(yīng)在惡意家族中.

        表2 5種惡意行為

        最終,經(jīng)過(guò)人工分析和聚類(lèi)分析2個(gè)過(guò)程,將安卓惡意軟件家族歸并為了5種惡意行為,如表2所示,分別為SMSSend,Adware.A,Adware.B,PrivacySteal.A和PrivacySteal.B,再加上良性的安卓軟件,故本實(shí)驗(yàn)共標(biāo)注了6個(gè)類(lèi)別.

        2.4 算法實(shí)現(xiàn)

        由于有大量人力無(wú)法標(biāo)注的樣本,因此本文提出的Co-RFGBDT算法是一種使用協(xié)同訓(xùn)練技術(shù)的半監(jiān)督模型,同時(shí)屬于混合了隨機(jī)森林以及梯度提升決策樹(shù)(gradient boosting decison tree, GBDT)兩者優(yōu)點(diǎn)的一種集成訓(xùn)練模型.

        2.4.1半監(jiān)督學(xué)習(xí)

        監(jiān)督學(xué)習(xí)的監(jiān)督是指給定的訓(xùn)練數(shù)據(jù)具有標(biāo)注的標(biāo)簽,一般用于分類(lèi)或者回歸.反之,無(wú)監(jiān)督學(xué)習(xí)是給定的數(shù)據(jù)沒(méi)有標(biāo)注,一般用來(lái)作聚類(lèi)(例如k-means等)或者生成模型(例如自動(dòng)編碼器、GAN等).而半監(jiān)督學(xué)習(xí)主要是如我們的場(chǎng)景一樣,人工標(biāo)注的代價(jià)巨大且耗時(shí),而且專(zhuān)業(yè)知識(shí)也影響著標(biāo)注的準(zhǔn)確率,但是不標(biāo)注也就沒(méi)有目標(biāo),而僅僅使用已標(biāo)注的少量數(shù)據(jù)進(jìn)行訓(xùn)練得到的模型泛化能力不夠.因此,半監(jiān)督學(xué)習(xí)就是研究如何在標(biāo)注少量樣本時(shí),利用已標(biāo)注樣本和大量的未標(biāo)注樣本進(jìn)行充分學(xué)習(xí)的方法.

        2.4.2隨機(jī)森林和GBDT優(yōu)劣分析

        若將模型的預(yù)測(cè)值作為隨機(jī)變量,那么廣義的偏差表示該隨機(jī)變量的均值距離真實(shí)值的差異,而方差表示該預(yù)測(cè)值隨機(jī)變量的離散程度.若模型的偏差較大意味著預(yù)測(cè)不準(zhǔn)確,若模型的方差較大意味著由于輸入變化導(dǎo)致預(yù)測(cè)的不穩(wěn)定,一般方差大意味著模型可能存在過(guò)擬合.隨機(jī)森林是一個(gè)優(yōu)化方差,但沒(méi)有優(yōu)化偏差的模型,而GBDT是一個(gè)優(yōu)化偏差,但沒(méi)有優(yōu)化方差的模型.

        對(duì)于隨機(jī)森林,每個(gè)模型預(yù)測(cè)值使用隨機(jī)變量Xm表示,由于每個(gè)訓(xùn)練單元均使用幾乎同樣的模型,而且隨機(jī)抽樣的樣本也存在相似性,我們假設(shè)每個(gè)訓(xùn)練單元具有相同的均值和方差,分別用μ和σ2表示.于是總模型的均值為

        從上式可以看出,隨機(jī)森林集成后模型的均值和單個(gè)模型的均值并不能顯著降低模型預(yù)測(cè)值隨機(jī)變量的均值,也就不會(huì)改變模型預(yù)測(cè)的偏差.

        而如果假設(shè)每個(gè)訓(xùn)練單元是獨(dú)立的,那么總模型的方差為

        但隨機(jī)森林每個(gè)訓(xùn)練單元是不可能獨(dú)立的,我們觀察另一個(gè)極端,即若每個(gè)訓(xùn)練單元都是完全相同的,那么總模型的方差為

        而對(duì)于GBDT,其每棵樹(shù)的生成依賴(lài)于之前訓(xùn)練的決策樹(shù),訓(xùn)練單元之間是強(qiáng)相關(guān)的,因此其并沒(méi)有顯著降低模型的方差,從而可能出現(xiàn)過(guò)擬合.而由于GBDT每次迭代均在最小化損失函數(shù),因此其偏差自然會(huì)下降.

        而針對(duì)GBDT和隨機(jī)森林的優(yōu)缺點(diǎn),結(jié)合了隨機(jī)森林以及梯度提升決策樹(shù)的優(yōu)點(diǎn),本文提出一種名為Co-RFGBDT的半監(jiān)督學(xué)習(xí)方法,用于安卓惡意軟件檢測(cè)以及其惡意行為的分析.

        2.4.3Co-RFGBDT算法

        在安卓惡意行為分析場(chǎng)景中大量標(biāo)注樣本是不現(xiàn)實(shí)的,因此本文提出了一種半監(jiān)督學(xué)習(xí)算法Co-RFGBDT.我們借鑒了Co-Forest的思想,但區(qū)別為Co-Forest使用決策樹(shù)當(dāng)作訓(xùn)練單元,而Co-RFGBDT則將一個(gè)完整GBDT模型作為訓(xùn)練單元.并且,為了保證不同模型之間的獨(dú)立性,GBDT的樹(shù)的深度以及樹(shù)的個(gè)數(shù)并不固定,而是服從均勻分布,我們稱(chēng)之為隨機(jī)GBDT.因此,與傳統(tǒng)的隨機(jī)森林相比,每個(gè)訓(xùn)練單元降低了預(yù)測(cè)的偏差,而所有訓(xùn)練單元用Bagging集成后可以降低預(yù)測(cè)的方差.除此以外,另一個(gè)區(qū)別在于輸出,輸出引入了拒絕機(jī)制,即若預(yù)測(cè)的數(shù)據(jù)的最多數(shù)投票的數(shù)量小于置信度閾值時(shí),那么將拒絕預(yù)測(cè)的輸入,在本文具體的場(chǎng)景中,其表示識(shí)別到了未知的惡意行為.

        我們給出Co-RFGBDT算法的完整描述:假設(shè)H*表示所有GBDT模型的集合,共有N個(gè),第i個(gè)GBDT模型用hi∈H*表示,Hi表示H*中除了hi之外的所有模型的集合,稱(chēng)之為伴隨集合.使用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.

        過(guò)程:

        1) 訓(xùn)練N個(gè)GBDT模型,每個(gè)模型的樹(shù)的深度服從均勻分布U(a1,b1),每個(gè)模型的樹(shù)的個(gè)數(shù)服從均勻分布U(a2,b2),并且每個(gè)模型的訓(xùn)練樣本使用Bagging方式從L中放回隨機(jī)抽樣共|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ù)投票的個(gè)數(shù),若該個(gè)數(shù)小于置信度θ,那么則拒絕分類(lèi),回到安卓惡意行為分析的場(chǎng)景中.由于我們只標(biāo)注了部分惡意行為,但是安卓惡意軟件的惡意行為層出不窮.因此,采用這種方式,當(dāng)一次預(yù)測(cè)中votemax≤θ時(shí),我們認(rèn)為該安卓軟件的惡意行為是未知的.

        3 實(shí)驗(yàn)結(jié)果及分析

        3.1 評(píng)價(jià)標(biāo)注

        我們使用多分類(lèi)的精確率(precision)和召回率(recall)作為評(píng)價(jià)指標(biāo).首先,我們先使用混淆矩陣(confusion matrix)表示多分類(lèi)模型的預(yù)測(cè)結(jié)果,如表3所示:

        表3 混淆矩陣

        如表3所示,混淆矩陣的每一行表示實(shí)際類(lèi)別的個(gè)數(shù),而每一列表示該類(lèi)別的預(yù)測(cè)的個(gè)數(shù),那么對(duì)于第i個(gè)類(lèi)別,其精確率和召回率為

        但由于類(lèi)別有6個(gè),指標(biāo)太多會(huì)影響模型的比較,因此,我們使用整體指標(biāo)準(zhǔn)確率(accuracy)表示模型整體的優(yōu)劣,準(zhǔn)確率表示分類(lèi)器所有被正確分類(lèi)的樣本與總樣本數(shù)的比例,本文使用符號(hào)Acc表示.

        3.2 結(jié)果對(duì)比

        3.2.1基準(zhǔn)實(shí)驗(yàn)結(jié)果分析

        本文將隨機(jī)森林、GBDT以及Co-Forest這3種基準(zhǔn)實(shí)驗(yàn)參數(shù)調(diào)至最優(yōu),然后進(jìn)行對(duì)比分析,如表4所示:

        表4 2個(gè)基準(zhǔn)實(shí)驗(yàn)和2個(gè)比較實(shí)驗(yàn)以及Co-RFGBDT的比較

        由表4可以看出,隨機(jī)森林在大多類(lèi)別上的精確率要比GBDT高,而GBDT在大多類(lèi)別的召回率較高,但總體來(lái)看效果相當(dāng).

        而對(duì)于Co-Forest和Co-RFGBDT算法,均符合我們的預(yù)期.當(dāng)使用了半監(jiān)督學(xué)習(xí)后,使用了更多未標(biāo)注的惡意家族樣本參與到訓(xùn)練,學(xué)習(xí)到了更廣泛數(shù)據(jù)的分布,可以得到更好的效果.

        對(duì)于本文中提出的Co-RFGBDT算法,由于其針對(duì)Co-Forest作了改進(jìn),使用了GBDT代替決策樹(shù)作為訓(xùn)練單元,在一定程度上避免了偏差出現(xiàn)的可能性,而且通過(guò)Bagging以及每個(gè)GBDT分類(lèi)器的生成隨機(jī)性,保證了不同分類(lèi)器的差異,從而足夠降低了方差.其總體Acc相對(duì)于基準(zhǔn)算法提升了0.015,獲得了最優(yōu)的效果.

        但是從表4可以看出,由于Co-RFGBDT使用了機(jī)器學(xué)習(xí)中拒絕分類(lèi)的方式(根據(jù)置信度閾值θ),以當(dāng)前參數(shù)0.3為例,若某預(yù)測(cè)樣本通過(guò)分類(lèi)器獲得的最多投票比例不超過(guò)0.3,那么我們認(rèn)為該樣本的惡意行為是未知的.但設(shè)置一個(gè)完美的θ是很難的,從Co-RFGBDT的結(jié)果也可以看出,精確率相對(duì)較高,但是召回率相對(duì)較低.接下來(lái)我們?cè)敿?xì)分析參數(shù)θ對(duì)于精確率和召回率的影響.

        3.2.2置信度θ結(jié)果分析

        Co-RFGBDT分類(lèi)的效果與很多參數(shù)相關(guān),其中置信度閾值θ是一個(gè)比較重要的參數(shù).θ不僅控制了未標(biāo)注樣本的召回閾值,還控制著確定惡意行為是否屬于未知惡意行為.從理論上來(lái)講,θ值設(shè)置得越高那么預(yù)測(cè)的置信度就越高,精確率就會(huì)越高,但相應(yīng)的召回率就會(huì)降低.我們將設(shè)置θ從0.1到0.9,間隔為0.1.

        如圖3所示,隨著θ從0緩慢的增加,Acc會(huì)跟著緩慢的上升,但當(dāng)θ>0.6以后,Acc會(huì)因?yàn)檎倩芈实募眲∠陆刀陆?因此最終我們選擇θ=0.3作為最終的置信度閾值參數(shù).而此時(shí)Acc值為0.915 609.

        圖3 Acc折線(xiàn)圖

        4 總 結(jié)

        在本文中,提取了安卓軟件的權(quán)限、服務(wù)和敏感API這3種靜態(tài)特征,并提取了7種動(dòng)態(tài)特征彌補(bǔ)了只使用靜態(tài)特征不充分的問(wèn)題.在靜態(tài)特征中,主要通過(guò)反編譯安卓軟件,并從中提取特征.而動(dòng)態(tài)特征則是使用DroidBox工具提取了安卓軟件運(yùn)行時(shí)的json日志,從中獲得了動(dòng)態(tài)行為特征.對(duì)安卓惡意軟件的惡意行為分析是通過(guò)多分類(lèi)來(lái)完成的,首先通過(guò)VirusTotal工具獲得了每個(gè)安卓惡意樣本的惡意軟件家族信息,然后通過(guò)對(duì)這些惡意軟件家族進(jìn)行人工分析和聚類(lèi)分析,將惡意行為分為5類(lèi),并對(duì)惡意樣本進(jìn)行標(biāo)注.使用半監(jiān)督學(xué)習(xí)方法Co-RFGBDT將少量的已標(biāo)注樣本和大量的未標(biāo)注樣本進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練,并進(jìn)行實(shí)驗(yàn)評(píng)估,并與隨機(jī)森林、GBDT以及Co-Forest作了對(duì)比,并分析結(jié)果出現(xiàn)的原因.最終證明了本文提出的安卓惡意檢測(cè)及其惡意行為分析方案具有較高的準(zhǔn)確率和召回率,而且證明了本文提出的Co-RFGBDT半監(jiān)督學(xué)習(xí)算法在一些場(chǎng)景下具有更好的性能.

        [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

        杜煒

        碩士研究生,主要研究方向?yàn)樾畔踩C(jī)器學(xué)習(xí).

        duwei0810@gmail.com

        李劍

        博士,教授,博士生導(dǎo)師,主要研究方向?yàn)橹悄芫W(wǎng)絡(luò)安全、量子密碼學(xué).

        lijian@bupt.edu.cn

        猜你喜歡
        特征分析檢測(cè)
        “不等式”檢測(cè)題
        “一元一次不等式”檢測(cè)題
        “一元一次不等式組”檢測(cè)題
        隱蔽失效適航要求符合性驗(yàn)證分析
        如何表達(dá)“特征”
        不忠誠(chéng)的四個(gè)特征
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        抓住特征巧觀察
        電力系統(tǒng)及其自動(dòng)化發(fā)展趨勢(shì)分析
        小波變換在PCB缺陷檢測(cè)中的應(yīng)用
        亚洲成av人在线播放无码 | 亚洲综合精品在线观看中文字幕| 中文字幕日本在线乱码| 18禁免费无码无遮挡不卡网站 | 国精品无码一区二区三区在线| 综合网五月| 亚洲国产精品成人av| 丝袜美腿亚洲第一免费| 人妻久久一区二区三区蜜桃| 久久久久久无码av成人影院| 国产精品99久久精品爆乳| 无遮挡粉嫩小泬| 极品美女调教喷水网站| 亚洲日韩久久综合中文字幕| 国产思思99re99在线观看| 亚洲一二三四五区中文字幕| 91精品久久久老熟女91精品| 久久久无码人妻精品无码| 日本欧美小视频| 亚洲av乱码一区二区三区观影| 国产在线一区二区三区乱码| 首页 综合国产 亚洲 丝袜 | 久久精品综合国产二区| 国产免费人成视频在线| 激烈的性高湖波多野结衣 | 91精品国产91热久久p| 日韩一本之道一区中文字幕| 国产专区一线二线三线码| 亚洲人成无码网www| 国产三级自拍视频在线| 丝袜美腿国产一区精品| 国产午夜精品理论片| 人妻无码AⅤ不卡中文字幕| 中日无码精品一区二区三区| 91九色视频在线国产| 人人色在线视频播放| 国产亚洲精品成人无码精品网站 | 精品国偷自产在线视频九色| 中文在线а√天堂官网| 国产亚洲一区二区三区三州 | 隔壁老王国产在线精品|