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

        ?

        基于Bagging-SVM的Android惡意軟件檢測(cè)模型

        2018-05-21 00:50:18謝麗霞
        計(jì)算機(jī)應(yīng)用 2018年3期
        關(guān)鍵詞:分類器良性檢出率

        謝麗霞,李 爽

        (中國民航大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300)

        0 引言

        惡意軟件具有隱蔽性強(qiáng)、竊取用戶隱私和惡意扣費(fèi)等特點(diǎn),給Android手機(jī)用戶帶來日益嚴(yán)重的安全威脅[1],Android手機(jī)的安全形勢(shì)日益嚴(yán)峻。Android惡意軟件的快速高效檢測(cè)成為目前的一個(gè)研究熱點(diǎn)。

        隨著機(jī)器學(xué)習(xí)算法的廣泛應(yīng)用,許多研究者嘗試借助機(jī)器學(xué)習(xí)方法進(jìn)行Android惡意軟件檢測(cè)研究。通過訓(xùn)練機(jī)器學(xué)習(xí)分類器可模擬Android軟件的行為,從而準(zhǔn)確地區(qū)分良性軟件和惡意軟件。訓(xùn)練機(jī)器學(xué)習(xí)分類器的特征包括Android軟件的靜態(tài)特征和動(dòng)態(tài)特征,通過對(duì)Android軟件安裝包(Android PacKage, APK)逆向處理可獲得如權(quán)限、API和意圖等靜態(tài)特征;通過監(jiān)測(cè)APK文件運(yùn)行過程的實(shí)時(shí)信息可獲取如系統(tǒng)調(diào)用、網(wǎng)絡(luò)流量等動(dòng)態(tài)特征。相比之下,靜態(tài)特征的獲取不需要執(zhí)行惡意軟件,對(duì)系統(tǒng)的干擾小且易于統(tǒng)計(jì)分析,已成為較常用的特征提取方法。

        文獻(xiàn)[2]通過提取軟件運(yùn)行時(shí)的用戶操作場(chǎng)景和行為習(xí)慣等信息作為特征,使用樸素貝葉斯(Naive Bayes, NB)分類器檢測(cè)Android惡意軟件。文獻(xiàn)[3]通過提取Android軟件的組件、函數(shù)調(diào)用和系統(tǒng)調(diào)用類作為特征,采用NB、部分決策樹和J48等算法構(gòu)造3層混合分類器檢測(cè)惡意軟件。上述兩種方法可以實(shí)現(xiàn)對(duì)Android惡意軟件的檢測(cè),但檢測(cè)精度低。文獻(xiàn)[4]提取Android軟件中Java字節(jié)碼信息作為特征,采用主成分分析法對(duì)特征降維,并運(yùn)用隨機(jī)森林(Random Forest, RF)、NB和支持向量機(jī)(Support Vector Machine, SVM)等算法構(gòu)建分類器檢測(cè)惡意軟件。文獻(xiàn)[5]提取網(wǎng)絡(luò)流量屬性作為特征,采用卡方檢驗(yàn)和信息增益(Information Gain, IG)融合的方法篩選最優(yōu)特征子集,運(yùn)用樸素貝葉斯分類器檢測(cè)Android惡意軟件。文獻(xiàn)[6]提取APK文件中的權(quán)限和意圖信息作為特征,采用信息增益算法篩選特征實(shí)現(xiàn)一種基于改進(jìn)隨機(jī)森林算法的Android惡意軟件檢測(cè)模型。文獻(xiàn)[4-6]通過對(duì)特征降維實(shí)現(xiàn)較好的檢測(cè)效果,但檢出率低。

        使用機(jī)器學(xué)習(xí)算法檢測(cè)Android惡意軟件檢出率低的重要原因是可收集到的惡意樣本種類少且數(shù)量有限,這必然導(dǎo)致收集到的數(shù)據(jù)集不平衡。文獻(xiàn)[7]針對(duì)Android惡意軟件檢測(cè)中的數(shù)據(jù)不平衡問題,提出一種基于最小風(fēng)險(xiǎn)的樸素貝葉斯分類器,但由于僅提取權(quán)限信息作為特征,導(dǎo)致檢出率仍不高。文獻(xiàn)[8]提出一種基于多級(jí)集成的惡意軟件檢測(cè)模型,提取Dalvik指令、權(quán)限和API等靜態(tài)屬性作為特征,構(gòu)造基于J48決策樹的三層集成分類器,該模型具有較好的檢測(cè)效果,但技術(shù)實(shí)現(xiàn)較為復(fù)雜。

        綜上所述,現(xiàn)有Android惡意軟件檢測(cè)方法在解決特征降維、數(shù)據(jù)不平衡和技術(shù)實(shí)現(xiàn)等問題時(shí)存在諸多不足,導(dǎo)致Android惡意軟件檢出率低。

        本文提出一種基于Bagging-SVM集成算法的Android惡意軟件檢測(cè)模型,其主要工作為:

        1)提取Android軟件的權(quán)限(Permission)、意圖(Intent)和組件(Component)等靜態(tài)屬性作為特征,提高惡意軟件和良性軟件的區(qū)分度。

        2)提出一種IG-ReliefF混合篩選算法,最大限度地剔除冗余和無關(guān)特征,從而提高后續(xù)分類檢測(cè)效果。

        3)為解決數(shù)據(jù)不平衡性導(dǎo)致的Android惡意軟件的檢出率和分類精度低的問題,提出一種基于Bagging-SVM的惡意軟件檢測(cè)算法。該算法使用bootstrap抽樣構(gòu)造平衡數(shù)據(jù)集,并訓(xùn)練基于Bagging的SVM集成分類器用于Android惡意軟件檢測(cè),實(shí)現(xiàn)較高的檢出率和分類精度。

        1 模型設(shè)計(jì)

        基于Bagging-SVM算法,設(shè)計(jì)一種Android惡意軟件檢測(cè)模型(如圖1所示)。該模型由3個(gè)主要模塊構(gòu)成:特征提取模塊、特征篩選模塊和分類檢測(cè)模塊。

        圖1 Android惡意軟件檢測(cè)模型結(jié)構(gòu) Fig. 1 Android malware detection model structure

        在特征提取模塊和特征篩選模塊完成數(shù)據(jù)的預(yù)處理,其主要目標(biāo)為數(shù)據(jù)集提取和特征降維,處理過程為:

        1)特征提取模塊首先對(duì)Android軟件樣本的APK文件逆向處理得到清單文件AndroidManifest.xml,對(duì)清單文件解析獲取屬性標(biāo)簽,然后量化屬性標(biāo)簽并構(gòu)造特征向量,最后收集所有Android軟件樣本的特征向量組成數(shù)據(jù)集。

        2)特征篩選模塊采用IG[9]和ReliefF[10]2種算法對(duì)數(shù)據(jù)集中的所有特征評(píng)分,根據(jù)評(píng)分結(jié)果搜索特征子集,然后根據(jù)特征子集構(gòu)造數(shù)據(jù)集,通過交叉驗(yàn)證法訓(xùn)練分類器獲得分類結(jié)果,計(jì)算F1作為特征子集的評(píng)分。根據(jù)評(píng)分結(jié)果篩選分類效果最優(yōu)的特征子集,從而完成特征降維。

        在分類檢測(cè)模塊完成對(duì)分類器的訓(xùn)練和對(duì)惡意軟件的檢測(cè),處理過程為:

        1)采用隨機(jī)抽樣的方法將降維后的數(shù)據(jù)集拆分為訓(xùn)練集和測(cè)試集;

        2)分別對(duì)訓(xùn)練集中的惡意數(shù)據(jù)集和良性數(shù)據(jù)集進(jìn)行bootstrap抽樣,構(gòu)造樣本數(shù)目相等的惡意數(shù)據(jù)集和良性數(shù)據(jù)集,合并二者組成平衡數(shù)據(jù)集;

        3)重復(fù)2)構(gòu)造多個(gè)平衡數(shù)據(jù)集,針對(duì)每個(gè)平衡數(shù)據(jù)集,訓(xùn)練1個(gè)SVM基分類器;多個(gè)SVM基分類器以投票的方式組成SVM集成分類器;

        4)檢測(cè)時(shí),將測(cè)試集中的樣本輸入SVM集成分類器,輸出SVM集成分類器中多個(gè)SVM基分類器的投票結(jié)果,以投票結(jié)果判定Android軟件樣本為良性樣本或惡意樣本。

        2 數(shù)據(jù)預(yù)處理

        2.1 特征提取

        特征提取模塊首先逆向分析提取APK文件中的Permission、Intent和Component靜態(tài)屬性作為特征,其次通過量化特征構(gòu)造特征向量,最后將全部Android軟件樣本的特征向量合并為數(shù)據(jù)集。具體處理過程設(shè)計(jì)如下:

        步驟1 運(yùn)用反編譯工具Apktool[11]將收集到的APK文件反編譯,獲取Android軟件安裝時(shí)的清單文件AndroidManifest.xml。

        步驟2 采用Python中的xml.etree.Element Tree模塊解析清單文件AndroidManifest.xml,統(tǒng)計(jì)清單文件中的Permission、Intent和Component信息。Android開發(fā)者自定義的Permission和Intent屬性只屬于特定樣本,不具有代表性,因此不作統(tǒng)計(jì)。

        步驟3 將Permission和Intent的有無量化為1和0;把清單文件中窗口(activity)、服務(wù)(service)、廣播接收者(receiver)和內(nèi)容提供者(provider)的個(gè)數(shù)作為組件的量化結(jié)果。

        步驟4 運(yùn)用量化結(jié)果和類別標(biāo)簽(良性為‘0’,惡意為‘1’)構(gòu)造特征向量,每個(gè)特征向量代表一個(gè)樣本,將所有的特征向量合并為實(shí)驗(yàn)數(shù)據(jù)集。

        2.2 特征篩選

        為最大限度降低特征維度和提高后續(xù)的分類檢測(cè)效果,特征篩選模塊采用一種IG-ReliefF混合篩選算法。IG和ReliefF算法都是通過對(duì)特征評(píng)分篩選最優(yōu)特征,但評(píng)分標(biāo)準(zhǔn)不同:針對(duì)某個(gè)特征,IG算法的評(píng)分值為該特征的熵值與其條件熵的差,主要量化單個(gè)特征對(duì)于分類結(jié)果的影響;而ReliefF算法的評(píng)分值為該特征與不同類別樣本的距離和相同類別樣本之間距離的差值,反映特征間的相關(guān)關(guān)系對(duì)分類結(jié)果的影響。IG-ReliefF算法結(jié)合二者的優(yōu)點(diǎn)實(shí)現(xiàn)特征篩選,其過程為:首先,采用IG和ReliefF算法對(duì)特征評(píng)分,搜索2種算法下得分均高的特征子集;然后,使用搜索得到的特征子集構(gòu)建數(shù)據(jù)集,并采用交叉驗(yàn)證法訓(xùn)練分類器,獲取分類結(jié)果;最后,計(jì)算分類結(jié)果的評(píng)估指標(biāo)作為特征子集的評(píng)分值,從而篩選出分類效果最優(yōu)的特征子集。

        2.2.1 特征子集評(píng)估指標(biāo)

        特征篩選中,為客觀評(píng)估特征子集的優(yōu)劣,本文計(jì)算準(zhǔn)確率和檢出率的調(diào)和平均值F1作為特征子集的評(píng)估指標(biāo)。為此,首先定義4個(gè)基本指標(biāo)量:TP表示惡意軟件被正確識(shí)別的數(shù)量;FP表示良性軟件被錯(cuò)誤識(shí)別為惡意軟件的數(shù)量;TN表示良性軟件被正確識(shí)別的數(shù)量;FN表示惡意軟件被錯(cuò)誤識(shí)別的數(shù)量。利用基本指標(biāo),定義以下4個(gè)度量指標(biāo):

        指標(biāo)1 準(zhǔn)確率表示被正確識(shí)別的惡意軟件和被識(shí)別為惡意軟件的數(shù)量比。

        (1)

        指標(biāo)2 檢出率表示被正確識(shí)別的惡意軟件和實(shí)際惡意軟件的數(shù)量比,也稱作召回率。

        (2)

        指標(biāo)3 分類精度表示被正確識(shí)別的軟件和所有樣本軟件的數(shù)量比[12]。

        (3)

        指標(biāo)4F1為準(zhǔn)確率和檢出率的調(diào)和平均值。

        (4)

        2.2.2 IG-ReliefF混合篩選算法設(shè)計(jì)

        設(shè)實(shí)驗(yàn)數(shù)據(jù)集為S,其中包含p個(gè)特征F={f1,f2, …,fp},通過IG算法對(duì)p個(gè)特征的評(píng)分為G={g1,g2, …,gp},通過ReliefF算法對(duì)p個(gè)特征的評(píng)分為R={r1,r2, …,rp}。根據(jù)G和R中的評(píng)分結(jié)果篩選出評(píng)分最高的n個(gè)特征,分別為Gn和Rn,則特征子集FS的搜索公式為:

        FS=Gn∩Rn

        (5)

        IG-ReliefF混合篩選算法步驟設(shè)計(jì)如下:

        輸入:實(shí)驗(yàn)數(shù)據(jù)集S;

        輸出:篩選后數(shù)據(jù)集D。

        步驟1 采用IG和RelielfF算法對(duì)數(shù)據(jù)集S中的p個(gè)特征評(píng)分,評(píng)分結(jié)果保存為G和R,SF(初始值為空集)表示當(dāng)前評(píng)分最高的特征子集,F(xiàn)best(初始值為0)表示當(dāng)前最高評(píng)分值。

        步驟2 依據(jù)n(初始值為1)的值由式(5)計(jì)算特征子集FS,基于FS組成篩選后的數(shù)據(jù)集D。

        步驟3 將D中的數(shù)據(jù)隨機(jī)均分5份,其中4份作為分類器的訓(xùn)練集,剩余1份作為分類器的測(cè)試集。執(zhí)行訓(xùn)練和測(cè)試過程,保存對(duì)測(cè)試集的分類結(jié)果,并計(jì)算F1作為FS的評(píng)分值。

        步驟4 將步驟3重復(fù)執(zhí)行5次,計(jì)算F1的平均值Faverage。若Faverage>Fbest,則Fbest=Faverage,SF=FS;否則,跳過Fbest和SF的賦值階段。

        步驟5n自增1,重復(fù)步驟2~4。當(dāng)n達(dá)到最大迭代次數(shù)p時(shí),迭代停止,輸出D。

        3 分類檢測(cè)模塊

        3.1 Bagging-SVM算法

        3.1.1 問題分析

        在Android惡意軟件檢測(cè)過程中,采用SVM算法分類檢測(cè)存在兩個(gè)問題:

        1)由于Android惡意軟件的樣本收集困難,使得數(shù)據(jù)集中良性軟件和惡意軟件的數(shù)量比不平衡,使得訓(xùn)練后的SVM分類器分類結(jié)果偏向良性軟件,導(dǎo)致Android惡意軟件的檢出率較低。

        2)SVM算法對(duì)小樣本分類效果較好,但是對(duì)樣本敏感,尤其是處于分類邊界上的樣本,若分類邊界上存在錯(cuò)分的樣本,則會(huì)嚴(yán)重影響分類器的穩(wěn)定性。

        針對(duì)問題1,本文考慮分別對(duì)良性數(shù)據(jù)集和惡意數(shù)據(jù)集bootstrap抽樣,構(gòu)造平衡數(shù)據(jù)集,降低不平衡數(shù)據(jù)對(duì)分類結(jié)果的影響;針對(duì)問題2,由于Bagging算法可以顯著提高分類不穩(wěn)定算法的分類效果[13],因此考慮通過Bagging算法構(gòu)造基于SVM的集成分類器,提高分類器的穩(wěn)定性和檢測(cè)精度。

        3.1.2 算法設(shè)計(jì)

        基于3.1.1節(jié)中的分析,本文提出一種基于Bagging-SVM的 Android惡意軟件檢測(cè)算法。首先,采用bootstrap抽樣構(gòu)造k個(gè)平衡數(shù)據(jù)集;然后,訓(xùn)練k個(gè)基于平衡數(shù)據(jù)集的SVM基分類器C;最后k個(gè)SVM基分類器以多數(shù)投票的方式組成SVM集成分類器C*;分類檢測(cè)時(shí),以SVM集成分類器C*的輸出作為測(cè)試樣本的分類結(jié)果。該算法流程設(shè)計(jì)如圖2所示。

        圖2 Bagging-SVM算法流程 Fig. 2 Bagging-SVM flow chart

        3.2 處理流程設(shè)計(jì)

        為提高分類檢測(cè)模塊的執(zhí)行效率,本文采用線性支持向量機(jī)(Linear Support Vector Machine, LSVM)設(shè)計(jì)基于Bagging-SVM分類檢測(cè)模塊,模塊設(shè)計(jì)如下:

        輸入:篩選后的數(shù)據(jù)集D;

        輸出:測(cè)試集的分類結(jié)果O。

        步驟1 隨機(jī)從D中抽取80%的數(shù)據(jù)組成訓(xùn)練集D_train,剩余的20%組成測(cè)試集D_test,根據(jù)數(shù)據(jù)類別拆分D_train為良性數(shù)據(jù)集Db和惡意數(shù)據(jù)集Dm,即D_train={Db,Dm}。

        步驟2 設(shè)m和b分別表示Dm和Db中樣本的個(gè)數(shù)。為實(shí)現(xiàn)bootstrap抽樣,采用隨機(jī)數(shù)發(fā)生器產(chǎn)生兩組m個(gè)可重復(fù)的正整數(shù)IMi(i=1, 2, …,m)和IBi(i=1, 2, …,m),其中0

        步驟3 以IMi作為待抽取的惡意樣本的序號(hào),以IBi作為待抽取的良性樣本的序號(hào),執(zhí)行抽取過程得到m個(gè)良性數(shù)據(jù)和m個(gè)惡意數(shù)據(jù),合并組成新的待訓(xùn)練數(shù)據(jù)集Di。

        步驟4Di中的任意一個(gè)樣本表示為(xi,yi)(i=1, 2, … ,m),其中xi=(xi1,xi2, …,xip)T對(duì)應(yīng)第i個(gè)訓(xùn)練樣本的屬性集,yi∈{0, 1}表示該Android樣本的類別,則SVM模型可表示為:

        (6)

        其中:α為懲罰項(xiàng),采用二次規(guī)劃法求解該模型得到拉格朗日乘子λi,則LSVM基分類器C的參數(shù)w和c可由式(7)和(8)求解:

        (7)

        (8)

        基分類器C表示為:

        (9)

        步驟5 重復(fù)執(zhí)行k次步驟2~4得到k個(gè)LSVM基分類器C,將k個(gè)基分類器C組合成SVM集成分類器C*。

        步驟6 針對(duì)D_test中的每個(gè)測(cè)試樣本x,將x輸入SVM集成分類器C*中的k個(gè)基分類器中,計(jì)算k個(gè)基分類器的投票結(jié)果O,輸出分類結(jié)果O。其中,投票公式為:

        C*(x)=vote(C1(x),C2(x),…,Ck(x))=

        (10)

        4 實(shí)驗(yàn)與結(jié)果

        4.1 樣本和環(huán)境配置

        本實(shí)驗(yàn)使用Jiang等[14]收集自Android惡意軟件基因組項(xiàng)目的Android惡意軟件,共計(jì)1 260個(gè)樣本,從中隨機(jī)抽取1 000個(gè)組成惡意數(shù)據(jù)集。良性Android軟件來源于Google官方應(yīng)用市場(chǎng)和360應(yīng)用市場(chǎng),使用Python編寫爬蟲腳本,分3次共下載4 500個(gè)不同的Android應(yīng)用,使用kingsoft和F-scure對(duì)所有Android應(yīng)用掃描,從中篩選出4 000個(gè)良性軟件(被兩種軟件都判定為良性)組成良性樣本集。將二者合并組成實(shí)驗(yàn)數(shù)據(jù)集。

        實(shí)驗(yàn)中主機(jī)配置為Intel Core i5-3570 CPU @ 3.40 GHz,內(nèi)存4 GB,特征提取及分類檢測(cè)通過Python編程實(shí)現(xiàn),特征篩選是在Weka[15]環(huán)境下完成。

        4.2 數(shù)據(jù)集提取及分析

        按照2.1節(jié)的特征提取算法提取數(shù)據(jù)集,其中包含5 000個(gè)樣本,每個(gè)樣本有917個(gè)特征。為了便于對(duì)樣本使用的特征統(tǒng)計(jì)分析,首先計(jì)算使用特定屬性(權(quán)限或意圖)的良性樣本占良性樣本總數(shù)的百分比pb,計(jì)算使用該屬性的惡意軟件所占惡意樣本總數(shù)的百分比pm,統(tǒng)計(jì)所有屬性中,pb和pm差值最大的前10個(gè)權(quán)限和意圖如表1所示;然后計(jì)算平均每個(gè)惡意樣本使用組件的個(gè)數(shù)nm和平均每個(gè)良性樣本使用組件的個(gè)數(shù)nb,結(jié)果如表2所示。表1中所有的應(yīng)用屬性均采用縮寫,權(quán)限{CWS, RA, VIB, CAM, WL, CNS, MUF, WS, GT, SAW}分別對(duì)應(yīng){CHANGE_WIFI_STATE, RECORD_AUDIO, VIBRATE, CAMERA, WAKE_LOCK, CHANGE_NETWORK_STATE, MOUNT_UNMOUNT_FILESYSTEMS, WRITE_SETTINGS, GET_TASKS, SYSTEM_ALERT_WINDOW},意圖{PR, BCA, MM, APD, SS, PA, UP, VIEW, DEFA, BROW}分別對(duì)應(yīng){ PACKAGE_REMOVED, BATTERY_CHANGED_ACTION, MEDIA_MOUNTED,ACTION_POWER_DISCONNECTED, SIG_STR, PACKAGE_ADDED, USER_PRESENT, VIEW, CATEGORY.DEFAULT, BROWSABLE}。

        表1 Android應(yīng)用常用屬性值統(tǒng)計(jì)Tab. 1 Attribute value statistics of Android software commonly used

        表2 平均每個(gè)軟件樣本使用組件個(gè)數(shù)統(tǒng)計(jì)Tab. 2 Average number statistics of components per software sample

        由表1可見,使用百分比差別最大的前10個(gè)權(quán)限是SYSTEM_ALERT_WINDOW(該權(quán)限允許Android軟件顯示系統(tǒng)窗口)、WRITE_SETTINGS(該權(quán)限允許讀寫系統(tǒng)設(shè)置項(xiàng))和GET_TASKS(該權(quán)限允許Android軟件獲取當(dāng)前或最近運(yùn)行的軟件)等安全威脅小且是常用軟件必須的權(quán)限,這些權(quán)限良性軟件使用百分比都超過50%,而惡意軟件的使用量卻較少。

        由表1可見,使用百分比差別最大的前10個(gè)意圖中有8個(gè)意圖良性軟件的使用百分比遠(yuǎn)高于惡意軟件的使用百分比,這8個(gè)意圖為BROWSABLE、VIEW和MDEIA_MOUNTED等實(shí)現(xiàn)常用功能必要的意圖。剩余2個(gè)意圖為SIG_STR和BATTERY_CHANGED_ACTION,這2個(gè)意圖惡意軟件的使用百分比遠(yuǎn)大于良性軟件的使用百分比,這主要是由于惡意軟件意圖的觸發(fā)事件大多是電池狀態(tài)改變和手機(jī)信號(hào)狀態(tài)改變等不易被察覺的事件。

        由表2可見,大多數(shù)Android軟件使用activity、service和receiver 3個(gè)組件,但平均每個(gè)軟件使用的個(gè)數(shù)是有差別的,值得注意的是惡意軟件使用的activity組件數(shù)遠(yuǎn)小于良性軟件使用的activity組件數(shù)。

        綜上,本文模型所提取的權(quán)限(Permission)、意圖(Intent)和組件(Component)屬性特征可以明顯地區(qū)分良性和惡意軟件,適用于Android惡意軟件檢測(cè)。

        4.3 特征篩選及模塊評(píng)估

        4.3.1 特征篩選實(shí)驗(yàn)

        本文采用的IG-ReliefF特征篩選算法對(duì)數(shù)據(jù)集處理,將數(shù)據(jù)集的特征由篩選前的917個(gè)降至篩選后的45個(gè)。

        在特征篩選實(shí)驗(yàn)中,首先采用IG和ReliefF算法對(duì)917個(gè)特征進(jìn)行評(píng)分,分值越高代表特征越優(yōu),2種算法評(píng)分最高的15個(gè)特征如表3所示。

        表3 IG算法和ReliefF算法特征評(píng)分結(jié)果Tab. 3 Feature score results of IG algorithm and ReliefF algorithm

        對(duì)比2種算法的評(píng)分結(jié)果,在IG算法中組件特征(receiver, service, activity)的排名較高,說明該特征對(duì)于分類結(jié)果的信息增益[10]較大,即單個(gè)該特征即可較好地區(qū)分良性軟件和惡意軟件。而在ReliefF算法中,由于ReliefF算法更多地考慮特征間的相關(guān)性,而組件特征與其他特征的相關(guān)性弱,所以ReliefF算法對(duì)組件的評(píng)分低??傮w而言2種算法的評(píng)價(jià)標(biāo)準(zhǔn)不同,特征排名次序存在差異。

        其次,為最大限度地搜索出最優(yōu)特征子集,在篩選過程中設(shè)置最大迭代次數(shù)為917,然后分別采用LSVM和NB分類器進(jìn)行特征篩選,實(shí)驗(yàn)中當(dāng)前最優(yōu)特征子集SF的評(píng)分變化趨勢(shì)如圖3所示。

        圖3 當(dāng)前最優(yōu)特征子集的評(píng)分變化趨勢(shì) Fig. 3 Scores variation trend of current optimal feature subset

        由圖3可見,LSVM在SF的維度為45時(shí)達(dá)到最大值,NB在SF維度為38時(shí)達(dá)到最大值,但是采用NB算法時(shí)的特征子集的評(píng)分較低,因此分類檢測(cè)實(shí)驗(yàn)采用LSVM算法篩選的45個(gè)特征作為篩選結(jié)果。

        4.3.2 特征篩選算法對(duì)比實(shí)驗(yàn)

        為評(píng)估特征篩選模塊的篩選效果,分別進(jìn)行9組對(duì)比實(shí)驗(yàn)。9組實(shí)驗(yàn)中采用的特征篩選算法分別為:無特征篩選法、IG-ReliefF混合篩選算法、Weka中集成的CfsSubsetEval算法、IG算法和ReliefF算法;分類算法分別為:NB、LSVM、RF和Bagging-SVM算法;實(shí)驗(yàn)數(shù)據(jù)選用特征篩選后的數(shù)據(jù)全集,采用10折交叉驗(yàn)證法訓(xùn)練分類器并獲取分類結(jié)果,采用不同特征篩選算法的4種分類算法的分類實(shí)驗(yàn)結(jié)果如表4所示。

        由表4可見,使用LSVM、RF和Bagging-SVM算法時(shí)分類效果較好,而且相比其他篩選算法,使用本文提出的IG-ReliefF混合篩選算法分類效果最優(yōu);同時(shí),使用NB算法結(jié)合IG-ReliefF時(shí)分類效果與最優(yōu)篩選相差不大。說明本文提出的IG-ReliefF混合篩選算法可剔除大量無關(guān)特征,有利于提高分類檢測(cè)的效果。

        表4不同分類算法F1值比較%

        Tab. 4 Comparison of F1 value by different classification algorithms %

        4.4 檢測(cè)實(shí)驗(yàn)

        為驗(yàn)證本文模型對(duì)Android惡意軟件檢測(cè)的有效性,進(jìn)行3組檢測(cè)實(shí)驗(yàn),實(shí)驗(yàn)步驟設(shè)計(jì)如下:

        步驟1 對(duì)篩選特征后的數(shù)據(jù)集D抽樣構(gòu)造3個(gè)數(shù)據(jù)集DA、DB和DC,3個(gè)數(shù)據(jù)集中惡意數(shù)據(jù)為惡意數(shù)據(jù)全集,包含1 000條數(shù)據(jù);良性數(shù)據(jù)為分別從包含4 000條數(shù)據(jù)的良性數(shù)據(jù)全集中無放回隨機(jī)抽取的1 000、2 000和4 000條數(shù)據(jù)。

        步驟2 對(duì)DA、DB和DC無放回抽樣構(gòu)造樣本數(shù)相等的10份數(shù)據(jù),9份為訓(xùn)練集,剩余1份為測(cè)試集。

        步驟3 將Bagging-SVM算法分別與Android惡意軟件檢測(cè)中常用的集成式機(jī)器學(xué)習(xí)算法RF和AdaBoost對(duì)比,并與基分類器采用的LSVM算法對(duì)比,訓(xùn)練相應(yīng)的4種分類器。

        步驟4 采用4種分類器對(duì)測(cè)試集分類,獲得分類結(jié)果,計(jì)算分類檢測(cè)的評(píng)估指標(biāo)Precision、Recall、F1和ACC。

        步驟5 重復(fù)執(zhí)行10次步驟2~4并計(jì)算10次分類檢測(cè)結(jié)果中Precision、Recall、F1和ACC的平均值,結(jié)果如表5所示。

        表5 分類效果比較Tab. 5 Classification effects comparison

        由表5可見,采用平衡數(shù)據(jù)集DA分類檢測(cè)時(shí),4種分類器的分類效果較好,且Bagging-SVM分類器的分類結(jié)果在檢出率、F1和分類精度3個(gè)指標(biāo)上優(yōu)于LSVM分類器;采用不平衡數(shù)據(jù)集DB和DC分類檢測(cè)時(shí),隨著不平衡度的增加,4種分類器的檢測(cè)效果都有降低,但Bagging-SVM分類器在檢出率、F1和分類精度3個(gè)評(píng)估指標(biāo)上均優(yōu)于其他分類器。由于惡意軟件被誤報(bào)為良性軟件造成的威脅遠(yuǎn)高于良性軟件被誤報(bào)為惡意軟件,而較高的惡意軟件檢出率表明較少的惡意軟件被誤報(bào)為良性軟件,所以Bagging-SVM算法通過降低一定的準(zhǔn)確率換取高的檢出率在Android惡意軟件檢測(cè)中是有意義的。

        根據(jù)上述實(shí)驗(yàn)結(jié)果可見,本文提出的Android惡意軟件檢測(cè)模型在數(shù)據(jù)不平衡時(shí)仍具有較高的檢出率和分類精度,能夠檢測(cè)出絕大多數(shù)惡意軟件。

        5 結(jié)語

        本文針對(duì)Android平臺(tái)惡意軟件泛濫以及現(xiàn)有分類算法檢出率低等問題,提出基于Bagging-SVM的Android惡意軟件檢測(cè)模型。模型選取權(quán)限、意圖和組件等屬性作為特征提高了對(duì)Android軟件的區(qū)分度,采用IG-ReliefF混合篩選算法最大限度地剔除了冗余和無關(guān)特征,運(yùn)用Bagging-SVM集成分類器解決數(shù)據(jù)不平衡問題導(dǎo)致的分類檢出率低的問題。實(shí)驗(yàn)證明本文模型在樣本數(shù)據(jù)不平衡時(shí)仍具有較高的檢出率和分類精度。

        未來將在更大的Android軟件樣本數(shù)據(jù)空間并采用不同的不平衡方法開展實(shí)驗(yàn)研究。

        參考文獻(xiàn)(References)

        [1] 卿斯?jié)h. Android 安全研究進(jìn)展 [J]. 軟件學(xué)報(bào), 2016, 27(1): 45-71.(QING S H. Research progress on Android security [J]. Journal of Software, 2016, 27(1): 45-71.)

        [2] 張怡婷, 張揚(yáng), 張濤, 等. 基于樸素貝葉斯的Android軟件惡意行為智能識(shí)別 [J]. 東南大學(xué)學(xué)報(bào)(自然科學(xué)版), 2015, 45(2): 224-230.(ZHANG Y T, ZHANG Y, ZHANG T, et al. Intelligent identification of malicious behavior in Android applications based on naive Bayes [J]. Journal of Southeast University (Natural Science Edition), 2015, 45(2): 224-230.)

        [3] 楊歡, 張玉清, 胡予濮, 等. 基于多類特征的Android應(yīng)用惡意行為檢測(cè)系統(tǒng) [J]. 計(jì)算機(jī)學(xué)報(bào), 2014, 37(1):15-27. (YANG H, ZHANG Y Q, HU Y P, et al. A malware behavior detection system of Android applications based on multi-class features [J]. Chinese Journal of Computers, 2014, 37(1): 15-27.)

        [4] WOLFE B, ELISH K, YAO D. High precision screening for Android malware with dimensionality reduction [C]// ICMLA 2014: Proceedings of the 2014 13th International Conference on Machine Learning and Applications. Piscataway, NJ: IEEE, 2015: 21-28.

        [5] ARORA A, PEDDOJU S K. Minimizing network traffic features for Android mobile malware detection [C]// ICDCN ’17: Proceedings of the 18th International Conference on Distributed Computing and Networking. New York: ACM, 2017: Article No. 32.

        [6] 楊宏宇,徐晉.基于改進(jìn)隨機(jī)森林算法的Android惡意軟件檢測(cè) [J].通信學(xué)報(bào),2017,38(4):8-16.(YANG H Y, XU J. Android malware detection based on improved random forest [J]. Journal on Communications, 2017, 38(4): 8-16.)

        [7] 喬靜靜.Android未知惡意軟件檢測(cè)方法的研究[D].北京:北京工業(yè)大學(xué),2013:39-48.(QIAO J J. Research of unknown malware detection on Android [D]. Beijing: Beijing University of Technology, 2013: 39-48.)

        [8] 張巍,任環(huán),張凱,等.基于移動(dòng)軟件行為大數(shù)據(jù)挖掘的惡意軟件檢測(cè)技術(shù)[J].集成技術(shù),2016,5(2):29-40.(ZHANG W, REN H, ZHANG K, et al. Malware detection techniques by mining massive behavioral data of mobile Apps [J]. Journal of Integration Technology, 2016, 5(2): 29-40.)

        [9] FEIZOLLAH A, ANUAR N B, SALLEH R, et al. A review on feature selection in mobile malware detection [J]. Digital Investigation, 2015, 13: 22-37.

        [10] LUO Y X. Malicious detection based on ReliefF and boosting multidimensional features [J]. Journal of Communications, 2015, 10(11): 910-917.

        [11] 豐生強(qiáng).Android軟件安全與逆向分析[M]. 北京:人民郵電出版社,2013:20-28.(FENG S Q. Android Software Security and Reverse Analysis [M]. Beijing: Post & Telecom Press, 2013:20-28.)

        [12] HE H, GARCIA E A. Learning from imbalanced data [J]. IEEE Transactions on Knowledge & Data Engineering, 2009, 21(9): 1263-1284.

        [13] BREIMAN L. Bagging predictors [J]. Machine Learning, 1996, 24(2): 123-140.

        [14] JIANG X, ZHOU Y. Dissecting Android malware: characterization and evolution [C]// SP ’12: Proceedings of the 2012 IEEE Symposium on Security and Privacy. Washington, DC: IEEE Computer Society, 2012: 95-109.

        [15] 袁梅宇.數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí):WEKA應(yīng)用技術(shù)與實(shí)踐[M].北京:清華大學(xué)出版社,2016:329-344.(YUAN M Y. Data Mining and Machine Learning: WEKA Application Technology and Practice [M]. Beijing: Tsinghua University Press, 2016: 329-344.)

        [16] PEDREGOSA F, GRAMFORT A, MICHEL V, et al. Scikit-learn: machine learning in Python [J]. Journal of Machine Learning Research, 2011, 12(10): 2825-2830.

        This work is partially supported by the Science and Technology Foundation of Civil Aviation Administration of China (MHRD201205).

        XIELixia, born in 1974, M. S., associate professor. Her research interests include network and information security.

        LIShuang, born in 1990, M. S. candidate. His research interests include network and information security.

        猜你喜歡
        分類器良性檢出率
        走出睡眠認(rèn)知誤區(qū),建立良性睡眠條件反射
        中老年保健(2022年6期)2022-08-19 01:41:22
        QCT與DXA對(duì)絕經(jīng)后婦女骨質(zhì)疏松癥檢出率的對(duì)比
        安寧市老年人高血壓檢出率及其影響因素
        呼倫貝爾沙地實(shí)現(xiàn)良性逆轉(zhuǎn)
        長程動(dòng)態(tài)心電圖對(duì)心律失常的檢出率分析
        BP-GA光照分類器在車道線識(shí)別中的應(yīng)用
        基層良性發(fā)展從何入手
        加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
        結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機(jī)的TSK分類器
        甲狀腺良性病變行甲狀腺全切除術(shù)治療的效果分析
        国内精品久久久久影院一蜜桃| 一区二区三区四区亚洲免费| 久久久国产精品无码免费专区 | 私人vps一夜爽毛片免费| 亚洲美女又黄又爽在线观看| 97精品国产91久久久久久久| 亚洲精品女同在线观看| 极品嫩模大尺度av在线播放| 曰本大码熟中文字幕| 国产成人精选在线不卡| 久久精品一区二区三区不卡牛牛| 久久红精品一区二区三区| 亚洲国产成人片在线观看无码| av中文字幕综合在线| 午夜男女视频一区二区三区| 亚洲高清在线免费视频| 亚洲av无码久久精品蜜桃| 大陆一级毛片免费播放| 白色白色在线视频播放平台| 色偷偷久久久精品亚洲| 香蕉久久福利院| 老熟女熟妇嗷嗷叫91| 看国产亚洲美女黄色一级片| 人妻精品久久久久中文字幕69| 抽搐一进一出试看60秒体验区| 国产粉嫩嫩00在线正在播放| 日本人妻精品有码字幕| 国产喷水1区2区3区咪咪爱av| 久久狠狠第一麻豆婷婷天天| 日本一区二区精品色超碰| 精品欧美一区二区三区久久久| 夜夜躁狠狠躁2021| 亚洲九九九| 五月激情四射开心久久久| 国产综合在线观看| 精品一级毛片| 手机在线观看成年人视频| 无码人妻精品一区二区三区蜜桃 | 欧美国产亚洲精品成人a v| 亚洲国产精品成人一区二区三区| 伊人久久大香线蕉av色婷婷色|