[發(fā)明專利]基于Bi-LSTM和文本相似性的漏洞檢測方法有效
| 申請?zhí)枺?/td> | 201810519622.3 | 申請日: | 2018-05-28 |
| 公開(公告)號: | CN108763931B | 公開(公告)日: | 2021-11-16 |
| 發(fā)明(設計)人: | 易平;夏之陽;張維;焦點;曹軼旸;代德發(fā);邱寶琳 | 申請(專利權)人: | 上海交通大學 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56;G06F21/57;G06N3/04 |
| 代理公司: | 上海交達專利事務所 31201 | 代理人: | 王毓理;王錫麟 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 bi lstm 和文 相似性 漏洞 檢測 方法 | ||
一種基于Bi?LSTM和文本相似性的漏洞檢測方法,通過敏感函數(shù)對文本文件切片得到代碼段,對代碼段通過分詞算法處理得到單詞從而生成用于組成文本向量的字典,通過字典將文本轉(zhuǎn)化為詞向量字典作為訓練樣本對Bi?LSTM模型進行訓練,從而得到漏洞的文本性特征以及模型參數(shù),通過最終得到的LSTM模型進行待測源碼的漏洞判斷。本發(fā)明基于靜態(tài)分析的深度學習挖掘漏洞方法,不需要進行復雜的環(huán)境配置和代碼編譯,直接對源代碼進行分析并可根據(jù)現(xiàn)有代碼進行更新模型,相較于傳統(tǒng)方式不需要軟件工程師進行修改,能夠提高檢測速度,并將已有的自然語言處理(NLP)的方式應用到漏洞挖掘中,通過相似性查找漏洞。
技術領域
本發(fā)明涉及的是一種信息安全領域的技術,具體是一種基于雙向長短時記憶神經(jīng)網(wǎng)絡(Bi-LSTM)和文本相似性的漏洞檢測方法。
背景技術
漏洞是在硬件、軟件、協(xié)議的具體實現(xiàn)或系統(tǒng)安全策略上存在的缺陷,使得攻擊者不經(jīng)允許訪問和修改計算機。現(xiàn)有漏洞分析技術主要有人工檢測、Fuzz技術、靜態(tài)分析和動態(tài)分析。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術的局限和不足,提出一種基于Bi-LSTM和文本相似性的漏洞檢測方法,基于靜態(tài)分析的深度學習挖掘漏洞方法,相較于動態(tài)分析和其他技術手段,其不需要進行復雜的環(huán)境配置和代碼編譯,直接對源代碼進行分析。而且基于深度學習的漏洞挖掘方式,可以根據(jù)現(xiàn)有代碼進行更新模型,相較于傳統(tǒng)方式不需要軟件工程師進行修改,能夠提高檢測速度。本發(fā)明將已有的自然語言處理(NLP)的方式應用到漏洞挖掘中,通過相似性查找漏洞。
本發(fā)明是通過以下技術方案實現(xiàn)的:
本發(fā)明通過針對敏感函數(shù)進行切片操作得到代碼段,對代碼段通過分詞算法處理得到單詞從而生成用于組成文本向量的字典,通過字典將文本轉(zhuǎn)化為詞向量字典作為訓練樣本對Bi-LSTM模型進行訓練,從而得到漏洞的文本性特征以及模型參數(shù),通過最終得到的LSTM模型進行待測源碼的漏洞判斷。
所述的文本文件中包含訓練模型中的目標代碼。
所述的切片是指:將文本文件中的源碼采用與對應緩沖區(qū)溢出漏洞代碼相匹配的敏感函數(shù)進行分割得到代碼段。
所述的切片,優(yōu)選在分割后將非敏感變量,即非系統(tǒng)函數(shù)和系統(tǒng)變量進行統(tǒng)一替換。
所述的分詞算法是指:將代碼段轉(zhuǎn)化為獨立的單詞的組合,例如特殊符號作為單獨詞匯,數(shù)字、用戶定義詞語、保留字等均作為單獨詞匯,空格換行符進行忽略。
所述的組成文本向量是指:通過字典將文本轉(zhuǎn)化為字典單詞對應編號列表,利用word2vec算法將編號列表轉(zhuǎn)化為固定維度向量,之后將文本向量數(shù)統(tǒng)一到相同長度,建立由文本向量組成的詞向量字典。
所述的統(tǒng)一到相同長度是指:對超過長度的片段刪除,對不夠長度的片段補0。
所述的Bi-LSTM模型依次包括:兩個組輸入層、隱層(Masking層)、嵌入層(Embedding層)和Bi-LSTM神經(jīng)網(wǎng)絡以及分別與兩個LSTM神經(jīng)網(wǎng)絡相連的合并單元以及全連接層。
所述的漏洞判斷是指:根據(jù)模型參數(shù)設置LSTM模型并對待測文本文件切片與已知樣本切片配對作為輸入,判斷是否存在漏洞并生成漏洞報告。
本發(fā)明涉及一種實現(xiàn)上述方法的漏洞檢測系統(tǒng),包括:預處理模塊、訓練模塊和預測模塊,其中:預處理模塊讀入漏洞代碼庫中的源碼并生成詞向量字典,訓練模塊采用詞向量字典對Bi-LSTM模型進行訓練,得到模型參數(shù),預測模塊利用訓練得到的模型參數(shù)進行漏洞判斷。
所述的預處理模塊對包含目標代碼的文本文件切片,并將非敏感變量進行統(tǒng)一替換,然后通過開源算法將片段進行分詞并建立詞向量字典。
所述的開源算法包括但不限于分詞算法、word2vec算法等。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學,未經(jīng)上海交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810519622.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 用于高階長短期記憶網(wǎng)絡的系統(tǒng)和方法
- 基于深度學習LSTM的空調(diào)故障診斷方法
- 基于注意力機制的時間序列預測方法、裝置及存儲介質(zhì)
- 一種基于PCA-LSTM網(wǎng)絡的廢水處理智能監(jiān)控方法
- 一種基于FAF-LSTM深度神經(jīng)網(wǎng)絡的居民負荷預測方法及系統(tǒng)
- 用于預測血糖水平的循環(huán)神經(jīng)網(wǎng)絡裝置和系統(tǒng)
- 基于情景LSTM結(jié)構(gòu)網(wǎng)絡的微博情感分析方法
- 語音信號處理方法、裝置、電子設備和存儲介質(zhì)
- 基于約束并行LSTM分位數(shù)回歸的電力負荷概率預測方法
- 基于深度網(wǎng)絡AS-LSTM的命名實體識別系統(tǒng)及識別方法





