999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于可變形卷積神經網絡的軟件漏洞檢測算法

2021-11-17 03:59:42林若欽
計算機仿真 2021年3期
關鍵詞:檢測

林若欽,羅 瓊

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

1 引言

軟件系統廣泛應用于各類生產、生活領域中,其開發過程中需要考慮的首要問題就是安全性,軟件漏洞既會使資源產生不必要的消耗,也會嚴重損失應用行業的經濟財產[1-2]。漏洞通常比較隱秘,而且與正常的程序數據沒有明顯差異,想又快又準地找到軟件中存在的漏洞并非一件易事,因此,研究一種有效的軟件漏洞檢測算法具有一定的必要性。

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

由于上述方法無法應對軟件漏洞變化,所以,本文對文獻方法取長補短,提出一種可變形卷積神經網絡的軟件漏洞檢測方法,其創新之處在于利用可變形卷積神經網絡的反向傳播路徑,抑制梯度爆炸與梯度消失等問題發生,憑借激活函數與殘差單元,提升訓練梯度穩定性,因卷積神經網絡中可以實現卷積核共享,網絡深度決定著反向傳播路徑長度,所以,能夠大幅降低算法在檢測軟件漏洞時的內存消耗。

2 基于可變形卷積神經網絡的軟件漏洞檢測

2.1 可變形卷積神經網絡

在一個子網絡中添加輸入的軟件漏洞特征U,該子網絡由卷積層、全連接層等架構而成,得到定位網絡的空間變換參數θ。為獲取基于輸入特征U坐標方位的輸出漏洞特征X坐標點[5],將空間變換參數θ通過網格生成器變為一個參數化采樣網格[6]。

利用雙線性插值采樣網格生成器的采樣點坐標[7],求解對應軟件漏洞特征數值,計算公式如下所示

(1)

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

2.2 軟件漏洞檢測

基于構建的可變形卷積網絡,采用規則的采樣網格R,完成輸入特征映射x的采樣,經過權值ω與采樣值做積后,計算所有乘積的總和。可變形卷積神經網絡下軟件漏洞檢測算法以n×n規格的標準卷積核為基礎,設定輸出漏洞特征X的任意點為p0,基于神經元輸出形式的界定,推導出軟件漏洞特征點在可變形卷積神經網絡下的表達式,如下所示

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

(2)

式中,采樣網格R包含的任意采樣點為pn。

規則采樣網格R在可變形卷積神經網絡中會受到偏移量的變化影響,令偏移量大小與輸入層大小相同,通過卷積漏洞偏移,實現采樣點優化。因此,將一組滿足{Δpn|n=1,2,…,N}的偏移量Δpn代入上式中,得到下列表達式

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

(3)

式中,N=|R|,采樣點用pn+Δpn表示。

一般情況下,偏移采樣點會在不規則網格中發生偏移,確保采樣點坐標始終是一個整數形式存在一定難度,導致偏移量Δpn的取值通常是一個小數,所以,利用雙線性插值方法來求解偏移量Δpn,計算公式如下所示

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

(4)

式中,偏移量取值為小數時的任意采樣點方位用p表示,表達式如下所示

p=p0+pn+Δpn

(5)

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

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

(6)

式中,函數g(qn,pn)的運算規則表達式如下所示

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

(7)

針對可變形卷積的池化變形形式,其表達式如下所示

(8)

3 軟件漏洞檢測模擬分析

3.1 實驗環境與評估指標

表1所示為實驗的相關硬件配置與軟件應用環境。

表1 實驗環境

實驗數據集由CWE-117與CWE-366組成。為確保軟件程序正常運行,采用checkmarx處理數據集所含代碼數據,人工審核數據標簽,并對較長和發生錯誤截斷的樣本進行剔除。CWE-117數據集與CWE-366數據集分別是緩沖區溢出漏洞與脆弱性漏洞[8-9],兩數據集混合后含有多個數據特征,檢測復雜度較大。實驗數據集的具體信息如表2所示。

表2 數據集統計表

選用準確率precision、召回率[10]recall以及綜合指標F1,評價檢測算法性能,各指標界定公式分別如下所示

(9)

(10)

(11)

式中,TP為真正例,表示正確檢測的漏洞數量,FP為假正例,表示檢測錯誤的漏洞數量,FN為假負例,表示檢測錯誤的非漏洞數量。

3.2 神經網絡層數對檢測算法的影響

選取混合數據集作為漏洞檢測對象,通過記錄遞增卷積核尺寸下不同網絡層數的指標數據,驗證本文算法性能。

當卷積核尺寸取值為2,網絡層數不斷增加時,本文算法的訓練集與測試集損失曲線如圖1所示。

圖1 卷積核尺寸取2時損失指標

根據圖1中的曲線走勢可以看出,當訓練集與測試集的網絡層數增加到7層時,損失最大,訓練集的網絡層數增加到9層時,損失最小,而測試集其它網絡層數所產生的損失較為接近,訓練期數過多有可能引發過擬合現象[11-12]。

從圖2所示的相同卷積核尺寸下算法準確率與召回率曲線形式可以看出,當網絡層數取值7時,準確率與召回率都呈現出較差的水平趨勢,而且在訓練期數達到一定數量后,兩指標數據均有明顯下降。

圖2 卷積核尺寸取2時準確率與召回率

根據該卷積核尺寸的誤報率示意圖,如圖3所示,發現網絡層數為7時,誤報率數值有明顯增加,但其它層數對算法性能影響不大,訓練期數仍會導致過擬合問題發生。

圖3 卷積核尺寸取2時誤報率

卷積核尺寸取4時不同網絡層數的各項指標數據曲線走勢分別如圖4所示。從訓練集與測試集損失曲線圖中可以看出,當網絡層數增加到6層時,損失最大,其它網絡層數所產生的損失相差無幾,訓練期數不斷增加后發生了欠擬合現象,準確率與召回率指標數值也始終處于最低值,其它網絡層數的準確率與召回率指標數值較為接近,而誤報率指標未受到網絡層數與訓練期數的太大影響,各網絡層數的誤報率均不存在顯著差異。

圖4 卷積核尺寸取4時各指標曲線圖

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

圖5 卷積核尺寸取6時損失指標

通過準確率、召回率以及誤報率指標曲線(如圖6所示)可知,在網絡深度相同的情況下,較大尺寸卷積核的網絡參數規模大于較小尺寸卷積核的規模,因此,卷積核尺寸較大時的網絡劣勢相對顯著。當訓練疊加至13期后,網絡的過擬合現象開始突顯,準確率、召回率以及誤報率指標數據均逐漸上升,網絡層數過多將引發過擬合現象提前,這與前幾種尺寸的卷積核對應指標情況相符合。

圖6 卷積核尺寸取6時其它指標示意圖

為進一步驗證所得結論,探索基于不同卷積核尺寸與網絡層數的感受野尺寸,整理出下列感受野尺寸統計表。

表3 不同卷積核尺寸與網絡層數下感受野統計表

根據表3中感受野尺寸可以看出,感受野尺寸與標準序列長度差異較大時,神經網絡不具備較好的漏洞檢測性能,通過增加網絡層數來加深深度,能夠有效縮短感受野尺寸與標準序列長度之間的差異,大幅度提升算法的檢測性能。結合上述所有實驗圖表數據后可知,在網絡過深導致過擬合現象發生時,網絡增加至8層可以對該現象形成一定的抑制優勢,訓練期數達到15輪后,8層網絡的測試集損失、準確率、召回率以及誤報率指標明顯更具優越性,究其原因是此時的網絡擬合能力較弱,不足以引發過擬合現象出現。

基于超參數的綜合最佳結果統計表下列各表所示,用fpr表示誤報率指標,則綜合最佳結果c的界定表達式如下所示:

c=precision+recall-fpr

(12)

經過整理CWE-117、CWE-366兩數據集與混合數據集的綜合最佳結果,得到各數據集對應的結果統計表,如下所示。通過對比各類型數據集的綜合最佳數據結果發現,基于相同規模的網絡深度,CWE-366數據集因漏洞較少,所以,具備更理想的綜合最佳結果。盡管其它兩種數據集漏洞更多,檢測難度更大,但根據對應綜合最佳結果數據顯示,該檢測算法仍能夠滿足實際的漏洞檢測需求。

表4 CWE-117數據集綜合最佳結果統計表

表5 CWE-366數據集綜合最佳結果統計表

表6 混合數據集綜合最佳結果統計表

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

表7 各方法不同種類數據集的綜合最佳結果比對表

通過對比各方法基于不同數據集的綜合最佳結果可以看出,相對于文獻[3]、[4]方法,本文算法的綜合最佳結果相對更高,說明在檢測各類數據集漏洞的過程中具有較為理想的算法性能,這是因為本文算法采用規則的采樣網格與大小同于輸入層的偏移量,基于可變形卷積的池化變形形式,利用一樣的卷積核進行并行的卷積運算,同時處理所有輸入序列,通過堆疊較多的擴張卷積層、增大擴張系數以及增加卷積核尺寸,增加感受野尺寸的靈活度與算法適應性,使算法的漏洞檢測效果與穩定性得到整體提升。

4 結論

1)以可變形卷積神經網絡為基礎,提出一種軟件漏洞檢測方法,當訓練疊加至13期后,網絡的過擬合現象開始突顯,準確率、召回率以及誤報率指標數據均逐漸上升,可以保證算法的可擴展性。

2)訓練期數達到15輪后,8層網絡的測試集損失、準確率、召回率以及誤報率指標明顯更具優越性,以滿足行業安全的迫切需求。

3)在今后的研究工作中,應探索出一種介于中間且保留程序語義的固定規則表示方法,使其不受編程語言與硬件平臺的限制,保證輸入數據的理想性;在檢測算法中將不同的漏洞種類劃分成一類異常組,為后續的漏洞修復處理提供有效的補充信息,引用生成對抗網絡,實現漏洞修復;需嘗試結合新型的技術與算法,進一步提升檢測算法的精準度與智能化。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數的乘除法”檢測題
“有理數”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 毛片基地视频| 亚洲国产欧美目韩成人综合| 日韩性网站| 亚洲AV无码久久天堂| 日韩国产高清无码| 97综合久久| 国产精品第一区在线观看| 亚洲欧美在线综合一区二区三区| 久久久久久尹人网香蕉| 国产男女免费视频| 91丝袜美腿高跟国产极品老师| 国产日产欧美精品| 日本欧美视频在线观看| 亚洲av无码片一区二区三区| 午夜精品区| 国产亚洲欧美在线专区| 国产精品一线天| 国产免费黄| 激情亚洲天堂| 91精品国产丝袜| 久久这里只精品国产99热8| 国产成人一二三| 无码高潮喷水专区久久| 亚洲AV色香蕉一区二区| 国产99久久亚洲综合精品西瓜tv| 亚洲不卡网| 91精品国产福利| 欧美激情视频二区三区| 99久久人妻精品免费二区| 在线国产毛片手机小视频| 久久国产乱子伦视频无卡顿| 浮力影院国产第一页| 欧美第九页| 亚洲AV成人一区二区三区AV| 免费毛片视频| 中文国产成人精品久久| 一级片一区| 日本高清有码人妻| 日韩精品亚洲一区中文字幕| 麻豆国产精品一二三在线观看| 婷婷伊人五月| 亚洲品质国产精品无码| 日本精品影院| 日韩精品毛片人妻AV不卡| 中文字幕在线日韩91| 小说 亚洲 无码 精品| 日韩无码视频网站| 天堂网国产| 午夜国产大片免费观看| 538国产视频| jizz国产视频| 在线播放国产一区| 国产精品浪潮Av| 亚洲欧美日韩成人在线| 中文字幕在线欧美| 女人av社区男人的天堂| 成人在线天堂| 国产精品国产主播在线观看| 最新国产午夜精品视频成人| 中文字幕无码av专区久久| 精品国产成人高清在线| 国产色偷丝袜婷婷无码麻豆制服| 91人妻在线视频| 精品国产福利在线| 亚洲中文制服丝袜欧美精品| 漂亮人妻被中出中文字幕久久| 欧美中文字幕在线播放| 成人久久精品一区二区三区| 国产在线精品人成导航| 亚洲国产天堂在线观看| 91久久偷偷做嫩草影院精品| 亚洲精品老司机| 日韩美一区二区| a免费毛片在线播放| 扒开粉嫩的小缝隙喷白浆视频| 免费看a级毛片| 亚洲成年网站在线观看| 特级毛片8级毛片免费观看| 久久天天躁狠狠躁夜夜躁| 国产在线观看第二页| 亚洲欧洲日韩综合色天使| 人妻少妇乱子伦精品无码专区毛片|