基于深度學習的二進制程序漏洞分析與檢測方法研究
發(fā)布時間:2021-07-21 18:27
軟件系統(tǒng)的數(shù)量和種類不斷增多,而軟件漏洞無法完全避免。軟件漏洞的數(shù)量也逐年提升,及時檢測出軟件存在的缺陷以免被不法分子利用也變得越來越重要。大多數(shù)情況下,研究人員無法獲取軟件程序的源代碼,只能獲取對應的二進制程序文件。因此,研究二進制程序的漏洞檢測具有重要的實際意義。目前應用較廣、效果最好的二進制漏洞檢測技術為模糊測試,但是模糊測試技術需要對程序進行多次運行,消耗資源多,效率低。近年來,隨著大數(shù)據(jù)以及人工智能等技術的發(fā)展,基于傳統(tǒng)機器學習方法的漏洞檢測技術取得了一定的進展。本文基于相關工作,同時參考深度學習在文本分類上的研究成果,提出了一種利用深度學習技術進行二進制漏洞檢測的方法。與此同時,本文設計構建了卷積神經(jīng)網(wǎng)絡模型、長短期記憶網(wǎng)絡模型、雙向長短期記憶網(wǎng)絡模型和卷積神經(jīng)網(wǎng)絡—長短期記憶網(wǎng)絡模型四個漏洞檢測模型。為了測試深度學習漏洞檢測模型的性能,利用了 VDiscover工具提取的數(shù)據(jù),即32位Linux系統(tǒng)中的二進制程序運行過程中的函數(shù)調用序列及其最終運行狀態(tài),并以模糊測試工具zuff的測試結果作為標簽,對深度學習漏洞檢測模型進行訓練。在實驗中,本文首先通過使用word2vec方...
【文章來源】:北京交通大學北京市 211工程院校 教育部直屬院校
【文章頁數(shù)】:58 頁
【學位級別】:碩士
【部分圖文】:
圖1-1漏洞在各時間階段的名稱[1]??
?現(xiàn)有的二進制漏洞分析技術種類繁多,從分析過程中是否運行軟件的角度,??可將二進制漏洞分析分為靜態(tài)分析、動態(tài)分析、動靜結合分析三種。二進制漏洞??分析的一般原理如圖2-1所示。?????j?1?靜態(tài)分析??—??代碼中間和__,歷」???、反?>?vf-^?I?中丨司?T?"???—1??;L?叫表示?進制代媽比對:??編?|構邊?'?"?…」??動靜結合分析??_.?k?^?—一j?la;?j?__J?漏洞????????5渕試用例?智能灰盒測試___??指導信息1?????1??;???一?_?U?麵?動態(tài)分#r??^3—^?|?_?I??剛?k?;?J???f????L......—_!?|?智能模鋮測試??圖2-1二進制漏洞分析一般原理[5]??Figure?2-1?General?Principles?of?Binary?Vulnerabilities?Analysis[5]??8??
多個隱層,通過引入深度網(wǎng)絡,可以處理更復雜的輸入特征。深度網(wǎng)絡中每一個??隱層可以對上一層的輸出進行非線性變換,因此它擁有比淺層網(wǎng)絡更強的表達能??力,進而可以學習到更復雜的函數(shù)關系,如圖2-3所示。訓練深度網(wǎng)絡時,每一個??隱層應該使用非線性激活函數(shù)。因為多層線性函數(shù)組合在一起本質和淺層的神經(jīng)??網(wǎng)絡擁有一樣的線性表達能力。深度網(wǎng)絡最主要的優(yōu)勢在于,它能以更加緊湊簡??潔的方式來擬合比淺層網(wǎng)絡無法處理的復雜的函數(shù)。??隱層1?隱層2?隱層3??-人?z??圖2-3深度學習結構圖??Figure?2-3?The?Structure?Diagram?of?Deep?Learning??雖然深度網(wǎng)絡擁有優(yōu)秀的表征能力,但是早期研宄人員在訓練深度網(wǎng)絡時遇??到了很大的阻礙。他們首先隨機初始化網(wǎng)絡權重,然后使用監(jiān)督學習方法在帶標??簽的訓練集上進行訓練,并且使用梯度下降方法來降低訓練誤差。這種方法訓練??過程中主要依賴帶標簽的數(shù)據(jù),有時效果表現(xiàn)并不好。通常來說,現(xiàn)實生活中有??標簽的數(shù)據(jù)比較稀缺,對于許多問題我們難以獲得足夠多的樣本來擬合復雜的模??型。此外,基于監(jiān)督學習方法的淺層網(wǎng)絡通常能夠使網(wǎng)絡參數(shù)收斂到合理的范圍,??但是用這種方法訓練深度網(wǎng)絡時
【參考文獻】:
期刊論文
[1]寫污點值到污點地址漏洞模式檢測[J]. 忽朝儉,李舟軍,郭濤,時志偉. 計算機研究與發(fā)展. 2011(08)
[2]代碼相似性檢測技術:研究綜述[J]. 熊浩,晏海華,郭濤,黃永剛,郝永樂,李舟軍. 計算機科學. 2010(08)
[3]Linux動態(tài)鏈接機制研究及應用[J]. 張和君,張躍. 計算機工程. 2006(22)
碩士論文
[1]二進制代碼安全性分析[D]. 李朝君.中國科學技術大學 2010
本文編號:3295547
【文章來源】:北京交通大學北京市 211工程院校 教育部直屬院校
【文章頁數(shù)】:58 頁
【學位級別】:碩士
【部分圖文】:
圖1-1漏洞在各時間階段的名稱[1]??
?現(xiàn)有的二進制漏洞分析技術種類繁多,從分析過程中是否運行軟件的角度,??可將二進制漏洞分析分為靜態(tài)分析、動態(tài)分析、動靜結合分析三種。二進制漏洞??分析的一般原理如圖2-1所示。?????j?1?靜態(tài)分析??—??代碼中間和__,歷」???、反?>?vf-^?I?中丨司?T?"???—1??;L?叫表示?進制代媽比對:??編?|構邊?'?"?…」??動靜結合分析??_.?k?^?—一j?la;?j?__J?漏洞????????5渕試用例?智能灰盒測試___??指導信息1?????1??;???一?_?U?麵?動態(tài)分#r??^3—^?|?_?I??剛?k?;?J???f????L......—_!?|?智能模鋮測試??圖2-1二進制漏洞分析一般原理[5]??Figure?2-1?General?Principles?of?Binary?Vulnerabilities?Analysis[5]??8??
多個隱層,通過引入深度網(wǎng)絡,可以處理更復雜的輸入特征。深度網(wǎng)絡中每一個??隱層可以對上一層的輸出進行非線性變換,因此它擁有比淺層網(wǎng)絡更強的表達能??力,進而可以學習到更復雜的函數(shù)關系,如圖2-3所示。訓練深度網(wǎng)絡時,每一個??隱層應該使用非線性激活函數(shù)。因為多層線性函數(shù)組合在一起本質和淺層的神經(jīng)??網(wǎng)絡擁有一樣的線性表達能力。深度網(wǎng)絡最主要的優(yōu)勢在于,它能以更加緊湊簡??潔的方式來擬合比淺層網(wǎng)絡無法處理的復雜的函數(shù)。??隱層1?隱層2?隱層3??-人?z??圖2-3深度學習結構圖??Figure?2-3?The?Structure?Diagram?of?Deep?Learning??雖然深度網(wǎng)絡擁有優(yōu)秀的表征能力,但是早期研宄人員在訓練深度網(wǎng)絡時遇??到了很大的阻礙。他們首先隨機初始化網(wǎng)絡權重,然后使用監(jiān)督學習方法在帶標??簽的訓練集上進行訓練,并且使用梯度下降方法來降低訓練誤差。這種方法訓練??過程中主要依賴帶標簽的數(shù)據(jù),有時效果表現(xiàn)并不好。通常來說,現(xiàn)實生活中有??標簽的數(shù)據(jù)比較稀缺,對于許多問題我們難以獲得足夠多的樣本來擬合復雜的模??型。此外,基于監(jiān)督學習方法的淺層網(wǎng)絡通常能夠使網(wǎng)絡參數(shù)收斂到合理的范圍,??但是用這種方法訓練深度網(wǎng)絡時
【參考文獻】:
期刊論文
[1]寫污點值到污點地址漏洞模式檢測[J]. 忽朝儉,李舟軍,郭濤,時志偉. 計算機研究與發(fā)展. 2011(08)
[2]代碼相似性檢測技術:研究綜述[J]. 熊浩,晏海華,郭濤,黃永剛,郝永樂,李舟軍. 計算機科學. 2010(08)
[3]Linux動態(tài)鏈接機制研究及應用[J]. 張和君,張躍. 計算機工程. 2006(22)
碩士論文
[1]二進制代碼安全性分析[D]. 李朝君.中國科學技術大學 2010
本文編號:3295547
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3295547.html
最近更新
教材專著