[發(fā)明專(zhuān)利]一種基于深度特征的細(xì)粒度漏洞檢測(cè)方法有效
| 申請(qǐng)?zhí)枺?/td> | 201811340404.X | 申請(qǐng)日: | 2018-11-12 |
| 公開(kāi)(公告)號(hào): | CN109657473B | 公開(kāi)(公告)日: | 2020-09-18 |
| 發(fā)明(設(shè)計(jì))人: | 鄒德清;王蘇娟;金海;李珍 | 申請(qǐng)(專(zhuān)利權(quán))人: | 華中科技大學(xué) |
| 主分類(lèi)號(hào): | G06F21/57 | 分類(lèi)號(hào): | G06F21/57;G06F40/211;G06F16/35;G06N3/04 |
| 代理公司: | 華中科技大學(xué)專(zhuān)利中心 42201 | 代理人: | 曹葆青;李智 |
| 地址: | 430074 湖北*** | 國(guó)省代碼: | 湖北;42 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 深度 特征 細(xì)粒度 漏洞 檢測(cè) 方法 | ||
1.一種基于深度特征的細(xì)粒度漏洞檢測(cè)方法,其特征在于,包括如下步驟:
S1,訓(xùn)練階段:
收集訓(xùn)練程序,從訓(xùn)練程序中提取出程序切片,并給程序切片打上對(duì)應(yīng)的標(biāo)簽,所述標(biāo)簽包括:該程序切片有無(wú)漏洞、如有漏洞其對(duì)應(yīng)的漏洞屬性;
遍歷所述訓(xùn)練程序中的所有語(yǔ)句,根據(jù)當(dāng)前遍歷到的語(yǔ)句在所述程序切片中對(duì)應(yīng)的語(yǔ)句類(lèi)型從所述程序切片中提取程序關(guān)注點(diǎn),根據(jù)所述程序切片和程序關(guān)注點(diǎn)得到最終的訓(xùn)練數(shù)據(jù);
初步搭建基于深度學(xué)習(xí)的漏洞檢測(cè)模型,以通過(guò)融合程序切片和程序關(guān)注點(diǎn)中的特征來(lái)檢測(cè)漏洞,將所述訓(xùn)練數(shù)據(jù)和訓(xùn)練數(shù)據(jù)包括的程序切片對(duì)應(yīng)的標(biāo)簽輸入初步搭建的基于深度學(xué)習(xí)的漏洞檢測(cè)模型,根據(jù)輸出的訓(xùn)練數(shù)據(jù)對(duì)應(yīng)的檢測(cè)結(jié)果和程序切片對(duì)應(yīng)的標(biāo)簽調(diào)整漏洞檢測(cè)模型的參數(shù),以使得漏洞檢測(cè)模型的檢測(cè)結(jié)果達(dá)到最優(yōu),基于調(diào)整好的漏洞檢測(cè)模型的參數(shù)得到訓(xùn)練完備的基于深度學(xué)習(xí)的漏洞檢測(cè)模型;
步驟S1包括以下步驟:
S1.1,收集訓(xùn)練程序,對(duì)所述訓(xùn)練程序進(jìn)行預(yù)處理,將所述訓(xùn)練程序的源代碼解析成程序依賴圖的格式,再?gòu)某绦蛞蕾噲D中提取出程序切片;
S1.2,按照程序切片有無(wú)漏洞和漏洞的屬性給程序切片打上標(biāo)簽;
S1.3,遍歷訓(xùn)練程序中的所有語(yǔ)句,根據(jù)當(dāng)前遍歷到的語(yǔ)句在所述程序切片中對(duì)應(yīng)的語(yǔ)句類(lèi)型從所述程序切片中提取程序關(guān)注點(diǎn);
S1.4,解析程序切片和程序關(guān)注點(diǎn)中每條語(yǔ)句的成分,提取出其中的變量名和函數(shù)名,規(guī)范這些變量名和函數(shù)名的命名格式,消除不一致的代碼命名規(guī)范;
S1.5,將程序切片和程序關(guān)注點(diǎn)分別轉(zhuǎn)化為數(shù)字化表征對(duì)應(yīng)的向量;
S1.6,初步搭建基于深度學(xué)習(xí)的漏洞檢測(cè)模型,該漏洞檢測(cè)模型通過(guò)融合程序切片和程序關(guān)注點(diǎn)中的特征來(lái)檢測(cè)漏洞,用步驟S1.5中生成的向量訓(xùn)練該漏洞檢測(cè)模型,根據(jù)輸出的向量對(duì)應(yīng)的檢測(cè)結(jié)果和步驟S1.2打上的標(biāo)簽調(diào)整漏洞檢測(cè)模型的參數(shù),以使得漏洞檢測(cè)模型的檢測(cè)結(jié)果達(dá)到最優(yōu),得到一個(gè)訓(xùn)練完備的基于深度學(xué)習(xí)的漏洞檢測(cè)模型;
S2,檢測(cè)階段:
按照訓(xùn)練階段中源代碼的處理方式,從待測(cè)程序中提取對(duì)應(yīng)的程序切片和程序關(guān)注點(diǎn),得到檢測(cè)數(shù)據(jù);
將檢測(cè)數(shù)據(jù)輸入所述訓(xùn)練完備的基于深度學(xué)習(xí)的漏洞檢測(cè)模型進(jìn)行檢測(cè),根據(jù)檢測(cè)結(jié)果生成對(duì)應(yīng)的漏洞檢測(cè)報(bào)告,所述漏洞檢測(cè)報(bào)告包括待檢測(cè)程序是否包含漏洞以及若包含漏洞其對(duì)應(yīng)的漏洞屬性。
2.根據(jù)權(quán)利要求1所述的細(xì)粒度漏洞檢測(cè)方法,其特征在于,步驟S1.1包括以下步驟:
S1.1.1,解析每個(gè)訓(xùn)練程序,生成每個(gè)訓(xùn)練程序的程序依賴圖G;
S1.1.2,定位程序依賴圖G中包含危險(xiǎn)函數(shù)調(diào)用語(yǔ)句的節(jié)點(diǎn)p;
S1.1.3,從節(jié)點(diǎn)p出發(fā),從程序依賴圖G中提取出所有和節(jié)點(diǎn)p有直接和間接依賴關(guān)系的節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)集合,獲取所述節(jié)點(diǎn)集合中的代碼語(yǔ)句,生成對(duì)應(yīng)的程序切片S;所述直接和間接依賴關(guān)系包括直接或者間接的數(shù)據(jù)依賴關(guān)系和直接或者間接的控制依賴關(guān)系。
3.根據(jù)權(quán)利要求1所述的細(xì)粒度漏洞檢測(cè)方法,其特征在于,步驟S1.3中根據(jù)當(dāng)前遍歷到的語(yǔ)句在所述程序切片中對(duì)應(yīng)的語(yǔ)句類(lèi)型從所述程序切片中提取程序關(guān)注點(diǎn),具體包括:
如果當(dāng)前遍歷到的語(yǔ)句在程序切片中是危險(xiǎn)函數(shù)調(diào)用參數(shù)的定義語(yǔ)句,則提取出來(lái)作為程序關(guān)注點(diǎn);
如果當(dāng)前遍歷到的語(yǔ)句在程序切片中是條件語(yǔ)句,則提取出來(lái)作為程序關(guān)注點(diǎn);
如果當(dāng)前遍歷到的語(yǔ)句在程序切片中是危險(xiǎn)函數(shù)調(diào)用語(yǔ)句,則提取出來(lái)作為程序關(guān)注點(diǎn)。
4.根據(jù)權(quán)利要求1所述的細(xì)粒度漏洞檢測(cè)方法,其特征在于,步驟S1.4包括以下步驟:
S1.4.1,將程序切片解析成token流;
S1.4.2,分析每個(gè)token在訓(xùn)練程序所包括的語(yǔ)句中的成分,提取出每個(gè)token對(duì)應(yīng)的變量標(biāo)識(shí)符和自定義的函數(shù)名標(biāo)識(shí)符,將變量標(biāo)識(shí)符和自定義函數(shù)名標(biāo)識(shí)符用統(tǒng)一的變量和函數(shù)名的命名方式替換。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于華中科技大學(xué),未經(jīng)華中科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811340404.X/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
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ò)程
- 一種管理和傳送細(xì)粒度業(yè)務(wù)的方法
- 基于CPU硬件性能監(jiān)控計(jì)數(shù)器的CPI精確測(cè)量方法
- 一種基于改進(jìn)YOLOv3的細(xì)粒度圖像分類(lèi)方法
- 細(xì)粒度對(duì)象流量分析方法和裝置
- 一種基于點(diǎn)云數(shù)據(jù)建模的方法、裝置和電子設(shè)備
- 細(xì)粒度圖像分類(lèi)方法、系統(tǒng)、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 基于圖像卷積特征的復(fù)雜背景下害蟲(chóng)細(xì)粒度圖像識(shí)別方法
- 一種細(xì)粒度分類(lèi)模型的優(yōu)化方法、系統(tǒng)及相關(guān)裝置
- 一種結(jié)合注意力混合裁剪的細(xì)粒度圖像識(shí)別方法
- 基于分級(jí)式結(jié)構(gòu)的細(xì)粒度視頻動(dòng)作識(shí)別方法





