基于目標代碼的控制流混淆技術(shù)研究
本文選題:逆向工程 切入點:代碼混淆 出處:《北京郵電大學(xué)》2013年碩士論文
【摘要】:一直以來,軟件盜版、知識產(chǎn)權(quán)侵權(quán)問題都是困擾著全球信息技術(shù)發(fā)展的重要問題,也是計算機信息安全領(lǐng)域尚未解決的主要問題之一。軟件源代碼的安全保護受到越來越多的重視,各種安全保護措施這些年也得到了長足的發(fā)展。代碼混淆技術(shù)就是其中一種非常有效的保護策略。本文從代碼混淆的角度出發(fā),提出了一種可以有效抵抗程序動態(tài)和靜態(tài)分析的控制流混淆算法,并依此設(shè)計了一款目標代碼混淆模型系統(tǒng)。 本文首先介紹了逆向工程的相關(guān)概念和常用技術(shù),然后介紹了幾種國內(nèi)外廣泛采用的軟件保護方法,引出了一種新型的軟件保護策略,也就是代碼混淆技術(shù)。接下來,本文介紹了代碼混淆的分類,分析了幾種前沿的控制流代碼混淆算法,包括插入不透明謂詞技術(shù)和平展控制流技術(shù)等,通過比較這些算法的優(yōu)勢和不足展示了當下代碼混淆技術(shù)的研究現(xiàn)狀。另一方面,惡意分析人員為了牟取暴利,也積極地投入到反混淆技術(shù)的研究中來,一些對抗混淆技術(shù)的攻擊策略不斷涌現(xiàn),對軟件的安全保護構(gòu)成了極大的威脅,F(xiàn)有的控制流混淆算法無論在混淆強度和安全性方面都明顯落后于反混淆技術(shù)的發(fā)展,本文在充分挖掘現(xiàn)有控制流混淆技術(shù)的弱點和不足的同時提出了一種增強型的平展控制流混淆算法,此方法可以在抵抗程序靜態(tài)分析和動態(tài)分析兩方面為軟件提供更加全面的保護。 最后,本文設(shè)計了一款應(yīng)用增強型平展控制流混淆算法的目標代碼混淆系統(tǒng)。此系統(tǒng)基于二進制指令層面對軟件進行分析和代碼混淆保護工作,可以實現(xiàn)對通用軟件的強有力保護,同時降低了代碼混淆技術(shù)的應(yīng)用門檻。本文著重分析了此系統(tǒng)中的一些核心組件,包括反匯編引擎的設(shè)計,函數(shù)調(diào)用關(guān)系圖和函數(shù)內(nèi)部基本塊構(gòu)建的設(shè)計,以及重定位表修復(fù)模塊的設(shè)計等。
[Abstract]:The problem of software piracy and intellectual property infringement is an important problem that puzzles the development of information technology all over the world. It is also one of the main unsolved problems in the field of computer information security.More and more attention has been paid to the security protection of software source code.Code obfuscation is one of the most effective protection strategies.In this paper, from the point of view of code confusion, a control flow confusion algorithm which can effectively resist the dynamic and static analysis of programs is proposed, and a target code confusion model system is designed accordingly.This paper first introduces the related concepts and common techniques of reverse engineering, then introduces several software protection methods which are widely used at home and abroad, and introduces a new software protection strategy, namely code confusion technology.Then, this paper introduces the classification of code obfuscation, analyzes several advanced control flow code confusion algorithms, including inserting opaque predicate technology and flattening control flow technology, etc.By comparing the advantages and disadvantages of these algorithms, the current research status of code obfuscation technology is demonstrated.On the other hand, in order to make great profits, malicious analysts are also actively engaged in the research of anti-obfuscation technology, and some anti-obfuscation techniques are emerging, which pose a great threat to the security protection of software.The existing control flow obfuscation algorithms lag behind the development of anti-obfuscation technology in terms of confusion intensity and security.In this paper, an enhanced flattened control flow confusion algorithm is proposed while fully mining the weaknesses and shortcomings of the existing control flow confusion techniques.This method can provide more comprehensive protection for software in static analysis and dynamic analysis.Finally, an object code obfuscation system based on enhanced flattening control flow confusion algorithm is designed.Based on the binary instruction level, the system can analyze the software and protect the code confusion. It can protect the general software and reduce the threshold of the code confusion technology.This paper focuses on the analysis of some core components of the system, including the design of disassembly engine, the design of the function call diagram and the building of the basic block inside the function, and the design of the repositioning table repair module.
【學(xué)位授予單位】:北京郵電大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2013
【分類號】:TP309;TP311.53
【參考文獻】
相關(guān)期刊論文 前10條
1 卜峰;;軟件保護利器——混淆算法研究[J];電腦與信息技術(shù);2008年01期
2 李婧;;基于控制流混淆轉(zhuǎn)換的代碼保護技術(shù)[J];計算機安全;2009年08期
3 陳亮;王思;;基于代碼混淆的軟件保護技術(shù)[J];福建電腦;2009年10期
4 王朝坤;付軍寧;王建民;余志偉;;軟件防篡改技術(shù)綜述[J];計算機研究與發(fā)展;2011年06期
5 曾鳴;趙榮彩;;二進制代碼中函數(shù)混淆調(diào)用的識別[J];計算機工程與應(yīng)用;2007年17期
6 羅宏;蔣劍琴;曾慶凱;;用于軟件保護的代碼混淆技術(shù)[J];計算機工程;2006年11期
7 戴超;龐建民;趙榮彩;;采用條件跳轉(zhuǎn)混淆技術(shù)的惡意代碼反匯編[J];計算機工程;2008年08期
8 楊樂;周強強;薛錦云;;基于垃圾代碼的控制流混淆算法[J];計算機工程;2011年12期
9 尚濤;谷大武;;軟件防反匯編技術(shù)研究[J];計算機應(yīng)用研究;2009年12期
10 史揚,曹立明,王小平;混淆算法研究綜述[J];同濟大學(xué)學(xué)報(自然科學(xué)版);2005年06期
相關(guān)碩士學(xué)位論文 前5條
1 宋亞奇;基于代碼混淆的軟件保護技術(shù)研究[D];西北大學(xué);2005年
2 李長青;基于控制轉(zhuǎn)換的混淆器構(gòu)造[D];北京交通大學(xué);2006年
3 李勇;基于Windows平臺的目標代碼混淆[D];電子科技大學(xué);2007年
4 雷植洲;代碼混淆技術(shù)及其在軟件安全保護中的應(yīng)用研究[D];華中科技大學(xué);2007年
5 杭繼春;一種基于控制流平整的代碼混淆算法研究與實現(xiàn)[D];西北大學(xué);2010年
,本文編號:1711967
本文鏈接:http://sikaile.net/falvlunwen/zhishichanquanfa/1711967.html