軟件漏洞并行檢測方法研究
第 1 章 緒論
1.1 課題研究的背景和意義
隨著互聯(lián)網(wǎng)的不斷普及,網(wǎng)絡(luò)安全的問題也日益顯現(xiàn),2015 年 12 月 27 日,烏克蘭電力公司網(wǎng)絡(luò)系統(tǒng)遭到黑客攻擊,這是首次由黑客攻擊行為導(dǎo)致的大規(guī)模停電事件,據(jù)統(tǒng)計,此次影響導(dǎo)致成千上萬的烏克蘭家庭無電可用;2016 年5 月黑客利用漏洞,盜取 3 億 6000 萬 MySpace 用戶的電子郵件地址以及密碼。由此可見,網(wǎng)絡(luò)安全威脅具有嚴(yán)重的危害性。在所有信息安全事件中,利用軟件安全漏洞的攻擊行為占到很大的比重。軟件漏洞,通常是由于不合理的設(shè)計和軟件開發(fā)人員的疏忽而引進(jìn)的軟件缺陷,軟件缺陷會導(dǎo)致軟件在運行時失效等問題,軟件故障的頻發(fā)會帶來極大危害。
...............
1.2 研究現(xiàn)狀
由于對字符串處理速度提高的急迫需求,并行字符串匹配技術(shù)在網(wǎng)絡(luò)和信息安全等領(lǐng)域有著大量的應(yīng)用,以下幾種方式,是最近幾年的比較有代表性的基于并行劃分的字符串匹配方法。1.基于首字符劃分 文獻(xiàn)[5]中以初始字符來劃分模式集的。按照首字符劃分出來的一類用來構(gòu)建一個 DFA,但是這種方法忽略了模式的首字符分布的模式集的情況。2.基于長度和長度模式分組度量 Kim 等人[6]考慮到模式字符串的長度,將目標(biāo)模式劃分為短模式和長模式 2 個子集,并提出比特位拆分的并行模式匹配引擎,進(jìn)行內(nèi)存開銷優(yōu)化,將適當(dāng)?shù)谋忍匚环譃閮蓚子匹配類型字符串。
...............
第 2 章 并行字符串匹配研究
2.1Aho-Corasick 多模式字符串匹配算法
Aho-Corasicks算法(AC算法)是由Alfred V.Aho和Margaret J. Corasick 共同發(fā)明的一種經(jīng)典的多模式字符串匹配算法[19]。比較有代表性的實現(xiàn)有兩種:一種是確定的有窮狀態(tài)自動機(Deterministic FiniteAutomaton,DFA),另外一種是非確定的有窮狀態(tài)自動機(Nondeterministic FiniteAutomaton,NFA)。在并行化的過程中,考慮到 DFA 模型具有優(yōu)勢的線性的時間復(fù)雜度和固定長度的狀態(tài)轉(zhuǎn)移表,所以本文采用基于 DFA 的字符串匹配算法進(jìn)行改進(jìn)。由于AC 算法的時間復(fù)雜度為 O(n),,而 n 的大小取決于待匹配的文本和模式集合的大小,所以需要一個巨大的存儲空間來保存狀態(tài)轉(zhuǎn)移表,所以在空間復(fù)雜度上有很大的限制。而生成狀態(tài)轉(zhuǎn)移表的過程為了避免執(zhí)行時的效率,主要是在預(yù)處理階段進(jìn)行,本文將會設(shè)計一個基于 DFA 的并行算法,在預(yù)處理階段對狀態(tài)轉(zhuǎn)移表進(jìn)行優(yōu)化,以提高并行字符串匹配的效率。
...............
2.2 基于多核架構(gòu)的啟發(fā)式集合劃分算法
集合劃分問題(Set Partition Problem,SPP)是一個經(jīng)典的 NP 難問題。集合的劃分是將集合劃分為覆蓋原集合中的所有元素的互斥子集的集合。有一些解決方案使用啟發(fā)式算法來解決它,如遺傳算法(Genetic Algorithm,GA),蟻群優(yōu)化(Ant Colony Optimization,ACO)[34]和粒子群優(yōu)化算法(Particle SwarmOptimization,PSO)[35]。其中遺傳算法是一種對自然選擇和生物進(jìn)化的規(guī)律進(jìn)行模擬的算法,最初是由 Holland 在 1975 年提出[36]。遺傳算法由一個具有可行解的初始種群和種群中若干經(jīng)過基因編碼的個體進(jìn)行初始化,其中每個個體都是由染色體實體決定的。由于基因編碼的建模工作比較復(fù)雜,所以傾向于使它表達(dá)的方式更為簡單,如二進(jìn)制代碼。種群中的每一代個體,根據(jù)優(yōu)勝劣汰的原則,進(jìn)化生成更多近似解。
...............
第 3 章 并行動態(tài)符號執(zhí)行的漏洞檢測研究...............17
3.1 動態(tài)符號執(zhí)行技術(shù)................17
3.2 并行化動態(tài)符號執(zhí)行路徑優(yōu)化...............20
第 4 章 軟件漏洞并行檢測系統(tǒng)的設(shè)計與實現(xiàn)................27
4.1 系統(tǒng)架構(gòu)概述...............27
4.2 鏡像代碼執(zhí)行工作原理...............28
第 5 章 系統(tǒng)測試與結(jié)果分析...............34
5.1 實驗環(huán)境建立................34
5.2 實驗測試靶機環(huán)境和基準(zhǔn)...............34
第 5 章 系統(tǒng)測試與結(jié)果分析
5.1 實驗環(huán)境建立
本文實驗使用一個Mater 節(jié)點來運行 Scheduler和基于 PHP 編寫的UI 操作界面,并使用兩個 Slave 節(jié)點運行 Agent 執(zhí)行模塊。具體運行和開發(fā)環(huán)境如下:1. Scheduler 運行和開發(fā)環(huán)境:Python 2.7.10Linux with Kernel Version 4.0+ 32/64Eclipse Neon。2. Agent 運行環(huán)境:Python 2.7.10pip tools依賴 requirements.txtroot 權(quán)限。3. PHP 端運行環(huán)境:Apache 2.4.9PHP 5.5.12MySQL 5.6.17Apache 2.4.9。
...............
5.2 實驗測試靶機環(huán)境和基準(zhǔn)
為了保證測試的完整性和時效性,測試的用例使用開放式 Web 應(yīng)用程序安全項目(OWASP,Open Web Application Security Project)提供的 OWASPTop 10(2013),為了使測試更加完整,除此之外,自動化掃描器支持的通用型 Web漏洞和 WAF(WebApplication Firewall,Web 應(yīng)用防火墻)能力評測基準(zhǔn)也會被進(jìn)行測試。使用 Web 漏洞掃描工具可以更全面和高效地對本系統(tǒng)進(jìn)行測試,本文選取了主流的幾款 Web 漏洞掃描工具,他們所支持的檢測功能覆蓋了常見的大多數(shù)漏洞類型。
...............
結(jié)論
本文從并行多模式字符串匹配算法和并行動態(tài)符號執(zhí)行兩個角度研究了軟件漏洞并行檢測方法的實現(xiàn),并結(jié)合兩種技術(shù)應(yīng)用在實際的漏洞防護中。在研究的過程中專注于理論研究基礎(chǔ)上,也盡可能地考慮了實際應(yīng)用中的適用場景,使得研究成功更加具有實用性。本文針對軟件漏洞并行檢測方法,對其關(guān)鍵技術(shù)并行字符串匹配技術(shù)和動態(tài)符號執(zhí)行技術(shù)進(jìn)行了研究,其中著重研究了并行字符串匹配技術(shù)的算法優(yōu)化和并行動態(tài)符號執(zhí)行技術(shù)的實現(xiàn),并完成了分布式并行漏洞檢測系統(tǒng)的設(shè)計與實現(xiàn)等工作。論文主要完成的工作內(nèi)容如下:1. 本文在總結(jié)現(xiàn)有方法優(yōu)缺點后,在并行多模式字符串匹配技術(shù)中提出一種基于多核架構(gòu)的并行多模式字符串匹配算法,通過啟發(fā)式算法優(yōu)化模式集合,提高并行字符串匹配算法的執(zhí)行速度。
參考文獻(xiàn)(略)
本文編號:861549
本文鏈接:http://www.sikaile.net/wenshubaike/kjzx/861549.html