基于代碼混淆的軟件保護方案研究與設(shè)計
發(fā)布時間:2024-12-24 21:55
隨著科技的飛速發(fā)展,“萬物皆可連”的物聯(lián)網(wǎng)時代已經(jīng)到來,可預(yù)見會有越來越多的物聯(lián)網(wǎng)應(yīng)用出現(xiàn)。由于是新興行業(yè),很多制度尚不完善,類比傳統(tǒng)軟件行業(yè)受到的軟件盜版等問題的困擾,物聯(lián)網(wǎng)應(yīng)用同樣面臨軟件資產(chǎn)被盜的威脅。軟件資產(chǎn)的安全性迫切需要得到保障,而代碼混淆技術(shù)是實現(xiàn)軟件保護的有效手段。由于物聯(lián)網(wǎng)應(yīng)用場景復(fù)雜,平臺繁多,設(shè)備體系架構(gòu)、軟件編程語言未得到統(tǒng)一化的規(guī)定,導(dǎo)致針對特定編程語言或者特定平臺架構(gòu)的傳統(tǒng)代碼混淆方案應(yīng)用受限,因此本文提出基于LLVM這款優(yōu)秀的編譯系統(tǒng)來克服上述的問題。LLVM框架擁有設(shè)計優(yōu)良的中間語言格式,具有平臺無關(guān)性,同時支持多種編程語言并可以生成不同體系架構(gòu)的機器碼,這些特點使得基于LLVM設(shè)計面向物聯(lián)網(wǎng)應(yīng)用的代碼混淆保護方案變得可能。本文基于LLVM框架,面向物聯(lián)網(wǎng)應(yīng)用研究設(shè)計基于代碼混淆的軟件保護方案。在分析現(xiàn)有代碼混淆技術(shù)的基礎(chǔ)上,針對物聯(lián)網(wǎng)應(yīng)用的特點,提出三種較為輕量級的代碼混淆算法。對字符串?dāng)?shù)據(jù)進行混淆,防止攻擊者通過靜態(tài)字符串掃描的方式獲取程序內(nèi)部敏感信息。設(shè)計密鑰變換,并在使用字符串前執(zhí)行動態(tài)解密操作,使用完之后進行重新加密操作,對抗動態(tài)內(nèi)存掃描字符串攻...
【文章頁數(shù)】:78 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
abstract
第一章 緒論
1.1 研究背景與意義
1.2 代碼混淆國內(nèi)外研究現(xiàn)狀
1.3 本文主要研究內(nèi)容
1.4 本文組織結(jié)構(gòu)
1.5 本章小結(jié)
第二章 代碼混淆相關(guān)技術(shù)研究
2.1 代碼混淆定義
2.1.1 混淆變換
2.1.2 可以實用的混淆變換
2.2 代碼混淆方案分類
2.2.1 Collberg理論分類
2.2.1.1 布局混淆
2.2.1.2 數(shù)據(jù)混淆
2.2.1.3 控制流混淆
2.2.1.4 預(yù)防性混淆
2.2.2 按混淆對象分類
2.2.3 按靜態(tài)與動態(tài)分類
2.2.4 按應(yīng)用場景分類
2.3 程序分析方法
2.4 本章小結(jié)
第三章 基于LLVM的混淆算法設(shè)計研究
3.1 LLVM和 OLLVM
3.1.1 LLVM概述
3.1.2 OLLVM概述
3.1.3 基于LLVM框架的優(yōu)勢
3.2 基于LLVM的字符串混淆算法設(shè)計
3.2.1 混淆對象
3.2.2 字符串混淆算法設(shè)計
3.2.3 算法流程
3.3 基于LLVM的一種受限的控制流平坦化混淆算法設(shè)計
3.3.1 混淆對象
3.3.2 一種實用的控制流混淆算法思路概述
3.3.3 算法流程
3.4 基于LLVM的函數(shù)調(diào)用隱藏算法設(shè)計
3.4.1 混淆對象
3.4.2 函數(shù)調(diào)用隱藏算法設(shè)計
3.4.3 算法流程
3.5 本章小結(jié)
第四章 代碼混淆系統(tǒng)設(shè)計及代碼混淆有效性評估研究
4.1 代碼混淆原型系統(tǒng)設(shè)計
4.1.1 設(shè)計目標(biāo)
4.1.2 混淆系統(tǒng)框架設(shè)計
4.2 混淆模塊
4.2.1 字符串混淆模塊
4.2.2 控制流平坦化混淆模塊
4.2.3 函數(shù)調(diào)用隱藏混淆模塊
4.3 其他模塊
4.4 代碼混淆有效性評估研究
4.4.1 研究概述
4.4.2 代碼混淆有效性評估
4.5 本章小結(jié)
第五章 實驗設(shè)計與結(jié)果分析
5.1 實驗環(huán)境選取
5.2 實驗設(shè)計及結(jié)果分析
5.2.1 混淆效果展示及分析
5.2.2 功能性測試及結(jié)果分析
5.2.3 開銷測試
5.3 本章小結(jié)
第六章 總結(jié)與展望
6.1 論文工作總結(jié)
6.2 后續(xù)研究工作
致謝
參考文獻
攻讀碩士學(xué)位期間取得的成果
本文編號:4019981
【文章頁數(shù)】:78 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
abstract
第一章 緒論
1.1 研究背景與意義
1.2 代碼混淆國內(nèi)外研究現(xiàn)狀
1.3 本文主要研究內(nèi)容
1.4 本文組織結(jié)構(gòu)
1.5 本章小結(jié)
第二章 代碼混淆相關(guān)技術(shù)研究
2.1 代碼混淆定義
2.1.1 混淆變換
2.1.2 可以實用的混淆變換
2.2 代碼混淆方案分類
2.2.1 Collberg理論分類
2.2.1.1 布局混淆
2.2.1.2 數(shù)據(jù)混淆
2.2.1.3 控制流混淆
2.2.1.4 預(yù)防性混淆
2.2.2 按混淆對象分類
2.2.3 按靜態(tài)與動態(tài)分類
2.2.4 按應(yīng)用場景分類
2.3 程序分析方法
2.4 本章小結(jié)
第三章 基于LLVM的混淆算法設(shè)計研究
3.1 LLVM和 OLLVM
3.1.1 LLVM概述
3.1.2 OLLVM概述
3.1.3 基于LLVM框架的優(yōu)勢
3.2 基于LLVM的字符串混淆算法設(shè)計
3.2.1 混淆對象
3.2.2 字符串混淆算法設(shè)計
3.2.3 算法流程
3.3 基于LLVM的一種受限的控制流平坦化混淆算法設(shè)計
3.3.1 混淆對象
3.3.2 一種實用的控制流混淆算法思路概述
3.3.3 算法流程
3.4 基于LLVM的函數(shù)調(diào)用隱藏算法設(shè)計
3.4.1 混淆對象
3.4.2 函數(shù)調(diào)用隱藏算法設(shè)計
3.4.3 算法流程
3.5 本章小結(jié)
第四章 代碼混淆系統(tǒng)設(shè)計及代碼混淆有效性評估研究
4.1 代碼混淆原型系統(tǒng)設(shè)計
4.1.1 設(shè)計目標(biāo)
4.1.2 混淆系統(tǒng)框架設(shè)計
4.2 混淆模塊
4.2.1 字符串混淆模塊
4.2.2 控制流平坦化混淆模塊
4.2.3 函數(shù)調(diào)用隱藏混淆模塊
4.3 其他模塊
4.4 代碼混淆有效性評估研究
4.4.1 研究概述
4.4.2 代碼混淆有效性評估
4.5 本章小結(jié)
第五章 實驗設(shè)計與結(jié)果分析
5.1 實驗環(huán)境選取
5.2 實驗設(shè)計及結(jié)果分析
5.2.1 混淆效果展示及分析
5.2.2 功能性測試及結(jié)果分析
5.2.3 開銷測試
5.3 本章小結(jié)
第六章 總結(jié)與展望
6.1 論文工作總結(jié)
6.2 后續(xù)研究工作
致謝
參考文獻
攻讀碩士學(xué)位期間取得的成果
本文編號:4019981
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/4019981.html
最近更新
教材專著