[發(fā)明專(zhuān)利]一種基于文本深度學(xué)習(xí)的軟件安全漏洞預(yù)測(cè)方法在審
| 申請(qǐng)?zhí)枺?/td> | 201810353774.0 | 申請(qǐng)日: | 2018-04-19 |
| 公開(kāi)(公告)號(hào): | CN108549817A | 公開(kāi)(公告)日: | 2018-09-18 |
| 發(fā)明(設(shè)計(jì))人: | 危勝軍;鐘浩;單純;胡昌振;牛中盈 | 申請(qǐng)(專(zhuān)利權(quán))人: | 北京理工大學(xué);北京計(jì)算機(jī)技術(shù)及應(yīng)用研究所 |
| 主分類(lèi)號(hào): | G06F21/57 | 分類(lèi)號(hào): | G06F21/57;G06F17/30;G06F17/27 |
| 代理公司: | 北京理工大學(xué)專(zhuān)利中心 11120 | 代理人: | 高燕燕 |
| 地址: | 100081 *** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 軟件安全漏洞 神經(jīng)網(wǎng)絡(luò)模型 軟件源代碼 預(yù)測(cè) 文本 分類(lèi)器 學(xué)習(xí) 源代碼 機(jī)器學(xué)習(xí)算法 結(jié)構(gòu)性特征 安全漏洞 軟件模塊 文本特征 學(xué)習(xí)軟件 訓(xùn)練調(diào)整 預(yù)測(cè)模型 漏洞 淺層 | ||
本發(fā)明為一種基于文本深度學(xué)習(xí)的軟件安全漏洞預(yù)測(cè)方法,采用深度神經(jīng)網(wǎng)絡(luò)模型和淺層機(jī)器學(xué)習(xí)算法從歷史軟件源代碼文本中學(xué)習(xí)特征和知識(shí),能夠用于對(duì)新的軟件源代碼中的安全漏洞進(jìn)行預(yù)測(cè)。本發(fā)明采用深度神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)軟件源代碼文本特征中的結(jié)構(gòu)性特征,將學(xué)習(xí)到的特征作為分類(lèi)器的輸入,對(duì)分類(lèi)器進(jìn)行訓(xùn)練調(diào)整,獲得最優(yōu)的漏洞預(yù)測(cè)模型,用于該軟件的新的軟件模塊的漏洞預(yù)測(cè)。
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于文本深度學(xué)習(xí)的軟件安全漏洞預(yù)測(cè)方法,屬于軟件安全漏洞預(yù)測(cè)技術(shù)領(lǐng)域。
背景技術(shù)
軟件安全漏洞預(yù)測(cè)能夠預(yù)先獲知軟件源代碼模塊中存在軟件漏洞的可能性或者數(shù)量,軟件開(kāi)發(fā)者根據(jù)預(yù)測(cè)結(jié)果,可將有限的時(shí)間和經(jīng)費(fèi)有針對(duì)性投入到那些存在漏洞可能性高的和數(shù)量多的軟件模塊的測(cè)試中,以此提高軟件測(cè)試的效率。
目前,常用的軟件漏洞預(yù)測(cè)采用淺層機(jī)器學(xué)習(xí)方法建立軟件漏洞預(yù)測(cè)模型,建立過(guò)程如圖1所示:
①軟件源代碼模塊的度量元建立
目前,軟件源代碼模塊的度量元建立主要有兩種方法:一種方法是采用度量軟件代碼質(zhì)量的指標(biāo)(metrics)作為度量元,如將面向?qū)ο蟪绦虻腃K指標(biāo)(WMC、DIT、NOC、CBO、RFC和LCOM等)、面向軟件開(kāi)發(fā)過(guò)程的代碼修改特征指標(biāo)、開(kāi)發(fā)人員經(jīng)驗(yàn)水平指標(biāo)、模塊間的依賴(lài)度指標(biāo)以及項(xiàng)目團(tuán)隊(duì)組織構(gòu)架合理性指標(biāo)等作為度量元,我們稱(chēng)此為基于軟件指標(biāo)的度量元;另一種方法是將軟件源代碼視為文本,將文本中各個(gè)單詞出現(xiàn)的頻率視為度量元,我們稱(chēng)此為基于代碼文本單詞的度量元。
②軟件歷史漏洞數(shù)據(jù)庫(kù)建立
從已經(jīng)公開(kāi)的軟件漏洞庫(kù)中收集針對(duì)某個(gè)軟件項(xiàng)目的到目前的所有漏洞,建立針對(duì)該軟件項(xiàng)目的軟件漏洞庫(kù)。軟件漏洞庫(kù)中明確了針對(duì)該軟件項(xiàng)目每個(gè)軟件模塊中漏洞的位置和數(shù)量。
軟件漏洞庫(kù)提供了針對(duì)該軟件項(xiàng)目的漏洞分布的歷史知識(shí)。
③軟件漏洞預(yù)測(cè)機(jī)器學(xué)習(xí)模型的訓(xùn)練、測(cè)試
針對(duì)某個(gè)軟件項(xiàng)目,計(jì)算每個(gè)軟件模塊的度量元指標(biāo)的具體數(shù)值,利用軟件歷史漏洞庫(kù)獲得每個(gè)軟件模塊的有無(wú)漏洞的標(biāo)簽或者缺陷數(shù)量,然后選擇適合于該軟件項(xiàng)目的機(jī)器學(xué)習(xí)算法(目前還沒(méi)有公開(kāi)的資料表明使用了深度學(xué)習(xí)算法,使用的都是基于淺層學(xué)習(xí)的算法),將度量元指標(biāo)的具體數(shù)值作為輸入,有無(wú)缺漏洞的標(biāo)簽或者漏洞數(shù)量作為輸出,建立(訓(xùn)練、測(cè)試和參數(shù)調(diào)整)針對(duì)于該軟件項(xiàng)目的軟件漏洞預(yù)測(cè)的機(jī)器學(xué)習(xí)模型。
④軟件漏洞預(yù)測(cè)機(jī)器學(xué)習(xí)模型的應(yīng)用
訓(xùn)練完成以及測(cè)試合格的漏洞預(yù)測(cè)模型可以對(duì)該項(xiàng)目的新的軟件模塊的漏洞情況進(jìn)行預(yù)測(cè)。首先計(jì)算新的軟件模塊的度量元指標(biāo)的具體數(shù)值,將數(shù)值輸入到預(yù)測(cè)模型中,模型運(yùn)算輸出的結(jié)果即為該軟件模塊存在漏洞的可能性或者存在漏洞的數(shù)量。
在整個(gè)模型建立的過(guò)程中,影響預(yù)測(cè)模型性能的因素有三個(gè)方面:度量元指標(biāo)選取、漏洞庫(kù)的質(zhì)量以及具體的機(jī)器學(xué)習(xí)算法。所選取的度量元指標(biāo)應(yīng)當(dāng)能夠反映有漏洞模塊和沒(méi)有漏洞模塊的本質(zhì)特征,也就是度量元指標(biāo)對(duì)有漏洞和沒(méi)有漏洞模塊具有一定的區(qū)分能力;軟件漏洞庫(kù)的質(zhì)量也在很大程度上影響到模型的性能,所建立的軟件漏洞庫(kù)應(yīng)當(dāng)具有較高的準(zhǔn)確性和較好的完備性;機(jī)器學(xué)習(xí)算法本身也具有不同的性能,針對(duì)不同的軟件項(xiàng)目,選取適合于本項(xiàng)目的機(jī)器學(xué)習(xí)算法。這三個(gè)方面的因素是相互聯(lián)系相互影響的,綜合決定了這個(gè)預(yù)測(cè)模型的性能。
在歷史漏洞庫(kù)的質(zhì)量既定的情況下,針對(duì)某類(lèi)度量元指標(biāo),不同的機(jī)器學(xué)習(xí)算法的性能差異較大,目前針對(duì)不同的機(jī)器學(xué)習(xí)算法進(jìn)行了大量的嘗試,但是所有采用的算法屬于淺層機(jī)器學(xué)習(xí)方法,未有公開(kāi)的資料表明有人使用深度學(xué)習(xí)方法。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于北京理工大學(xué);北京計(jì)算機(jī)技術(shù)及應(yīng)用研究所,未經(jīng)北京理工大學(xué);北京計(jì)算機(jī)技術(shù)及應(yīng)用研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810353774.0/2.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ò)程
- 一種對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練的方法、裝置及電子設(shè)備
- 一種神經(jīng)網(wǎng)絡(luò)模型壓縮方法以及裝置
- 姿態(tài)檢測(cè)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 基于無(wú)標(biāo)簽數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)模型量化方法及裝置
- 神經(jīng)網(wǎng)絡(luò)模型更新方法、圖像處理方法及裝置
- 含有聚類(lèi)拓?fù)漶詈系纳窠?jīng)網(wǎng)絡(luò)脈沖同步方法及系統(tǒng)
- 一種神經(jīng)網(wǎng)絡(luò)模型的部署方法、設(shè)備及介質(zhì)
- 神經(jīng)網(wǎng)絡(luò)模型的優(yōu)化方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 基于框架搜索的深度神經(jīng)網(wǎng)絡(luò)的加速與壓縮方法及系統(tǒng)
- 一種神經(jīng)網(wǎng)絡(luò)模型生成方法及裝置
- 圖像編碼裝置、圖像編碼方法、圖像譯碼裝置、圖像譯碼方法、程序以及記錄介質(zhì)
- 圖像編碼裝置、圖像編碼方法、圖像譯碼裝置、圖像譯碼方法
- 圖像編碼裝置、圖像編碼方法、圖像譯碼裝置、圖像譯碼方法
- 基于時(shí)間序列預(yù)測(cè)模型適用性量化的預(yù)測(cè)模型選擇方法
- 圖像編碼裝置、圖像編碼方法、圖像譯碼裝置、圖像譯碼方法
- 分類(lèi)預(yù)測(cè)方法及裝置、預(yù)測(cè)模型訓(xùn)練方法及裝置
- 幀內(nèi)預(yù)測(cè)的方法及裝置
- 圖像預(yù)測(cè)方法及裝置、電子設(shè)備和存儲(chǔ)介質(zhì)
- 文本預(yù)測(cè)方法、裝置以及電子設(shè)備
- 模型融合方法、預(yù)測(cè)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





