国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GHM可視化和深度學(xué)習(xí)的惡意代碼檢測(cè)與分類

2024-03-12 09:21:36張淑慧胡長(zhǎng)棟王連海徐淑獎(jiǎng)
信息安全研究 2024年3期
關(guān)鍵詞:字節(jié)內(nèi)存灰度

張淑慧 胡長(zhǎng)棟 王連海 徐淑獎(jiǎng) 邵 蔚 蘭 田

1(齊魯工業(yè)大學(xué)(山東省科學(xué)院)山東省計(jì)算中心(國(guó)家超級(jí)計(jì)算濟(jì)南中心) 濟(jì)南 250014)

2(算力互聯(lián)網(wǎng)與信息安全教育部重點(diǎn)實(shí)驗(yàn)室(齊魯工業(yè)大學(xué)(山東省科學(xué)院)) 濟(jì)南 250014)

3(山東省計(jì)算機(jī)網(wǎng)絡(luò)重點(diǎn)實(shí)驗(yàn)室(山東省計(jì)算中心(國(guó)家超級(jí)計(jì)算濟(jì)南中心)) 濟(jì)南 250014)

4(山東省基礎(chǔ)科學(xué)研究中心(計(jì)算機(jī)科學(xué))齊魯工業(yè)大學(xué)(山東省科學(xué)院)) 濟(jì)南 250014)

隨著互聯(lián)網(wǎng)的廣泛應(yīng)用,惡意代碼的數(shù)量和種類增長(zhǎng)迅速[1],AV-TEST研究所每天捕獲到超過(guò)45萬(wàn)個(gè)新的惡意程序樣本和潛在的未知應(yīng)用程序[2].惡意代碼指的是在受害者的計(jì)算機(jī)或網(wǎng)絡(luò)上執(zhí)行未經(jīng)授權(quán)和有害操作的軟件,包括病毒、蠕蟲、木馬和僵尸程序,導(dǎo)致數(shù)據(jù)泄露、系統(tǒng)破壞和網(wǎng)絡(luò)癱瘓[3].研究者們對(duì)惡意代碼檢測(cè)技術(shù)展開了研究,包括基于簽名的檢測(cè)、基于行為的檢測(cè)和基于機(jī)器學(xué)習(xí)的檢測(cè)方法.

近年來(lái),基于圖像處理的檢測(cè)方法[4]用于可視化和惡意軟件分類已經(jīng)變得越來(lái)越受歡迎.由于缺乏有效的預(yù)處理,其檢測(cè)精度和穩(wěn)定性并不高.本文構(gòu)建了一種VLMal神經(jīng)網(wǎng)絡(luò)模型,以訓(xùn)練和分類預(yù)處理的數(shù)據(jù).大多數(shù)PE文件都是加密和混淆的.然而,運(yùn)行在內(nèi)存中的PE文件是已解密和解包的原始數(shù)據(jù).為了評(píng)估模型的有效性,本文收集了PE文件樣本并在沙盒環(huán)境中執(zhí)行PE文件.然后,使用內(nèi)存取證技術(shù)從內(nèi)存中提取出PE文件,構(gòu)建小型內(nèi)存PE文件數(shù)據(jù)集.本文的主要工作和貢獻(xiàn)如下:

1) 提出了基于GHM(Gray,HOG,Markov)的PE二進(jìn)制文件可視化方法,利用圖像轉(zhuǎn)換、增強(qiáng)和馬爾科夫矩陣等多種技術(shù)生成3個(gè)灰度圖像,并將這些圖像構(gòu)建3通道的彩色圖像,保留了PE文件更加詳細(xì)的數(shù)據(jù)特征.

2) 構(gòu)建了基于CNN(卷積神經(jīng)網(wǎng)絡(luò))和LSTM(長(zhǎng)短期記憶模型)的VLMal分類模型,實(shí)現(xiàn)對(duì)可視化的圖像進(jìn)行惡意軟件檢測(cè)分類.

3) 構(gòu)建了1個(gè)小型樣本的內(nèi)存PE文件數(shù)據(jù)集,以評(píng)估本文提出方法的檢測(cè)效果,彌補(bǔ)了目前沒有公開內(nèi)存PE文件數(shù)據(jù)集的不足.

1 相關(guān)工作

在計(jì)算機(jī)安全領(lǐng)域,惡意軟件的檢測(cè)和分類變得越來(lái)越重要.為了解決這一問(wèn)題,研究者們提出靜態(tài)分析、動(dòng)態(tài)分析和內(nèi)存取證分析等多種分析技術(shù).

1.1 靜態(tài)分析

Schultz等人[5]提出一種用于識(shí)別惡意代碼的初始數(shù)據(jù)挖掘方法,利用惡意軟件二進(jìn)制文件的字符串序列、字節(jié)序列和PE文件頭部3個(gè)不同的靜態(tài)特征進(jìn)行識(shí)別.Iwamoto等人[6]使用n-gram技術(shù)從Windows二進(jìn)制文件中提取字節(jié),并使用1對(duì)多的分類方法訓(xùn)練了多個(gè)分類器.Zhang等人[7]提出一種基于操作碼序列的勒索軟件分類方法,該方法將勒索軟件樣本的操作碼序列轉(zhuǎn)換為n-gram序列,然后使用n-gram特征的詞頻值構(gòu)建特征向量,采用5種機(jī)器學(xué)習(xí)方法對(duì)勒索軟件進(jìn)行分類.Soni等人[8]提出一種利用API調(diào)用和操作碼序列信息進(jìn)行惡意軟件分類的方法,該方法首先提取這些特征,然后使用樸素貝葉斯(NB)、邏輯回歸、隨機(jī)森林(RF)和支持向量機(jī)(SVM)4種機(jī)器學(xué)習(xí)算法對(duì)惡意軟件進(jìn)行分類.

1.2 動(dòng)態(tài)分析

靜態(tài)分析側(cè)重于在不執(zhí)行程序代碼的情況下分析程序代碼,而動(dòng)態(tài)分析是運(yùn)行軟件并在其執(zhí)行過(guò)程中監(jiān)視其行為.Anderson等人[9]提出一種基于動(dòng)態(tài)指令跟蹤圖的惡意軟件檢測(cè)算法.該方法從收集的數(shù)據(jù)中構(gòu)建了馬爾科夫圖,使用SVM(支持向量機(jī))進(jìn)行分類.Nair等人[10]提出一種基于API調(diào)用的動(dòng)態(tài)分析方法檢測(cè)惡意軟件,對(duì)所有惡意軟件家族生成簽名,并發(fā)現(xiàn)同一家族的大多數(shù)變異病毒共享相同的基本特征.Bayer等人[11]提出一種可擴(kuò)展的聚類方法,用于基于相似行為識(shí)別和分組的惡意軟件聚類.

1.3 內(nèi)存取證分析

惡意軟件內(nèi)存取證是一種分析計(jì)算機(jī)內(nèi)存中的惡意軟件行為的技術(shù).Bozkir等人[12]利用內(nèi)存數(shù)據(jù)通過(guò)計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)技術(shù)對(duì)惡意軟件進(jìn)行分類.Otsuki等人[13]提出從64位Windows系統(tǒng)內(nèi)存鏡像中提取堆棧痕跡的方法.Uroz等人[14]提出從注冊(cè)表ASEP(auto-start extensibility point)中尋找未知和罕見程序的方法.針對(duì)通過(guò)內(nèi)存轉(zhuǎn)儲(chǔ)獲取的Windows進(jìn)程和系統(tǒng)庫(kù)文件,Martín-Pérez等人[15]提出以文件對(duì)象為導(dǎo)向和線性搜索的方法,清除重定位,實(shí)現(xiàn)轉(zhuǎn)儲(chǔ)文件的相似性計(jì)算.

相較于之前的惡意軟件分類研究,本文構(gòu)建了1個(gè)3通道彩色圖像.在構(gòu)建彩色圖像時(shí),本文根據(jù)數(shù)據(jù)集中的稀疏性對(duì)每個(gè)通道的圖像生成算法進(jìn)行了改進(jìn).

2 方案設(shè)計(jì)

本節(jié)將詳細(xì)解釋本文方案整體工作流程(如圖1所示).

2.1 數(shù)據(jù)集x

本文使用Kaggle公共惡意軟件檢測(cè)數(shù)據(jù)集[16]作為第1個(gè)數(shù)據(jù)集.此外,收集了最新的惡意的和常用的良性PE文件,在沙箱中運(yùn)行,并在內(nèi)存中提取PE文件,確保了PE文件是真實(shí)的、未加密的數(shù)據(jù),并將收集到的樣本構(gòu)建了小樣本數(shù)據(jù)集作為本文的第2個(gè)數(shù)據(jù)集.

2.1.1 數(shù)據(jù)集A

Kaggle發(fā)布的微軟惡意軟件分類挑戰(zhàn)數(shù)據(jù)集包含10868條帶標(biāo)簽的訓(xùn)練數(shù)據(jù)和未標(biāo)記的測(cè)試數(shù)據(jù),分為9類.本文提出的檢測(cè)方法是一種監(jiān)督學(xué)習(xí)方法,因此只使用微軟惡意軟件分類挑戰(zhàn)數(shù)據(jù)集的訓(xùn)練集作為本文的數(shù)據(jù)集.以8∶2的比例將其劃分為新的訓(xùn)練集和測(cè)試集.

2.1.2 數(shù)據(jù)集B

本文從VirusShare收集樣本作為惡意樣本,并將Windows系統(tǒng)中常用軟件作為良性樣本.通過(guò)使用VirusTotal平臺(tái)檢測(cè)收集的樣本,發(fā)現(xiàn)每個(gè)反病毒平臺(tái)給出的標(biāo)簽不一致,因此本文將收集到的樣本分為良性和惡意2個(gè)類別.之前的研究已經(jīng)通過(guò)在沙箱中運(yùn)行并以其他格式發(fā)布了預(yù)處理樣本.文獻(xiàn)[17]給出了1個(gè)API數(shù)據(jù)集,在杜鵑沙盒中執(zhí)行PE文件,生成報(bào)告,提取API調(diào)用.然而,沒有在相關(guān)文獻(xiàn)中找到提供原始內(nèi)存PE文件的數(shù)據(jù)集,只有將內(nèi)存PE文件轉(zhuǎn)換為API或圖像格式的數(shù)據(jù)集.因此,本文在沙盒中運(yùn)行收集到的靜態(tài)樣本,并每隔10min轉(zhuǎn)儲(chǔ)1次內(nèi)存鏡像,重復(fù)該過(guò)程10次,盡可能多地捕獲惡意行為.本文使用volatility[18]和團(tuán)隊(duì)開發(fā)的內(nèi)存取證工具[19]分析這些轉(zhuǎn)儲(chǔ)的內(nèi)存鏡像,從而提取exe和dll文件.

2.2 GHM可視化

2.2.1 灰度圖轉(zhuǎn)化

為了可視化PE文件,需要將它們轉(zhuǎn)換為向量矩陣從而可視化為灰度圖.然而,由于每個(gè)PE文件的數(shù)據(jù)大小差異較大,將它們轉(zhuǎn)換成具有相同寬度的2維矩陣會(huì)導(dǎo)致較小的文件在放大時(shí)其結(jié)構(gòu)遭受損失.因此,在將其轉(zhuǎn)換為2維向量矩陣時(shí)根據(jù)文件的大小確定矩陣向量的寬度,如表1所示:

表1 圖像寬度設(shè)定表

數(shù)據(jù)集中每個(gè)樣本的大小不均勻,由于訓(xùn)練神經(jīng)網(wǎng)絡(luò)需要?jiǎng)?chuàng)建大小一致的灰度圖像,本文將不同大小的灰度圖像調(diào)整為224×224px.

2.2.2 HOG圖像

為了增強(qiáng)灰度圖像的對(duì)比度,采用方向梯度直方圖(HOG)特征提取方法[20],通過(guò)提取有用信息并丟棄無(wú)關(guān)信息構(gòu)造第2通道的灰度圖像.

HOG中計(jì)算梯度g和方向θ的公式如式(1)所示:

(1)

其中

gx=(hx+1,y-hx-1,y+hx+1,y-hx-1,y)/2,

(2)

gy=(hx,y+1-hx,y-1+hx,y+1-hx,y-1)/2.

(3)

本文注意到內(nèi)存PE文件中數(shù)據(jù)的稀疏性,并調(diào)整梯度g以更清晰地反映數(shù)據(jù)梯度.具體來(lái)說(shuō),在計(jì)算梯度g和方向θ時(shí),本文使用式(2)(3)計(jì)算水平和垂直梯度,然后使用式(1)計(jì)算梯度g和方向θ.將梯度g按比例分成9個(gè)角度塊,構(gòu)建初步的梯度方向直方圖.然后,利用L2范數(shù)對(duì)梯度方向直方圖進(jìn)行歸一化處理,以減少訓(xùn)練時(shí)的計(jì)算量,防止因計(jì)算量大而導(dǎo)致數(shù)據(jù)溢出.

2.2.3 馬爾科夫圖像

本文選擇的PE文件為二進(jìn)制數(shù)據(jù),即字節(jié)流數(shù)據(jù).取值范圍為0x00~0xff.為了構(gòu)建字節(jié)頻率表,本文創(chuàng)建1個(gè)256×256矩陣,并將矩陣中的每個(gè)坐標(biāo)點(diǎn)初始化為0.將PE文件作為序列讀取之后,將滑動(dòng)窗口大小設(shè)置為2,即每2B表示矩陣中的1個(gè)坐標(biāo)點(diǎn).例如,如果窗口中的2B是0x00和0x01,表示第1行和第2列中的1個(gè)坐標(biāo)點(diǎn),而這個(gè)坐標(biāo)點(diǎn)的值加1.滑動(dòng)窗口繼續(xù)移動(dòng),直到遍歷完整個(gè)數(shù)據(jù)序列,從而構(gòu)建PE文件的字節(jié)頻率表.通過(guò)字節(jié)頻率表可以計(jì)算出字節(jié)概率表.具體來(lái)說(shuō),每個(gè)矩陣坐標(biāo)點(diǎn)的頻率除以每行樣本總數(shù)就是該坐標(biāo)點(diǎn)的概率.

(4)

BFTij表示第i行第j列的頻率分布,Si表示第i行總的頻率.通過(guò)遍歷字節(jié)頻率表構(gòu)建了字節(jié)概率表.

分析過(guò)程中發(fā)現(xiàn),字節(jié)頻率分布不均勻,難以充分體現(xiàn)低概率字節(jié)的特征.因此,使用對(duì)數(shù)變換公式構(gòu)造馬爾科夫圖像:

(5)

其中GIij表示將概率表中的元素轉(zhuǎn)換為灰度值后得到的像素,p(i,j)表示概率表中的元素值,c表示1個(gè)取值為0.1的參數(shù),L表示灰度級(jí)的個(gè)數(shù).通過(guò)遍歷字節(jié)頻率表和字節(jié)概率表,構(gòu)建馬爾科夫圖像,得到馬爾科夫圖像的特征信息.

2.2.4 GHM彩色圖像構(gòu)建

最后,將3種類型的灰度圖像(Gray,HOG,Markov)填充到彩色圖像的3個(gè)通道中,以構(gòu)建樣本數(shù)據(jù)的最終可視化彩色圖像.此過(guò)程的目的是將不同的圖像特征合并到RGB圖像中,使得本文的神經(jīng)網(wǎng)絡(luò)模型能夠更好地理解圖像的特征和內(nèi)容,如圖2所示.通過(guò)使用這些樣本數(shù)據(jù),構(gòu)建和訓(xùn)練能夠準(zhǔn)確分類和識(shí)別惡意軟件的神經(jīng)網(wǎng)絡(luò)模型.

圖2 馬爾科夫圖像構(gòu)建

2.3 VLMal模型

本文對(duì)幾個(gè)成熟的基于CNN的網(wǎng)絡(luò)模型(包括GoogLeNet,ResNet,ResNet)進(jìn)行了實(shí)驗(yàn),發(fā)現(xiàn)VGG16在選擇的數(shù)據(jù)集上評(píng)估指標(biāo)最好.考慮到二進(jìn)制PE文件表現(xiàn)出文本序列的特征,本文在VGG16特征提取后結(jié)合LSTM模型進(jìn)一步突出序列特征.

通過(guò)將原始VGG16的1000個(gè)類別修改為數(shù)據(jù)集的9個(gè)類別來(lái)改進(jìn)VGG16的分類器.由于本文使用遷移學(xué)習(xí)加載預(yù)訓(xùn)練模型,在導(dǎo)入預(yù)訓(xùn)練參數(shù)時(shí),將參數(shù)strict設(shè)置為false.在VGG16特征提取后,使用Flatten將數(shù)據(jù)轉(zhuǎn)換成1維序列,然后使用LSTM進(jìn)一步訓(xùn)練數(shù)據(jù),以獲得更好的分類性能.

在數(shù)據(jù)分析過(guò)程中,本文發(fā)現(xiàn)數(shù)據(jù)集的不平衡性.文獻(xiàn)[20]由于不平衡而選擇刪除樣本數(shù)量少的類別.針對(duì)此問(wèn)題,本文使用了Focal Loss函數(shù)FL(·)平衡權(quán)重并將模型的注意力更多地集中在難以分類的類別上.

CE(pt)=-lg(pt),

(6)

FL(pt)=-(1-pt)γlg(pt).

(7)

FL(x)通過(guò)增加γ的值,提高了少量樣本類別的分類性能.隨著γ的增加,FL(x)對(duì)錯(cuò)誤分類樣本的懲罰更大,從而強(qiáng)調(diào)了少數(shù)樣本的重要性.當(dāng)γ=0時(shí),FL(x)降為標(biāo)準(zhǔn)的交叉熵?fù)p失函數(shù)CE(x).在模型訓(xùn)練過(guò)程中,樣本的預(yù)測(cè)概率記為pt.此外,在權(quán)重分配過(guò)程中,為樣本較少的類別分配更高的權(quán)重.

2.4 評(píng)估指標(biāo)

為了檢測(cè)惡意代碼類別,本文使用分類的4個(gè)評(píng)價(jià)指標(biāo):Accuracy,Precision,F1_score,Recall.F1_score表示可以同時(shí)反映準(zhǔn)確率和召回率的指標(biāo).

(8)

(9)

(10)

(11)

TP表示被模型正確預(yù)測(cè)為惡意樣本數(shù)量;而FP表示被錯(cuò)誤預(yù)測(cè)為惡意的樣本數(shù)量;TN表示被正確預(yù)測(cè)為良性樣本數(shù)量;FN表示被錯(cuò)誤預(yù)測(cè)為良性的樣本數(shù)量.

3 惡意軟件分類實(shí)驗(yàn)評(píng)估

3.1 環(huán)境設(shè)置

本文實(shí)驗(yàn)中使用的CPU為Intel?CoreTMi7-11800H處理器,配備2個(gè)8GB內(nèi)存模塊和1個(gè)NVIDIA GeForce RTX 3050顯卡.軟件環(huán)境包括64位的Windows 10操作系統(tǒng)和VMWare,其中包含Windows 7和Windows XP虛擬機(jī),用于執(zhí)行惡意樣本.深度學(xué)習(xí)框架使用Python 3.7,Anaconda conda 4.11.0,PyTorch torch1.10.1構(gòu)建和執(zhí)行的.模型學(xué)習(xí)率設(shè)置為0.001,批處理大小為8,epoch為25,使用SGD優(yōu)化器.

3.2 數(shù)據(jù)集A

在構(gòu)建的模型中對(duì)3種特征提取方法(Gray,HOG,Markov)和GHM的3通道彩色圖像進(jìn)行實(shí)驗(yàn).對(duì)不同通道的圖像進(jìn)行了10折交叉驗(yàn)證實(shí)驗(yàn).圖3示出采用不同特征提取方法的Accuracy,Precision,F1_score,Recall指標(biāo):

圖3 不同通道圖像實(shí)驗(yàn)結(jié)果對(duì)比

3.3 數(shù)據(jù)集B

為了探索本文方法在內(nèi)存數(shù)據(jù)上的分類性能,在數(shù)據(jù)集B上訓(xùn)練和測(cè)試本文的模型.表2給出了GHM的3通道彩色圖像和單通道灰度圖像的實(shí)驗(yàn)結(jié)果對(duì)比:

表2 數(shù)據(jù)集B實(shí)驗(yàn)結(jié)果對(duì)比

4 結(jié) 語(yǔ)

本文提出了一種基于GHM-VLMal的惡意代碼檢測(cè)與分類方法,并對(duì)該方法進(jìn)行了全面的實(shí)驗(yàn),取得了良好的效果.

該方法在靜態(tài)數(shù)據(jù)集上表現(xiàn)良好,但在內(nèi)存數(shù)據(jù)集上檢測(cè)性能下降.通過(guò)觀察內(nèi)存數(shù)據(jù),發(fā)現(xiàn)其數(shù)據(jù)是高度稀疏的,這是導(dǎo)致檢測(cè)性能下降的原因.

未來(lái),計(jì)劃對(duì)稀疏內(nèi)存數(shù)據(jù)進(jìn)行進(jìn)一步的研究,提高檢測(cè)性能.還將對(duì)跨平臺(tái)的惡意軟件檢測(cè)和分類進(jìn)行研究.

猜你喜歡
字節(jié)內(nèi)存灰度
采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過(guò)濾技術(shù)
No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
基于灰度拉伸的圖像水位識(shí)別方法研究
“春夏秋冬”的內(nèi)存
No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
簡(jiǎn)談MC7字節(jié)碼
基于最大加權(quán)投影求解的彩色圖像灰度化對(duì)比度保留算法
基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
基于內(nèi)存的地理信息訪問(wèn)技術(shù)
人類進(jìn)入“澤它時(shí)代”
盱眙县| 安阳县| 湟源县| 通榆县| 遵化市| 布尔津县| 错那县| 大竹县| 涡阳县| 遵义县| 东宁县| 稻城县| 商洛市| 黎城县| 乐安县| 象州县| 顺义区| 邯郸市| 满城县| 鄂托克前旗| 揭西县| 南澳县| 安溪县| 武宁县| 阿巴嘎旗| 鄂托克前旗| 健康| 韩城市| 宁乡县| 阿图什市| 桂东县| 临城县| 昭觉县| 精河县| 苍山县| 普定县| 吉木乃县| 宁明县| 庆城县| 乌鲁木齐县| 大连市|