國(guó)家保密局網(wǎng)站>>保密科技

基于AlexNet卷積神經(jīng)網(wǎng)絡(luò)的APT攻擊檢測(cè)技術(shù)研究

2023年06月02日    來(lái)源:國(guó)家保密科技測(cè)評(píng)中心【字體: 打印

【摘 要】 本文提出了一種基于AlexNet卷積神經(jīng)網(wǎng)絡(luò)的檢測(cè)方法。首先,對(duì)APT攻擊惡意代碼二進(jìn)制樣本進(jìn)行解壓縮、反編譯等數(shù)據(jù)預(yù)處理操作,并在沙箱內(nèi)運(yùn)行APT攻擊惡意代碼樣本,將獲取的流量數(shù)據(jù)轉(zhuǎn)化成灰度圖像;然后,對(duì)預(yù)處理的圖像進(jìn)行特征提取和家族聚類;最后,選取8個(gè)家族的APT攻擊惡意代碼樣本數(shù)據(jù)來(lái)訓(xùn)練和測(cè)試AlexNet卷積神經(jīng)網(wǎng)絡(luò)模型。實(shí)驗(yàn)結(jié)果表明,該方法對(duì)APT攻擊惡意代碼及其變體檢測(cè)的平均準(zhǔn)確率可達(dá)98.84%。

【關(guān)鍵詞】APT攻擊 惡意代碼 灰度圖像 AlexNet網(wǎng)絡(luò)

1 引言

與傳統(tǒng)網(wǎng)絡(luò)攻擊不同的是,APT攻擊組織通常受雇于國(guó)家或政府,攻擊行為具有國(guó)家意志,擁有最先進(jìn)的網(wǎng)絡(luò)攻擊工具、相當(dāng)成熟的攻擊方案,能夠演變出層出不窮的攻擊變體,使得現(xiàn)有網(wǎng)絡(luò)安全防御措施在APT攻擊面前形同虛設(shè)。為應(yīng)對(duì)這一緊迫的網(wǎng)絡(luò)空間安全威脅,針對(duì)APT攻擊的防護(hù)技術(shù)研究也蓬勃發(fā)展。本文首先介紹了APT攻擊的相關(guān)知識(shí),分析了研究現(xiàn)狀,之后提出了一種基于AlexNet卷積神經(jīng)網(wǎng)絡(luò)的APT攻擊惡意代碼及其變體的檢測(cè)技術(shù),最后通過(guò)實(shí)驗(yàn)驗(yàn)證了技術(shù)的可行性和準(zhǔn)確性,可為現(xiàn)階段APT攻擊檢測(cè)工作提供參考。

2 APT攻擊研究技術(shù)

縱觀國(guó)內(nèi)外APT攻擊防護(hù)領(lǐng)域,主要采取的方式是針對(duì)APT攻擊中所用的惡意代碼進(jìn)行檢測(cè)。APT攻擊惡意代碼的檢測(cè)方式主要分為動(dòng)態(tài)檢測(cè)和靜態(tài)檢測(cè)兩類。

在動(dòng)態(tài)檢測(cè)中,主要通過(guò)沙箱收集APT攻擊惡意代碼的系統(tǒng)調(diào)用、操作,檢測(cè)惡意軟件的異常情況。Rieck等使用在沙箱中運(yùn)行惡意樣本,監(jiān)控了其網(wǎng)絡(luò)行為,通過(guò)機(jī)器學(xué)習(xí)分析APT攻擊網(wǎng)絡(luò)行為信息,實(shí)現(xiàn)對(duì)惡意代碼的檢測(cè);Shukla等通過(guò)在應(yīng)用程序和內(nèi)核層創(chuàng)建沙箱,監(jiān)視和控制應(yīng)用程序的行為,同樣利用了機(jī)器學(xué)習(xí)的方法實(shí)現(xiàn)檢測(cè)。在虛擬機(jī)和沙箱中進(jìn)行的虛擬檢測(cè)存在的缺陷使大部分APT攻擊惡意代碼可通過(guò)加殼、混淆等技術(shù)躲避安全人員的虛擬執(zhí)行,從而降低檢測(cè)準(zhǔn)確性。

在靜態(tài)檢測(cè)中,安全人員主要通過(guò)提取和分析APT攻擊惡意代碼,匹配惡意代碼庫(kù)的方式檢測(cè)和分類攻擊行為。Saxe等通過(guò)統(tǒng)計(jì)APT攻擊惡意代碼二進(jìn)制文件中惡意軟件中可打印的字符、字節(jié)數(shù)值的熵值、調(diào)用的函數(shù)表等內(nèi)容,并將統(tǒng)計(jì)結(jié)果作為數(shù)據(jù)集訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)獲得分類模型,最終實(shí)現(xiàn)分類;Zhang等將二進(jìn)制可執(zhí)行文件分解成操作碼序列并作為特征向量,以此訓(xùn)練神經(jīng)網(wǎng)絡(luò)分類模型。靜態(tài)檢測(cè)主要受到APT攻擊樣本集的限制,若出現(xiàn)新的APT攻擊惡意代碼變體,靜態(tài)檢測(cè)的準(zhǔn)確性將大打折扣。

隨著APT攻擊惡意代碼威脅從個(gè)人計(jì)算機(jī)擴(kuò)散至工業(yè)控制系統(tǒng),APT攻擊惡意代碼領(lǐng)域出現(xiàn)了大量已有惡意代碼的變體,能夠繞過(guò)傳統(tǒng)的基于代碼特征的檢測(cè)系統(tǒng)。因此,對(duì)APT攻擊惡意代碼變體的檢測(cè)變得至關(guān)重要。本文通過(guò)運(yùn)用動(dòng)態(tài)和靜態(tài)檢測(cè)技術(shù),結(jié)合代碼可視化和深度學(xué)習(xí)技術(shù),檢測(cè)APT攻擊滲透期所用的惡意代碼及其變體,切斷APT攻擊鏈條,從而實(shí)現(xiàn)對(duì)APT攻擊的防御。

3 基于AlexNet卷積神經(jīng)網(wǎng)絡(luò)的APT攻擊惡意代碼及其變體檢測(cè)

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

方案設(shè)計(jì)主要包括4個(gè)步驟,圖1展示了方案整體的流程。

3.1.1 APT攻擊惡意代碼解壓縮、反編譯

在虛擬執(zhí)行之前,需要對(duì)原始數(shù)據(jù)進(jìn)行處理。為了對(duì)抗在動(dòng)態(tài)沙箱上采取的虛擬執(zhí)行分析檢測(cè),許多APT攻擊惡意代碼都通過(guò)代碼混淆、壓縮、變形、加殼等操作,增加了虛擬執(zhí)行的時(shí)間成本和代碼可變性。為克服上述不足,本文結(jié)合了靜態(tài)和動(dòng)態(tài)的解包技術(shù)處理原始的數(shù)據(jù)集。首先通過(guò)使用查殼工具PEID,檢查并解包原始數(shù)據(jù)。PEID是采用匹配數(shù)據(jù)簽名集的方式識(shí)別代碼的加殼行為,采用已知的解包機(jī)制提取二進(jìn)制文件中隱藏的代碼,通過(guò)該技術(shù)可以偵測(cè)并解包出大部分的加殼行為。考慮到PEID可能未及時(shí)更新一些新的加殼打包技術(shù),本文結(jié)合使用了動(dòng)態(tài)解包工具PolyUnpack,其克服了靜態(tài)查殼工具的局限性,進(jìn)一步實(shí)現(xiàn)對(duì)APT攻擊惡意代碼的解包,并采用了反編譯器W32asm對(duì)APT攻擊二進(jìn)制代碼實(shí)現(xiàn)了反編譯。解包流程圖如圖2所示。

3.1.2 虛擬執(zhí)行獲得灰度圖像

在經(jīng)過(guò)解壓縮、反編譯等處理之后,在帶有抗逃逸技術(shù)的動(dòng)態(tài)沙箱中運(yùn)行二進(jìn)制代碼,排除HTTP等正常協(xié)議,過(guò)濾出帶有SSL等數(shù)據(jù)傳輸協(xié)議和未知可疑協(xié)議的流量會(huì)話數(shù)據(jù)。通過(guò)B2M、T2G等映射算法將APT攻擊惡意代碼流量會(huì)話數(shù)據(jù)映射為灰度圖,實(shí)現(xiàn)APT攻擊惡意代碼可視化,圖3是將APT攻擊惡意代碼樣本及其變體映射成的灰度圖。為了使灰度圖更容易識(shí)別和分類,本文采用了形態(tài)學(xué)中膨脹(dilation)和腐蝕(erosion)兩種基本的形態(tài)學(xué)運(yùn)算,對(duì)灰度圖像進(jìn)行圖像增強(qiáng)處理,保留有用信息的同時(shí)清除噪聲干擾,增強(qiáng)灰度圖的對(duì)比度。圖4是灰度圖經(jīng)過(guò)膨脹和腐蝕處理之后的對(duì)比。

3.1.3 灰度圖特征提取,實(shí)現(xiàn)家族聚類

圖像增強(qiáng)之后的灰度圖像數(shù)據(jù)維度較高,利用降維算法(Locally Linear Embedding,LLE)對(duì)圖像進(jìn)行降維。通過(guò)Canopy-K-means聚類算法實(shí)現(xiàn)對(duì)灰度圖像的特征提取及聚類,聚類結(jié)果如圖5所示。通過(guò)微軟的MSE殺毒軟件實(shí)現(xiàn)灰度圖的家族標(biāo)注,本文的數(shù)據(jù)集通過(guò)MSE標(biāo)記為8個(gè)APT攻擊惡意代碼家族,如表1所示的VBInject.WX、VBInject.gen!JD、Beebone.DN等。通過(guò)家族聚類,可以將檢測(cè)到的未知APT攻擊惡意代碼進(jìn)行同源性歸類,提高代碼的分析效率,如圖6所示。

3.1.4 APT攻擊惡意代碼變體識(shí)別

在將實(shí)驗(yàn)數(shù)據(jù)用于深度學(xué)習(xí)模型訓(xùn)練之前,本文先將數(shù)據(jù)進(jìn)行了特征提取和聚類,并進(jìn)行了APT攻擊惡意代碼家族的標(biāo)注。將前文所獲得的實(shí)驗(yàn)數(shù)據(jù)集分為訓(xùn)練和測(cè)試數(shù)據(jù)集,比例控制在8:2。利用訓(xùn)練數(shù)據(jù)集訓(xùn)練預(yù)先設(shè)好的基于AlexNet卷積神經(jīng)網(wǎng)絡(luò)的模型,通過(guò)參數(shù)調(diào)節(jié),訓(xùn)練獲得理想模型,再用測(cè)試數(shù)據(jù)集測(cè)試所獲模型,以取得最優(yōu)模型,對(duì)APT攻擊惡意代碼及其變體進(jìn)行檢測(cè)。

3.2 神經(jīng)網(wǎng)絡(luò)模型構(gòu)建

本文所構(gòu)建的神經(jīng)網(wǎng)絡(luò)是基于AlexNet模型的卷積神經(jīng)網(wǎng)絡(luò)。AlexNet模型基于LeNet網(wǎng)絡(luò)模型,該模型首次將線性整流函數(shù)(ReLU)用作卷積神經(jīng)網(wǎng)絡(luò)的激活函數(shù);并采用局部響應(yīng)歸一化(LRN)對(duì)ReLU得到的結(jié)果進(jìn)行歸一化處理,如公式(1)所示;引入了數(shù)據(jù)增強(qiáng)技術(shù),擴(kuò)充了有限的數(shù)據(jù);并通過(guò)引入Dropout,確保結(jié)果不會(huì)過(guò)擬合;且AlexNet模型使用多圖形處理器(GPU)進(jìn)行訓(xùn)練,具有較高的訓(xùn)練速度。網(wǎng)絡(luò)由5層卷積層、3層全連接層構(gòu)成,激活單元采用ReLU激活函數(shù),為防止網(wǎng)絡(luò)過(guò)擬合,在全連接層后連接Dropout層。圖7和圖8分別為卷積塊網(wǎng)絡(luò)結(jié)構(gòu)和全連接塊網(wǎng)絡(luò)結(jié)構(gòu)。

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

4.1 實(shí)驗(yàn)設(shè)置

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

本文所采用的設(shè)備信息如下:Intel(R) Core(TM) i7-10875H CPU @ 2.3GHz;32GB內(nèi)存;顯卡為NVIDIA GeForce RTX2070,8G顯存。采用GPU計(jì)算,使用的CUDA版本為11.2。本文使用基于Python的Tensorflow框架搭建模型。

4.1.2 數(shù)據(jù)集

本文所采用的實(shí)驗(yàn)數(shù)據(jù)來(lái)源為VirusShare網(wǎng)站開源APT攻擊二進(jìn)制惡意代碼樣本集合,包含VBInject.WX、VBInject.gen!JD、Beebone.DN等8個(gè)家族APT攻擊惡意代碼。APT惡意代碼家族列表及其變體樣本灰度圖數(shù)量如表1所示。

為了避免過(guò)擬合,本文將所獲得的APT攻擊惡意代碼及其變體樣本經(jīng)過(guò)處理后,映射成灰度圖像,并對(duì)灰度圖像進(jìn)行數(shù)據(jù)增強(qiáng)操作,增大訓(xùn)練數(shù)據(jù)量,提高模型的泛化能力和魯棒性。圖9為APT攻擊惡意代碼樣本的灰度圖像經(jīng)過(guò)數(shù)據(jù)增強(qiáng)之后的前后對(duì)比。

4.2 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)

APT攻擊惡意代碼及其變體識(shí)別屬于多分類問(wèn)題,在評(píng)價(jià)該模型時(shí),通常將總的評(píng)價(jià)任務(wù)拆分為多個(gè)二分類問(wèn)題。通過(guò)將實(shí)驗(yàn)結(jié)果繪制成混淆矩陣,獲得模型的準(zhǔn)確度;并通過(guò)損失函數(shù)曲線來(lái)評(píng)價(jià)模型的預(yù)測(cè)值與真實(shí)值之間的誤差,同時(shí)利用準(zhǔn)確率曲線直觀的展現(xiàn)模型預(yù)測(cè)的準(zhǔn)確性。在驗(yàn)證階段,本文采用了K-fold交叉驗(yàn)證的方式,K值選定為10。實(shí)驗(yàn)中所用的評(píng)價(jià)指標(biāo)包括準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall),如公式(2)—(4)所示。

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

從實(shí)驗(yàn)中所繪制的準(zhǔn)確度和損失函數(shù)圖可以清晰地發(fā)現(xiàn),隨著訓(xùn)練輪次的推進(jìn),損失函數(shù)逐漸下降、準(zhǔn)確率逐漸提高,從圖10中可以發(fā)現(xiàn),在第10輪之前損失函數(shù)值變化迅速,模型收斂速度較快,在10輪之后損失值趨向于穩(wěn)定,并接近于0;圖11展示的是準(zhǔn)確率變化趨勢(shì)圖,可從圖12中發(fā)現(xiàn),在20輪之后,準(zhǔn)確率值趨向于穩(wěn)定,在該實(shí)驗(yàn)數(shù)據(jù)集上平均準(zhǔn)確率可達(dá)到98.84%,圖13展示了檢測(cè)模型的混淆矩陣,可以發(fā)現(xiàn)大部分樣本都能夠被成功預(yù)測(cè),以上都表明了本文基于深度學(xué)習(xí)的APT攻擊惡意代碼及其變體檢測(cè)模型的檢測(cè)效果較好。

4.4 對(duì)比實(shí)驗(yàn)結(jié)果分析

為了進(jìn)一步驗(yàn)證本文所提出模型的準(zhǔn)確率以及泛化能力,本文選取了APT攻擊惡意代碼分類中常用的全連接神經(jīng)網(wǎng)絡(luò)、K近鄰算法(KNN)與本文所提的基于AlexNet模型的卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行了檢測(cè)實(shí)驗(yàn)和對(duì)比。為了使對(duì)比實(shí)驗(yàn)具有參考價(jià)值,對(duì)比實(shí)驗(yàn)所使用的數(shù)據(jù)集是來(lái)自VirusShare網(wǎng)站所公開的同一份APT攻擊二進(jìn)制惡意代碼樣本集合。模型的性能評(píng)價(jià)指標(biāo)包括準(zhǔn)確率、精確率、召回率和F1-score(F1值),模型對(duì)比實(shí)驗(yàn)的結(jié)果如圖14和表2所示。

從實(shí)驗(yàn)結(jié)果中可以看出,選取的分類算法對(duì)本文的數(shù)據(jù)集進(jìn)行分類的效果都比較好,在數(shù)據(jù)集較大的情況下都能達(dá)到九成以上的準(zhǔn)確率,說(shuō)明本文數(shù)據(jù)特征提取的方法具有可行性。且從表2中可以發(fā)現(xiàn),本文所提的基于AlexNet模型的卷積神經(jīng)網(wǎng)絡(luò)在準(zhǔn)確率、召回率、F1值和精確率方面均優(yōu)于多層感知器(MLP)、KNN2種神經(jīng)網(wǎng)絡(luò)模型,說(shuō)明本文所提算法在APT攻擊惡意代碼的分類上具有較好效果。

5 結(jié)語(yǔ)

本文提出了一種基于深度學(xué)習(xí)的APT攻擊惡意代碼及其變體的檢測(cè)技術(shù),首先對(duì)樣本進(jìn)行解壓縮、反編譯等數(shù)據(jù)預(yù)處理,然后在沙箱中執(zhí)行APT攻擊惡意代碼,將所獲得的帶有行為信息的流量會(huì)話數(shù)據(jù)映射為灰度圖像,并利用圖像增強(qiáng)和數(shù)據(jù)增強(qiáng)技術(shù)增強(qiáng)灰度圖的特征,再通過(guò)特征提取實(shí)現(xiàn)APT攻擊惡意代碼家族聚類,利用實(shí)驗(yàn)數(shù)據(jù)訓(xùn)練預(yù)設(shè)的AlexNet卷積神經(jīng)網(wǎng)絡(luò)模型,獲得最優(yōu)模型。最終對(duì)比實(shí)驗(yàn),驗(yàn)證了本文所提出的模型在APT攻擊惡意代碼及其變體檢測(cè)問(wèn)題上可實(shí)現(xiàn)98.84%的準(zhǔn)確率,精確率和F1值可達(dá)到98.78%和97.98%,在APT攻擊檢測(cè)領(lǐng)域具有一定的參考意義。

(原載于《保密科學(xué)技術(shù)》雜志2022年6月刊)