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

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

2023年06月02日    來源:國家保密科技測評中心【字體: 打印

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

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

1 引言

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

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

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

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

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

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

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

3.1 方案設(shè)計

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

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

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

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

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

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

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

3.1.4 APT攻擊惡意代碼變體識別

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

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)對ReLU得到的結(jié)果進行歸一化處理,如公式(1)所示;引入了數(shù)據(jù)增強技術(shù),擴充了有限的數(shù)據(jù);并通過引入Dropout,確保結(jié)果不會過擬合;且AlexNet模型使用多圖形處理器(GPU)進行訓(xùn)練,具有較高的訓(xùn)練速度。網(wǎng)絡(luò)由5層卷積層、3層全連接層構(gòu)成,激活單元采用ReLU激活函數(shù),為防止網(wǎng)絡(luò)過擬合,在全連接層后連接Dropout層。圖7和圖8分別為卷積塊網(wǎng)絡(luò)結(jié)構(gòu)和全連接塊網(wǎng)絡(luò)結(jié)構(gòu)。

4 實驗及結(jié)果分析

4.1 實驗設(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計算,使用的CUDA版本為11.2。本文使用基于Python的Tensorflow框架搭建模型。

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

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

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

4.2 實驗評價指標(biāo)

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

4.3 實驗結(jié)果分析

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

4.4 對比實驗結(jié)果分析

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

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

5 結(jié)語

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

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