国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于可變形卷積神經(jīng)網(wǎng)絡(luò)的軟件漏洞檢測(cè)算法

2021-11-17 03:59林若欽
計(jì)算機(jī)仿真 2021年3期
關(guān)鍵詞:漏洞卷積尺寸

林若欽,羅 瓊

(廣州大學(xué)華軟軟件學(xué)院,廣東 廣州 510990)

1 引言

軟件系統(tǒng)廣泛應(yīng)用于各類生產(chǎn)、生活領(lǐng)域中,其開發(fā)過程中需要考慮的首要問題就是安全性,軟件漏洞既會(huì)使資源產(chǎn)生不必要的消耗,也會(huì)嚴(yán)重?fù)p失應(yīng)用行業(yè)的經(jīng)濟(jì)財(cái)產(chǎn)[1-2]。漏洞通常比較隱秘,而且與正常的程序數(shù)據(jù)沒有明顯差異,想又快又準(zhǔn)地找到軟件中存在的漏洞并非一件易事,因此,研究一種有效的軟件漏洞檢測(cè)算法具有一定的必要性。

文獻(xiàn)[3]為提升開源軟件代碼質(zhì)量、消除安全隱患,結(jié)合混合深度學(xué)習(xí)模型,提出一種開源軟件漏洞檢測(cè)方法,依據(jù)漏洞庫關(guān)鍵點(diǎn),架構(gòu)控制流圖,提取靜態(tài)代碼片段,經(jīng)過數(shù)字化處理,將代碼片段設(shè)置成混合深度學(xué)習(xí)模型輸入項(xiàng),令卷積神經(jīng)網(wǎng)絡(luò)成為與特征向量的交互接口,在網(wǎng)絡(luò)中嵌入門控循環(huán)單元,獲取門控機(jī)制,通過卷積、池化處理,降低特征向量維度,將該特征向量發(fā)送至softmax分類器中檢測(cè)軟件漏洞;文獻(xiàn)[4]提出的軟件漏洞檢測(cè)Fuzzing樣本優(yōu)化法中,通過剔除軟件不接受樣本,利用改進(jìn)的動(dòng)態(tài)規(guī)劃算法,獲取初始樣本簡(jiǎn)化集合,采用改進(jìn)的simhash與海明距離算法,計(jì)算樣本傳播路徑相似度,去除高相似度樣本,經(jīng)過遺傳變異異常樣本,架構(gòu)新的測(cè)試樣本,作為漏洞檢測(cè)的理想數(shù)據(jù)。

由于上述方法無法應(yīng)對(duì)軟件漏洞變化,所以,本文對(duì)文獻(xiàn)方法取長(zhǎng)補(bǔ)短,提出一種可變形卷積神經(jīng)網(wǎng)絡(luò)的軟件漏洞檢測(cè)方法,其創(chuàng)新之處在于利用可變形卷積神經(jīng)網(wǎng)絡(luò)的反向傳播路徑,抑制梯度爆炸與梯度消失等問題發(fā)生,憑借激活函數(shù)與殘差單元,提升訓(xùn)練梯度穩(wěn)定性,因卷積神經(jīng)網(wǎng)絡(luò)中可以實(shí)現(xiàn)卷積核共享,網(wǎng)絡(luò)深度決定著反向傳播路徑長(zhǎng)度,所以,能夠大幅降低算法在檢測(cè)軟件漏洞時(shí)的內(nèi)存消耗。

2 基于可變形卷積神經(jīng)網(wǎng)絡(luò)的軟件漏洞檢測(cè)

2.1 可變形卷積神經(jīng)網(wǎng)絡(luò)

在一個(gè)子網(wǎng)絡(luò)中添加輸入的軟件漏洞特征U,該子網(wǎng)絡(luò)由卷積層、全連接層等架構(gòu)而成,得到定位網(wǎng)絡(luò)的空間變換參數(shù)θ。為獲取基于輸入特征U坐標(biāo)方位的輸出漏洞特征X坐標(biāo)點(diǎn)[5],將空間變換參數(shù)θ通過網(wǎng)格生成器變?yōu)橐粋€(gè)參數(shù)化采樣網(wǎng)格[6]。

利用雙線性插值采樣網(wǎng)格生成器的采樣點(diǎn)坐標(biāo)[7],求解對(duì)應(yīng)軟件漏洞特征數(shù)值,計(jì)算公式如下所示

(1)

為取得更加理想的采樣效果,在可變形卷積中將偏移量添加至各卷積采樣點(diǎn)上。

2.2 軟件漏洞檢測(cè)

基于構(gòu)建的可變形卷積網(wǎng)絡(luò),采用規(guī)則的采樣網(wǎng)格R,完成輸入特征映射x的采樣,經(jīng)過權(quán)值ω與采樣值做積后,計(jì)算所有乘積的總和??勺冃尉矸e神經(jīng)網(wǎng)絡(luò)下軟件漏洞檢測(cè)算法以n×n規(guī)格的標(biāo)準(zhǔn)卷積核為基礎(chǔ),設(shè)定輸出漏洞特征X的任意點(diǎn)為p0,基于神經(jīng)元輸出形式的界定,推導(dǎo)出軟件漏洞特征點(diǎn)在可變形卷積神經(jīng)網(wǎng)絡(luò)下的表達(dá)式,如下所示

X(p0)=∑pnω(pn)x(p0+pn)

(2)

式中,采樣網(wǎng)格R包含的任意采樣點(diǎn)為pn。

規(guī)則采樣網(wǎng)格R在可變形卷積神經(jīng)網(wǎng)絡(luò)中會(huì)受到偏移量的變化影響,令偏移量大小與輸入層大小相同,通過卷積漏洞偏移,實(shí)現(xiàn)采樣點(diǎn)優(yōu)化。因此,將一組滿足{Δpn|n=1,2,…,N}的偏移量Δpn代入上式中,得到下列表達(dá)式

X(p0)=∑pnω(pn)x(p0+pn+Δpn)

(3)

式中,N=|R|,采樣點(diǎn)用pn+Δpn表示。

一般情況下,偏移采樣點(diǎn)會(huì)在不規(guī)則網(wǎng)格中發(fā)生偏移,確保采樣點(diǎn)坐標(biāo)始終是一個(gè)整數(shù)形式存在一定難度,導(dǎo)致偏移量Δpn的取值通常是一個(gè)小數(shù),所以,利用雙線性插值方法來求解偏移量Δpn,計(jì)算公式如下所示

x(p)=∑qG(q,p)x(q)

(4)

式中,偏移量取值為小數(shù)時(shí)的任意采樣點(diǎn)方位用p表示,表達(dá)式如下所示

p=p0+pn+Δpn

(5)

特征映射x的各空間方位為q,雙線性插值核為函數(shù)G(q,p),采用下列表達(dá)式加以描述

G(q,p)=g(qx,px)g(qy,py)

(6)

式中,函數(shù)g(qn,pn)的運(yùn)算規(guī)則表達(dá)式如下所示

g(qn,pn)=max(0,1-|qn-pn|)

(7)

針對(duì)可變形卷積的池化變形形式,其表達(dá)式如下所示

(8)

3 軟件漏洞檢測(cè)模擬分析

3.1 實(shí)驗(yàn)環(huán)境與評(píng)估指標(biāo)

表1所示為實(shí)驗(yàn)的相關(guān)硬件配置與軟件應(yīng)用環(huán)境。

表1 實(shí)驗(yàn)環(huán)境

實(shí)驗(yàn)數(shù)據(jù)集由CWE-117與CWE-366組成。為確保軟件程序正常運(yùn)行,采用checkmarx處理數(shù)據(jù)集所含代碼數(shù)據(jù),人工審核數(shù)據(jù)標(biāo)簽,并對(duì)較長(zhǎng)和發(fā)生錯(cuò)誤截?cái)嗟臉颖具M(jìn)行剔除。CWE-117數(shù)據(jù)集與CWE-366數(shù)據(jù)集分別是緩沖區(qū)溢出漏洞與脆弱性漏洞[8-9],兩數(shù)據(jù)集混合后含有多個(gè)數(shù)據(jù)特征,檢測(cè)復(fù)雜度較大。實(shí)驗(yàn)數(shù)據(jù)集的具體信息如表2所示。

表2 數(shù)據(jù)集統(tǒng)計(jì)表

選用準(zhǔn)確率precision、召回率[10]recall以及綜合指標(biāo)F1,評(píng)價(jià)檢測(cè)算法性能,各指標(biāo)界定公式分別如下所示

(9)

(10)

(11)

式中,TP為真正例,表示正確檢測(cè)的漏洞數(shù)量,F(xiàn)P為假正例,表示檢測(cè)錯(cuò)誤的漏洞數(shù)量,F(xiàn)N為假負(fù)例,表示檢測(cè)錯(cuò)誤的非漏洞數(shù)量。

3.2 神經(jīng)網(wǎng)絡(luò)層數(shù)對(duì)檢測(cè)算法的影響

選取混合數(shù)據(jù)集作為漏洞檢測(cè)對(duì)象,通過記錄遞增卷積核尺寸下不同網(wǎng)絡(luò)層數(shù)的指標(biāo)數(shù)據(jù),驗(yàn)證本文算法性能。

當(dāng)卷積核尺寸取值為2,網(wǎng)絡(luò)層數(shù)不斷增加時(shí),本文算法的訓(xùn)練集與測(cè)試集損失曲線如圖1所示。

圖1 卷積核尺寸取2時(shí)損失指標(biāo)

根據(jù)圖1中的曲線走勢(shì)可以看出,當(dāng)訓(xùn)練集與測(cè)試集的網(wǎng)絡(luò)層數(shù)增加到7層時(shí),損失最大,訓(xùn)練集的網(wǎng)絡(luò)層數(shù)增加到9層時(shí),損失最小,而測(cè)試集其它網(wǎng)絡(luò)層數(shù)所產(chǎn)生的損失較為接近,訓(xùn)練期數(shù)過多有可能引發(fā)過擬合現(xiàn)象[11-12]。

從圖2所示的相同卷積核尺寸下算法準(zhǔn)確率與召回率曲線形式可以看出,當(dāng)網(wǎng)絡(luò)層數(shù)取值7時(shí),準(zhǔn)確率與召回率都呈現(xiàn)出較差的水平趨勢(shì),而且在訓(xùn)練期數(shù)達(dá)到一定數(shù)量后,兩指標(biāo)數(shù)據(jù)均有明顯下降。

圖2 卷積核尺寸取2時(shí)準(zhǔn)確率與召回率

根據(jù)該卷積核尺寸的誤報(bào)率示意圖,如圖3所示,發(fā)現(xiàn)網(wǎng)絡(luò)層數(shù)為7時(shí),誤報(bào)率數(shù)值有明顯增加,但其它層數(shù)對(duì)算法性能影響不大,訓(xùn)練期數(shù)仍會(huì)導(dǎo)致過擬合問題發(fā)生。

圖3 卷積核尺寸取2時(shí)誤報(bào)率

卷積核尺寸取4時(shí)不同網(wǎng)絡(luò)層數(shù)的各項(xiàng)指標(biāo)數(shù)據(jù)曲線走勢(shì)分別如圖4所示。從訓(xùn)練集與測(cè)試集損失曲線圖中可以看出,當(dāng)網(wǎng)絡(luò)層數(shù)增加到6層時(shí),損失最大,其它網(wǎng)絡(luò)層數(shù)所產(chǎn)生的損失相差無幾,訓(xùn)練期數(shù)不斷增加后發(fā)生了欠擬合現(xiàn)象,準(zhǔn)確率與召回率指標(biāo)數(shù)值也始終處于最低值,其它網(wǎng)絡(luò)層數(shù)的準(zhǔn)確率與召回率指標(biāo)數(shù)值較為接近,而誤報(bào)率指標(biāo)未受到網(wǎng)絡(luò)層數(shù)與訓(xùn)練期數(shù)的太大影響,各網(wǎng)絡(luò)層數(shù)的誤報(bào)率均不存在顯著差異。

圖4 卷積核尺寸取4時(shí)各指標(biāo)曲線圖

根據(jù)卷積核尺寸取值為6時(shí)各網(wǎng)絡(luò)層數(shù)對(duì)應(yīng)的訓(xùn)練集與測(cè)試集損失曲線示意圖(見圖5)可以看出,更深的網(wǎng)絡(luò)層數(shù)并未造成測(cè)試集損失的顯著下降,但當(dāng)網(wǎng)絡(luò)是8層時(shí),出現(xiàn)了欠擬合問題,與前兩種卷積核情況不同的是,卷積核尺寸較大導(dǎo)致過擬合臨界點(diǎn)提前,在訓(xùn)練達(dá)到一定期數(shù)時(shí),測(cè)試集損失有回彈現(xiàn)象,并逐漸增加提升幅度。

圖5 卷積核尺寸取6時(shí)損失指標(biāo)

通過準(zhǔn)確率、召回率以及誤報(bào)率指標(biāo)曲線(如圖6所示)可知,在網(wǎng)絡(luò)深度相同的情況下,較大尺寸卷積核的網(wǎng)絡(luò)參數(shù)規(guī)模大于較小尺寸卷積核的規(guī)模,因此,卷積核尺寸較大時(shí)的網(wǎng)絡(luò)劣勢(shì)相對(duì)顯著。當(dāng)訓(xùn)練疊加至13期后,網(wǎng)絡(luò)的過擬合現(xiàn)象開始突顯,準(zhǔn)確率、召回率以及誤報(bào)率指標(biāo)數(shù)據(jù)均逐漸上升,網(wǎng)絡(luò)層數(shù)過多將引發(fā)過擬合現(xiàn)象提前,這與前幾種尺寸的卷積核對(duì)應(yīng)指標(biāo)情況相符合。

圖6 卷積核尺寸取6時(shí)其它指標(biāo)示意圖

為進(jìn)一步驗(yàn)證所得結(jié)論,探索基于不同卷積核尺寸與網(wǎng)絡(luò)層數(shù)的感受野尺寸,整理出下列感受野尺寸統(tǒng)計(jì)表。

表3 不同卷積核尺寸與網(wǎng)絡(luò)層數(shù)下感受野統(tǒng)計(jì)表

根據(jù)表3中感受野尺寸可以看出,感受野尺寸與標(biāo)準(zhǔn)序列長(zhǎng)度差異較大時(shí),神經(jīng)網(wǎng)絡(luò)不具備較好的漏洞檢測(cè)性能,通過增加網(wǎng)絡(luò)層數(shù)來加深深度,能夠有效縮短感受野尺寸與標(biāo)準(zhǔn)序列長(zhǎng)度之間的差異,大幅度提升算法的檢測(cè)性能。結(jié)合上述所有實(shí)驗(yàn)圖表數(shù)據(jù)后可知,在網(wǎng)絡(luò)過深導(dǎo)致過擬合現(xiàn)象發(fā)生時(shí),網(wǎng)絡(luò)增加至8層可以對(duì)該現(xiàn)象形成一定的抑制優(yōu)勢(shì),訓(xùn)練期數(shù)達(dá)到15輪后,8層網(wǎng)絡(luò)的測(cè)試集損失、準(zhǔn)確率、召回率以及誤報(bào)率指標(biāo)明顯更具優(yōu)越性,究其原因是此時(shí)的網(wǎng)絡(luò)擬合能力較弱,不足以引發(fā)過擬合現(xiàn)象出現(xiàn)。

基于超參數(shù)的綜合最佳結(jié)果統(tǒng)計(jì)表下列各表所示,用fpr表示誤報(bào)率指標(biāo),則綜合最佳結(jié)果c的界定表達(dá)式如下所示:

c=precision+recall-fpr

(12)

經(jīng)過整理CWE-117、CWE-366兩數(shù)據(jù)集與混合數(shù)據(jù)集的綜合最佳結(jié)果,得到各數(shù)據(jù)集對(duì)應(yīng)的結(jié)果統(tǒng)計(jì)表,如下所示。通過對(duì)比各類型數(shù)據(jù)集的綜合最佳數(shù)據(jù)結(jié)果發(fā)現(xiàn),基于相同規(guī)模的網(wǎng)絡(luò)深度,CWE-366數(shù)據(jù)集因漏洞較少,所以,具備更理想的綜合最佳結(jié)果。盡管其它兩種數(shù)據(jù)集漏洞更多,檢測(cè)難度更大,但根據(jù)對(duì)應(yīng)綜合最佳結(jié)果數(shù)據(jù)顯示,該檢測(cè)算法仍能夠滿足實(shí)際的漏洞檢測(cè)需求。

表4 CWE-117數(shù)據(jù)集綜合最佳結(jié)果統(tǒng)計(jì)表

表5 CWE-366數(shù)據(jù)集綜合最佳結(jié)果統(tǒng)計(jì)表

表6 混合數(shù)據(jù)集綜合最佳結(jié)果統(tǒng)計(jì)表

為驗(yàn)證算法有效性,分別采用文獻(xiàn)[3]、[4]方法對(duì)CWE-117數(shù)據(jù)集、CWE-366數(shù)據(jù)集以及混合數(shù)據(jù)集展開漏洞檢測(cè),獲取各方法的綜合最佳結(jié)果,將求取的平均值與本文算法結(jié)果均值進(jìn)行對(duì)比,如表7所示。

表7 各方法不同種類數(shù)據(jù)集的綜合最佳結(jié)果比對(duì)表

通過對(duì)比各方法基于不同數(shù)據(jù)集的綜合最佳結(jié)果可以看出,相對(duì)于文獻(xiàn)[3]、[4]方法,本文算法的綜合最佳結(jié)果相對(duì)更高,說明在檢測(cè)各類數(shù)據(jù)集漏洞的過程中具有較為理想的算法性能,這是因?yàn)楸疚乃惴ú捎靡?guī)則的采樣網(wǎng)格與大小同于輸入層的偏移量,基于可變形卷積的池化變形形式,利用一樣的卷積核進(jìn)行并行的卷積運(yùn)算,同時(shí)處理所有輸入序列,通過堆疊較多的擴(kuò)張卷積層、增大擴(kuò)張系數(shù)以及增加卷積核尺寸,增加感受野尺寸的靈活度與算法適應(yīng)性,使算法的漏洞檢測(cè)效果與穩(wěn)定性得到整體提升。

4 結(jié)論

1)以可變形卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),提出一種軟件漏洞檢測(cè)方法,當(dāng)訓(xùn)練疊加至13期后,網(wǎng)絡(luò)的過擬合現(xiàn)象開始突顯,準(zhǔn)確率、召回率以及誤報(bào)率指標(biāo)數(shù)據(jù)均逐漸上升,可以保證算法的可擴(kuò)展性。

2)訓(xùn)練期數(shù)達(dá)到15輪后,8層網(wǎng)絡(luò)的測(cè)試集損失、準(zhǔn)確率、召回率以及誤報(bào)率指標(biāo)明顯更具優(yōu)越性,以滿足行業(yè)安全的迫切需求。

3)在今后的研究工作中,應(yīng)探索出一種介于中間且保留程序語義的固定規(guī)則表示方法,使其不受編程語言與硬件平臺(tái)的限制,保證輸入數(shù)據(jù)的理想性;在檢測(cè)算法中將不同的漏洞種類劃分成一類異常組,為后續(xù)的漏洞修復(fù)處理提供有效的補(bǔ)充信息,引用生成對(duì)抗網(wǎng)絡(luò),實(shí)現(xiàn)漏洞修復(fù);需嘗試結(jié)合新型的技術(shù)與算法,進(jìn)一步提升檢測(cè)算法的精準(zhǔn)度與智能化。

猜你喜歡
漏洞卷積尺寸
漏洞
基于全卷積神經(jīng)網(wǎng)絡(luò)的豬背膘厚快速準(zhǔn)確測(cè)定
CIIE Shows Positive Energy of Chinese Economy
一種基于卷積神經(jīng)網(wǎng)絡(luò)的地磁基準(zhǔn)圖構(gòu)建方法
基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
一種并行不對(duì)稱空洞卷積模塊①
偵探推理游戲(二)
漏洞在哪兒
佳石選賞
佳石選賞
灵石县| 贞丰县| 洱源县| 东乌| 江门市| 麻城市| 固安县| 开江县| 德安县| 临沧市| 巴里| 庆安县| 富民县| 长丰县| 南溪县| 合山市| 普定县| 洪雅县| 正安县| 巴青县| 濮阳县| 兰考县| 灯塔市| 桓仁| 乐清市| 洛隆县| 唐河县| 绍兴市| 波密县| 肥城市| 金昌市| 建德市| 唐海县| 青浦区| 青州市| 琼结县| 博野县| 乌审旗| 高密市| 张家港市| 乌拉特中旗|