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

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

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

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

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

1 引言

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

2 APT攻擊研究技術

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

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

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

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

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

3.1 方案設計

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

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

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

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

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

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

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

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

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

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

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

4 實驗及結果分析

4.1 實驗設置

4.1.1 環(huán)境設置

本文所采用的設備信息如下: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ù)增強操作,增大訓練數(shù)據(jù)量,提高模型的泛化能力和魯棒性。圖9為APT攻擊惡意代碼樣本的灰度圖像經(jīng)過數(shù)據(jù)增強之后的前后對比。

4.2 實驗評價指標

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

4.3 實驗結果分析

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

4.4 對比實驗結果分析

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

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

5 結語

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

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