基于中間表示的二進(jìn)制軟件漏洞分析技術(shù)研究
發(fā)布時(shí)間:2022-10-30 19:29
隨著軟件安全事件的不斷涌現(xiàn),各種軟件漏洞被接連曝光,軟件漏洞已成為影響軟件安全的重要因素,漏洞檢測(cè)則成為信息安全領(lǐng)域的主要研究方向,F(xiàn)有的漏洞檢測(cè)方法分為面向源代碼的漏洞檢測(cè)和面向二進(jìn)制軟件的漏洞檢測(cè),其中前者已經(jīng)較為成熟,但是二進(jìn)制代碼的設(shè)計(jì)特點(diǎn)和結(jié)構(gòu)特征都與源代碼不同,并且由于二進(jìn)制語(yǔ)義信息的缺乏以及分析的復(fù)雜性,目前少有成熟的二進(jìn)制漏洞檢測(cè)工具可以使用。同時(shí),越來(lái)越多的軟件以二進(jìn)制的形式發(fā)布,因此,對(duì)二進(jìn)制程序的漏洞檢測(cè)的方法和技術(shù)進(jìn)行研究是十分迫切且必要的。本文以Android平臺(tái)上的二進(jìn)制軟件動(dòng)態(tài)鏈接庫(kù)為研究對(duì)象,提出了一種可用于漏洞檢測(cè)的二進(jìn)制程序中間語(yǔ)言BinaryLift以及一種全新的二進(jìn)制程序語(yǔ)義特征表示形式ProF,并實(shí)現(xiàn)了一種基于BinaryLift和ProF的漏洞分析方案。本文的主要研究工作及成果如下:1.中間語(yǔ)言BinaryLift的設(shè)計(jì)與實(shí)現(xiàn):本文分析了已有的二進(jìn)制程序中間語(yǔ)言的局限性,提出了一種類(lèi)源碼級(jí)中間語(yǔ)言BinaryLift。BinaryLift是對(duì)底層語(yǔ)言的進(jìn)一步轉(zhuǎn)化,其準(zhǔn)確、完整的反映了程序信息,并且還原了程序的部分高級(jí)語(yǔ)義信息,彌補(bǔ)了直接對(duì)底層...
【文章頁(yè)數(shù)】:97 頁(yè)
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘要
Abstract
第一章 緒論
1.1 研究背景及意義
1.2 國(guó)內(nèi)外研究現(xiàn)狀
1.2.1 人工分析
1.2.2 模糊測(cè)試
1.2.3 符號(hào)執(zhí)行
1.2.4 二進(jìn)制代碼比對(duì)
1.2.5 代碼特征識(shí)別
1.3 研究目標(biāo)及內(nèi)容
1.4 論文主要工作及組織結(jié)構(gòu)
第二章 二進(jìn)制程序的中間形式研究
2.1 中間形式構(gòu)建過(guò)程
2.2 中間語(yǔ)言
2.2.1 REIL
2.2.2 VEX IL
2.2.3 Vine IL
2.2.4 局限性分析
2.3 中間表示
2.3.1 樹(shù)型中間表示
2.3.2 圖型中間表示
2.3.3 文本型中間表示
2.3.4 局限性分析
2.4 本章小結(jié)
第三章 中間語(yǔ)言BinaryLift的設(shè)計(jì)與實(shí)現(xiàn)
3.1 設(shè)計(jì)原則
3.2 BinaryLift轉(zhuǎn)化過(guò)程
3.3 預(yù)處理
3.3.1 反匯編
3.3.2 基本塊劃分
3.4 指令翻譯
3.4.1 指令副作用
3.4.2 跳轉(zhuǎn)指令處理
3.4.3 條件表達(dá)式構(gòu)造
3.5 形式化處理
3.5.1 函數(shù)棧幀分析
3.5.2 條件選擇模式識(shí)別
3.5.3 循環(huán)模式識(shí)別
3.5.4 BinryLift語(yǔ)法定義
3.6 BinaryLift轉(zhuǎn)化示例
3.7 BinaryLift特點(diǎn)及適用性分析
3.8 本章小結(jié)
第四章 中間表示ProF的設(shè)計(jì)與實(shí)現(xiàn)
4.1 二進(jìn)制程序高危漏洞
4.1.1 緩沖區(qū)溢出漏洞
4.1.2 整數(shù)溢出漏洞
4.1.3 UAF漏洞
4.2 BinaryLift漏洞表現(xiàn)形式
4.2.1 高危函數(shù)調(diào)用
4.2.2 循環(huán)內(nèi)存寫(xiě)入
4.3 ProF轉(zhuǎn)化過(guò)程
4.3.1 定義
4.3.2 轉(zhuǎn)化過(guò)程
4.4 動(dòng)作篩選
4.5 結(jié)果計(jì)算
4.5.1 數(shù)據(jù)流分析
4.5.2 折疊計(jì)算
4.6 條件生成
4.7 ProF特點(diǎn)及適用性分析
4.8 本章小結(jié)
第五章 漏洞檢測(cè)及有效性驗(yàn)證
5.1 漏洞檢測(cè)模型
5.2 BinaryLift有效性驗(yàn)證
5.2.1 BinaryLift vs Assembly Instructions
5.2.2 BinaryLift vs Vine IL
5.3 ProF有效性驗(yàn)證
5.3.1 ProF vs BinaryLift
5.3.2 ProF vs系統(tǒng)調(diào)用鏈
5.4 Android Stagefright漏洞分析
5.5 本章小結(jié)
第六章 總結(jié)與展望
6.1 工作總結(jié)
6.2 工作展望
參考文獻(xiàn)
致謝
攻讀學(xué)位期間發(fā)表的學(xué)術(shù)論文
【參考文獻(xiàn)】:
期刊論文
[1]基于遺傳算法的二進(jìn)制程序模糊測(cè)試方法[J]. 焦龍龍,羅森林,劉望桐,潘麗敏,張?bào)? 浙江大學(xué)學(xué)報(bào)(工學(xué)版). 2018(05)
[2]二進(jìn)制程序中的use-after-free漏洞檢測(cè)技術(shù)[J]. 韓心慧,魏爽,葉佳奕,張超,葉志遠(yuǎn). 清華大學(xué)學(xué)報(bào)(自然科學(xué)版). 2017(10)
[3]二進(jìn)制程序漏洞挖掘關(guān)鍵技術(shù)研究綜述[J]. 王夏菁,胡昌振,馬銳,高欣竺. 信息網(wǎng)絡(luò)安全. 2017(08)
[4]Cppcheck的軟件缺陷模式分析與定位[J]. 張仕金,尚趙偉. 計(jì)算機(jī)工程與應(yīng)用. 2015(03)
[5]二進(jìn)制程序安全缺陷靜態(tài)分析方法的研究綜述[J]. 田碩,梁洪亮. 計(jì)算機(jī)科學(xué). 2009(07)
碩士論文
[1]二進(jìn)制代碼漏洞靜態(tài)檢測(cè)研究[D]. 章亮.華僑大學(xué) 2017
本文編號(hào):3699347
【文章頁(yè)數(shù)】:97 頁(yè)
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘要
Abstract
第一章 緒論
1.1 研究背景及意義
1.2 國(guó)內(nèi)外研究現(xiàn)狀
1.2.1 人工分析
1.2.2 模糊測(cè)試
1.2.3 符號(hào)執(zhí)行
1.2.4 二進(jìn)制代碼比對(duì)
1.2.5 代碼特征識(shí)別
1.3 研究目標(biāo)及內(nèi)容
1.4 論文主要工作及組織結(jié)構(gòu)
第二章 二進(jìn)制程序的中間形式研究
2.1 中間形式構(gòu)建過(guò)程
2.2 中間語(yǔ)言
2.2.1 REIL
2.2.2 VEX IL
2.2.3 Vine IL
2.2.4 局限性分析
2.3 中間表示
2.3.1 樹(shù)型中間表示
2.3.2 圖型中間表示
2.3.3 文本型中間表示
2.3.4 局限性分析
2.4 本章小結(jié)
第三章 中間語(yǔ)言BinaryLift的設(shè)計(jì)與實(shí)現(xiàn)
3.1 設(shè)計(jì)原則
3.2 BinaryLift轉(zhuǎn)化過(guò)程
3.3 預(yù)處理
3.3.1 反匯編
3.3.2 基本塊劃分
3.4 指令翻譯
3.4.1 指令副作用
3.4.2 跳轉(zhuǎn)指令處理
3.4.3 條件表達(dá)式構(gòu)造
3.5 形式化處理
3.5.1 函數(shù)棧幀分析
3.5.2 條件選擇模式識(shí)別
3.5.3 循環(huán)模式識(shí)別
3.5.4 BinryLift語(yǔ)法定義
3.6 BinaryLift轉(zhuǎn)化示例
3.7 BinaryLift特點(diǎn)及適用性分析
3.8 本章小結(jié)
第四章 中間表示ProF的設(shè)計(jì)與實(shí)現(xiàn)
4.1 二進(jìn)制程序高危漏洞
4.1.1 緩沖區(qū)溢出漏洞
4.1.2 整數(shù)溢出漏洞
4.1.3 UAF漏洞
4.2 BinaryLift漏洞表現(xiàn)形式
4.2.1 高危函數(shù)調(diào)用
4.2.2 循環(huán)內(nèi)存寫(xiě)入
4.3 ProF轉(zhuǎn)化過(guò)程
4.3.1 定義
4.3.2 轉(zhuǎn)化過(guò)程
4.4 動(dòng)作篩選
4.5 結(jié)果計(jì)算
4.5.1 數(shù)據(jù)流分析
4.5.2 折疊計(jì)算
4.6 條件生成
4.7 ProF特點(diǎn)及適用性分析
4.8 本章小結(jié)
第五章 漏洞檢測(cè)及有效性驗(yàn)證
5.1 漏洞檢測(cè)模型
5.2 BinaryLift有效性驗(yàn)證
5.2.1 BinaryLift vs Assembly Instructions
5.2.2 BinaryLift vs Vine IL
5.3 ProF有效性驗(yàn)證
5.3.1 ProF vs BinaryLift
5.3.2 ProF vs系統(tǒng)調(diào)用鏈
5.4 Android Stagefright漏洞分析
5.5 本章小結(jié)
第六章 總結(jié)與展望
6.1 工作總結(jié)
6.2 工作展望
參考文獻(xiàn)
致謝
攻讀學(xué)位期間發(fā)表的學(xué)術(shù)論文
【參考文獻(xiàn)】:
期刊論文
[1]基于遺傳算法的二進(jìn)制程序模糊測(cè)試方法[J]. 焦龍龍,羅森林,劉望桐,潘麗敏,張?bào)? 浙江大學(xué)學(xué)報(bào)(工學(xué)版). 2018(05)
[2]二進(jìn)制程序中的use-after-free漏洞檢測(cè)技術(shù)[J]. 韓心慧,魏爽,葉佳奕,張超,葉志遠(yuǎn). 清華大學(xué)學(xué)報(bào)(自然科學(xué)版). 2017(10)
[3]二進(jìn)制程序漏洞挖掘關(guān)鍵技術(shù)研究綜述[J]. 王夏菁,胡昌振,馬銳,高欣竺. 信息網(wǎng)絡(luò)安全. 2017(08)
[4]Cppcheck的軟件缺陷模式分析與定位[J]. 張仕金,尚趙偉. 計(jì)算機(jī)工程與應(yīng)用. 2015(03)
[5]二進(jìn)制程序安全缺陷靜態(tài)分析方法的研究綜述[J]. 田碩,梁洪亮. 計(jì)算機(jī)科學(xué). 2009(07)
碩士論文
[1]二進(jìn)制代碼漏洞靜態(tài)檢測(cè)研究[D]. 章亮.華僑大學(xué) 2017
本文編號(hào):3699347
本文鏈接:http://www.sikaile.net/kejilunwen/ruanjiangongchenglunwen/3699347.html
最近更新
教材專(zhuān)著