System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)屬于協(xié)議模糊測,涉及一種基于改進seqgan的協(xié)議模糊測試方法及系統(tǒng)。
技術(shù)介紹
1、隨著信息技術(shù)的快速發(fā)展,網(wǎng)絡(luò)通信協(xié)議在現(xiàn)代社會的各個領(lǐng)域中得到了廣泛應(yīng)用,特別是在物聯(lián)網(wǎng)設(shè)備、工業(yè)控制系統(tǒng)、智能終端和云計算等領(lǐng)域。通信協(xié)議作為數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn),確保了網(wǎng)絡(luò)設(shè)備之間的可靠通信。然而,隨著網(wǎng)絡(luò)協(xié)議復(fù)雜度的增加,協(xié)議設(shè)計中不可避免地存在潛在漏洞,這些漏洞可能會被惡意攻擊者利用,導(dǎo)致信息泄露、系統(tǒng)癱瘓等嚴(yán)重安全問題,如何有效檢測協(xié)議漏洞是亟待解決的問題。模糊測試作為一種有效的安全測試技術(shù),通過向被測系統(tǒng)發(fā)送大量隨機或半隨機數(shù)據(jù),觀察其異常行為,從而發(fā)現(xiàn)潛在漏洞,已經(jīng)成為協(xié)議安全測試中的主流方法。
2、傳統(tǒng)的模糊測試存在一些挑戰(zhàn),例如輸入數(shù)據(jù)隨機性強、測試效率低、生成的測試用例缺乏針對性,難以覆蓋協(xié)議的邊界情況。近年來,隨著深度學(xué)習(xí)和對抗學(xué)習(xí)的發(fā)展,基于生成對抗網(wǎng)絡(luò)(gan)的協(xié)議模糊測試方法逐漸受到關(guān)注。對抗學(xué)習(xí)可以通過生成模型模擬攻擊者,生成更具威脅性的測試數(shù)據(jù),提高模糊測試的效率和覆蓋率。然而,傳統(tǒng)gan在生成離散序列(如協(xié)議消息)時存在困難,因其生成過程無法直接通過梯度下降優(yōu)化。為此,研究人員提出了基于強化學(xué)習(xí)的seqgan,將序列生成問題建模為強化學(xué)習(xí)任務(wù),生成器作為策略網(wǎng)絡(luò),使用蒙特卡洛搜索估計未來序列的獎勵。判別器作為獎勵函數(shù),區(qū)分生成和真實序列。這種方法雖然解決了傳統(tǒng)gan無法生成離散序列的問題,但在實際應(yīng)用中仍存在以下局限性:
3、1.生成用例的通過率較低:由于seqgan的生成策略在訓(xùn)
4、2.多樣性不足:seqgan可能會在訓(xùn)練過程中傾向于生成相似的序列,導(dǎo)致生成用例的多樣性差,難以有效覆蓋協(xié)議的各種情況。這種模式坍縮現(xiàn)象限制了其對復(fù)雜協(xié)議的探索能力。
技術(shù)實現(xiàn)思路
1、有鑒于此,本專利技術(shù)的目的在于提供一種基于改進seqgan的協(xié)議模糊測試方法及系統(tǒng)。
2、為達到上述目的,本專利技術(shù)提供如下技術(shù)方案:
3、一種基于改進seqgan的協(xié)議模糊測試方法,該方法包括以下步驟:
4、s1、收集基礎(chǔ)數(shù)據(jù)并對數(shù)據(jù)進行預(yù)處理,其中,預(yù)處理包括數(shù)據(jù)清理、數(shù)據(jù)集劃分、數(shù)據(jù)編碼以及數(shù)據(jù)集填充;
5、s2、設(shè)計生成測試用例的生成器gα,其中,生成器gα通過長短期記憶網(wǎng)絡(luò)lstm學(xué)習(xí)序列的時空特征,捕捉時間序列中的長距離依賴關(guān)系;
6、s3、設(shè)計分別用于評估測試用例的通過率和多樣性的判別器dγ和dλ,其中,判別器通過多尺度卷積核捕捉多尺度局部特征,采用lstm層捕捉全局時序依賴,兩者融合后再對測試用例進行判別;
7、s4、設(shè)計混合獎勵,并基于混合獎勵采用兩個判別器對測試用例進行評估;
8、s5、對生成器和兩個判別器設(shè)計對應(yīng)的損失函數(shù),并分別進行梯度更新,進行并完成訓(xùn)練。
9、進一步,在步驟s1中,數(shù)據(jù)采集是指通過網(wǎng)絡(luò)抓包或者現(xiàn)有協(xié)議消息庫中收集實際通信環(huán)境中的真實協(xié)議消息;
10、數(shù)據(jù)清理是指去除訓(xùn)練數(shù)據(jù)中的噪聲和不相關(guān)信息,修復(fù)數(shù)據(jù)中的錯誤,并處理缺失值;
11、數(shù)據(jù)集劃分是指基于報文的熵值對數(shù)據(jù)集進行重新劃分,其過程包括:為每條報文計算衡量報文內(nèi)容復(fù)雜性和多樣性的熵值指標(biāo);然后,根據(jù)熵值大小,將數(shù)據(jù)集劃分為高熵和低熵兩類報文,高熵報文將作為多樣化報文的正樣本,低熵報文作為非多樣化的負(fù)樣本;
12、數(shù)據(jù)編碼是指通過嵌入層或預(yù)訓(xùn)練的嵌入模型將協(xié)議消息中的離散字段轉(zhuǎn)化為高維向量;
13、數(shù)據(jù)填充是指對消息序列進行填充操作,設(shè)lmax為填充后的最大長度,消息y的實際長度為ly,則填充操作p表示為:
14、
15、其中,<pad>表示用于補齊短于最大長度的消息的特殊字符。
16、進一步,在步驟s2中,長短期記憶網(wǎng)絡(luò)lstm作為對抗網(wǎng)絡(luò)的生成器gα,其包括以下過程:
17、將真實數(shù)據(jù)樣本輸入至embedding層,將離散的字符映射到連續(xù)的低維向量空間,其過程表示為:
18、e(xi)=w[xi]
19、其中,xi表示離散符號;e(xi)為映射后的連續(xù)變量;w為embedding層的查找矩陣,其大小為|v|×d,|v|為詞匯表大小,d為向量維度,每一行的wi對應(yīng)于詞匯表中第i個符號的嵌入向量;
20、映射后的連續(xù)變量e(xi)傳遞至lstm層學(xué)習(xí)時序特征,其中,首先在lstm層進行前向傳播:
21、ft=σ(wf*[ht-1,xt]+bf)
22、it=σ(wi*[ht-1,xt]+bi)
23、ot=σ(wo*[ht-1,xt]+bo)
24、其中,ft、it、ot分別代表遺忘門、輸入門和輸出門,通過對前一個時間步的隱藏狀態(tài)ht-1和當(dāng)前時間步的輸入xt的線性變換和非線性激活得到,*代表元素相乘,σ代表sigmoid激活函數(shù),wf、wi、wo代表權(quán)重矩陣,bf、bi、bo代表偏置;
25、相應(yīng)的門與先前的單元狀態(tài)ct-1和當(dāng)前的新單元狀態(tài)ct逐元素相乘,單元狀態(tài)更新過程表示為:
26、
27、ht=ot*tanh(ct)
28、上述過程通過輸出門控制的細(xì)胞狀態(tài),決定當(dāng)前時刻的細(xì)胞狀態(tài)ct輸出的信息量ht;其中,tanh(·)表示激活函數(shù),wc表示權(quán)重矩陣,bc表示偏置項,表示候選記憶單元值;
29、在lstm網(wǎng)絡(luò)后,接入一個全連接層和一個sigmoid激活函數(shù),將lstm網(wǎng)絡(luò)的輸出ht轉(zhuǎn)換為序列的概率分布,得到測試用例。
30、進一步,在步驟s2中,針對每一個生成步驟,生成器gα僅能夠描述前t個生成的元素,其采用蒙特卡洛搜索來模擬從第t+1到t個步驟的生成元素,從而得到完整序列y1:t,其過程表示為:
31、給定當(dāng)前的部分序列y1:t,使用生成器gα根據(jù)當(dāng)前生成的字符通過蒙特卡洛搜索生成多個完整序列的樣本y(1)1:t,y(2)1:t,...,y(m)1:t。
32、進一步,在步驟s3中,兩個判別器dγ和dλ的模型結(jié)構(gòu)相同,均依次包括引入多尺寸的卷積核的embedding層、特征融合層、lstm層、highway層、dense層以及sigmoid層;
33、其中,在embedding層中,輸入序列表征為x∈rt×d,t為時間步,d為特征維度,使用多個不同的卷積核尺寸提取特征:
34、f1=conv(x,w1)+b1
35、f2=conv(x,w2)+b2
36、f3=conv(x,w3)+b3
37、其中,w1、w2、w3分別為不同尺度卷積核,b1、b2、b3分別為不同尺度卷積核的偏置項;在特征融合層,將多尺度卷積特征通過拼接的方式融合:
38、f=[f1;f2本文檔來自技高網(wǎng)...
【技術(shù)保護點】
1.一種基于改進SeqGAN的協(xié)議模糊測試方法,其特征在于:所述方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于改進SeqGAN的協(xié)議模糊測試方法,其特征在于:在步驟S1中,數(shù)據(jù)采集是指通過網(wǎng)絡(luò)抓包或者現(xiàn)有協(xié)議消息庫中收集實際通信環(huán)境中的真實協(xié)議消息;
3.根據(jù)權(quán)利要求1所述的一種基于改進SeqGAN的協(xié)議模糊測試方法,其特征在于:在步驟S2中,長短期記憶網(wǎng)絡(luò)LSTM作為對抗網(wǎng)絡(luò)的生成器Gα,其包括以下過程:
4.根據(jù)權(quán)利要求3所述的一種基于改進SeqGAN的協(xié)議模糊測試方法,其特征在于:在步驟S2中,針對每一個生成步驟,生成器Gα僅能夠描述前t個生成的元素,其采用蒙特卡洛搜索來模擬從第t+1到T個步驟的生成元素,從而得到完整序列Y1:T,其過程表示為:
5.根據(jù)權(quán)利要求4所述的一種基于改進SeqGAN的協(xié)議模糊測試方法,其特征在于:在步驟S3中,兩個判別器Dγ和Dλ的模型結(jié)構(gòu)相同,均依次包括引入多尺寸的卷積核的embedding層、特征融合層、LSTM層、Highway層、Dense層以及sigmoid層;
6.根
7.根據(jù)權(quán)利要求6所述的一種基于改進SeqGAN的協(xié)議模糊測試方法,其特征在于:在步驟S4中,使用模擬退火算法和sigmoid函數(shù)結(jié)合來動態(tài)調(diào)節(jié)權(quán)重β和θ,在模擬退火中根據(jù)時間步動態(tài)調(diào)節(jié)溫度,使用以下sigmoid形式的溫度調(diào)節(jié)公式來得到某一時間步t的時候相應(yīng)的權(quán)重βt和θt:
8.根據(jù)權(quán)利要求6所述的一種基于改進SeqGAN的協(xié)議模糊測試方法,其特征在于:在步驟S5中,對于生成器的更新中,生成器的損失函數(shù)為:
9.根據(jù)權(quán)利要求6所述的一種基于改進SeqGAN的協(xié)議模糊測試方法,其特征在于:在步驟S5中,對于判別器的梯度更新中,判別器的損失函數(shù)為:
10.一種基于改進SeqGAN的協(xié)議模糊測試系統(tǒng),其特征在于:所述系統(tǒng)包括:測試用例生成模塊、模糊測試執(zhí)行模塊和日志模塊,其中,測試用例生成模塊用于執(zhí)行前述權(quán)利要求1-9任一項所述的基于改進SeqGAN的協(xié)議模糊測試方法,在訓(xùn)練完成后用于生成測試用例;
...【技術(shù)特征摘要】
1.一種基于改進seqgan的協(xié)議模糊測試方法,其特征在于:所述方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于改進seqgan的協(xié)議模糊測試方法,其特征在于:在步驟s1中,數(shù)據(jù)采集是指通過網(wǎng)絡(luò)抓包或者現(xiàn)有協(xié)議消息庫中收集實際通信環(huán)境中的真實協(xié)議消息;
3.根據(jù)權(quán)利要求1所述的一種基于改進seqgan的協(xié)議模糊測試方法,其特征在于:在步驟s2中,長短期記憶網(wǎng)絡(luò)lstm作為對抗網(wǎng)絡(luò)的生成器gα,其包括以下過程:
4.根據(jù)權(quán)利要求3所述的一種基于改進seqgan的協(xié)議模糊測試方法,其特征在于:在步驟s2中,針對每一個生成步驟,生成器gα僅能夠描述前t個生成的元素,其采用蒙特卡洛搜索來模擬從第t+1到t個步驟的生成元素,從而得到完整序列y1:t,其過程表示為:
5.根據(jù)權(quán)利要求4所述的一種基于改進seqgan的協(xié)議模糊測試方法,其特征在于:在步驟s3中,兩個判別器dγ和dλ的模型結(jié)構(gòu)相同,均依次包括引入多尺寸的卷積核的embedding層、特征融合層、lstm層、highway層、dense層以及sigmoid層;
6.根據(jù)權(quán)利要求5所述的一種基于改進seqgan的協(xié)議模糊測試方法,其特征在于:在步驟s4中,采用判別器dγ對...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:王浩,傅立,魏旻,韓延,
申請(專利權(quán))人:重慶郵電大學(xué),
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。