基于虚拟机的关键信息提取与分析

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:dragon_3628
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
可执行二进制代码的分析是分析程序行为特征的重要手段,是检测恶意代码的主要措施。随着软件技术的发展,加壳、反调试、代码混淆等抗分析技术手段提高了二进制代码的分析难度。针对这个问题,本文提出了一种基于虚拟机的关键信息提取与分析的方法,其核心思想是,在一个使用仿真技术的全系统虚拟机上运行操作系统,然后在处于仿真环境的操作系统中执行需要分析的二进制代码,通过截获二进制代码运行时产生的指令流信息,提取相关数据,并借助程序切片技术分析二进制代码的行为特征。基于该方法,本文设计并实现了一个原型系统。该系统通过对bochs虚拟机进行二次开发,能够高效地截获二进制代码运行时产生的指令流和数据流信息,然后使用静态特征分析、转移类指令分析、系统调用分析、内存读写分析、程序切片分析、密码算法分析等分析模块,对截获下来的信息进行分析,提取其关键的信息,并分析其行为特征。本文在该原型系统上进行了实验和分析。实验结果表明,本文所提出的二进制代码分析方法,能够有效地对抗加壳、反调试、代码混淆等抗分析技术手段,实现二进制代码分析的目的。本文对采用加壳、反调试、代码混淆等抗分析技术手段的二进制代码的分析方法进行了重点研究。本文的主要贡献在于:(1)通过对二进制代码、指令流和数据流的特点、抗分析技术的机理等进行研究,提出了一种基于虚拟机的二进制代码分析方法。传统的二进制代码分析方法更多的是关注静态的二进制代码或者程序运行时表现的行为,对于采用抗分析技术手段的二进制代码,传统的二进制代码分析方法能够获取的信息比较有限,难以分析二进制代码的行为特征。本文的新颖性在于,通过截获、分析二进制代码运行时的指令流和数据流信息来分析二进制代码。这种方法可以有效规避加壳、反调试、代码混淆等抗分析技术手段。(2)设计并实现了一个通用的截获运行时指令流和数据流的虚拟机。通过对开源虚拟机bochs进行二次开发,实现了一个能够截获运行时指令流和数据流信息的虚拟机。基于X86架构的Windows、Linux操作系统以及应用程序都可以在该虚拟机环境运行,具有通用性。(3)能够自动化分析程序行为特征。实现了一系列的软件工具,用于提取指令流和数据流信息中的关键信息,并自动化地分析二进制代码的行为特征。
其他文献
对克氏原螯虾Procambarus clarkii亲虾进行短期饥饿处理(0、4、8、12、16 d)后,分别测定其内脏消化酶活性及部分组织免疫学指标。结果显示:饥饿能显著影响克氏原螯虾肝胰脏的
目的观察依托咪酯和异丙酚对无痛人流术的麻醉效果。方法选择2009年12月~2010年12月于门诊行人流术的180例患者,随机分为3组:对照组、依托咪酯组和异丙酚组。对照组:不用麻醉
本文使用UML建模技术,综合面向对象的设计思想,采用“核心→边缘”、“主干→细化”的螺旋式功能设计方式,针对个性化服装款式三维设计与演示系统涉及的参数化人体建模、二维/三
中国老年学学会骨质疏松委员会组织多位专家,在前期原发性骨质疏松症临床实践指南和专家共识的基础上,检索和评价相关文献资料,通过临床医师的问卷调查和学科组讨论,结合临床
<正>新的课程改革从内容标准、教学目标到教学方式、学习方式等都发生了很大的变化,旧的体系被打破,新的体系又尚未建立,因而就出现了课堂教学层面的低效甚至无效现象,本文仅
(2019年3月30日)首先,我代表兵团总工会党组,向兵团总工会第五届女职工委员会第一次全体会议的召开表示热烈的祝贺.向出席会议的全体委员和代表,并通过你们向全兵团广大女职
为加强专业与课程建设,服务于特色人才培养,设计具有可操作性和推广价值的课程评估体系是非常重要的。文中分析了课程评估指标体系的设计原则、重难点及详细构成,并对评估实
<正>在课改如火如荼的今天,仍然存在这样一种现象,有些老师恪尽职守、孜孜不倦,坚守于教学岗位。他们从备课到批改作业甚至讲评试卷所有环节都面面俱到、入木三寸,结果成绩却
【正】 十九世纪后半叶,欧洲一些国家的探险家,在我国西北地区进行了一系列考察活动,并攫去不少古代稀世珍宝,这引起世界学术界的广泛注意。为进一步促进这方面的探险和研究
克里斯蒂娃提出的互文性理论及其理论的发展给典故的翻译提供了新的规律,该理论引导译者从宏观和微观,共时、历时,译者的主体性等层面重新审视典故的翻译方法。通过比较许渊