[發(fā)明專利]一種基于程序切片和圖神經(jīng)網(wǎng)絡(luò)的多類漏洞檢測(cè)方法在審
| 申請(qǐng)?zhí)枺?/td> | 202210904602.4 | 申請(qǐng)日: | 2022-07-29 |
| 公開(kāi)(公告)號(hào): | CN115357904A | 公開(kāi)(公告)日: | 2022-11-18 |
| 發(fā)明(設(shè)計(jì))人: | 陶傳奇;王明珂;郭虹靜 | 申請(qǐng)(專利權(quán))人: | 南京航空航天大學(xué) |
| 主分類號(hào): | G06F21/57 | 分類號(hào): | G06F21/57;G06F21/56;G06K9/62;G06N3/04;G06N3/08 |
| 代理公司: | 江蘇圣典律師事務(wù)所 32237 | 代理人: | 賀翔 |
| 地址: | 211106 江*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 程序 切片 神經(jīng)網(wǎng)絡(luò) 漏洞 檢測(cè) 方法 | ||
本發(fā)明公開(kāi)了一種基于程序切片和圖神經(jīng)網(wǎng)絡(luò)的多類漏洞檢測(cè)方法,步驟如下:構(gòu)建循環(huán)代碼漏洞數(shù)據(jù)集;構(gòu)建系統(tǒng)依賴子圖;對(duì)所述靜態(tài)切片集合進(jìn)行規(guī)范化操作,作為系統(tǒng)依賴子圖中對(duì)應(yīng)節(jié)點(diǎn)包含的字段信息;將系統(tǒng)依賴子圖的每個(gè)節(jié)點(diǎn)表示為固定長(zhǎng)度的多維連續(xù)向量,作為系統(tǒng)依賴子圖的節(jié)點(diǎn)的初始節(jié)點(diǎn)表示;訓(xùn)練基于門(mén)控圖神經(jīng)網(wǎng)絡(luò)的循環(huán)代碼漏洞挖掘模型,檢測(cè)輸入代碼段是否存在漏洞以及所屬的漏洞類型。本發(fā)明的方法定義了循環(huán)代碼漏洞所需要提取的代碼漏洞特征,包括代碼語(yǔ)法語(yǔ)義信息以及循環(huán)代碼的類別信息;并將建模后得到的代碼圖使用門(mén)控圖神經(jīng)網(wǎng)絡(luò)對(duì)代碼特征進(jìn)行矢量化處理,以增強(qiáng)特征的表示能力。
技術(shù)領(lǐng)域
本發(fā)明屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,具體涉及一種基于程序切片和圖神經(jīng)網(wǎng)絡(luò)的多類漏洞檢測(cè)方法。
背景技術(shù)
軟件系統(tǒng)已經(jīng)成為現(xiàn)代社會(huì)的重要基礎(chǔ)設(shè)施。隨著企業(yè)應(yīng)用、航空航天、指揮控制、城市交通等重要國(guó)家產(chǎn)業(yè)領(lǐng)域向軟件密集型發(fā)展,軟件規(guī)模和復(fù)雜性不斷增大在軟件大量應(yīng)用的同時(shí),由于代碼實(shí)現(xiàn)不當(dāng)引起的軟件質(zhì)量問(wèn)題也層出不窮。許多網(wǎng)絡(luò)攻擊源于軟件漏洞,盡管在追求安全編程方面已經(jīng)做出了努力,但軟件漏洞仍然是一個(gè)重大問(wèn)題。漏洞挖掘能夠?qū)崿F(xiàn)對(duì)程序的安全性分析,及時(shí)發(fā)現(xiàn)軟件中存在的安全漏洞,從而提高軟件的安全性。而循環(huán)代碼作為系統(tǒng)的基礎(chǔ)代碼,因其獨(dú)有的循環(huán)機(jī)制和復(fù)雜的程序結(jié)構(gòu),容易引發(fā)死循環(huán)、內(nèi)存泄漏等各種安全漏洞。如何更加高效地保障系統(tǒng)中循環(huán)代碼的安全,近年來(lái)也成為一個(gè)研究熱點(diǎn)。
傳統(tǒng)的基于規(guī)則的漏洞檢測(cè)方法有兩個(gè)主要缺點(diǎn):需要大量的體力勞動(dòng)和較高的誤報(bào)率。最近已有大量工作表明基于深度學(xué)習(xí)的方法可以顯著提高自動(dòng)化漏洞檢測(cè)的性能,該方法將以各種形式表示代碼的語(yǔ)法和語(yǔ)義信息,以提取與漏洞相關(guān)的特征,并通過(guò)深度學(xué)習(xí)模型矢量化代碼漏洞特征,增強(qiáng)特征的表示能力,最后通過(guò)訓(xùn)練分類器來(lái)進(jìn)行漏洞檢測(cè)工作。然而,目前基于深度學(xué)習(xí)的漏洞檢測(cè)方法仍存在一定局限性,包括:
(1)無(wú)法充分地建模代碼漏洞特征,且無(wú)法聚焦于關(guān)鍵漏洞特征信息。現(xiàn)有的基于深度學(xué)習(xí)的漏洞檢測(cè)大多將源代碼視為一個(gè)扁平的序列,或只使用部分信息來(lái)表示,導(dǎo)致其在面對(duì)漏洞特征不明顯的漏洞時(shí),無(wú)法準(zhǔn)確地進(jìn)行挖掘。
(2)缺少專門(mén)針對(duì)循環(huán)代碼漏洞的特征提取及漏洞檢測(cè)方法。在包含復(fù)雜循環(huán)的軟件代碼場(chǎng)景下,高復(fù)雜循環(huán)代碼的海量迭代、執(zhí)行過(guò)程復(fù)雜,循環(huán)嵌套導(dǎo)致分析的復(fù)雜度提升,在真實(shí)運(yùn)行環(huán)境下對(duì)復(fù)雜軟件循環(huán)代碼進(jìn)行安全性分析成本消耗大、周期長(zhǎng)。如何處理循環(huán)代碼,開(kāi)展循環(huán)安全性分析存在巨大挑戰(zhàn)。
(3)基于序列的模型無(wú)法處理圖的拓?fù)湫畔?。卷積神經(jīng)網(wǎng)絡(luò)(CNN)和遞歸神經(jīng)網(wǎng)絡(luò)(RNN)等基于序列的模型在代碼表示中不能處理圖的非序列特征,導(dǎo)致圖結(jié)構(gòu)特有的拓?fù)湫畔p失。
發(fā)明內(nèi)容
針對(duì)于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種基于程序切片和圖神經(jīng)網(wǎng)絡(luò)的多類漏洞檢測(cè)方法,以解決現(xiàn)有深度學(xué)習(xí)方法無(wú)法充分建模循環(huán)代碼漏洞特征以及無(wú)法處理圖結(jié)構(gòu)拓?fù)湫畔⒌膯?wèn)題。本發(fā)明的方法定義了循環(huán)代碼漏洞所需要提取的代碼漏洞特征,包括代碼語(yǔ)法語(yǔ)義信息以及循環(huán)代碼的類別信息;并將建模后得到的代碼圖使用門(mén)控圖神經(jīng)網(wǎng)絡(luò)對(duì)代碼特征進(jìn)行矢量化處理,以增強(qiáng)特征的表示能力。
為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案如下:
本發(fā)明的一種基于程序切片和圖神經(jīng)網(wǎng)絡(luò)的多類漏洞檢測(cè)方法,步驟如下:
1)從漏洞數(shù)據(jù)庫(kù)中采集存在漏洞的循環(huán)代碼,構(gòu)建循環(huán)代碼漏洞數(shù)據(jù)集;
2)根據(jù)循環(huán)代碼段的控制依賴關(guān)系和數(shù)據(jù)依賴關(guān)系生成系統(tǒng)依賴圖,識(shí)別系統(tǒng)依賴圖中的敏感操作語(yǔ)句的節(jié)點(diǎn),以敏感操作語(yǔ)句為起點(diǎn)生成靜態(tài)切片集合,構(gòu)建系統(tǒng)依賴子圖;
3)對(duì)所述靜態(tài)切片集合進(jìn)行規(guī)范化操作,作為系統(tǒng)依賴子圖中對(duì)應(yīng)節(jié)點(diǎn)包含的字段信息;
4)將系統(tǒng)依賴子圖的每個(gè)節(jié)點(diǎn)表示為固定長(zhǎng)度的向量,作為系統(tǒng)依賴子圖的節(jié)點(diǎn)的初始節(jié)點(diǎn)表示;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京航空航天大學(xué),未經(jīng)南京航空航天大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210904602.4/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤(pán)或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開(kāi)發(fā)支持裝置、程序開(kāi)發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>
- 網(wǎng)絡(luò)切片的管理方法及系統(tǒng)和存儲(chǔ)介質(zhì)
- 一種確定磁盤(pán)快照數(shù)據(jù)切片的引用次數(shù)的方法和裝置
- 一種手動(dòng)厚度可調(diào)的藥材切片裝置
- 一種藥材切片機(jī)的切片厚度手動(dòng)調(diào)節(jié)方法
- 一種網(wǎng)絡(luò)切片的處理方法及接入網(wǎng)網(wǎng)元
- 切片處理方法、系統(tǒng)及切片掃描裝置、切片分析裝置
- 一種用于切片掃描的切片夾持裝置
- 用于切片掃描的切片夾持裝置
- 一種基于網(wǎng)絡(luò)自協(xié)商的動(dòng)態(tài)切片管理方法與裝置
- 網(wǎng)絡(luò)切片管理方法、裝置、網(wǎng)絡(luò)設(shè)備和存儲(chǔ)介質(zhì)
- 硬件神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法、計(jì)算裝置、軟硬件協(xié)作系統(tǒng)
- 生成較大神經(jīng)網(wǎng)絡(luò)
- 神經(jīng)網(wǎng)絡(luò)的生成方法、生成裝置和電子設(shè)備
- 一種舌診方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
- 脈沖神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法及相關(guān)轉(zhuǎn)換芯片
- 圖像處理方法、裝置、可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)設(shè)備
- 一種適應(yīng)目標(biāo)數(shù)據(jù)集的網(wǎng)絡(luò)模型微調(diào)方法、系統(tǒng)、終端和存儲(chǔ)介質(zhì)
- 用于重構(gòu)人工神經(jīng)網(wǎng)絡(luò)的處理器及其操作方法、電氣設(shè)備
- 一種圖像神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化方法及裝置





