崔志華,蘭卓璇,張景波,張文生
(1.太原科技大學(xué) 大數(shù)據(jù)分析與并行計(jì)算山西省重點(diǎn)實(shí)驗(yàn)室, 山西 太原 030024; 2.中國(guó)科學(xué)院 自動(dòng)化研究所,北京 100089)
惡意代碼又稱為惡意軟件,是對(duì)各種敵對(duì)和入侵軟件的概括性術(shù)語(yǔ),指故意編制、具有一定破壞性的、對(duì)計(jì)算機(jī)或網(wǎng)絡(luò)系統(tǒng)產(chǎn)生威脅的計(jì)算機(jī)代碼或軟件。惡意代碼隨著計(jì)算機(jī)技術(shù)的蓬勃發(fā)展而不斷發(fā)展,呈現(xiàn)出數(shù)量增長(zhǎng)快、形式變化多等特點(diǎn),這對(duì)惡意代碼的分析和防御工作帶來(lái)了更大的挑戰(zhàn)。
現(xiàn)有的惡意代碼檢測(cè)方法可分為靜態(tài)分析方法和動(dòng)態(tài)分析方法2類。靜態(tài)分析方法主要是在沒有實(shí)際運(yùn)行的情況下對(duì)惡意代碼的靜態(tài)特征加以分析,而動(dòng)態(tài)惡意軟件分析方法是在受控環(huán)境中系統(tǒng)地運(yùn)行,使用工具來(lái)提取其動(dòng)態(tài)特征進(jìn)行分析。這2種檢測(cè)方式都在一定程度上緩解了惡意代碼檢測(cè)所面臨的壓力。深度學(xué)習(xí)和人工智能的快速發(fā)展,向惡意代碼分析技術(shù)提供了新的方向[1]。大量基于深度學(xué)習(xí)的惡意代碼檢測(cè)模型不斷被提出[2-3],然而現(xiàn)有的基于深度學(xué)習(xí)的檢測(cè)模型通常將檢測(cè)問(wèn)題視為分類問(wèn)題,采用二支決策的方式進(jìn)行分類[4],將樣本分為良性類和惡意類。這意味著,無(wú)論分類器學(xué)習(xí)到的信息是否充分,都會(huì)對(duì)待分類的樣本做出一個(gè)確定的決策。而在實(shí)際惡意代碼檢測(cè)問(wèn)題中,由于在做出良性或惡意決定時(shí)的基本信息有限,一些樣本不能被立即判斷或很容易被錯(cuò)誤分類,因此,需要在收集更多的可用信息后,再次對(duì)這些樣本進(jìn)行確定性決策。
序貫三支決策[5]是一種可以更好地處理此類問(wèn)題的動(dòng)態(tài)三支決策[6]思想。它在傳統(tǒng)二支決策的基礎(chǔ)上引入了更加符合人類認(rèn)知的延遲決策選項(xiàng)。通過(guò)構(gòu)建多粒層結(jié)構(gòu),從最粗粒度層級(jí)到最細(xì)粒度層級(jí)進(jìn)行一系列的多階段三支決策,在決策時(shí)允許決策者對(duì)信息不充分的對(duì)象進(jìn)行延遲處理。然而,序貫三支決策方法也存在一些問(wèn)題。在傳統(tǒng)的概率粗糙集三支決策模型[7]中,三支決策閾值通常是根據(jù)給定的代價(jià)函數(shù)矩陣來(lái)確定,這需要合適的先驗(yàn)知識(shí)或?qū)<翌A(yù)先設(shè)定損失函數(shù),具有一定的主觀隨意性,這在一定程度上阻礙了概率粗糙集三支決策模型的實(shí)際應(yīng)用。
為解決上述問(wèn)題,本文提出了一種基于高維多目標(biāo)序貫三支決策的惡意代碼檢測(cè)模型(maliciouscode detection model based on many-objective sequential three-way decision, MO-STWD)。序貫三支決策用于構(gòu)建更適合真實(shí)數(shù)據(jù)環(huán)境的惡意代碼檢測(cè)模型。利用高維多目標(biāo)優(yōu)化算法獲得最優(yōu)閾值對(duì)及參數(shù),可以避免先驗(yàn)知識(shí)或?qū)<以O(shè)定的主觀隨意性,有效地平衡綜合分類性能、決策效率及決策風(fēng)險(xiǎn)損失。本文的主要研究貢獻(xiàn)如下:
1) 針對(duì)現(xiàn)有檢測(cè)模型面臨信息不足導(dǎo)致的盲目決策問(wèn)題,將序貫三支決策引入惡意代碼檢測(cè)領(lǐng)域,提出一種序貫三支實(shí)時(shí)惡意代碼檢測(cè)模型。
2) 為了綜合考慮惡意代碼檢測(cè)模型的綜合分類性能、決策效率以及決策風(fēng)險(xiǎn)損失,構(gòu)建了一種高維多目標(biāo)序貫三支決策模型。
隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,機(jī)器學(xué)習(xí)和人工智能近年來(lái)逐漸在人臉識(shí)別[8]、推薦系統(tǒng)[9-10]等多個(gè)領(lǐng)域掀起研究熱潮。深度學(xué)習(xí)因其具有從海量數(shù)據(jù)中學(xué)習(xí)數(shù)據(jù)特征的能力,適合處理高維、復(fù)雜的惡意代碼樣本。因此,許多研究者將深度學(xué)習(xí)方法應(yīng)用于惡意代碼檢測(cè)領(lǐng)域。Kuo等[11]將 Android 應(yīng)用包文件解壓縮為 classes.dex 文件,然后利用訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)模型判斷輸入的classes.dex 文件是否為惡意代碼。Cui等[12]利用蝙蝠算法降低不平衡數(shù)據(jù)對(duì)惡意代碼檢測(cè)的影響,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖像數(shù)據(jù)集進(jìn)行訓(xùn)練,以達(dá)到更好的分類效果。Wang等[13]基于 DenseNet網(wǎng)絡(luò)良好的圖像分類性能和惡意軟件家族在圖像上的視覺相似性,將惡意軟件轉(zhuǎn)換后的灰度圖像輸入到模型中,結(jié)合DenseNet 網(wǎng)絡(luò)和注意力機(jī)制進(jìn)行惡意軟件家族分類。Almahmoud等[14]構(gòu)建了一個(gè)用于惡意軟件檢測(cè)的遞歸神經(jīng)網(wǎng)絡(luò)分類模型,通過(guò)靜態(tài)分析提取了4種不同類型的靜態(tài)特征,利用遞歸神經(jīng)網(wǎng)絡(luò)模型對(duì)惡意軟件進(jìn)行分類。Cui等[15]構(gòu)建了多目標(biāo)受限玻爾茲曼機(jī)模型,利用評(píng)價(jià)指標(biāo)衡量數(shù)據(jù)分類效果,引入策略池提高數(shù)據(jù)融合性能,同時(shí)為了減輕數(shù)據(jù)不平衡帶來(lái)的問(wèn)題,他們還使用多目標(biāo)優(yōu)化算法來(lái)處理不平衡的惡意軟件家族。然而這些方法都是基于現(xiàn)有的信息進(jìn)行分類決策,忽略了信息不足帶來(lái)的影響。
三支決策模型在經(jīng)典二支決策的理論基礎(chǔ)上加入了更加符合人類思維的延遲決策選項(xiàng),從而使整個(gè)決策過(guò)程更加完善合理。序貫三支決策是在三支決策基礎(chǔ)上的重要延伸和擴(kuò)展,它將三支決策視為一個(gè)中間過(guò)程。鑒于序貫三支決策模型更適合實(shí)際應(yīng)用場(chǎng)景,近年來(lái),序貫三支決策模型在很多領(lǐng)域得到了應(yīng)用。Ye等[16]考慮到多級(jí)推薦信息特征和推薦結(jié)果的可解釋性,構(gòu)建了一種基于序貫三支決策的可解釋推薦模型。在垃圾郵件過(guò)濾領(lǐng)域,袁國(guó)鑫等[17]對(duì)無(wú)法判斷類別的郵件進(jìn)行延遲決策, 在獲得更多信息后再做出最終決策。武慧瓊等[18]提出了一種基于三支決策的花卉圖像分類方法, 有效地提高了花卉圖像的分類精度。Dai等[19]在圖像識(shí)別領(lǐng)域引入了序貫三支決策思想, 以解決傳統(tǒng)支持向量機(jī)圖像特征提取不完全的問(wèn)題。孫勇等[20]為了解決目標(biāo)檢測(cè)領(lǐng)域中代價(jià)不平衡和信息不完全的問(wèn)題, 設(shè)計(jì)了一種基于多粒度序貫三支決策和代價(jià)敏感學(xué)習(xí)的目標(biāo)檢測(cè)方法。
本文所提方法主要基于卷積神經(jīng)網(wǎng)絡(luò)、序貫三支決策和高維多目標(biāo)優(yōu)化算法,下面就相關(guān)概念和基本知識(shí)予以介紹。
受人類視覺神經(jīng)系統(tǒng)的啟發(fā),卷積神經(jīng)網(wǎng)絡(luò)廣泛應(yīng)用于圖像分類、語(yǔ)義檢索和目標(biāo)檢測(cè)等領(lǐng)域。它通過(guò)對(duì)輸入圖像進(jìn)行卷積、激活和池化等操作來(lái)提取重要的特征信息。因此,本文模型中使用卷積神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行特征提取和多粒度特征集的構(gòu)造。在實(shí)驗(yàn)中,卷積神經(jīng)網(wǎng)絡(luò)的損失函數(shù)選用分類交叉熵?fù)p失,輸入圖像大小為128×128×3,批處理個(gè)數(shù)設(shè)置為64,訓(xùn)練次數(shù)設(shè)置為30,學(xué)習(xí)率設(shè)置為0.001,卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of convolutional neural network
在研究粗糙集模型時(shí),Yao等[6]提出了三支決策理論。該理論以決策粗糙集理論和貝葉斯定理為核心,其中決策粗糙集理論通過(guò)狀態(tài)集和決策集展開。
給定狀態(tài)集Ω={X, ?X},決策集D={DP,DB,DN},其中DP、DB、DN分別表示將狀態(tài)集中的樣本劃分入,執(zhí)行不同的決策行為可能會(huì)產(chǎn)生不同的風(fēng)險(xiǎn)代價(jià)。風(fēng)險(xiǎn)代價(jià)函數(shù)如表1所示,表1中λPP、λBP、λNP分別表示當(dāng)前樣本x屬于狀態(tài)X時(shí),執(zhí)行DP、DB、DN操作時(shí)的損失;λPN、λBN、λNN分別表示當(dāng)前樣本x屬于狀態(tài)X時(shí),執(zhí)行DP、DB、DN操作時(shí)的損失。其中D代表正域POS(x),B代表邊界域BND(x),N代表負(fù)域NEG(x)。假設(shè)0≤λPP≤λBP≤λNP,0≤λNN≤λBN≤λPN,根據(jù)文獻(xiàn)[21]的計(jì)算方式,可以得到:
表1 三支決策風(fēng)險(xiǎn)代價(jià)函數(shù)表Table 1 The three-way decision risk cost function table
式中:0<β<γ<α<1。令P(X|[x])表示樣本x被分為狀態(tài)X的概率,可以得到如下3條規(guī)則:
1)如果P(X|[x]) ≥α,x∈POS(x);
2)如果β<P(X|[x)<α,x∈BNN(x);
3)如果P(X|[x]) ≤β,x∈NEG(x)。
序貫三支決策結(jié)合粒計(jì)算,將三支決策視為中間過(guò)程,構(gòu)建具有不同粒度特征的多粒度層次空間。假設(shè)論域U由n層粒度構(gòu)成,即{g1,g2,···,gn},在每個(gè)粒層gi(1≤i≤n-1)上,存在樣本x被分為狀態(tài)X的概率Pi(X|[x]] (1≤i≤n-1)及該粒層相應(yīng)的閾值對(duì)(αi,βi)(1≤i≤n-1),根據(jù)三支決策的劃分規(guī)則可將待分類樣本集劃分為POSi(x)、BNDi(x)和NEGi(x),(1≤i≤n-1)。對(duì)于處于BNDi(x)中的樣本,在更細(xì)粒度將被重新評(píng)估,得到更精確的分類。隨著粒度層的增加,邊界域?qū)⒃絹?lái)越小。當(dāng)在第n粒度需要終止該序貫過(guò)程時(shí),可采取二支決策的方案,通過(guò)γn將所有待分類樣本分入POSn(x)和BNDn(x)中。
高維多目標(biāo)優(yōu)化問(wèn)題由n(n>3)個(gè)目標(biāo)函數(shù)和相關(guān)約束條件組成。其中需要被優(yōu)化的目標(biāo)通常具有一定的沖突或者沒有直接的關(guān)聯(lián),需要決策者根據(jù)實(shí)際應(yīng)用需求從候選解集中選擇所需要的解。高維多目標(biāo)優(yōu)化問(wèn)題定義為
式中:fm(x)為第m個(gè)目標(biāo)函數(shù);x=(x1,x2,···,xi),xi為第i個(gè)決策變量;hi(x)≥0 ,i=1,2,···,r定義了不等式約束;gj(x)=0,j=1,2,···,t表示等式約束。
常見的多目標(biāo)優(yōu)化算法(如 NSGA-II[22])在面對(duì)目標(biāo)函數(shù)大于3個(gè)時(shí),由于維數(shù)增多選擇壓力下降,不能很好地平衡多樣性和收斂性。針對(duì)這一問(wèn)題,Deb等[23]提出了基于參考點(diǎn)和非支配排序的高維多目標(biāo)進(jìn)化算法(many-objective optimization algorithm using reference-point-based nondominated sorting approach, NSGA-III)。NSGA-III算法以基于快速非支配排序的多目標(biāo)優(yōu)化算法(multiobjective optimization algorithm using nondominated sorting-based approach, NSGA-II)的框架為基礎(chǔ),使用參考點(diǎn)策略代替了NSGA-II算法中的擁擠度排序策略,以解決在高維空間中非支配解集分布不均勻的問(wèn)題。非支配排序策略和參考點(diǎn)策略是NSGA-III算法的核心。算法通過(guò)非支配排序策略按照個(gè)體之間的支配關(guān)系對(duì)種群進(jìn)行分層,將種群中收斂性較好的解選擇出來(lái),而參考點(diǎn)策略通過(guò)計(jì)算種群中個(gè)體與參考點(diǎn)、理想點(diǎn)連接構(gòu)成的參考向量之間的距離來(lái)保持算法的多樣性。
為了提高惡意代碼檢測(cè)性能,避免因信息不充分而導(dǎo)致的誤報(bào)漏報(bào),本文提出了基于序貫三支決策的惡意代碼檢測(cè)模型。在此基礎(chǔ)上,構(gòu)建了高維多目標(biāo)序貫三支決策模型,并采用NSGAIII算法對(duì)該模型進(jìn)行求解,可以同時(shí)優(yōu)化模型的綜合檢測(cè)性能、決策風(fēng)險(xiǎn)代價(jià)和決策效率,從而獲得惡意代碼檢測(cè)過(guò)程中的最優(yōu)模型。
鑒于序貫三支決策能夠動(dòng)態(tài)地處理不確定性決策問(wèn)題,本文提出了序貫三支決策惡意代碼檢測(cè)模型。該模型的詳細(xì)框架如圖2所示,主要由2部分組成:采用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)模型來(lái)構(gòu)建多粒度特征集并估計(jì)待分類樣本條件概率;在決策時(shí)采用序貫三支決策理論對(duì)待分類樣本做出決策。
圖2 惡意代碼檢測(cè)模型框架Fig.2 Diagram of malicious code detection model
基于序貫三支決策的惡意代碼檢測(cè)模型的具體步驟如下:
使用現(xiàn)有的標(biāo)記樣本集訓(xùn)練初始CNN模型,將所有待分類樣本輸入到CNN模型與SoftMax函數(shù)中,評(píng)估每個(gè)應(yīng)用行為屬于正域的條件概率值P(X|[x])。
隨后,將P(X|[x])與當(dāng)前粒層的閾值對(duì)(αi,βi)進(jìn)行比較,根據(jù)三支決策規(guī)則,將所有樣本劃分到相應(yīng)的正域POSi(x)、邊界域BNDi(x)和負(fù)域NEGi(x)中。由于三支決策獨(dú)特的延遲決策理論,邊界域BNDi(x)中的樣本需要在最初的判定條件中不斷地加入新的信息來(lái)進(jìn)行下一步?jīng)Q策,所以CNN模型在每次分類完成之后會(huì)把已經(jīng)劃分入正域POSi(x) 和負(fù)域NEGi(x)中的樣本作為新的訓(xùn)練集進(jìn)行訓(xùn)練,得到下一粒度的決策模型。在每一粒度層,將上一粒度的邊界域樣本及當(dāng)前粒度的待分類樣本合并構(gòu)成新的待檢測(cè)樣本集,并依據(jù)三支決策規(guī)則對(duì)其進(jìn)行分類決策。循環(huán)上述步驟即形成了一個(gè)序貫三支決策惡意代碼檢測(cè)模型的過(guò)程。序貫三支決策多粒度決策過(guò)程具體如圖3所示。
圖3 序貫三支決策多粒度決策過(guò)程Fig.3 Sequential three-way multi-granularity decision
在惡意代碼檢測(cè)的實(shí)際應(yīng)用場(chǎng)景中,序貫三支決策模型為用戶提供了求解信息不充分、不確定問(wèn)題的一個(gè)新的方向。為了能在提升檢測(cè)模型的綜合分類性能的同時(shí),盡可能地提升決策效率、降低決策風(fēng)險(xiǎn)代價(jià),在上述模型的基礎(chǔ)上,構(gòu)建了高維多目標(biāo)序貫三支決策模型。
3.2.1 目標(biāo)函數(shù)
檢測(cè)模型的綜合分類性能可通過(guò)分類問(wèn)題中常見的評(píng)價(jià)指標(biāo)來(lái)衡量,本文利用這些評(píng)價(jià)指標(biāo)作為目標(biāo)函數(shù),多個(gè)評(píng)價(jià)標(biāo)準(zhǔn)可以從各個(gè)方面衡量檢測(cè)模型的綜合分類性能。因此,綜合分類性能可通過(guò)召回率(true positive rate,TPR)和假陽(yáng)性率(false positive rate, FPR) 2個(gè)目標(biāo)來(lái)衡量。
目標(biāo) 1:最大化TPR。TPR表示在實(shí)際為正的樣本中被預(yù)測(cè)為正樣本的比例,其定義為
式中:POS(α,β)(x)和NEG(α,β)(x)分別為劃分到正域和負(fù)域中的樣本,X為實(shí)際為正的樣本,為實(shí)際為正被預(yù)測(cè)為正的樣本數(shù)量,為實(shí)際為正被預(yù)測(cè)為負(fù)的樣本數(shù)量。
目標(biāo) 2:最小化FPR。FPR表示在實(shí)際為負(fù)的樣本中被預(yù)測(cè)為正樣本的比例,其定義為
式中:?X為實(shí)際為負(fù)的樣本,際為負(fù)被預(yù)測(cè)為正的樣本數(shù)量,為實(shí)為實(shí)際為負(fù)被預(yù)測(cè)為負(fù)的樣本數(shù)量。
目標(biāo) 3:最大化決策效率。在惡意代碼檢測(cè)模型的序貫過(guò)程中,模型的檢測(cè)效率是通過(guò)承諾率(commitment rate, CMR)來(lái)度量的。承諾率是指在當(dāng)前三支決策下,在當(dāng)前所有檢測(cè)的樣本中被劃分到確定性域的比例,其計(jì)算公式為
承諾率越大,意味著被劃分到正域和負(fù)域的樣本數(shù)量越多,其邊界域不確定性越低,表明決策效率越高。
目標(biāo) 4:最小化風(fēng)險(xiǎn)代價(jià)。使用三支決策進(jìn)行分類時(shí),每種決策行為都應(yīng)該承擔(dān)相應(yīng)的風(fēng)險(xiǎn)代價(jià), 其風(fēng)險(xiǎn)代價(jià)函數(shù)如表1所示。假設(shè)樣本X屬于正域的條件概率為pi,則將樣本X劃分到3個(gè)域的風(fēng)險(xiǎn)代價(jià)可定義為
假設(shè)將樣本正確分類所需承擔(dān)的風(fēng)險(xiǎn)代價(jià)為0, 即λPP=λNN=0。則所有待分類樣本做出決策時(shí)需要承擔(dān)的風(fēng)險(xiǎn)代價(jià)總和為
依據(jù)式(1)~(3),可將λPN、λNP、λBP和λBN與α、β、γ之間的關(guān)系反推出,將其代入式(8)可得:
綜上所述,本文構(gòu)建的高維多目標(biāo)模型為
3.2.2 決策變量
在序貫三支決策惡意代碼檢測(cè)模型中,卷積神經(jīng)網(wǎng)絡(luò)的超參數(shù)選擇及三支決策閾值對(duì)的變化是影響模型性能的關(guān)鍵參數(shù)。因此,本文將卷積神經(jīng)網(wǎng)絡(luò)的超參數(shù)及三支決策閾值α、β、γ作為優(yōu)化上述目標(biāo)的決策變量。決策變量的設(shè)計(jì)為
式中:p1、p2、p3分別為卷積神經(jīng)網(wǎng)絡(luò)的超參數(shù):學(xué)習(xí)率lr、dropout參數(shù)以及優(yōu)化器的類型。
3.2.3 模型求解
本文采用NSGA-III算法對(duì)所提出的高維多目標(biāo)模型進(jìn)行求解。NSGA-III求解步驟如下:
1)初始化包含N個(gè)個(gè)體的種群Pt={I1,I2,···,IN},并令算法代數(shù)t= 0;
2)根據(jù)種群中的個(gè)體生成不同的卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練構(gòu)建多粒度特征集,并進(jìn)行三支決策;
3)根據(jù)式(10),計(jì)算種群中每個(gè)個(gè)體的召回率、假陽(yáng)性率、承諾率以及決策風(fēng)險(xiǎn)代價(jià);
4)生成理想點(diǎn),并通過(guò)交叉變異操作生成N個(gè)子代個(gè)體組成的Qt={Q1,Q2,···,QN},將父代與子代組合生成大小為2N的新種群P′t=Pt∪Qt;
5)按照非支配排序策略和參考點(diǎn)策略,在新種群P′t中選取N個(gè)優(yōu)秀的個(gè)體組成新的父代種群Pt+1,并令算法代數(shù)t=t+1;
6)判斷是否滿足最大迭代次數(shù),滿足則算法結(jié)束,不滿足則返回2)。
實(shí)驗(yàn)環(huán)境為Intel core Xeon? E5-2620CPU(2.10 GHz)、Nvidia GeForce RTX 2080Ti GPU、128 GB RAM、windows 10操作系統(tǒng),軟件平臺(tái)使用pycharm和Matlab2019b。其中惡意代碼模型基本框架在pycharm環(huán)境下基于keras框架下完成,高維多目標(biāo)優(yōu)化算法及其對(duì)比算法在Matlab2019b版本下優(yōu)化算法平臺(tái)(evolutionary multi-objective optimization platform,PlatEMO)上進(jìn)行。為了證明本文所提模型的有效性,本文在2個(gè)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。第1個(gè)數(shù)據(jù)集是由Kaggle平臺(tái)提供的,簡(jiǎn)稱Kaggle數(shù)據(jù)集。該數(shù)據(jù)集中包含12 015張圖像,其中惡意軟件圖像6 006張、良性軟件圖像6 009張。第2個(gè)數(shù)據(jù)集采用公開的工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)集Leopard Mobile,共包含14 733個(gè)惡意軟件樣本和2 486個(gè)良性樣本。為了模擬實(shí)際惡意代碼檢測(cè)的動(dòng)態(tài)過(guò)程,本文將測(cè)試集隨機(jī)分成5個(gè)部分來(lái)模擬時(shí)間動(dòng)態(tài)過(guò)程,并在第5個(gè)粒度進(jìn)行二支決策,以便與其他模型進(jìn)行比較。卷積神經(jīng)網(wǎng)絡(luò)及優(yōu)化算法相關(guān)參數(shù)設(shè)置如表2所示。
表2 實(shí)驗(yàn)參數(shù)設(shè)置Table 2 Experimental parameter settings
惡意代碼檢測(cè)通常被視為二分類問(wèn)題。因此,可以采用分類問(wèn)題中常見的評(píng)價(jià)指標(biāo)對(duì)模型進(jìn)行評(píng)價(jià)。本文使用準(zhǔn)確率(accuracy)、精確率(precision)、召回率(recall, TPR)和假陽(yáng)性率(false positive rate, FPR)以對(duì)模型提供全面的評(píng)估。評(píng)價(jià)指標(biāo)計(jì)算方式為
式中:TP和FP分別表示正確和錯(cuò)誤地被分類為惡意的樣本數(shù)量,TN和FN表示被正確地和錯(cuò)誤地歸類為良性的樣本數(shù)量。
4.3.1 三支決策分類器與傳統(tǒng)二支決策分類器的性能對(duì)比
為了驗(yàn)證基于序貫三支決策的惡意代碼檢測(cè)模型的有效性,本節(jié)在保證使用同樣的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取的情況下,將序貫三支決策分類器與傳統(tǒng)的二支決策分類器進(jìn)行比較。實(shí)驗(yàn)使用支持向量機(jī)(support vector machine, SVM)、Softmax分類器和K-最近鄰(K-nearest neighbor, KNN)與序貫三支決策分類器進(jìn)行對(duì)比試驗(yàn)。在Kaggle數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果見表3。
表3 不同分類器的實(shí)驗(yàn)對(duì)比Table 3 Experimental comparison of different classifiers%
表3中展示了卷積神經(jīng)網(wǎng)絡(luò)與不同分類器結(jié)合后, 在準(zhǔn)確率、精確率、TPR和FPR上的分類結(jié)果.表3中可以看出, 本文提出的基于高維多目標(biāo)序貫三支決策的惡意代碼檢測(cè)模型(malicious code detection model based on many-objective sequential three-way decision,MO-STWD)在卷積神經(jīng)網(wǎng)絡(luò)下的準(zhǔn)確率達(dá)到98.06%, 精確率和TPR指標(biāo)均超過(guò)97%, 而 FPR為2.61%,與其他分類模型相比, 該模型在大多數(shù)指標(biāo)上都表現(xiàn)出更好的結(jié)果。對(duì)于第1個(gè)指標(biāo)Accuracy, 三支決策分類器比SoftMax分類器高出0.049 2, 與SVM和KNN相比, 該指標(biāo)分別高出0.013 7和0.035 4。在FPR中, 其他分類模型的指標(biāo)值分別比三支決策分類模型高0.106 3、0.020 9和0.051 0。此外, 對(duì)于Precision, 本文方法也表現(xiàn)出最好的結(jié)果。但在Recall中, 雖然沒有達(dá)到最大值0.994 7, 也僅低于最大值0.006 0。這些數(shù)據(jù)表明, 序貫三支決策分類模型在綜合性能上要優(yōu)于其他分類模型。在引入延遲決策后, 避免了一些不確定樣本被錯(cuò)誤分類的風(fēng)險(xiǎn), 提升了整體模型的檢測(cè)性能。因此, 基于序貫三支決策的惡意代碼檢測(cè)方法優(yōu)于傳統(tǒng)的基于二支決策的方法。
4.3.2 不同算法在求解高維多目標(biāo)序貫三支決策模型上的對(duì)比
在該實(shí)驗(yàn)中,使用不同的優(yōu)化算法,分別為NSGA-III、參考向量引導(dǎo)多目標(biāo)優(yōu)化進(jìn)化算法(reference vector guided evolutionary algorithm, RVEA)[24]、基于網(wǎng)格的多目標(biāo)優(yōu)化進(jìn)化算(grid-based evolutionary algorithm, GrEA)[25]和基于指標(biāo)的約束多目標(biāo)進(jìn)化算(indicator-based constrained multi-objective evolutionary algorithms, HyPE)[26],對(duì)本文構(gòu)建的高維多目標(biāo)序貫三支決策模型在Kaggle數(shù)據(jù)集上進(jìn)行求解,以驗(yàn)證NSGA-III算法的可取性。其中對(duì)比優(yōu)化算法對(duì)應(yīng)的參數(shù)是默認(rèn)設(shè)置的。為了直觀地比較具有相同目標(biāo)函數(shù)的每種算法的性能,在表4中給出了在不定義終點(diǎn)的情況下,各個(gè)算法第5個(gè)粒度時(shí)在TPR、FPR、CMR和Risk上的結(jié)果比較。不同優(yōu)化算法的每個(gè)目標(biāo)值是所有個(gè)體的平均值。從表4中可以看出,NSGA-III算法在FPR和Risk上取得了最優(yōu),分別為2.19%和91.802 4。在召回率(TPR)上,HyPE 算法的結(jié)果更好。GrEA算法在承諾率(CMR)上的結(jié)果較好。從求解目標(biāo)上來(lái)看,與其他算法相比,NSGAIII算法在該模型的優(yōu)化性能有更好的效果。
表4 不同優(yōu)化算法在求解4個(gè)目標(biāo)上的性能Table 4 Performance of different optimization algorithms in solving the four objectives
為了比較整體模型檢測(cè)性能,本文以5個(gè)粒度為例,并在最后一個(gè)粒度中使用二支決策進(jìn)行分類,這與之前的實(shí)驗(yàn)類似。
表5給出了使用各種算法優(yōu)化高維多目標(biāo)模型的準(zhǔn)確度、精確度、TPR和FPR的分類結(jié)果。顯然,從表5中可以看出,對(duì)于精確率而言,NSGA-III比最低值高出0.42%。對(duì)于準(zhǔn)確率而言,NSGAIII與HyPE算法均取得最優(yōu)。對(duì)于Recall而言,NSGA-III的性能不是最優(yōu)的,但也僅比最優(yōu)的HyPE低0.5%。但對(duì)于FPR而言。NSGA-III算法的結(jié)果是最優(yōu)的。從整體上來(lái)看,NSGA-III算法在該模型的求解性能較為突出,因此,本文采用NSGA-III算法對(duì)高維多目標(biāo)序貫三支決策模型進(jìn)行求解。
表5 不同優(yōu)化算法的實(shí)驗(yàn)對(duì)比結(jié)果Table 5 Experimental comparison results of different optimization algorithms%
4.3.3 不同惡意代碼檢測(cè)模型的對(duì)比
為了進(jìn)一步衡量基于高維多目標(biāo)序貫三支決策的惡意代碼檢測(cè)模型的性能,將本文模型與其他惡意軟件檢測(cè)模型在Kaggle數(shù)據(jù)集上進(jìn)行了比較實(shí)驗(yàn)。該實(shí)驗(yàn)選取的對(duì)比模型包括基于蝙蝠優(yōu)化算法的動(dòng)態(tài)采樣模型 (dynamic resampling method based on the bat algorithm, DRBA)[12],多目標(biāo)CNN[27],及多目標(biāo)受限玻爾茲曼機(jī)(restricted boltzmann machine, RBM)模型[15]。這些模型都是基于二支決策的檢測(cè)模型,通過(guò)深度學(xué)習(xí)模型從惡意代碼圖像中提取特征,直接對(duì)樣本進(jìn)行二支分類決策。
表6給出了在實(shí)驗(yàn)環(huán)境不變的情況下,本文模型和其他惡意代碼檢測(cè)模型的對(duì)比結(jié)果??梢钥闯?,本文提出的檢測(cè)方法在4個(gè)評(píng)價(jià)指標(biāo)上都表現(xiàn)出最好的結(jié)果。與其他惡意代碼檢測(cè)模型相比,本文所提模型的Accuracy值提升了0.018 3~0.031 0,假陽(yáng)性率降低了0.012 5~0.038 0。本文模型相較于其他模型在綜合性能上表現(xiàn)更好的優(yōu)勢(shì)在于該模型將延遲決策引入,將基于當(dāng)前信息無(wú)法分類的樣本先劃入邊界域中,避免因特征不足或數(shù)據(jù)不充分而導(dǎo)致樣本被錯(cuò)誤分類的風(fēng)險(xiǎn);使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,結(jié)合動(dòng)態(tài)檢測(cè)過(guò)程構(gòu)建多粒度特征空間,將邊界域中的樣本在更細(xì)粒度的特征空間中進(jìn)行分類,可提升模型的準(zhǔn)確率。
表6 不同惡意代碼檢測(cè)模型在Kaggle數(shù)據(jù)集上的實(shí)驗(yàn)對(duì)比結(jié)果Table 6 Experimental comparison results of different malicious code detection models in Kaggle dataset%
為了驗(yàn)證本文所提模型的泛化性,將Kaggle數(shù)據(jù)集替換成Leopard Mobile數(shù)據(jù)集,表7給出了在保持實(shí)驗(yàn)環(huán)境不變的情況下,本文模型與其他模型的對(duì)比結(jié)果。從表7中可以看出,本文所提的基于高維多目標(biāo)序貫三支決策的惡意代碼檢測(cè)模型在準(zhǔn)確率、精確率及假陽(yáng)性率方面優(yōu)于其他3個(gè)對(duì)比模型。這表明本文模型適用于不同的惡意代碼數(shù)據(jù)集,具有一定的泛化性。
表7 不同惡意代碼檢測(cè)模型在Leopard Mobile數(shù)據(jù)集的實(shí)驗(yàn)對(duì)比結(jié)果Table 7 Experimental comparison results of different malicious code detection models in Leopard Mobile dataset%
本文綜合考慮了惡意代碼檢測(cè)問(wèn)題的分類性能、決策效率及決策風(fēng)險(xiǎn)損失,提出了一種基于高維多目標(biāo)序貫三支決策的惡意代碼檢測(cè)模型。該模型結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)和序貫三支決策的特點(diǎn)對(duì)惡意代碼樣本進(jìn)行分類檢測(cè),此外,本文在兩個(gè)真實(shí)數(shù)據(jù)集上對(duì)模型進(jìn)行了測(cè)試,數(shù)值結(jié)果表明,本文所提的方法不僅能夠提升惡意代碼的檢測(cè)性能和決策效率,而且還能控制模型的決策風(fēng)險(xiǎn)代價(jià)。在未來(lái)的工作中,可以對(duì)高維多目標(biāo)模型進(jìn)行改進(jìn),并探尋更優(yōu)的算法進(jìn)行求解,進(jìn)一步降低模型的復(fù)雜度,提升惡意代碼檢測(cè)性能。