面向逆向分析的程序关键属性混淆技术研究

来源 :中国人民解放军信息工程大学 解放军信息工程大学 | 被引量 : 0次 | 上传用户:wlhlesley
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
混淆是一种用来增加逆向分析难度的软件保护技术。开展面向逆向分析的程序关键属性混淆技术研究,对优化混淆技术的理论模型,拓展混淆技术的应用领域,以及促进软件反逆向分析技术的发展,具有重要的理论价值和现实意义。本文着重对基于代码和数据属性的软件混淆方法中若干关键问题进行了研究。混淆技术研究成果和背景知识方面。首先概要介绍了当前混淆技术的研究进展,并从混淆方法,混淆评估方面指出了混淆技术研究存在的主要问题,在此基础上,就采用多种防御思想对程序关键代码和数据属性进行有效混淆的问题,给出了本文主要研究内容和组织结构。然后介绍了软件分类,软件语言层次,软件抽象属性,软件逆向分析的过程、方法和工具。最后介绍了几种典型软件反逆向分析技术的基本思想和原理,并提出了一种面向软件逆向分析的程序关键属性混淆评估框架。代码属性混淆方面。基于不同粒度的代码属性,从指令角度出发,提出了一种基于陷门不透明谓词的指令重叠和自修改混淆算法;从基本块角度出发,提出了一种基于指令片段多样化和执行路径随机化的混淆算法;从函数角度出发,提出一种基于多样化函数和多加解密算法随机执行的混淆算法。从指令系统角度出发,提出了一种基于代码并行化和多套虚拟指令集解释执行的混淆算法。  本研究主要内容包括:⑴针对静态反汇编能够准确对汇编指令序列中的控制转移指令进行正确解析,并进一步构建控制流图的问题,提出了一种基于陷门不透明谓词的指令重叠和自修改混淆算法。首先介绍了基于陷门不透明谓词的指令重叠和自修改混淆框架,基于陷门不透明谓词组合算式构造用来实现指令重叠和自修改的跳转和数据偏移,向程序嵌入不透明谓词组合算式、重叠指令和自修改代码实现跳转指令的混淆。然后阐述了一种基于二维超混沌映射方程组构造陷门不透明谓词簇的实现方法,由于二维超混沌系统的随机性和复杂性,混淆后程序能有效抵御静态反汇编分析。⑵针对控制流图的“动态提取,静态分析”的逆向方法,为了增加控制流图结构的复杂性和控制流执行路径的不确定性,提出一种基于指令片段多样化和执行路径随机化的混淆算法。首先构建了多种指令等价变换规则,然后运用这些规则生成构建多分支路径的多样化指令片段,并给出一种基于多分支路径的随机执行算法,最后对所有基本块进行多样化拆分和迭代,从而实现控制流图的混淆。对控制流图分析难度将转化为对指令片段和指令轨迹进行语义等价判定难度,该过程往往是困难的,方法增加了运用静态和动态逆向分析对程序控制流进行分析的难度。⑶针对动态加解密混淆中加解密算法单一和函数执行路径确定易受攻击的问题,为抵御断点调试和内存转储动态分析,提出一种基于函数多样化和多加密算法随机执行的混淆算法。首先在等价变换规则基础上,对函数序列进行随机切分和乱序,然后构建跳转表对切分序列进行重组,并将多样化函数首地址表和跳转表隐藏到随机地址数组中,最后引入多种加解密算法对多样化函数进行加密,在执行时动态对其解密。多种不同加解密函数和函数片段粒度指令轨迹的执行提升了混淆强度。⑷针对多套虚拟指令集嵌套混淆带来的高时间开销问题,考虑到并行和多指令系统程序逆向分析难度大大高于串行和单指令系统程序,提出一种基于代码并行化的多套虚拟指令集解释执行的混淆算法。首先基于依赖图对串行代码进行并行划分,然后构建多虚拟指令集的解释器、调度器和规则,最后采用不同虚拟指令集对划分后并行代码进行解释执行。相比单虚拟机和嵌套虚拟机混淆,该方法在降低混淆程序时间开销的同时保证了混淆强度。⑸针对逆向分析者通过栈回溯技术获取反映函数调用关系的函数调用链问题,提出了一种基于混淆表映射和哈希函数编解码的栈帧数据混淆算法。该算法随机动态生成了混淆地址表和哈希函数,在函数调用时对栈帧数据进行地址映射和编码,在函数返回时对栈帧数据进行解码和地址逆映射,并对实现数据混淆的代码模块进行了多样化处理。映射随机化和编码随机化增加了动态逆向分析栈帧数据的难度,数据混淆模块代码的多样化,增加了混淆代码模块静动态逆向分析的难度,方法能够有效抵御通过栈回溯技术获取函数的调用链信息。⑹针对mea ly机模型代码和内存所对应的状态转移图结构简单且易于静态分析和动态测试的问题,提出了基于mealy机状态转移图膨胀的数据混淆算法。通过迭代混淆增加mea ly机状态转移图的冗余状态和转移函数,使mealy机的状态转移图结构复杂化,从而增加静态逆向分析的难度;通过添加基于概率的输出函数,在概率条件下实现字符输出,以增加动态测试的难度。
其他文献
浩如烟海的互联网信息推动了搜索引擎的普及和应用,同时也促进了搜索引擎技术的蓬勃发展。当今搜索引擎的各项技术日趋成熟,学术界也逐渐将目光从搜索引擎技术本身转移到搜索
局部泛化误差模型是一种评估分类器泛化能力的新型误差模型,以往关于该误差模型的主要研究都集中在分类器的结构选择和特征选择上,本文是局部泛化误差模型在样本选择领域的初
随着移动网络的快速发展,社交网络在社会联系、相互学习、国家政治个人娱乐和发展等多个方面给人类提供了更多的机会。社交网络服务允许建立个人信息来展现自己,发展自己的社交
拒绝服务攻击(Denial of Service,DoS),尤其是分布式拒绝服务攻击(Distributed DoS,DDoS)已经成为最严重的网络安全威胁之一。由于TCP/IP协议设计之初的缺陷和因特网的开放性
网络信息发布系统是指在Internet上进行信息发布的信息系统,其特征是利用Internet的技术传输和处理信息。以数字化、网络化、智能化为特征的多媒体信息发布系统己越来越受到
随着计算机技术及人工智能的飞速发展和中国教育信息化水平的不断提高,实现考试的无纸化、网络化成为IT界和教育界关注的热点。随着经济和社会的发展和终身教育观念的普及,迫
随着机场信息化程度的不断提高,在当今大型机场的资源管理系统中,实时准确的机场业务监控系统、多主机共享的到离港控制系统、实时更新的机场运营数据库服务器、复用性强的资源
粒子群优化算法(Particle Swarm Optimization,PSO)经过十多年的研究与发展,已经成为科学研究和工程实践中重要的全局优化和复杂问题求解技术,PSO的应用几乎渗透到了任何领域,
孤立词语音识别实现简单、技术成熟,有着广泛的应用领域,是深入进行语音识别研究的基础。隐马尔可夫模型(HMM)是目前最流行的语音识别技术,许多成功的语音识别系统都是基于该技
独立分量分析(Independent Component Analysis,ICA)是一种从多元混合信号中分离出独立分量的算法,其通过运用统计学原理,揭示出混合信号中的隐藏成分和内在因子,在生物医学、声音