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