本發(fā)明涉及人工智能與網(wǎng)絡(luò)安全技術(shù),具體涉及一種基于大模型的動態(tài)惡意軟件檢測模型黑盒對抗擾動方法。
背景技術(shù):
1、惡意軟件是黑客開發(fā)的侵入性軟件,用來竊取數(shù)據(jù)或破壞計算機系統(tǒng)。常見的惡意軟件包括病毒、蠕蟲、木馬、廣告軟件和勒索軟件等。惡意軟件在未明確提示用戶或未經(jīng)用戶許可的情況下,通過非法手段獲得用戶信息,嚴(yán)重侵犯用戶合法權(quán)益,甚至給用戶及他人帶來巨大的經(jīng)濟或其他形式的利益損失。目前針對惡意軟件檢測方法絕大部分是基于惡意軟件的動態(tài)執(zhí)行行為進行檢測,而程序的執(zhí)行行為可以用一系列運行時api調(diào)用來表示。同時機器學(xué)習(xí)技術(shù)可以從大數(shù)據(jù)集中學(xué)習(xí)api調(diào)用的一般模式以及它們與不同類型惡意軟件的相關(guān)性,因此api調(diào)用結(jié)合機器學(xué)習(xí)成為最廣泛的檢測技術(shù)。特別是近年來,深度學(xué)習(xí)技術(shù)已被廣泛用于構(gòu)建動態(tài)惡意軟件檢測模型,例如cnn、rnn、gnn等。因為深度學(xué)習(xí)技術(shù)能夠自動從api調(diào)用序列中提取語義特征,通過將api調(diào)用嵌入到潛在特征空間中,深度學(xué)習(xí)技術(shù)可以大大提高未知惡意軟件檢測的泛化能力。
2、基于深度學(xué)習(xí)的惡意軟件檢測模型普遍存在魯棒性缺陷,容易受到對抗攻擊的影響(即通過在惡意的軟件樣本的特征空間中精心添加少量擾動,從而使得目標(biāo)檢測模型將該惡意的軟件樣本誤判為良性)?,F(xiàn)有研究基于生成對抗網(wǎng)絡(luò)、遺傳算法等技術(shù)已提出了多種針對惡意軟件檢測模型的對抗攻擊算法。
3、然而,現(xiàn)有針對惡意軟件檢測模型的對抗攻擊算法仍然存在一個明顯的不足:即所有對抗擾動行為都是在特征域中進行的,而在特征域中的擾動難以對應(yīng)到問題域中。這里的特征域指的是將惡意的軟件樣本表征成為的特征向量(例如api調(diào)用次數(shù)的特征向量),問題域指的是惡意的軟件樣本的源代碼。為了實現(xiàn)對抗擾動后的惡意軟件版本,往往需要理解對抗擾動的涵義之后,人工修改或編寫惡意軟件源代碼,效率極低。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于解決人工修改或編寫惡意軟件源代碼效率低的問題,并提出一種基于大模型的動態(tài)惡意軟件檢測模型黑盒對抗擾動方法。
2、為了達到上述目的,本發(fā)明提供的技術(shù)方案為:
3、一種基于大模型的動態(tài)惡意軟件檢測模型黑盒對抗擾動方法,包括:
4、給定動態(tài)惡意軟件檢測模型,基于動態(tài)惡意軟件檢測模型構(gòu)建api序列樣本集,將api序列樣本集轉(zhuǎn)化為訓(xùn)練樣本集;
5、采用機器學(xué)習(xí)算法基于訓(xùn)練樣本集訓(xùn)練得到代理惡意軟件檢測模型;
6、構(gòu)建生成器,通過對抗訓(xùn)練利用代理惡意軟件檢測模型得到訓(xùn)練好的生成器,利用訓(xùn)練好的生成器對代理惡意軟件檢測模型檢測為惡意的軟件樣本的api特征向量進行特征空間對抗擾動,得到對抗擾動后的api特征向量;
7、基于惡意的軟件樣本的api特征向量和對抗擾動后的api特征向量得到api差異向量,其中包括需要增加調(diào)用的api和增加調(diào)用的次數(shù);
8、利用大模型根據(jù)每個需要增加調(diào)用的api和增加調(diào)用的次數(shù)生成函數(shù)代碼片段,根據(jù)生成的函數(shù)代碼片段修改惡意的軟件樣本的源代碼,得到最終的對抗擾動代碼。
9、進一步的,所述基于動態(tài)惡意軟件檢測模型構(gòu)建api序列樣本集,包括:
10、給定軟件樣本,采用沙箱對軟件樣本進行模擬運行,得到軟件樣本的api序列,將api序列輸入動態(tài)惡意軟件檢測模型得到檢測結(jié)果,基于api序列和檢測結(jié)果得到api序列樣本;
11、對多個軟件樣本進行操作,得到每個軟件樣本的api序列樣本,構(gòu)成api序列樣本集。
12、進一步的,所述將api序列樣本集轉(zhuǎn)化為訓(xùn)練樣本集,包括:
13、從api序列樣本集中的每個api序列樣本的api序列中抽取api特征向量;
14、將api序列樣本的api序列替換為api特征向量,得到訓(xùn)練樣本集。
15、進一步的,所述構(gòu)建生成器,通過對抗訓(xùn)練利用代理惡意軟件檢測模型得到訓(xùn)練好的生成器,包括:
16、構(gòu)建生成器,所述生成器包括一個編碼器模塊和一個解碼器模塊;
17、將代理惡意軟件檢測模型檢測為惡意的軟件樣本的api特征向量輸入生成器,得到歸一化的對抗擾動向量;
18、將api特征向量進行歸一化,并與歸一化的對抗擾動向量相加,得到歸一化的對抗擾動后的api特征向量;
19、對歸一化的對抗擾動后的api特征向量進行反歸一化,得到對抗擾動后的api特征向量;
20、將對抗擾動后的api特征向量輸入動態(tài)惡意軟件檢測模型,獲得預(yù)測標(biāo)簽,將對抗擾動后的api特征向量輸入代理惡意軟件檢測模型,獲得預(yù)測標(biāo)簽;
21、基于代理惡意軟件檢測模型的損失函數(shù)對代理惡意軟件檢測模型進行參數(shù)更新,所述代理惡意軟件檢測模型的損失函數(shù)用公式表示如下:
22、
23、其中,表示代理惡意軟件檢測模型的損失函數(shù),表示交叉熵函數(shù);
24、基于生成器的損失函數(shù)對生成器進行參數(shù)更新,所述生成器的損失函數(shù)用公式表示如下:
25、
26、其中,表示生成器的損失函數(shù),表示api特征向量,表示對抗擾動后的api特征向量,表示良性標(biāo)簽,表示生成器中編碼器模塊的輸出;表示的概率分布,表示給定輸入是的概率分布,表示api特征向量和對抗擾動的api特征向量之間的距離,表示kl散度;、、表示權(quán)重系數(shù);
27、重復(fù)將代理惡意軟件檢測模型檢測為惡意的軟件樣本的api特征向量輸入生成器,并對生成器進行參數(shù)更新,直到代理惡意軟件檢測模型和生成器的損失函數(shù)收斂,得到訓(xùn)練好的生成器。
28、進一步的,所述利用訓(xùn)練好的生成器對代理惡意軟件檢測模型檢測為惡意的軟件樣本的api特征向量進行特征空間對抗擾動,得到對抗擾動后的api特征向量,包括:
29、抽取惡意的軟件樣本的api特征向量,將api特征向量輸入訓(xùn)練好的生成器,得到歸一化的對抗擾動向量,將歸一化的對抗擾動向量與歸一化的api特征向量相加,并進行反歸一化,得到對抗擾動后的api特征向量。
30、進一步的,所述基于惡意的軟件樣本的api特征向量和對抗擾動后的api特征向量得到api差異向量,用公式表示如下:
31、
32、其中,表示api差異向量,表示對抗擾動后的api特征向量,表示軟件樣本的api特征向量,代表第個api在api序列中的出現(xiàn)次數(shù),代表第個api需要增加調(diào)用的次數(shù)。
33、進一步的,所述利用大模型根據(jù)每個需要增加調(diào)用的api和增加調(diào)用的次數(shù)生成函數(shù)代碼片段,根據(jù)生成的函數(shù)代碼片段修改惡意的軟件樣本的源代碼,得到最終的對抗擾動代碼,包括:
34、利用大模型對一個需要增加調(diào)用的api生成代碼片段;
35、根據(jù)增加調(diào)用的次數(shù)將生成的代碼片段封裝成函數(shù),得到函數(shù)代碼片段;
36、大模型根據(jù)預(yù)設(shè)的提示詞模板生成的提示詞將源代碼與函數(shù)代碼片段進行合并;
37、對api差異向量中的每個需要增加調(diào)用的api進行代碼片段生成,并與源代碼進行合并,得到最終的對抗擾動代碼。
38、本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點為:(1)基于特征空間對抗擾動得到惡意軟件逃逸動態(tài)檢測的api變化提示;(2)利用大模型基于api變化提示自動完成惡意軟件源代碼的修改。從而避免了人工編碼的工作,極大提高了對抗攻擊的效率。