对抗环境敏感技术的代码脱壳方法

来源 :南开大学 | 被引量 : 0次 | 上传用户:qq272007222
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
加壳技术是保护软件知识产权的常用方法,但是常被恶意代码用来躲避杀毒软件的检测,因此对脱壳技术的研究是恶意代码分析的重要部分。当前已有很多有效的脱壳技术,例如定向脱壳技术、通用脱壳技术等。但是基于环境敏感技术的反脱壳方法,给现有的脱壳方法造成了很大的干扰。环境敏感技术先对执行环境进行检测,如果当前环境“危险”,则终止加壳程序的运行,这使得以动态执行为基础的通用脱壳工具难以实现脱壳功能,而定向脱壳工具又缺乏通用性,难以对使用经过修改的加壳算法的恶意代码进行有效脱壳。   本文提出了对抗环境敏感技术的代码脱壳方法,并开发了原型系统MalUnpack。本方法首先对环境敏感信息打污点标签,并使用动态污点追踪技术记录加壳程序执行轨迹中的污点传播过程;然后,利用中间语言对记录的污点传播过程进行形式化表示,并收集和推理其中的条件约束,得到环境污点信息同脱壳行为的依赖关系;之后,使用反向分析和二进制代码插装技术,修改加壳程序中对应的条件跳转指令,清除加壳程序的环境敏感性,使动态脱壳工具能够提取加壳程序中被隐藏的代码。为了证明该方法的有效性,本文在BitBalze平台的基础上实现了MalUnpack原型系统,并对大量的加壳恶意代码样本进行实验。实验结果表明,该方法能够有效地识别并清除加壳代码的环境敏感性,其脱壳效果明显优于现有的脱壳工具.   本文提出的对抗环境敏感技术的脱壳方法使用动态分析和静态分析相结合的方式,检测并清除加壳程序的环境敏感性,解决了环境敏感技术对现有脱壳工具的干扰。该方法为受环境敏感技术困扰的动态分析工具提供了一种新的解决思路,在病毒分析和逆向工程方面做出了贡献。
其他文献
模型驱动架构(MDA)是一种以模型为核心的软件开发方法。MDA开发过程以需求分析阶段为起点,软件开发人员通过阅读分析非形式化或半形式化的需求规格说明,手工创建平台无关模型(PIM)
协同图形编辑系统支持地域分散的一组设计群体通过网络同步高效地浏览、操作和修改共享的图形文档,而其中全复制结构下协同过程中的一致性维护和语义保持是协同设计相关研究
密码学的分析与设计是两个既相互依存又相互对立的研究方向,分组密码的这种对立统一关系促进了它的快速发展。S盒是诸多分组密码系统中的唯一非线性部件,它提供了香农理论中
Malware detection has become more difficult with the use of compression,polymorphic methods and techniques to detect and disable security sottware. Those andoth
随着信息量剧增,并且需要处理的事务增多,存储相关的数据也成为各行业的中心,例如银行、金融、政府、教育等领域,一旦这些数据损坏,将会造成不可估量的损失。存储区域网络(St
随着人类人口快速增加,城市化进程的加快和工业水平的提高,大气中灰霾污染日趋严重,为了加强对灰霾的监测和治理,开展灰霾等级的预测意义重大。   本文通过将美国环保署开发的
随着网络的发展,因特网成为目前使用最广泛,规模最大的信息源,为了方便、高效的从网络上获取所需要的信息,人们广泛使用搜索引擎来进行信息搜索。然而搜素引擎搜索出来的信息都是
H.264是MPEG和VCEG联合开发的视频压缩编码标准,其性能远远高于早期的MPEG-4和H.263编码,在2003年被ITU-T通过并且在国际上正式颁布。H.264具有高效的编码效率及网络亲和力,
作为自然语言处理的一个研究重点,语义角色标注(Semantic Role Labeling,简称SRL)是浅层语义分析的一种实现方式,它标注出句子中与谓词(可以是动词或名词等)相关的语义角色,
随着智能移动设备的日益普及,移动互联网技术的迅速发展,出现了各种各样的移动应用,而这些应用多数都是计算密集型的。为了获取良好的用户体验,移动设备就必须拥有较高的配置