前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于反编译的搜索

基于压缩加密及多态变形的代码迷惑方法研究.pdf - 免费查看前50页 淘豆网 登录 | 注册 | QQ账号登录 | 新浪微博登录 | 常见问题 首页 浏览 我的淘豆 我要上传 文档交流 帮助中心 下载文档 文档分类:论文 > 毕业论文 基于压缩加密及多态变形的代码迷惑方法研究.pdf 在线文档经过高度压缩,下载原文更清晰。 淘豆网网友minzo近日为您收集整理了关于基于压缩加密及多态变形的代码迷惑方法研究的文档,希望对您的工作和学习有所帮助。以下是文档介绍:基于压缩加密及多态变形的代码迷惑方法研究 华中科技大学硕士学位论文基于压缩加密及多态变形的代码迷惑方法研究姓名:李帅申请学位级别:硕士专业:计算机系统结构指导教师:余胜生2011-01-17华中科技大学硕士学位论文I摘要网络环境随着技术发展变得越来越复杂,各类恶意代码层出不穷,对抗恶意代码已成为计算机安全研究的主要内容之一。同时,在网络取证及信息对抗中,恶意代码作为一种辅助手段,正在发挥积极作用。因此,研究恶意代码伪装自身所使用的代码迷惑技术,具有重要的理论意义和实用价值。结合代码迷惑技术的发展现状,阐述了控制流迷惑、重构可移植执行体文件、代码反特征检测等与代码迷惑相关的重要概念,分析了两种典型的面向可执行文件的代码迷惑方法,说明了这些方法依据的理论及迷惑机理,指出了它们存在的不足。在此基础上,探讨性地提出了一种基于压缩加密及多态变形的 pressionEncryption and Polymorphism)代码迷惑方法,给出了其中涉及的三个关键技术:针对原始文件代码段使用压缩加密进行改造;使用基于 Hash 值动态查找的方法加解密原始文件的导入表;利用多态变形技术改造加载部分最终实现(来源:淘豆网[http://www.taodocs.com/p-3314004.html])整个文件的改造。其中压缩采用的是一种基于 LZMA 压缩引擎的压缩方法,并使用与随机值进行异或的方法保护数据,在保证压缩性能的同时,兼顾了保密性。导入表处理,使用移位异或 Hash 值加密导入函数名,于解密时动态查找匹配 Hash 值相等的函数,以此迷惑检测软件。分析了多态引擎的应用场合,解析了 BPE32 多态变形引擎的工作模式,在 CEP 代码迷惑方法中采用了该引擎实现多态变形。为了验证 CEP 代码迷惑方法的有效性,基于该方法的处理流程,设计并实现了一个代码迷惑工具,给出了该工具的基本架构、功能描述、模块的划分以及多态变形的处理方式,其中重点说明了原始文件压缩模块、加载模块的具体实现。搭建了实验环境,进行了相关测试,测试结果表明,CEP 代码迷惑方法对不同Windows 平台具有普适性,经该方法处理后的恶意代码能够躲避主流检测软件的查杀,具有一定的实用价值。关键词: 压缩,加密,多态变形,代码迷惑,计算机安全华中科技大学硕士学位论文IIAbstractWith the rapid dev(来源:淘豆网[http://www.taodocs.com/p-3314004.html])elopment work technology, the environment es more and plex. Various of malicious codes are emerging in an endlessstream. How to against malicious codes has been an main content puter securityresearch. Meanwhile, malicious code has played an active role puter forensics andinformation warfare, as an auxiliary means. Therefore, study of code obfuscationtechnology which used to camouflage the malicious code has both theoretical and practicalvalue.Based (来源:淘豆网[http://www.taodocs.com/p-3314004.html])on the previous researches, the major conceptions related to code obfuscationare discussed, which are control obfuscation, refactoring PE files and anti-detection ofcode trait. After analyzing two general methods of code obfuscation and discussing theirbasic processing flow and rationale, the disadvantages of them has been summarized.Based on it, an approach of code obfuscation based pression Encryption andPolymorphism exploratory proposed in this p(来源:淘豆网[http://www.taodocs.com/p-3314004.html])aper. The key technologies of this approachare reforming original code segment pression, encrypting import address table byhash and reforming the loader by polymorphism. pressing the original segment,there uses pression method which based on LZMA( Lempel-Ziv Markov chainAlgorithm) compression engine and xor treatment with a random number. In ensuring pression performance, the confidentiality been taken into account. There uses aapproach based on shi(来源:淘豆网[http://www.taodocs.com/p-3314004.html])fting and xor hash dynamic search method for encryption, thatensures the detecting software been obfuscated. After analyzing a polymorphism engine,its mode has been described. This engine has been used in CEP for reforming the loaderfunction.For testing the CEP code obfuscation method, an obfuscation implement based on theCEP method has been designed. The major modules of this tool which pressionmodule and loader module has been listed. After that, (来源:淘豆网[http://www.taodocs.com/p-3314004.html])a test environment has been set up,which is used for test the availability of CEP obfuscation implement.The results indicate that the CEP code obfuscation method has its universality ondifferent Windows platform. And the malicious wares which handled by it can avoid themonitoring by detecting software essfully.Keywords: compression, encryption, polymorphism, code obfuscation, computer security独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用(来源:淘豆网[http://www.taodocs.com/p-3314004.html])的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到,本声明的法律结果由本人承担。学位论文作者签名:日期: 年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□,在_____年解密后适用本授权书。不保密□。(请在以上方框内打“√”)学位论文作者签名: 指导教师签名:日期: 年月日日期: 年月日本论文属于华中科技大学硕士学位论文11 绪论1.1 研究背景网络环境随着技术的发展变得越来越复杂,病毒、木马、蠕虫等各种恶意代码技术随着反病毒技术的进步得到了不断的发展[1]。如何对抗各种恶意代码,是当前计算机安全研究的主要内容之一。同时,在网络取证以及信息对抗中,(来源:淘豆网[http://www.taodocs.com/p-3314004.html])恶意代码作为一种攻击手段,研究其使用的技术也具有非凡的价值。由此看来,研究恶意代码如何使用代码迷惑技术伪装自身,以便提前预警,抑或应用于国家安全相关领域,对于网络安全乃至国家安全都具备实际价值。尽管人们对系统及网络设施的安全做出了很多努力,但病毒、木马、蠕虫等各种恶意代码仍长期存在于网络的各个角落,从未被真正的杜绝过。其原因主要有两个方面,一方面是:防御恶意攻击需要考虑方方面面的因素,但人们的思维往往有其一定的局限性,因此这些努力只能做到减少攻击,而不能完全杜绝;另一方面是:恶意代码针对性强,只需要针对系统的一个脆弱点,就能突破整个防御系统,这就带来了恶意软件所关注的单个漏洞与安全人员所关注的全局防御存在的差异。例子如 Autorun 病毒[2]就是利用了操作系统针对移动设备自动运行功能上的单个漏洞,从而通过 Autorun.inf 激活。虽然从理论上来说通用判断方法不可判定恶意代码[3],但是因为互联网的高度共享特性,一旦某段恶意代码使用了独特的方法突破过了某防御系统,则其突破方法很快就得到(来源:淘豆网[http://www.taodocs.com/p-3314004.html])传播,从而安全公司可以弥补被该突破方法针对的漏洞,最终达到检测恶意代码的效果。因此恶意代码使用者使用各种迷惑技术来混淆安全工具视听,并期望找到一种无须通过太多精力即可使一段恶意代码在较长的一段时间内不失效的方法。从当前病毒分析及安全研究的现状看来,代码迷惑技术不失为这样的一种方法。华中科技大学硕士学位论文21.2 国内外发展现状计算机信息迷惑概念最早是随着公钥密码系统一并提出,早期尝试于机器码级别的指令方面的修改[4],代码迷惑属于信息迷惑的一个分支。Collberg 给出的代码迷惑的通用定义是:代码迷惑是一种变换技术,其将程序 P 变换成 P’,且 P’难以被逆向工作者所理解,P 和 P’可观察行为相同[5]。在数十年的发展中,针对符合该定义的研究取得了长足的进步。1.2.1 代码迷惑研究现状代码迷惑研究主要集中于恶意主机问题和恶意客户问题。恶意主机问题指代码运行于不明身份主机之时,如何确保代码自身的安全,保证其不被篡改,窃取等。恶意客户问题指不明身份代码在运行于本地主机时,如何确保该代码不(来源:淘豆网[http://www.taodocs.com/p-3314004.html])会破坏主机资源等[6]。Collberg 最早在他的文章中给出了代码迷惑的基本概念[6],同时还给出了关于代码迷惑有效性的评价测度,分别是程序复杂度强度,抗攻击能力以及迷惑变换的代价[7]。之后他又发表了一系列文章,提出了多种代码迷惑算法[8-9],为相关研究夯实了基础。而 ChenXi Wang 则在他的一系列文章中提出基于 C 语言源代码所实现的控制混淆和数据混淆这两种代码迷惑方法[10-12],并从理论上证明如果想通过静态分析经迷惑后的代码获取源代码,是一个 NP 问题[12]。面向可执行代码迷惑方面,Wroblewski做出了卓越贡献,提出了面向可执行代码的一系列迷惑方法[13]。代码迷惑相关研究在国内开展并不太久,尚处于跟踪国外相关研究的阶段。现阶段已经有人研究出了 Java 程序保护[14-15]、控制流迷惑[16-17]、移动代码安全[18]等方面的理论成果。1.2.2 代码迷惑应用现状根据恶意主机恶意客户问题上的相关研究,代码迷惑技术主要集中应用在两个不同的方面,一是应用于软件保护[19-20]中,另一是应用于恶意代码构造中[21]。华中科技大学硕士学位论文31.2.2.1 代码迷惑在软件保护中的应用安全研究先驱 Cohen 提出使用一种程序进化技术来保护操作系统[22],用能够完成语义等效功能的指令或指令序列替换原来的指令或指令序列,这就是一种代码迷惑方法的应用。与此同时,也正是 Java 语言[23-24]快速发展的时期,由于 Java 是一种基于中间码的设计语言,很多符号信息都包括在中间字节码中,如.class 文件,因此Java 程序很容易被反编译成源代码,于是针对 Java 程序的保护应用代码迷惑技术得到深入发展[25]。代码迷惑技术不只是能应用于源代码及中间代码的迷惑,针对目标代码的应用也得到发展,例如国内外当前有多种软件版权保护工具是基于各种迷惑算法而设计实现的,当前有很多加壳软件使用一种虚拟机技术[26],其中就穿插着许多控制流迷惑以及数据迷惑技术,例如俄罗斯人 Alexey 开发的 ASProtect SKE 就是一种关键部分使用虚拟机,并使用了乱序引擎干扰分析的软件加壳工具。现在风靡国内外的软件版权保护工具 Winlicense、VMProtect,都是基于使用虚拟机模拟反汇编后的目标代码,并在生成的文件中加上各种反跟踪[27]、反逆向手段[28],从而使分析人员迷失于种种陷阱之中。这些工具都是代码迷惑在软件保护应用方面的集大成者。1.2.2.2 代码迷惑在恶意代码构造中的应用中国科技大学的高鹰博士用一系列理论论证代码迷惑技术构造的病毒在语法上具有不相关性,并提出只有基于语义方面进行判定才能对抗代码迷惑,而语义的判定则需要经过长足的发展才能应用于实用[29]。最初的感染型病毒为了欺骗用户,应用病毒感染技术将自身感染到了用户可执行文件上,从而达到隐藏的目的[30]。这种病毒感染技术通过将自己伪装成正常文件的一部分来逃避杀毒软件,而该技术后来也发展成为了软件保护工具技术基础[31]。随着杀毒软件的不断发展,现代的恶意代码发展到使用代码迷惑技术来迷惑杀毒软件,如这些年发展起来的多态变形病毒[32-33]。多态变形就符合代码迷惑的定义,同一个病毒样本,经过变形引擎所处理后,生成不同的变种,其语法被修改而原始语义保持不变,造成杀毒软件对各变种的特征码定义都不尽相同。只有经过专业的反华中科技大学硕士学位论文4病毒人员的分析后才能确定变形后的病毒属于同一家族,而没有更新病毒库的杀毒软件对此病毒将束手无策。1.3 课题研究的意义、内容及目标1.3.1 意义在研究已有代码迷惑方法及相关基础理论的前提下,总结各种代码迷惑方法的优缺点,并以此为基础重点研究 Windows 操作系统环境下可执行文件的代码迷惑方法。通过该研究,一方面探索恶意代码的代码迷惑技术,以期对未来可能出现的恶意代码进行预警;另一方面对于研究目前的网络安全技术及特定应用环境下的网络取证也具有特殊的意义。1.3.2 内容课题的主要研究内容包括:(1)windows 平台下可移植执行体文件特征分析。(2)基于加密技术的代码迷惑方法。(3)基于虚拟机技术的代码迷惑方法。(4)分析多态变形引擎评价标准及设计思路。(5)提出一种结合压缩加密及多态变形的代码迷惑方法。(6)基于所提代码迷惑方法的工具设计与实现。1.3.3 目标课题的预期目标是在研究各种代码迷惑技术的基础上,探讨性提出一种结合多种代码迷惑技术的代码迷惑方法,并采用该方法实现一个代码迷惑工具。该工具应具有如下性能:(1)具备文件格式特征、控制流等各方面的迷惑性能,能绕过主流检测软件的扫描。(2)具有一定的通用性,其生成的可执行文件应能在不同版本的 Windows 操作华中科技大学硕士学位论文5系统上正常运行。(3)采用的压缩方法除了要求处理速度快外,更重要的一点是其具有一定的保密性,从而最大程度的保证代码迷惑的强度。华中科技大学硕士学位论文62 常见代码迷惑方法做为后续研究的相关基础,本章将首先解释代码迷惑技术中的一些基本概念,阐述与面向可执行文件代码迷惑的相关的技术,然后讨论分析一些常见的面向可执行文件的代码迷惑方法。2.1 相关概念代码迷惑方法所涉及到的重要概念主要包括:控制流迷惑、重构 PE 文件以及代码反特征检测。2.1.1 控制流迷惑根据变换的对象,代码迷惑技术可以分成如下三个类型:数据迷惑,布局迷惑,控制流迷惑。数据迷惑主要变更程序中的数据结构,布局迷惑更改的对象则是函数及变量名等。由于本文讨论的是基于 Windows 平台下可执行文件的迷惑方法,不存在源代码,如果更改数据结构,则必将影响整个程序的执行,从而造成异常结束,这有违代码迷惑技术的初衷。因此在可执行文件的代码迷惑中,能够应用的代码迷惑技术只有控制流迷惑。控制流迷惑的原理是通过打乱原始执行流程,从根本上改变执行块的执行顺序。由于不同的执行块之间并不存在依存关系,即使存在依存关系也可将该先后顺序通过逻辑转变成非先后顺序,因此能够阻止分析者分析程序控制流程。谓词[34]在计算机领域是指条件表达式的求值返回真或假的过程。控制流迷惑中,最重要的概念是迟钝谓词(Opaque Predicates),其定义为:某谓词在编译时可知,而在编译后被迷惑者难以根据前后关系推导出该谓词,因此说该谓词是迟钝的。同时还定义:若在某点谓词 P 恒为真,则称为恒真谓词 PT;若在某点谓词 P 恒为假,则称为恒假谓词 PF;若在某点有时为真有时为假,则称为 P?。控制流迷惑的主要方式:(1)插入不相关代码播放器加载中,请稍候...系统无法检测到您的Adobe Flash Player版本建议您在线安装最新版本的Flash Player 在线安装 更多>>该用户其他文档 49 基于压缩加密及多态变形的代码迷惑方法研究 52 基于历史选择信息的QoS服务选择研究 47 基于协同进化的检测器生成算法 42 基于化简行为轨迹的软件可信性评价模型 44 基于动态工作流的自适应Web服务组合 88 基于功能本体的数字家庭服务注册与搜索平台研.. 文档介绍: 基于压缩加密及多态变形的代码迷惑方法研究 华中科技大学硕士学位论文基于压缩加密及多态变形的代码迷惑方法研究姓名:李帅申请学位级别:硕士专业:计算机系统结构指导教师:余胜生2011-01-17华中科技大学硕士学位论文I摘要网络环境随着技术发展变得越来越复杂,各类恶意代码层出不穷,对抗恶意代码已成为计算机安全研究的主要内...全部>>基于压缩加密及多态变形的代码迷惑方法研究 华中科技大学硕士学位论文基于压缩加密及多态变形的代码迷惑方法研究姓名:李帅申请学位级别:硕士专业:计算机系统结构指导教师:余胜生2011-01-17华中科技大学硕士学位论文I摘要网络环境随着技术发展变得越来越复杂,各类恶意代码层出不穷,对抗恶意代码已成为计算机安全研究的主要内容之一。同时,在网络取证及信息对抗中,恶意代码作为一种辅助手段,正在发挥积极作用。因此,研究恶意代码伪装自身所使用的代码迷惑技术,具有重要的理论意义和实用价值。结合代码迷惑技术的发展现状,阐述了控制流迷惑、重构可移植执行体文件、代码反特征检测等与代码迷惑相关的重要概念,分析了两种典型的面向可执行文件的代码迷惑方法,说明了这些方法依据的理论及迷惑机理,指出了它们存在的不足。在此基础上,探讨性地提出了一种基于压缩加密及多态变形的 pressionEncryption and Polymorphism)代码迷惑方法,给出了其中涉及的三个关键技术:针对原始文件代码段使用压缩加密进行改造;使用基于 Hash 值动态查找的方法加解密原始文件的导入表;利用多态变形技术改造加载部分最终实现整个文件的改造。其中压缩采用的是一种基于 LZMA 压缩引擎的压缩方法,并使用与随机值进行异或的方法保护数据,在保证压缩性能的同时,兼顾了保密性。导入表处理,使用移位异或 Hash 值加密导入函数名,于解密时动态查找匹配 Hash 值相等的函数,以此迷惑检测软件。分析了多态引擎的应用场合,解析了 BPE32 多态变形引擎的工作模式,在 CEP 代码迷惑方法中采用了该引擎实现多态变形。为了验证 CEP 代码迷惑方法的有效性,基于该方法的处理流程,设计并实现了一个代码迷惑工具,给出了该工具的基本架构、功能描述、模块的划分以及多态变形的处理方式,其中重点说明了原始文件压缩模块、加载模块的具体实现。搭建了实验环境,进行了相关测试,测试结果表明,CEP 代码迷惑方法对不同Windows 平台具有普适性,经该方法处理后的恶意代码能够躲避主流检测软件的查杀,具有一定的实用价值。关键词: 压缩,加密,多态变形,代码迷惑,计算机安全华中科技大学硕士学位论文IIAbstractWith the rapid development work technology, the environment es more and plex. Various of malicious codes are emerging in an endlessstream. How to against malicious codes has been an main content puter securityresearch. Meanwhile, malicious code has played an active role puter forensics andinformation warfare, as an auxiliary means. Therefore, study of code obfuscationtechnology which used to camouflage the malicious code has both theoretical and practicalvalue.Based on the previous researches, the major conceptions related to code obfuscationare discussed, which are control obfuscation, refactoring PE files and anti-detection ofcode trait. After analyzing two general methods of code obfuscation and discussing theirbasic processing flow and rationale, the disadvantages of them has been summarized.Based on it, an approach of code obfuscation based pression Encryption andPolymorphism exploratory proposed in this paper. The key technologies of this approachare reforming original code segment pression, encrypting import address table byhash and reforming the loader by polymorphism. pressing the original segment,there uses pression method which based on LZMA( Lempel-Ziv Markov chainAlgorithm) compression engine and xor treatment with a random number. In ensuring pression...还原 内容来自淘豆网www.taodocs.com转载请标明出处. 相关文档 基于压缩加密及多态变形的代码迷惑方法研究 文档信息 不充值也能购买文档? 浏览:0次 页数:49 收藏数:0 收藏 顶次数:0 顶 贡献者:minzo 时间:2014-03-07 文档标签 关于我们 侵权处理 免责声明 隐私保护 网站地图 加入我们 友情链接 联系我们 常见问题 ©2010-2012 TaoDocs.com Inc. All Rights Reserved 淘豆网 版权所有 网站地图:1234567891020304050607080901001101201301401501601701801902003004005006007008009001000 服务QQ:53950680 / 910670854 闽ICP备06004866号