摘 要:近年來(lái)惡意軟件不斷地發(fā)展變化,導(dǎo)致單一檢測(cè)模型的準(zhǔn)確率較低,使用集成學(xué)習(xí)組合多種模型可以提高檢測(cè)效果,但集成模型中基學(xué)習(xí)器的準(zhǔn)確性和多樣性難以平衡。為此,提出一種基于遺傳規(guī)劃的集成模型生成方法,遺傳規(guī)劃可以將特征處理和構(gòu)建集成模型兩個(gè)階段集成到單個(gè)程序樹(shù)中,解決了傳統(tǒng)惡意軟件集成檢測(cè)模型難以平衡個(gè)體準(zhǔn)確率和多樣性的問(wèn)題。該方法以集成模型的惡意軟件檢出率作為種群進(jìn)化依據(jù),保證了基學(xué)習(xí)器的準(zhǔn)確性;在構(gòu)建集成模型時(shí)自動(dòng)選擇特征處理方法、分類(lèi)算法和優(yōu)化基學(xué)習(xí)器的超參數(shù),通過(guò)輸入屬性擾動(dòng)和算法參數(shù)擾動(dòng)增加基學(xué)習(xí)器的多樣性,根據(jù)優(yōu)勝劣汰的思想進(jìn)化生成具有高準(zhǔn)確性和多樣性的最優(yōu)集成模型。在EMBER數(shù)據(jù)集上的結(jié)果表明,最優(yōu)集成模型的檢測(cè)準(zhǔn)確率達(dá)到了98.88%;進(jìn)一步的分析表明,該方法生成的模型具有較高的多樣性和可解釋性。
關(guān)鍵詞:惡意軟件;遺傳規(guī)劃;集成學(xué)習(xí);準(zhǔn)確性;多樣性
中圖分類(lèi)號(hào):TP309.2 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2023)03-042-0898-07
doi:10.19734/j.issn.1001-3695.2022.05.0376
Malware detection based on genetic programming and ensemble learning
Qiao Mengqing1a,1b,Li Lin1a,1b,Wang Jie2,Wan Zhenhua2
(1.a.School of Computer Science amp; Technology,b.Hubei Key Laboratory of Intelligent Information Processing amp; Real-time Industrial Systems,Wuhan University of Science amp; Technology,Wuhan 430065,China;2.Shenzhen Open Source Internet Security Technology Co.,Ltd.,Shen-zhen Guangdong 518000,China)
Abstract:In recent years,malware is constantly developing and changing,resulting in a low accuracy of a single detection model.Using ensemble learning to combine multiple models can improve the detection effect,but the accuracy and diversity of base learners in the ensemble model is difficult to balance.Therefore,this paper proposed an ensemble model generation method based on genetic programming to generate the optimal ensemble model for malware detection.Genetic programming could integrate feature processing and ensemble model construction into a single GP tree,which solved the problem that traditional malware ensemble detection models was difficult to balance individual accuracy and diversity.The method used the detection rate of malware in the ensemble model as the basis of population evolution to ensure the accuracy of the base learner.When generated an ensemble model,it could automatically select the feature processing method,classification algorithm and optimize the hyperparameters of the base classifier,and ensured the diversity of the base learner through the perturbation of input attributes and algorithm parameters.According to the idea of survival of the fittest,it evolved to generate the optimal ensemble model with high accuracy and diversity.The experimental results on the EMBER dataset show that the detection accuracy of the best ensemble model reaches 98.88%.Further analyses show that the model has high diversity and interpretability.
Key words:malware;genetic programming;ensemble learning;accuracy;diversity
0 引言
惡意軟件是當(dāng)今互聯(lián)網(wǎng)中最大的安全隱患之一,AV-TEST的統(tǒng)計(jì)數(shù)據(jù)顯示,2021年發(fā)現(xiàn)的惡意軟件數(shù)量已經(jīng)達(dá)到約13.03億且仍在增加。國(guó)家互聯(lián)網(wǎng)應(yīng)急中心(CNCERT)發(fā)表的《2021年上半年我國(guó)互聯(lián)網(wǎng)網(wǎng)絡(luò)安全監(jiān)測(cè)數(shù)據(jù)分析報(bào)告》指出,2021年上半年,捕獲惡意程序樣本約2 307萬(wàn)個(gè),日均傳播次數(shù)達(dá)到582萬(wàn)次,因此對(duì)惡意軟件的檢測(cè)一直是網(wǎng)絡(luò)空間安全的重要課題之一。
傳統(tǒng)的惡意軟件檢測(cè)技術(shù)包括基于簽名的檢測(cè)方法和基于啟發(fā)式的方法,這些方法需要專(zhuān)家分析惡意軟件提取簽名或制定規(guī)則進(jìn)行檢測(cè),然而代碼混淆和加殼等技術(shù)的出現(xiàn),使惡意軟件可以逃脫傳統(tǒng)的檢測(cè)技術(shù),導(dǎo)致檢測(cè)效率較低且難以識(shí)別。此外,惡意軟件開(kāi)發(fā)人員可以通過(guò)自動(dòng)化惡意軟件開(kāi)發(fā)包創(chuàng)建數(shù)千個(gè)惡意代碼,惡意代碼數(shù)量劇增導(dǎo)致使用人工分析惡意軟件的難度越來(lái)越高。隨著人工智能的發(fā)展,惡意軟件檢測(cè)技術(shù)開(kāi)始與人工智能結(jié)合,以提高惡意軟件的檢測(cè)能力。
近年來(lái),機(jī)器學(xué)習(xí)[1~4]、深度學(xué)習(xí)[5~8]和集成學(xué)習(xí)[9~11]的方法開(kāi)始被應(yīng)用到惡意軟件檢測(cè)與分類(lèi)。相比于傳統(tǒng)的惡意軟件檢測(cè)技術(shù),許多機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方法極大地提高了惡意軟件檢測(cè)的準(zhǔn)確率。但是由于惡意軟件的不斷發(fā)展變化,造成單模型的誤報(bào)率、漏檢率過(guò)高的問(wèn)題,所以集成學(xué)習(xí)被廣泛應(yīng)用于惡意軟件檢測(cè)方面,利用多個(gè)學(xué)習(xí)器組成集成學(xué)習(xí)模型以提高惡意軟件檢測(cè)的準(zhǔn)確性。例如,Guo等人[10]將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為灰度圖像,提取圖像的GIST紋理特征以K近鄰和隨機(jī)森林方法作為基學(xué)習(xí)器,采用投票方法獲得最終的惡意軟件分類(lèi)結(jié)果,通過(guò)集成學(xué)習(xí)有效提高了惡意軟件的分類(lèi)效果。文獻(xiàn)[11]將全連接多層感知機(jī)和一維卷積神經(jīng)網(wǎng)絡(luò)作為基學(xué)習(xí)器,獲得每個(gè)基學(xué)習(xí)器的預(yù)測(cè)結(jié)果,構(gòu)成新的特征矩陣,使用該特征矩陣訓(xùn)練極限樹(shù)并作為元學(xué)習(xí)器,從而提高了惡意軟件檢測(cè)的準(zhǔn)確性。上述研究表明,多個(gè)學(xué)習(xí)器集成可以進(jìn)一步提高模型的檢測(cè)能力,但是集成檢測(cè)模型的學(xué)習(xí)效果與基學(xué)習(xí)器的多樣性和準(zhǔn)確性息息相關(guān),因此,如何在構(gòu)建集成模型時(shí)保證其多樣性和準(zhǔn)確性仍然是當(dāng)前的研究難點(diǎn)。
目前基于集成學(xué)習(xí)的惡意軟件檢測(cè)方案大致可以劃分成惡意軟件特征提取、特征處理、設(shè)計(jì)集成模型三個(gè)主要步驟。在特征提取階段,從軟件中提取一種或多種特征,如字節(jié)序列特征、文件頭部信息等。在特征處理階段,采用多種特征處理方法從原始特征中學(xué)習(xí)更具分辨力的高級(jí)特征,如基于遺傳編程的特征篩選[12]、信息增益等方法。在設(shè)計(jì)集成模型階段,集成模型一般可分為兩層:a)模型選擇,即選擇一種或多種分類(lèi)算法作為基學(xué)習(xí);b)基學(xué)習(xí)器通過(guò)投票法、平均法等集成策略獲得最終預(yù)測(cè)結(jié)果,或?qū)⒒鶎W(xué)習(xí)器的輸出通過(guò)集成策略作為新的特征,如Stacking、Blending等,輸入到元學(xué)習(xí)器中獲得最終預(yù)測(cè)結(jié)果。目前大多數(shù)研究中這三個(gè)步驟是獨(dú)立進(jìn)行的,所有基學(xué)習(xí)器的輸入特征一樣,沒(méi)有考慮不同特征組合對(duì)基學(xué)習(xí)器的影響,并存在特征冗余問(wèn)題,導(dǎo)致基學(xué)習(xí)器的準(zhǔn)確性較低,集成結(jié)果不理想。另外,在設(shè)計(jì)集成模型時(shí),大多數(shù)集成學(xué)習(xí)模型都依賴(lài)于人工經(jīng)驗(yàn)選擇基學(xué)習(xí)器,存在集成模型多樣性差的問(wèn)題。此外,新的惡意軟件在不斷地出現(xiàn)和發(fā)展,一種分類(lèi)算法很難有效地檢測(cè)出所有惡意軟件,所以利用集成學(xué)習(xí)來(lái)增強(qiáng)檢測(cè)模型的準(zhǔn)確性是目前最為有效的方法之一。如何在保證基學(xué)習(xí)器準(zhǔn)確率的基礎(chǔ)上增加基學(xué)習(xí)器的多樣性,產(chǎn)生更好的集成結(jié)果,仍是一個(gè)具有挑戰(zhàn)性的問(wèn)題。
遺傳規(guī)劃(genetic programming,GP)是由生物進(jìn)化啟發(fā)而來(lái)的一種進(jìn)化計(jì)算技術(shù),具有優(yōu)秀的搜索能力,可以從終端集、功能集中選擇葉子節(jié)點(diǎn)及內(nèi)部節(jié)點(diǎn)生成多個(gè)解決方案,通過(guò)種群進(jìn)化生成解決特定問(wèn)題的最優(yōu)解決方案[12]。在分類(lèi)問(wèn)題中,GP可以通過(guò)對(duì)訓(xùn)練集多次學(xué)習(xí),在學(xué)習(xí)過(guò)程中來(lái)進(jìn)化分類(lèi)器。常用的基于GP的分類(lèi)器通常將特征作為輸入,輸出一個(gè)浮點(diǎn)數(shù),根據(jù)預(yù)定義的閾值對(duì)分類(lèi)任務(wù)進(jìn)行決策。因此可以先通過(guò)GP生成集成學(xué)習(xí)中的基學(xué)習(xí)器,之后利用現(xiàn)有的集成方法如bagging和boosting構(gòu)建基于GP的分類(lèi)器集成,保證集成學(xué)習(xí)中的多樣性和準(zhǔn)確性,提高集成模型的性能。Karakaticˇ等人[13]開(kāi)發(fā)了一種用于分類(lèi)的方法,將AdaBoost和基于GP分類(lèi)器結(jié)合以提高模型性能,其中AdaBoost用于更新集成中的實(shí)例和每個(gè)基于GP的分類(lèi)器權(quán)重。Zhang等人[14]提出了EGPEL方法用于人臉識(shí)別,該方法自動(dòng)構(gòu)建集成學(xué)習(xí)模型,從而提高單個(gè)基學(xué)習(xí)器在人臉圖像數(shù)據(jù)集上的性能。文獻(xiàn)[15]提出了一種基于GP的特征構(gòu)造集成分類(lèi)方法,將預(yù)提取的紋理、顏色、頻率、局部和全局特征作為GP框架中分類(lèi)器的輸入,最終構(gòu)建類(lèi)間區(qū)分明顯的特征和生成診斷結(jié)果更準(zhǔn)確的集成模型。現(xiàn)有工作表明,基于GP生成的集成模型在分類(lèi)任務(wù)上取得了較好的結(jié)果,但是在惡意軟件檢測(cè)時(shí),由于不同的任務(wù)在進(jìn)行特征提取時(shí)的需求和難度不同,大多數(shù)基于GP生成集成模型的方法不能直接用于處理惡意軟件檢測(cè)任務(wù)。
在惡意軟件檢測(cè)方面,遺傳規(guī)劃大多被用在特征處理階段,以獲得最佳特征組合。如文獻(xiàn)[16]設(shè)計(jì)了一種基于遺傳規(guī)劃的特征選擇方法,與基于filter的特征選擇方法相比,該方法減小了機(jī)器學(xué)習(xí)模型的計(jì)算量,但是準(zhǔn)確率不如基于集成學(xué)習(xí)的檢測(cè)方法。因此,可以通過(guò)GP靈活的基于樹(shù)的表示,將特征處理和設(shè)計(jì)集成學(xué)習(xí)模型兩個(gè)階段集成到單個(gè)GP樹(shù)中,從而自動(dòng)從原始樣本特征演化出有效的識(shí)別惡意軟件解決方案。然而,現(xiàn)有的基于GP生成集成模型的方法無(wú)法實(shí)現(xiàn)這一點(diǎn)。
本文的總體目標(biāo)是開(kāi)發(fā)一種新的有效的基于GP的惡意軟件集成檢測(cè)模型生成方法(genetic programming-based malware integrated detection model generation method,GPMD),該方法自動(dòng)學(xué)習(xí)原始特征和進(jìn)化生成集成模型,保證基學(xué)習(xí)器的準(zhǔn)確性和多樣性。為了實(shí)現(xiàn)這一目標(biāo),設(shè)計(jì)了一個(gè)新的集成模型結(jié)構(gòu)作為遺傳規(guī)劃中個(gè)體的表示,將特征處理相關(guān)操作、分類(lèi)算法作為功能集,原始特征、分類(lèi)算法相關(guān)參數(shù)等作為終端集,GPMD自動(dòng)進(jìn)化它們的組合以形成解決方案。每個(gè)解決方案都會(huì)為輸入樣本生成類(lèi)別標(biāo)簽的組合預(yù)測(cè)。最終,在進(jìn)化過(guò)程中演化出具有高準(zhǔn)確率和多樣性的最優(yōu)集成檢測(cè)模型。此外,該模型具有較高的可解釋性,可以清晰地看到集成學(xué)習(xí)模型中每個(gè)基學(xué)習(xí)器所使用的特征組合,以及如何對(duì)原始特征進(jìn)行處理。本文主要工作如下:a)提出了一種基于遺傳規(guī)劃的集成檢測(cè)模型生成方法GPMD,該方法在生成集成模型時(shí)可以自動(dòng)選擇特征處理方法、分類(lèi)算法和優(yōu)化基學(xué)習(xí)器的超參數(shù),通過(guò)輸入屬性擾動(dòng)和算法參數(shù)擾動(dòng)保證基學(xué)習(xí)器的多樣性,將惡意軟件的檢出率作為GPMD中個(gè)體的進(jìn)化依據(jù),保證基學(xué)習(xí)器的準(zhǔn)確性;b)設(shè)計(jì)了一個(gè)新的集成模型結(jié)構(gòu),該結(jié)構(gòu)包含輸入層、特征圖像化層、圖像加權(quán)融合層、特征學(xué)習(xí)層、特征融合層、基學(xué)習(xí)器選擇層、集成層和輸出層,具有較高的可解釋性;c)提出了一組適用于惡意軟件檢測(cè)的功能集和終端集,用于生成集成檢測(cè)模型。
1 GPMD方法設(shè)計(jì)
本文提取了Ember數(shù)據(jù)集樣本中的四種不同類(lèi)型的特征,包括字節(jié)統(tǒng)計(jì)值(histogram,簡(jiǎn)稱(chēng)his)、字節(jié)熵(byteentropy,簡(jiǎn)稱(chēng)byte)、導(dǎo)入函數(shù)調(diào)用信息(imports,簡(jiǎn)稱(chēng)imp)和區(qū)段信息(section,簡(jiǎn)稱(chēng)sec),作為GPMD種群中每個(gè)個(gè)體的輸入。本文方法包括以下兩個(gè)模塊:
a)GPMD最優(yōu)集成模型生成模塊,用于生成最優(yōu)集成模型。GPMD并不能直接對(duì)惡意軟件進(jìn)行檢測(cè),而是在預(yù)定義的功能集、終端集中選擇不同的葉子節(jié)點(diǎn)和內(nèi)部節(jié)點(diǎn),采用混合法(ramped half-and-half)構(gòu)造出多個(gè)集成模型[18]組成初始化種群。之后對(duì)每個(gè)集成模型進(jìn)行適應(yīng)度評(píng)估,通過(guò)遺傳操作算子產(chǎn)生下一代種群,通過(guò)一代又一代的進(jìn)化獲得最優(yōu)集成檢測(cè)模型。
b)最優(yōu)集成模型訓(xùn)練及測(cè)試模塊分為兩個(gè)階段,在訓(xùn)練階段,將訓(xùn)練集放入最優(yōu)集成模型中,訓(xùn)練并保存模型;測(cè)試階段則利用已經(jīng)訓(xùn)練好的檢測(cè)模型進(jìn)行檢測(cè)并輸出檢測(cè)結(jié)果。
2 GPMD方法實(shí)現(xiàn)
設(shè)計(jì)生成惡意軟件檢測(cè)模型的GP算法時(shí),需要考慮初始化種群時(shí)所需的功能集、終端集,用于評(píng)價(jià)模型好壞的適應(yīng)度函數(shù),種群中的個(gè)體表示(即集成模型結(jié)構(gòu)),終止條件以及GP參數(shù)五個(gè)基本要素。在本文中終止條件設(shè)為達(dá)到遺傳代數(shù)。
2.1 GPMD方法描述
GPMD方法流程如圖1中模型生成過(guò)程所示。首先將原始特征進(jìn)行標(biāo)準(zhǔn)化處理,從終端集、功能集中選擇葉子節(jié)點(diǎn)及內(nèi)部節(jié)點(diǎn)生成多個(gè)集成模型,并組成初代種群;之后隨機(jī)抽取樣本輸入到每個(gè)集成模型,加快種群中每個(gè)模型的收斂速度,計(jì)算種群中每個(gè)集成模型的適應(yīng)度值,并將集成模型及適應(yīng)度值記錄到緩存表中,在進(jìn)行下一代適應(yīng)度評(píng)估時(shí),如果下一代的集成模型在緩存表中,將適應(yīng)值直接賦值給該模型,減少遺傳規(guī)劃在生成最優(yōu)集成模型時(shí)的計(jì)算開(kāi)銷(xiāo);隨后判斷是否達(dá)到種群迭代次數(shù),若沒(méi)有,則將種群中適應(yīng)度值高的個(gè)體通過(guò)精英保留策略復(fù)制到下一代種群,避免最優(yōu)個(gè)體丟失。通過(guò)錦標(biāo)賽選擇算子從當(dāng)前種群選取父代集成模型,在一定概率下,父代集成模型發(fā)生子樹(shù)交叉、子樹(shù)變異形成下一代新種群,重復(fù)上述操作,直到達(dá)到迭代次數(shù),輸出最優(yōu)集成模型。GPMD算法具體描述如算法1所示。
算法1 GPMD最優(yōu)模型生成算法
輸入:字節(jié)直方圖his、字節(jié)熵直方圖byte、導(dǎo)入函數(shù)imp和區(qū)段信息sec,遺傳代數(shù)G,當(dāng)前代數(shù)g,精英保留概率E,種群數(shù)量p。
輸出:最優(yōu)集成檢測(cè)模型。
樣本中每個(gè)特征值/該樣本的總字節(jié)數(shù),標(biāo)準(zhǔn)化his,采用最大最小歸一化,標(biāo)準(zhǔn)化處理byte、imp、sec;
使用genHalfAndHalfMD()從功能集和終端集中選擇節(jié)點(diǎn),生成p個(gè)集成模型作為初始種群P0;
創(chuàng)建記錄表R、精英表BP,計(jì)算P0中每個(gè)集成模型的適應(yīng)度值存入R;
g=0;
while glt;G
使用無(wú)放回抽樣的方法抽取1 000個(gè)樣本標(biāo)準(zhǔn)化后的原始特征作為當(dāng)代種群的輸入;
if not 1//判斷精英表是否為1
清空BP;
根據(jù)精英保留策略,復(fù)制種群Pg中適應(yīng)度值排名前Ep的個(gè)體及其適應(yīng)度值存入BP;
通過(guò)錦標(biāo)賽選擇算子從Pg中選擇集成模型個(gè)體作為父系F;
從F中選擇集成模型進(jìn)行子樹(shù)交叉、子樹(shù)變異操作生成子代Og+1;
for 每個(gè)集成模型o in Og+1
if o not in R:
使用適應(yīng)度函數(shù)fitness(I)計(jì)算適應(yīng)度值;
將集成模型o及其適應(yīng)度值存入R;
else
將R中的適應(yīng)度值賦值給o的適應(yīng)度值;
BI與Og+1合并獲得下一代種群Pg+1;
g=g+1;
輸出BP中適應(yīng)度最高的個(gè)體。
適應(yīng)度函數(shù)負(fù)責(zé)評(píng)價(jià)種群中每個(gè)集成模型的好壞,確定種群的進(jìn)化方向以及尋找最優(yōu)集成模型。針對(duì)惡意軟件檢測(cè)而言,惡意軟件的檢出率是最重要的一個(gè)指標(biāo),因此GPMD的適應(yīng)度函數(shù)如式(1)所示。采用K-折交叉驗(yàn)證法評(píng)估每個(gè)模型性能,每個(gè)集成模型將K-(K=5)折交叉驗(yàn)證的平均結(jié)果作為該模型的適應(yīng)度值。
fitness=mal_num/mal_all(1)
其中:mal_num表示集成模型檢測(cè)出的惡意軟件數(shù)量;mal_all表示樣本中惡意軟件總數(shù)。
2.2 個(gè)體表示及最優(yōu)集成模型
每個(gè)個(gè)體包含特征處理和構(gòu)建集成模型兩個(gè)階段,為此設(shè)計(jì)了一個(gè)新的集成檢測(cè)模型結(jié)構(gòu)作為個(gè)體表示,如圖2所示。該集成模型結(jié)構(gòu)包括原始特征輸入層、特征圖像化層、圖像加權(quán)融合層、圖像特征學(xué)習(xí)層、特征融合層、基學(xué)習(xí)器選擇層、集成層和檢測(cè)結(jié)果輸出層。除了輸入層和輸出層,每一層都有不同的函數(shù),實(shí)現(xiàn)對(duì)應(yīng)的功能。輸入層代表集成模型的輸入,輸入層的數(shù)據(jù)由終端集提供,具體內(nèi)容將在2.4節(jié)闡述。惡意軟件的特征處理階段包含四層,即將原始特征轉(zhuǎn)換為灰度圖像的特征圖像化層,圖像加權(quán)融合層將多張灰度特征圖融合為一張圖像,通過(guò)特征學(xué)習(xí)層提取多種圖像特征,最后在特征融合層將多種圖像特征連接形成高級(jí)特征向量。將經(jīng)過(guò)特征處理后的特征向量輸入基學(xué)習(xí)器,獲得基學(xué)習(xí)器的檢測(cè)結(jié)果,并在投票集成層將多個(gè)基學(xué)習(xí)器檢測(cè)結(jié)果通過(guò)投票獲得的最終結(jié)果輸出。
圖3是通過(guò)GPMD生成的最優(yōu)集成模型,圖中每一層的函數(shù)及其作用在2.3節(jié)詳細(xì)闡述。該集成模型融合了傳統(tǒng)的惡意軟件集成檢測(cè)方法后兩個(gè)階段,將特征處理、設(shè)計(jì)集成模型兩個(gè)過(guò)程相連接,使輸入每個(gè)基學(xué)習(xí)器的特征不再是相同的組合,而是可以進(jìn)一步提高基學(xué)習(xí)器準(zhǔn)確性的最佳特征組合,且不同基學(xué)習(xí)器最佳特征組合也不同。如圖3最優(yōu)集成模型所示,在最左邊的分支上每個(gè)樣本原始特征經(jīng)過(guò)encode轉(zhuǎn)換為三張16×16的灰度圖像,之后weight_img將三張灰度圖像加權(quán)融合為一張圖像。經(jīng)過(guò)卷積池化操作最終獲得64維的高級(jí)特征向量,在特征融合階段與局部特征sec拼接形成一個(gè)74維的特征向量輸入到ERF進(jìn)行訓(xùn)練。在第二棵子樹(shù)中,每個(gè)樣本經(jīng)過(guò)特征學(xué)習(xí)層HOG函數(shù)獲取圖像的梯度特征,之后與局部特征sec融合成35維高級(jí)特征向量輸入到基學(xué)習(xí)器進(jìn)行訓(xùn)練。第三棵子樹(shù)輸入基學(xué)習(xí)器的高級(jí)特征向量維數(shù)為100,該特征向量由三種類(lèi)型構(gòu)成,包括由LBP函數(shù)提取的58維紋理特征、sec樣本局部特征、卷積池化層提取的32維特征向量。從該模型可以清晰地看到每個(gè)基學(xué)習(xí)器所使用的特征組合以及這些特征組合如何產(chǎn)生,因此比其他惡意軟件檢測(cè)方法具有更高的可解釋性。
此外,GPMD通過(guò)輸入屬性擾動(dòng)和算法參數(shù)擾動(dòng)兩種方法,使進(jìn)化生成的最優(yōu)集成模型具有很高的多樣性。如在特征處理過(guò)程中,每層使用不同函數(shù)獲取不同的高級(jí)特征向量,之后將這些特征向量作為基學(xué)習(xí)器的輸入,訓(xùn)練出不同的基學(xué)習(xí)器。在GPMD中將基學(xué)習(xí)器的參數(shù)設(shè)為葉子節(jié)點(diǎn),可以在進(jìn)化學(xué)習(xí)過(guò)程中自動(dòng)調(diào)整參數(shù),實(shí)現(xiàn)算法參數(shù)擾動(dòng)。如圖3中間及右邊兩棵子樹(shù)雖然均使用LightGBM分類(lèi)算法作為基學(xué)習(xí)器,但是兩者所使用的算法參數(shù)、算法所使用的特征向量均不相同,訓(xùn)練出的基學(xué)習(xí)器也會(huì)產(chǎn)生較大差別。
2.3 功能集
功能集是 GPMD 的關(guān)鍵組成部分之一,它構(gòu)成了GPMD中每個(gè)集成模型樹(shù)的內(nèi)部節(jié)點(diǎn),根據(jù)每一層的作用,在功能集中有六種不同類(lèi)型的函數(shù),每層函數(shù)如表1所示。
特征圖像化層采用兩種編碼方式將惡意軟件原始特征his、byte、imp轉(zhuǎn)換為灰度圖像,使模型對(duì)代碼混淆具有一定的適應(yīng)能力。輸入是標(biāo)準(zhǔn)化處理后的多個(gè)類(lèi)型的惡意軟件特征,輸出是灰度圖像。主要使用兩種圖像化函數(shù):a)直接編碼encode函數(shù),將標(biāo)準(zhǔn)化處理后的原始特征與255相乘轉(zhuǎn)換為16×16的灰度圖像;b)采用雙字節(jié)編碼byte_encode函數(shù),首先將標(biāo)準(zhǔn)化后原始特征中的每一個(gè)特征值轉(zhuǎn)換為二進(jìn)制,之后將小數(shù)點(diǎn)向右移動(dòng) 16 位,每八位轉(zhuǎn)換為一個(gè)像素值。如某個(gè)標(biāo)準(zhǔn)化后的特征值為 0.023 458,經(jīng)過(guò)雙字節(jié)編碼轉(zhuǎn)換為像素值6、1,經(jīng)過(guò)雙字節(jié)特征編碼轉(zhuǎn)換為灰度圖像以減少精度損失,原始特征擴(kuò)大一倍變?yōu)?6×32的灰度圖像,某個(gè)樣本圖像化結(jié)果如圖4所示,其中圖4(a1)~(a3)采用encode函數(shù)對(duì)his、byte、imp三個(gè)特征圖像化,圖4(b1)~(b3)采用byte_encode函數(shù)對(duì)his、byte、imp三個(gè)特征圖像化。
圖像加權(quán)融合層主要功能是對(duì)輸入的三張?zhí)卣鲌D像進(jìn)行融合,減少集成模型的計(jì)算量。輸入為三張灰度圖像X、Y、Z,輸出為一張灰度圖像。設(shè)計(jì)了兩種融合的函數(shù):a)avg_img認(rèn)為每個(gè)類(lèi)型特征重要性相同,融合公式為avg_img=(X+Y+Z)/3;b)weight_img,考慮到在惡意軟件中,不同類(lèi)型特征的重要性不同,該函數(shù)對(duì)三個(gè)特征賦予不同的權(quán)重進(jìn)行融合。融合公式為weight_img=(X×299+Y×587+Z×144+500)/1 000。圖4的樣本灰度特征圖融合結(jié)果如圖5所示,其中X代表byte、Y代表his、Z代表imp。通過(guò)圖4、5對(duì)比發(fā)現(xiàn),融合后的灰度圖像所含信息更為豐富,同時(shí)減小了模型計(jì)算量。
特征學(xué)習(xí)層可細(xì)分為卷積、池化及傳統(tǒng)的圖像處理算子,用于提取圖像中不同類(lèi)型的特征。它們以圖像作為輸入,輸出是一維特征向量。卷積層函數(shù)為Cov,在該函數(shù)中圖像通過(guò)與卷積核的矩陣運(yùn)算得到比像素值更高級(jí)的特征;然后經(jīng)過(guò)多種池化層函數(shù),如最大池化MaxP、平均池化AvgP、組合池化mix_cat、mix_add提取卷積后圖像特征以降低特征信息冗余。傳統(tǒng)的圖像處理算子包括LBP、HOG、SIFT函數(shù)。LBP函數(shù)采用圓形LPB算子生成LBP圖像,將采樣點(diǎn)設(shè)為8,提取像素塊與其鄰居之間的關(guān)系生成一個(gè)58維特征;HOG函數(shù)則是提取圖像一定區(qū)域大小的直方圖特征并進(jìn)行歸一化,區(qū)域大小作為GPMD的葉子節(jié)點(diǎn),并在終端集中設(shè)置取值范圍;SIFT函數(shù)則是從圖像中檢測(cè)關(guān)鍵點(diǎn),并從中提取128維特征,該層中每個(gè)圖像特征提取函數(shù)可以提取到不同數(shù)量的特征,經(jīng)過(guò)特征學(xué)習(xí)后使得特征更加緊湊,能夠抵抗噪聲干擾。
特征融合層的函數(shù)分為FeaCon2、FeaCon3、FeaCon4、FeaCon5四種,可以分別將2~5個(gè)向量融合形成一個(gè)新的特征向量輸入到基學(xué)習(xí)器中。該層函數(shù)輸入為經(jīng)過(guò)特征學(xué)習(xí)層生成的特征、sec局部特征,輸出為一個(gè)一維特征向量。
在基學(xué)習(xí)器選擇層,為了減少搜索空間,主要采用了支持向量機(jī)(SVM)、隨機(jī)森林(random forest,RF)、極端樹(shù)(extra tree,ERF)、邏輯回歸(LR)和LightGBM五個(gè)在惡意軟件檢測(cè)方面最常用的分類(lèi)算法,并將每個(gè)分類(lèi)算法的參數(shù)設(shè)為GPMD的葉子節(jié)點(diǎn),使其在進(jìn)化過(guò)程中自動(dòng)優(yōu)化。
集成層層函數(shù)為Combine3和Combine5,在集成學(xué)習(xí)中常用的集成策略分為平均法和投票法兩種,而惡意軟件檢測(cè)屬于分類(lèi)任務(wù),且GPMD生成集成模型既可能是同質(zhì)集成也可能是異構(gòu)集成,因此采用投票法對(duì)基學(xué)習(xí)器結(jié)果進(jìn)行集成更為合適。輸入可以是單個(gè)基學(xué)習(xí)器的預(yù)測(cè)標(biāo)簽,也可以是多個(gè)基學(xué)習(xí)器集成后的預(yù)測(cè)標(biāo)簽;輸出是每個(gè)樣本的預(yù)測(cè)標(biāo)簽。
2.4 終端集
終端集表示GPMD中個(gè)體,即集成模型的輸入,如表2所示。
his、byte、imp、sec表示從數(shù)據(jù)集中提取到的原始特征,除sec外其他三個(gè)特征大小為600 000×256(訓(xùn)練集樣本數(shù)×特征向量維數(shù)),sec為600 000×10;label表示數(shù)據(jù)集樣本標(biāo)簽,0表示良性樣本、1表示惡意樣本;filter、filter_size、r、size是特征學(xué)習(xí)層函數(shù)的重要參數(shù),filter表示卷積核的權(quán)值;filter_size表示卷積核大小,常用大小為3×3、5×5及7×7;r為圓形LBP算子的半徑,其范圍為[1,3];size取值為[2,4],表示池化范圍以及計(jì)算HOG算子平均特征值時(shí)的區(qū)域大小。此外,基學(xué)習(xí)器的重要參數(shù)也被設(shè)計(jì)為GPMD的終端,包括分類(lèi)算法SVM和LR的正則化參數(shù)10(-C),C的取值是[-2,5]。LightGBM分類(lèi)算法的穩(wěn)定性和準(zhǔn)確性取決于學(xué)習(xí)率lr和迭代次數(shù)n這兩個(gè)重要參數(shù),lr常用的取值為[0.05,0.1],n的常用取值為[100,1 000]。RF和ERF中重要參數(shù)是子樹(shù)個(gè)數(shù)tree_num及最大深度max_depth,因此tree_num及max_depth也作為輸入,它們的范圍分別是[100,1 000]、[10,100],為了避免GPMD的搜索空間過(guò)大,tree_num在其范圍內(nèi)以步長(zhǎng)為50增加或減少,max_depth在其范圍內(nèi)以步長(zhǎng)為10增加或減少。
3 實(shí)驗(yàn)結(jié)果與對(duì)比分析
3.1 數(shù)據(jù)集
EMBER數(shù)據(jù)集[19]是基于PE格式的惡意軟件檢測(cè)基準(zhǔn)數(shù)據(jù)集之一,該數(shù)據(jù)集包含40萬(wàn)個(gè)良性樣本、40萬(wàn)個(gè)惡意樣本、30萬(wàn)個(gè)未知樣本。考慮到惡意軟件原始文件公開(kāi)會(huì)帶來(lái)各種安全問(wèn)題,EMBER的發(fā)布者并沒(méi)有公開(kāi)原始文件,而是提供了可以反映原始文件的原有特性的一些特征及其標(biāo)簽。數(shù)據(jù)集中每個(gè)樣本保存為一個(gè)JSON對(duì)象,每個(gè)對(duì)象的特征數(shù)據(jù)包含sha256哈希值、出現(xiàn)時(shí)間(appeared)、標(biāo)簽(label)、通用文件信息(general)、頭部信息(header)、導(dǎo)入函數(shù)(imports)、導(dǎo)出函數(shù)(exports)、區(qū)段信息(section)、字節(jié)直方圖(histogram)、字節(jié)熵直方圖(byteentropy)、字符串信息(string)這些字段。其中標(biāo)簽1表示惡意軟件、標(biāo)簽0表示良性樣本、標(biāo)簽-1表示未知樣本,研究人員可以從這些原始特征中提取特征向量及樣本標(biāo)簽。本文提取導(dǎo)入函數(shù)(imports)、字節(jié)直方圖(histogram)、字節(jié)熵直方圖(byteentropy)、區(qū)段信息(section)這四個(gè)字段信息轉(zhuǎn)換為四個(gè)特征向量作為GPMD和最優(yōu)集成模型的輸入。在本實(shí)驗(yàn)中,剔除未知樣本(標(biāo)簽為-1),剩余80萬(wàn)樣本中,60萬(wàn)個(gè)樣本作為模型生成和最優(yōu)集成模型性能測(cè)試的訓(xùn)練集,20萬(wàn)樣本作為最優(yōu)集成模型性能測(cè)試的測(cè)試集。
3.2 實(shí)驗(yàn)環(huán)境及評(píng)價(jià)指標(biāo)
本文的實(shí)驗(yàn)環(huán)境如下:硬件環(huán)境為 i9-10900X CPU@3.70 GHz,RAM 30.0 GB;軟件環(huán)境為L(zhǎng)inux系統(tǒng),Python 3.8,DEAP 1.3.1,Scikit-learn 0.24.2以及其他工具包。為了充分評(píng)估模型的性能,本文選用惡意代碼檢測(cè)領(lǐng)域的四個(gè)常用評(píng)測(cè)標(biāo)準(zhǔn),準(zhǔn)確率(accuracy)、召回率(recall)、查準(zhǔn)率(precision)、F1值以及檢測(cè)時(shí)間多方面對(duì)最優(yōu)集成模型進(jìn)行評(píng)估。
3.3 GP參數(shù)設(shè)置
由于CPMD中個(gè)體結(jié)構(gòu)每一層功能函數(shù)及相關(guān)參數(shù)選擇較為靈活,為了獲得表現(xiàn)更好的個(gè)體,種群大小設(shè)為1 000,生成盡可能多的集成模型;其余參數(shù)本文根據(jù)文獻(xiàn)[20]及經(jīng)驗(yàn)設(shè)置GPMD的參數(shù)如表3所示。在GPMD中,種群初始化后,每一代種群通過(guò)錦標(biāo)賽選擇用于在進(jìn)化學(xué)習(xí)過(guò)程中進(jìn)行變異和交叉的父代個(gè)體,該過(guò)程利用基于Python中的分布式進(jìn)化算法[21]來(lái)實(shí)現(xiàn)。
GPMD可以通過(guò)種群遺傳迭代來(lái)提高集成分類(lèi)器的性能,遺傳代數(shù)過(guò)小,種群進(jìn)化不成熟,集成分類(lèi)器性能達(dá)不到最優(yōu);遺傳代數(shù)過(guò)大,種群中已存在最優(yōu)集成模型,繼續(xù)進(jìn)化沒(méi)有意義,只會(huì)增加時(shí)間開(kāi)支和資源浪費(fèi)。本文在實(shí)驗(yàn)中記錄了GPMD中遺傳代數(shù)與每一代集成檢測(cè)模型平均準(zhǔn)確率之間的關(guān)系,如圖6所示。通過(guò)圖6發(fā)現(xiàn),當(dāng)?shù)螖?shù)達(dá)到50時(shí),平均準(zhǔn)確率趨于平穩(wěn),表明種群已經(jīng)出現(xiàn)最佳解決方案,即最優(yōu)集成模型。
3.4 實(shí)驗(yàn)結(jié)果與分析
為了充分證明最優(yōu)集成檢測(cè)模型(圖3)的實(shí)際效果,本文對(duì)比的基準(zhǔn)方法為SVM、LR、RF、ERF、AdaBoost、LightGBM、CNN和文獻(xiàn)[10,22]的集成模型。其中,基準(zhǔn)方法SVM、LR、RF、ERF、AdaBoost、LightGBM是基于機(jī)器學(xué)習(xí)包Scikit-learn實(shí)現(xiàn)的,相關(guān)參數(shù)則是此包中網(wǎng)格搜索GridSeachCV方法選擇最優(yōu)超參數(shù)組合,以獲得最好的模型表現(xiàn),相關(guān)參數(shù)的范圍與GPMD所使用的范圍一致。這些基準(zhǔn)方法輸入為標(biāo)準(zhǔn)化后的his、byte、imp、sec四個(gè)原始特征。CNN方法則是通過(guò)TensorFlow實(shí)現(xiàn)的,網(wǎng)絡(luò)結(jié)構(gòu)及參數(shù)參考文獻(xiàn)[17],其將原始特征轉(zhuǎn)換為28×28的灰度圖片,輸入到CNN模型中。文獻(xiàn)[10]的集成模型輸入為28×28的灰度圖像全局紋理特征,基礎(chǔ)分類(lèi)參數(shù)及集成策略與文獻(xiàn)[10]一致。根據(jù)文獻(xiàn)[22]中不同類(lèi)型特征采用不同類(lèi)型的基學(xué)習(xí)器和集成策略,his、byte屬于非PE特征,sec、imp屬于PE特征,選擇不同的基學(xué)習(xí)器并采用Stacking集成策略,非PE特征將SVM作為元學(xué)習(xí)器,PE特征將KNN作為元學(xué)習(xí)器,最終將兩者結(jié)果依照文獻(xiàn)[22]中的權(quán)重投票策略獲得最終預(yù)測(cè)結(jié)果。實(shí)驗(yàn)結(jié)果如表4所示。
通過(guò)實(shí)驗(yàn)結(jié)果對(duì)比發(fā)現(xiàn),本文模型無(wú)論是accuracy、recall、precision還是F1-score都顯著高于其他機(jī)器學(xué)習(xí)模型。相比于RF、ERF、AdaBoost、LightGBM這些基于樹(shù)的單一集成學(xué)習(xí)模型,本文通過(guò)GBMD生成的最優(yōu)集成檢測(cè)模型在F1值上分別高出5.16%、8.02%、12.51%、10.48%和3.84%;與其他惡意軟件集成檢測(cè)模型相比,本文提出的集成模型也具有更好的檢測(cè)效果。
除了考慮模型的分類(lèi)性能外,本文對(duì)GPMD生成最優(yōu)集成模型和其他機(jī)器學(xué)習(xí)模型使用網(wǎng)格搜索參數(shù)調(diào)優(yōu)的時(shí)間進(jìn)行對(duì)比分析,如圖7所示,每個(gè)模型在相同的軟硬件環(huán)境下進(jìn)行參數(shù)調(diào)優(yōu)。
本文對(duì)上述不同分類(lèi)算法獲得的表現(xiàn)最好的模型的運(yùn)行時(shí)間進(jìn)行分析比較(本文模型的運(yùn)行時(shí)間是指模型訓(xùn)練完后,在測(cè)試集上進(jìn)行預(yù)測(cè),單個(gè)樣本所使用的時(shí)間),具體結(jié)果如圖8所示。
由圖7、8對(duì)比發(fā)現(xiàn),GPMD生成最佳集成模型的時(shí)間與常見(jiàn)的集成學(xué)習(xí)算法RF、ERF、LightGBM獲得最優(yōu)超參數(shù)組合的時(shí)間接近,最優(yōu)模型檢測(cè)時(shí)間分別相差0.006 1 s、0.001 7 s、0.009 8 s,但是這三個(gè)模型檢測(cè)準(zhǔn)確性不如本文模型。單個(gè)機(jī)器學(xué)習(xí)模型如SVM、LR參數(shù)調(diào)優(yōu)和檢測(cè)耗時(shí)較短,但是檢測(cè)準(zhǔn)確率偏低。結(jié)合表4對(duì)比分析其他集成檢測(cè)模型發(fā)現(xiàn),本文模型在保證檢測(cè)效果最好的情況下?lián)碛休^短的檢測(cè)時(shí)間,獲得最優(yōu)集成模型所耗費(fèi)的時(shí)間也在可接受的范圍內(nèi)。
此外,為了進(jìn)一步驗(yàn)證通過(guò)GPMD生成的最優(yōu)集成模型的有效性,本文獲取最優(yōu)集成模型中三棵子樹(shù)的評(píng)價(jià)指標(biāo),并將第二棵子樹(shù)的基學(xué)習(xí)器換為RF,其他參數(shù)即函數(shù)節(jié)點(diǎn)不變,該集成模型記為模型1,獲取模型1的評(píng)價(jià)指標(biāo),實(shí)驗(yàn)結(jié)果如表5所示。
最優(yōu)集成檢測(cè)模型圖3中子樹(shù)所使用的基學(xué)習(xí)器為ERF、LightGBM,各項(xiàng)指標(biāo)均優(yōu)于表4中ERF、LightGBM的檢測(cè)效果,表明經(jīng)過(guò)GPMD進(jìn)化生成的特征組合提高了分類(lèi)算法的檢測(cè)準(zhǔn)確率。表5中三棵子樹(shù)通過(guò)投票函數(shù)生成本文模型,即圖3,該模型各項(xiàng)評(píng)價(jià)指標(biāo)如表4所示,均高于模型1,也進(jìn)一步表明GPMD在進(jìn)化過(guò)程中可以找到較好的集成方案。綜上所述,GPMD在進(jìn)化過(guò)程中會(huì)為每個(gè)基學(xué)習(xí)器選擇不同的特征組合,并找到較好的基學(xué)習(xí)器集成方案,使最終生成的最優(yōu)集成模型不僅具有高準(zhǔn)確率,而且具備較高的多樣性。
4 結(jié)束語(yǔ)
本文將遺傳規(guī)劃算法應(yīng)用于惡意軟件檢測(cè)領(lǐng)域,提出了一種基于遺傳規(guī)劃的惡意軟件集成檢測(cè)模型生成方法,并設(shè)計(jì)了一種集成模型結(jié)構(gòu)用于表示GPMD中的個(gè)體。GPMD方法將惡意軟件檢測(cè)的特征處理與構(gòu)建集成模型兩個(gè)過(guò)程融合在一個(gè)GPMD個(gè)體中,可以從原始特征中獲得最佳特征組合,自動(dòng)優(yōu)化分類(lèi)器中的參數(shù),使集成模型中的基學(xué)習(xí)器在進(jìn)化過(guò)程中可以增加其多樣性并保證準(zhǔn)確性。之后將GPMD生成的最優(yōu)集成模型與多個(gè)模型性能進(jìn)行對(duì)比實(shí)驗(yàn)分析,結(jié)果表明,本文經(jīng)過(guò)GPMD生成的最優(yōu)集成模型比其他檢測(cè)模型有更好的性能;此外,針對(duì)惡意軟件檢測(cè),GPMD方法可以有效地生成高準(zhǔn)確性、多樣性和高可解釋性的集成模型。
由于目前惡意軟件檢測(cè)相關(guān)的數(shù)據(jù)集有限,未能充分體現(xiàn)出本文方法所生成的最優(yōu)模型在其他數(shù)據(jù)集上的可擴(kuò)展性,下一步將考慮收集更多的惡意軟件數(shù)據(jù)集,通過(guò)多數(shù)據(jù)集融合,采用多種集成策略探究通用性更強(qiáng)的集成模型。此外,未來(lái)將考慮將該方法用于惡意軟件分類(lèi)領(lǐng)域,為評(píng)估惡意軟件的危險(xiǎn)性提供參考。
參考文獻(xiàn):
[1]Darus F M,Salleh N A A,Ariffin A F M.Android malware detection using machine learning on image patterns[C]//Proc of Cyber Resilience Conference.Piscataway,NJ:IEEE Press,2018:1-2.
[2]Fu Jianwen,Xue Jingfeng,Wang Yong,et al.Malware visualization for fine-grained classification[J].IEEE Access,2018,6:14510-14523.
[3]景鴻理,黃娜,李建國(guó).基于機(jī)器學(xué)習(xí)的惡意軟件檢測(cè)研究進(jìn)展及挑戰(zhàn)[J].信息技術(shù)與網(wǎng)絡(luò)安全,2020,39(11):38-44,68.(Jing Hongli,Huang Na,Li Jianguo.Research progress and challenges of malware detection method based on machine learning[J].Information Technology and Network Security,2020,39(11):38-44,68.)
[4]許逸超,袁倩婷,徐建.基于靜態(tài)行為特征的細(xì)粒度Android惡意軟件分類(lèi)[J].計(jì)算機(jī)應(yīng)用研究,2020,37(10):3101-3106.(Xu Yichao,Yuan Qianting,Xu Jian.Fine-grained Android malware classification with behavior features[J].Application Research of Computers,2020,37(10):3101-3106.)
[5]Vasan D,Alazab M,Wassan S,et al.IMCFN:image-based malware classification using fine-tuned convolutional neural network architecture[J].Computer Networks,2020,171(4):107138.
[6]褚堃,萬(wàn)良,馬丹,等.深度可分離卷積在 Android 惡意軟件分類(lèi)的應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用研究,2022,39(5):1534-1540.(Chu Kun,Wan Liang,Ma Dan,et al.Research on application of depthwise separable convolution in Android malware classification[J].Application Research of Computers,2022,39(5):1534-1540.)
[7]Aslan ,Yilmaz A A.A new malware classification framework based on deep learning algorithms[J].IEEE Access,2021,9:87936-87951.
[8]金逸靈,陳興蜀,王玉龍.基于LSTM-CNN的容器內(nèi)惡意軟件靜態(tài)檢測(cè)[J].計(jì)算機(jī)應(yīng)用研究,2020,37(12):3704-3707,3711.(Jin Yiling,Chen Xingshu,Wang Yulong.Static detection of malware in container based on LSTM-CNN[J].Application Research of Computers,2020,37(12):3704-3707,3711.)
[9]Narayanan B N,Davuluru V S P.Ensemble malware classification system using deep neural networks[J].Electronics,2020,9(5):721.
[10]Guo Hui,Huang Shuguang,Zhang Min,et al.Classification of malware variant based on ensemble learning[C]//Proc of the 3rd International Conference on Machine Learning for Cyber Security.Cham:Springer,2020:125-139.
[11]Damaevicˇius R,Vencˇkauskas A,Toldinas J,et al.Ensemble-based classification using neural networks and machine learning models for windows PE malware detection[J].Electronics,2021,10(4):485.
[12]Ahvanooey M T,Li Qianmu,Wu Ming,et al.A survey of genetic programming and its applications[J].KSII Trans on Internet and Information Systems,2019,13(4):1765-1794.
[13]Karakaticˇ S,Podgorelec V.Building boosted classification tree ensemble with genetic programming[C]//Proc of Genetic and Evolutionary Computation Conference Companion.New York:ACM Press,2018:165-166.
[14]Zhang Tian,Ma Lianbo,Liu Qunfeng,et al.Genetic programming for ensemble learning in face recognition[C]//Proc of International Conference on Sensing and Imaging.Cham:Springer,2022:209-218.
[15]Ain Q U,Al-Sahaf H,Xue Bing,et al.A genetic programming approach to feature construction for ensemble learning in skin cancer detection[C]//Proc of Genetic and Evolutionary Computation Confe-rence.New York:ACM Press,2020:1186-1194.
[16]Harahsheh H,Shraideh M,Sharaeh S.Performance of malware detection classifier using genetic programming in feature selection[J].Informatica,2021,45(4):517-529.
[17]Li Lin,Ding Ying,Li Bo,et al.Malware classification based on double byte feature encoding[J].Alexandria Engineering Journal,2022,61(1):91-99.
[18]牛小飛.基于遺傳規(guī)劃和集成學(xué)習(xí)的Web Spam檢測(cè)關(guān)鍵技術(shù)研究[D].濟(jì)南:山東大學(xué),2012.(Niu Xiaofei.Research on key technologies in Web Spam detection based on genetic programming and ensemble learning[D].Jinan:Shandong University,2012.)
[19]Oyama Y,Miyashita T,Kokubo H.Identifying useful features for malware detection in the ember dataset[C]//Proc of the 7th International Symposium on Computing and Networking.Piscataway,NJ:IEEE Press,2019:360-366.
[20]Le T A,Chu T H,Nguyen Q U,et al.Malware detection using genetic programming[C]//Proc of the 7th IEEE Symposium on Computational Intelligence for Security and Defense Applications.Piscataway,NJ:IEEE Press,2014:1-6.
[21]De Rainville F M,F(xiàn)ortin F A,Gardner M A,et al.DEAP:a Python framework for evolutionary algorithms[C]//Proc of the 14th Annual Conference Companion on Genetic and Evolutionary Computation.New York:ACM Press,2012:85-92.
[22]楊望,高明哲,蔣婷.一種基于多特征集成學(xué)習(xí)的惡意代碼靜態(tài)檢測(cè)框架[J].計(jì)算機(jī)研究與發(fā)展,2021,58(5):1021-1034.(Yang Wang,Gao Mingzhe,Jiang Ting.A malicious code static detection framework based on multi-feature ensemble learning[J].Computer Research and Development,2021,58(5):1021-1034.)
收稿日期:2022-05-24;修回日期:2022-07-20
基金項(xiàng)目:武漢市重點(diǎn)研發(fā)計(jì)劃資助項(xiàng)目(2022012202015070);武漢科技大學(xué)研究生教改研究項(xiàng)目(Yjg202111);湖北省教育廳資助項(xiàng)目(2020354);湖北省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(S202110488047)
作者簡(jiǎn)介:?jiǎn)虊?mèng)晴(1998-),女,河南南陽(yáng)人,碩士研究生,主要研究方向?yàn)闄C(jī)器學(xué)習(xí)、惡意軟件檢測(cè)、漏洞檢測(cè);李琳(1981-),女(通信作者),湖北武漢人,副教授,碩導(dǎo),博士,主要研究方向?yàn)槿斯ぶ悄堋⑿畔踩╨ilin@wust.edu.cn);王頡(1985-),男,四川成都人,博士,主要研究方向?yàn)檐浖踩⑿畔踩蝗f(wàn)振華(1982-),男,湖北武漢人,主要研究方向?yàn)檐浖踩④?chē)聯(lián)網(wǎng)安全、信息安全.