[發(fā)明專利]基于深度卷積網(wǎng)絡(luò)和控制流圖的漏洞檢測系統(tǒng)有效
| 申請?zhí)枺?/td> | 201711325630.6 | 申請日: | 2017-12-13 |
| 公開(公告)號: | CN108108622B | 公開(公告)日: | 2021-03-16 |
| 發(fā)明(設(shè)計)人: | 夏之陽;易平 | 申請(專利權(quán))人: | 上海交通大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F8/53;G06N3/04;G06N3/08 |
| 代理公司: | 上海交達專利事務(wù)所 31201 | 代理人: | 王毓理;王錫麟 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 深度 卷積 網(wǎng)絡(luò) 控制 漏洞 檢測 系統(tǒng) | ||
一種基于深度卷積網(wǎng)絡(luò)和控制流圖的漏洞檢測系統(tǒng),包括:預處理模塊、訓練模塊以及預測模塊,其中:預處理模塊讀入漏洞代碼庫中的目標代碼并生成控制流圖后轉(zhuǎn)化成二維向量,特征學習模塊運用深度卷積網(wǎng)絡(luò)從二維向量中進行特征提取并訓練;本發(fā)明通過分析大量的漏洞樣本,用深度學習的方式得到漏洞的特征模型,用這個模型來發(fā)現(xiàn)未知的漏洞,同時將待測代碼與已知漏洞的代碼進行相似性比對,來發(fā)現(xiàn)近似的漏洞代碼。借助人工智能,能夠降低漏洞挖掘的難度,靠機器來發(fā)現(xiàn)漏洞特征,篩選掉不存在漏洞的代碼,提升安全工程師的效率。
技術(shù)領(lǐng)域
本發(fā)明涉及一種圖像處理領(lǐng)域的技術(shù),具體涉及一種將代碼轉(zhuǎn)化成控制流圖,將控制流圖重新編碼成圖像,通過對圖像的深度學習提取代碼漏洞特征的技術(shù)。
背景技術(shù)
漏洞是指系統(tǒng)中存在的一些功能性或安全性的邏輯缺陷,包括一切導致威脅、損壞計算機系統(tǒng)安全性的所有因素,是計算機系統(tǒng)在硬件、軟件、協(xié)議的具體實現(xiàn)或系統(tǒng)安全策略上存在的缺陷和不足。目前常用的漏洞挖掘技術(shù)包括:人工檢測、Fuzz技術(shù)、二進制對比、靜態(tài)分析和動態(tài)分析。在真實的工程環(huán)境下,漏洞挖掘都是以人的判斷為向?qū)ВY(jié)合以上常用的技術(shù),因此漏洞挖掘的效率主要取決于安全工程師的能力。借助人工智能,能夠降低漏洞挖掘的難度,靠機器來發(fā)現(xiàn)漏洞特征,篩選掉不存在漏洞的代碼,提升工程師的效率。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)的缺陷和不足,提出一種基于深度卷積網(wǎng)絡(luò)和控制流圖的漏洞檢測系統(tǒng),將代碼轉(zhuǎn)化成控制流圖,將控制流圖重新編碼成圖像,用深度學習模型進行圖像的特征學習,從而得到漏洞的圖像特征。具體做法是:首先將源碼轉(zhuǎn)化成匯編語言,二進制代碼進行反匯編到匯編代碼。生成匯編代碼的控制流圖,將控制流圖進行編碼,從而將控制流圖轉(zhuǎn)化成向量。將這些向量組合,變成二維向量,從而相當于合成了一張圖像。本發(fā)明通過兩種方式來發(fā)現(xiàn)漏洞。一種是分析大量的漏洞樣本,用深度學習的方式得到漏洞的特征模型,用這個模型來發(fā)現(xiàn)未知的漏洞;另一種是將待測代碼與已知漏洞的代碼進行相似性比對,來發(fā)現(xiàn)近似的漏洞代碼。
本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
本發(fā)明涉及一種基于深度卷積網(wǎng)絡(luò)和控制流圖的漏洞檢測系統(tǒng),包括:預處理模塊、訓練模塊以及預測模塊,其中:預處理模塊讀入漏洞代碼庫中的目標代碼并生成控制流圖后轉(zhuǎn)化成二維向量,特征學習模塊運用深度卷積網(wǎng)絡(luò)從二維向量中進行特征提取并訓練,訓練模塊中包括:用于特征學習的卷積神經(jīng)網(wǎng)絡(luò)單元和用于相似性對比的BP神經(jīng)網(wǎng)絡(luò)單元,卷積神經(jīng)網(wǎng)絡(luò)單元運用深度卷積網(wǎng)絡(luò)對二維向量進行特征提取并訓練得到識別漏洞特征的神經(jīng)網(wǎng)絡(luò)參數(shù);BP神經(jīng)網(wǎng)絡(luò)單元運用BP神經(jīng)網(wǎng)絡(luò)對目標代碼和漏洞代碼進行相似性分析并訓練得到判別代碼相似性的神經(jīng)網(wǎng)絡(luò)參數(shù),預測模塊對目標代碼進行預測工作,根據(jù)訓練模塊得到的參數(shù),判斷是否包含漏洞,對于判定為有漏洞的代碼生成漏洞報告。
所述的二維向量,當目標代碼為源碼,則預處理模塊直接轉(zhuǎn)化成匯編代碼,當目標代碼為二進制代碼,則預處理模塊先進行反匯編操作得到匯編代碼;根據(jù)匯編代碼生成控制流圖后將控制流圖的每個節(jié)點映射到一個向量后合并得到。
所述的漏洞代碼庫為從CVE數(shù)據(jù)庫中搜集得到的漏洞代碼。
所述的預處理模塊包括:將代碼編譯為匯編代碼的編譯器、通過開源工具將匯編代碼轉(zhuǎn)化成控制流圖的控制流圖生成單元以及將控制流圖的各個節(jié)點編碼成為向量并組合成二維向量的編碼單元。
所述的訓練模塊包括:卷積神經(jīng)網(wǎng)絡(luò)單元、卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)調(diào)整單元、BP神經(jīng)網(wǎng)絡(luò)單元和BP神經(jīng)網(wǎng)絡(luò)單元的參數(shù)調(diào)整單元,其中:卷積神經(jīng)網(wǎng)絡(luò)單元與預處理模塊相連,接收二維向量進行特征提取并訓練得到識別漏洞特征的神經(jīng)網(wǎng)絡(luò)參數(shù),卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)調(diào)整單元與卷積神經(jīng)網(wǎng)絡(luò)單元相連并傳輸調(diào)整后的神經(jīng)網(wǎng)絡(luò)參數(shù),BP神經(jīng)網(wǎng)絡(luò)單元與預處理模塊相連,接收二維向量進行相似性分析并訓練得到判別代碼相似性的神經(jīng)網(wǎng)絡(luò)參數(shù),BP神經(jīng)網(wǎng)絡(luò)單元的參數(shù)調(diào)整單元與BP神經(jīng)網(wǎng)絡(luò)單元相連并傳輸調(diào)整后的神經(jīng)網(wǎng)絡(luò)參數(shù)。
技術(shù)效果
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海交通大學,未經(jīng)上海交通大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711325630.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 卷積運算處理方法及相關(guān)產(chǎn)品
- 一種卷積神經(jīng)網(wǎng)絡(luò)的計算方法及系統(tǒng)
- 卷積運算方法及系統(tǒng)
- 卷積運算方法、裝置及系統(tǒng)
- 深度神經(jīng)網(wǎng)絡(luò)裁剪方法、裝置及電子設(shè)備
- 基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法和圖像處理裝置
- 卷積神經(jīng)網(wǎng)絡(luò)及基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法
- 一種圖像處理方法、裝置以及計算機存儲介質(zhì)
- 用于卷積神經(jīng)網(wǎng)絡(luò)的卷積運算裝置
- 基于FPGA實現(xiàn)圖像識別的方法、裝置、設(shè)備及存儲介質(zhì)
- 網(wǎng)絡(luò)和網(wǎng)絡(luò)終端
- 網(wǎng)絡(luò)DNA
- 網(wǎng)絡(luò)地址自適應(yīng)系統(tǒng)和方法及應(yīng)用系統(tǒng)和方法
- 網(wǎng)絡(luò)系統(tǒng)及網(wǎng)絡(luò)至網(wǎng)絡(luò)橋接器
- 一種電力線網(wǎng)絡(luò)中根節(jié)點網(wǎng)絡(luò)協(xié)調(diào)方法和系統(tǒng)
- 一種多網(wǎng)絡(luò)定位方法、存儲介質(zhì)及移動終端
- 網(wǎng)絡(luò)裝置、網(wǎng)絡(luò)系統(tǒng)、網(wǎng)絡(luò)方法以及網(wǎng)絡(luò)程序
- 從重復網(wǎng)絡(luò)地址自動恢復的方法、網(wǎng)絡(luò)設(shè)備及其存儲介質(zhì)
- 神經(jīng)網(wǎng)絡(luò)的訓練方法、裝置及存儲介質(zhì)
- 網(wǎng)絡(luò)管理方法和裝置





