收藏本站
《北京邮电大学》 2012年
收藏 | 手机打开
二维码
手机客户端打开本文

恶意代码二进制程序行为分析关键技术研究

钟金鑫  
【摘要】:随着信息时代的来临,互联网已经成为了人们工作和生活中不可缺少的一部分。但是,在生活因为互联网而变得便捷的同时,也使得人们更加容易遭受到来自于恶意代码的攻击。特别是在恶意代码的编写、传播以及利用发展成为一个黑色产业链之后,恶意代码的产量越来越大,生产速度也越来越快。恶意代码对网络安全造成的影响也随之变得越来越大,甚至严重地威胁到了国家的安全。 正是鉴于恶意代码的带来的严重安全威胁,对恶意代码的分析已经成为了所有安全机构和厂商关注的重点。特别是基于二进制程序行为的恶意代码分析技术已经被广泛的应用在日常分析工作当中,以帮助安全分析人员迅速地对恶意代码进行分析。从而,可以达到对恶意代码传播扩散的遏制,保护合法用户的利益不受到来自于恶意代码的侵害。 随着近年来恶意代码分析技术研究的不断进步,已经取得了一些重要的研究成果,对恶意代码的传播及其造成的危害起到了有效的遏制作用。但是,依然还有许多问题依然困扰着研究人员。对于恶意代码二进制程序行为分析主要存在着以下几个问题: 首先,在现有的恶意代码行为分析当中,多数分析方法都是底层都是在汇编代码层面对其行为进行描述。由于汇编代码复杂且难于理解,使得用其描述的行为很难具有可读性,缺乏针对的行为形式化的抽象描述。尽管,有些研究者借助编译器中的中间语言对程序行为进行了抽象,但是由于这种中间语言专注于对程序正向编译执行,而缺乏对反编译技术的有效理解,导致很多反编译中存在问题无法被正确描述,从而导致恶意代码行为的抽象描述存在欠缺,不能正确地展示出恶意代码运行的整个流程。也正是由于缺少对恶意代码分析的形式化中间描述语言,使得很多分析方法都只能够停留在技术说明的层面,不能够向人们完整地展示其分析方法的全部过程。 其次,现有的恶意代码行为分析技术,无论是动态行为分析,还是静态行为分析往往都关注于恶意代码的调用函数层面的监视分析,没有深入到内存和寄存器的变化层面。这样,由于没有对操作系统底层进行深入研究,检测不到操作系统底层的工作状态,无法对内核级恶意代码的行为进行有效监控。尽管,有一些恶意代码分析工具能够对操作内核系统调用进行监控,但是没有关注内存和寄存器中数据的变化情况,仅仅完成了内核函数级的监控分析,因此无法有效的使用了内核技术的恶意代码进行识别判断,从而面对这样的恶意代码也无法进行分析检测。 第三,现有的行为分析技术在对恶意代码进行分析时,没有对运行时间和执行效率进行优化,导致分析时间过长,不能满足现在恶意代码增长速度的需求。现在互联网的存在,导致恶意代码增长量的极度攀升,截获到一个新的恶意代码样本的时间可能仅仅需要数分钟。因此对分析速度和性能的要求是非常高的。现有的恶意代码分析技术多数只关注了分析识别恶意代码的准确率,而对其分析所消耗的时间没有做过多关注。这就对新产生的恶意代码无法做出及时的反应,严重的制约了恶意代码分析技术检测的发展。 最后,恶意代码的编写者为了对抗检测和分析,也在不断地改进和提高恶意代码的自我保护技术以逃避对其的分析识别。特别是现有的代码混淆技术使得恶意代码分析时产生了大量可执行路径分支,其中大部分是冗余路径,这就使得程序分支数骤增,导致路径爆炸这样就会造成在可容忍的时间内无法完成全路径分析,从而不能够完全覆盖到恶意行为所有的触发情况,影响恶意代码分析的全面性。同时,由于路径数量的急剧增加,也极大地消耗了分析的耗时,从而影响分析的效率。 本论文的研究工作试图解决上述恶意代码二进制程序行为分析中的问题,论文的主要工作内容与贡献包括以下几个方面: 1、针对恶意代码二进制程序行为分析当中缺乏形式化描述的中间语言这一问题,论文提出了一种用于恶意代码二进制程序行为分析的中间语言MDIL(Malicious code Detection Intermediate Language)。利用MDIL中间语言能够有效地形式化表示在恶意代码二进制程序行为分析中,恶意代码在操作系统底层的运行状况,并对内存和寄存器的变化情况进行符号化抽象,正确地对恶意代码程序的数据流和控制流进行描述,揭示其工作机制。通过MDIL能够非常完整方便地展示恶意代码二进制程序行为分析方法的全部细节,从而对分析过程能够进行形式化表示,便于揭示分析方法的全过程。 2、鉴于现有的恶意代码二进制程序行为分析检测中没有对底层进行监控的问题,论文提出了一种基于MDIL中间语言的恶意代码行为分析模型。该方法通过对二进制程序行为进行跟踪,监视内存和寄存器的变化,在中间语言层对程序行为进行形式化分析,从而达到对恶意代码分析检测的目的。该方法通过对恶意代码进行二进制程序分析,在操作系统底层进行监视,跟踪内存及寄存器的变化情况,揭示恶意代码程序的工作机制,对其进行分析检测,从而有效地解决了内核级恶意代码无法进行有效分析检测的问题。同时,在进行行为比较的时候引入向量相似度测度方法进一步提升了对恶意代码的检测准确度,降低了误报率。 3、现有的行为分析技术在对恶意代码进行分析时,没有对运行时间和执行效率进行优化,导致分析时间过长,不能满足现在恶意代码增长速度的需求,论文提出了一种基于分段符号执行的二进制程序分析方法。该方法在定义的中间语言MDIL的层面上,将程序拆分为若干个小的程序单元,然后各个单元逐一进行符号化。在每个程序单元当中,分支数相对减少,每个单元中的路径爆炸问题都不会体现得非常明显。而在处理各个单元间的关系时,又不需要进行高时间复杂度运算。这样,二进制程序的分析时间将与各个分析单元的分析总时间相当,从而降低了程序分析的时间复杂度。实验表明基于分段符号执行的二进制程序分析方法能够有效地缓解路径爆炸问题,同时与其他二进制分析工具相比具有更小时间复杂度。针对恶意代码行为分析的需要,引入强化机器学习技术,以获得对恶意代码分析时的最优分段策略。 4、鉴于恶意代码自我保护技术的迅速发展,特别是代码混淆技术的使用,使得程序分支数骤增,导致路径爆炸,造成在可容忍的时间内无法完成全路径分析的问题,论文提出了一种基于符号执行树的恶意代码分析方法,该方法通过构造符号执行树,对恶意代码执行路径条件进行约束,使之形成新的汇聚节点,有效地避免了可达路径的重复遍历,减少了分支数,缓解了路径爆炸问题,提高了恶意代码分析的执行路径覆盖率。同时,基于符号执行树的分析方法在时间复杂度上也有了明显降低,提高了分析速度。实验表明基于符号执行树的恶意代码分析方法能够明显地缩短恶意代码分析时间,提高分析的效率及全面性。 5、为了验证本论文的研究成果在实际恶意代码分析检测应用中的可行性,发现实现过程中所存在的技术问题,在论文提出的基于MDIL中间语言的恶意代码二进制程序行为分析模型基础上,应用分段符号执行分析方法和符号执行树恶意代码分析方法的研究成果,设计和开发了恶意代码二进制程序行为分析原型系统。
【学位授予单位】:北京邮电大学
【学位级别】:博士
【学位授予年份】:2012
【分类号】:TP393.08

【参考文献】
中国期刊全文数据库 前4条
1 王祥根;司端锋;冯登国;苏璞睿;;基于代码覆盖的恶意代码多路径分析方法[J];电子学报;2009年04期
2 苏璞睿;杨轶;;基于可执行文件静态分析的入侵检测模型[J];计算机学报;2006年09期
3 梅宏;王千祥;张路;王戟;;软件分析技术进展[J];计算机学报;2009年09期
4 陈亮;郑宁;郭艳华;徐明;胡永涛;;基于Win32 API的未知病毒检测[J];计算机应用;2008年11期
中国博士学位论文全文数据库 前3条
1 文伟平;恶意代码机理与防范技术研究[D];中国科学院研究生院(软件研究所);2005年
2 王祥根;自修改代码逆向分析方法研究[D];中国科学技术大学;2009年
3 范文庆;分段符号执行模型及其环境交互问题研究[D];北京邮电大学;2010年
中国硕士学位论文全文数据库 前1条
1 黄全伟;基于N-Gram系统调用序列的恶意代码静态检测[D];哈尔滨工业大学;2009年
【共引文献】
中国期刊全文数据库 前10条
1 李佳静;梁知音;韦韬;毛剑;;一种基于语义的恶意行为分析方法[J];北京大学学报(自然科学版)网络版(预印本);2008年01期
2 李佳静;梁知音;韦韬;毛剑;;一种基于语义的恶意行为分析方法[J];北京大学学报(自然科学版);2008年04期
3 刘兆存;范玮佳;;软件过程中可复用需求分析[J];重庆理工大学学报(自然科学);2012年01期
4 王蕊;苏璞睿;杨轶;冯登国;;一种抗混淆的恶意代码变种识别系统[J];电子学报;2011年10期
5 钟金鑫;魏更宇;安靖;杨义先;;恶意代码的符号执行树分析方法[J];重庆大学学报;2012年02期
6 李晓勇;马威;;动态代码的实时可信传递研究[J];电子学报;2012年10期
7 吴蓉晖;汪宁;孙建华;陈浩;陈志文;;一种针对JVM运行时库安全策略的全自动检测方法[J];电子学报;2013年01期
8 付世敏;;基于综合模型的核电程序理解[J];电脑知识与技术;2013年04期
9 王崑声;詹海潭;经小川;李宁;张刚;;航天嵌入式软件运行时错误静态分析方法[J];北京理工大学学报;2013年02期
10 俞东进;闫大强;;基于执行模式和扇入分析的横切关注点识别[J];华中科技大学学报(自然科学版);2012年01期
中国重要会议论文全文数据库 前3条
1 庞立会;;恶意代码变形引擎研究[A];2006年全国理论计算机科学学术年会论文集[C];2006年
2 周傲;王雅文;宫云战;;基于区间缩减的自动化打桩技术研究[A];第十四届全国容错计算学术会议(CFTC'2011)论文集[C];2011年
3 李向东;刘晓;夏冰;郑秋生;;恶意代码检测技术及其在等级保护工作中的应用[A];第27次全国计算机安全学术交流会论文集[C];2012年
中国博士学位论文全文数据库 前10条
1 崔展齐;若干软件非功能属性相关的设计和实现技术研究[D];南京大学;2011年
2 陶红伟;基于属性的软件可信性度量模型研究[D];华东师范大学;2011年
3 陈晓江;分布式系统软件体系结构建模与开发方法研究[D];西北大学;2010年
4 刘雪飞;数据挖掘技术在入侵检测中的应用研究[D];南京理工大学;2005年
5 尹清波;基于机器学习的入侵检测方法研究[D];哈尔滨工程大学;2007年
6 郭晔;面向Agent的蠕虫防御系统研究[D];浙江大学;2008年
7 张波云;计算机病毒智能检测技术研究[D];国防科学技术大学;2007年
8 涂浩;蠕虫自动防御的关键问题研究[D];华中科技大学;2008年
9 王祥根;自修改代码逆向分析方法研究[D];中国科学技术大学;2009年
10 王长广;无线环境下恶意程序的传播机制研究[D];西安电子科技大学;2009年
中国硕士学位论文全文数据库 前10条
1 王志兵;软件行为运行时验证研究[D];湖南工业大学;2010年
2 张军宝;基于域描述语言的Java规则引擎实现方法[D];华东理工大学;2011年
3 聂世超;PHP程序静态分析系统的设计与实现[D];吉林大学;2011年
4 赵慧娟;基于符号执行与遗传算法的单元测试研究与应用[D];北京交通大学;2011年
5 原义盈;嵌入式软件堆栈溢出的静态测试方法研究[D];北京交通大学;2011年
6 赵国善;GMDSS模拟器中设备实操评估系统的研究[D];大连海事大学;2011年
7 叶可可;BPEL缺陷测试系统的设计和实现[D];北京邮电大学;2011年
8 姚欣洪;基于线程摘要的C/C++数据竞争检测研究[D];北京邮电大学;2011年
9 王晓燕;计算机病毒传播模型及检测研究[D];华中师范大学;2011年
10 郭宁;基于属性序约简的恶意代码检测技术研究[D];兰州大学;2011年
【二级参考文献】
中国期刊全文数据库 前10条
1 邵丹,唐世钢,林枫;Windows平台下的缓冲区溢出漏洞分析[J];信息技术;2003年02期
2 沈昌祥;张焕国;冯登国;曹珍富;黄继武;;信息安全综述[J];中国科学(E辑:信息科学);2007年02期
3 杨芙清;吕建;梅宏;;网构软件技术体系:一种以体系结构为中心的途径[J];中国科学(E辑:信息科学);2008年06期
4 李必信,郑国梁,王云峰,李宣东;一种分析和理解程序的方法──程序切片[J];计算机研究与发展;2000年03期
5 吴金波,蒋烈辉,赵鹏;基于控制流的静态反汇编算法研究[J];计算机工程与应用;2005年30期
6 曹跃;梁晓;李毅超;黄沾;;恶意代码安全虚拟执行环境研究[J];计算机科学;2008年01期
7 金晶,何崑,张世永;基于智能扫描的病毒监视器的研究[J];计算机工程;1999年12期
8 张波云;殷建平;蒿敬波;张鼎兴;;基于多重朴素贝叶斯算法的未知病毒检测[J];计算机工程;2006年10期
9 张文良;黄亚楼;倪维健;;基于差分贡献的垃圾邮件过滤特征选择方法[J];计算机工程;2007年08期
10 庞立会;胡华平;;恶意代码模糊变换技术研究[J];计算机工程;2007年12期
中国博士学位论文全文数据库 前1条
1 文伟平;恶意代码机理与防范技术研究[D];中国科学院研究生院(软件研究所);2005年
中国硕士学位论文全文数据库 前2条
1 王德强;恶意代码设计和分析技术的研究与实现[D];清华大学;2005年
2 邢文利;恶意代码动态分析系统的设计与实现[D];清华大学;2005年
【相似文献】
中国期刊全文数据库 前10条
1 徐燕鹏;PC万能防改精灵(下)[J];家庭电子;2003年02期
2 ;CCERT研究新进展[J];中国教育网络;2005年11期
3 ;企业防病毒解决方案设计[J];软件世界;2006年11期
4 王天立;;网页恶意代码的剖析与防范[J];福建电脑;2007年08期
5 庞立会;胡华平;;恶意代码模糊变换技术研究[J];计算机工程;2007年12期
6 卢敏;;“主动”让防护更可靠[J];软件世界;2007年14期
7 陈明奇;;CNCERT/CC 2007年上半年网络安全状况分析[J];信息网络安全;2007年10期
8 ;多起典型网络安全事件被成功处理——CNCERT/CC2007年网络安全事件处理部分案例介绍[J];信息网络安全;2008年07期
9 ;国家计算机网络应急技术处理协调中心四川分中心关于四川省一般网络安全事件的通报[J];通信与信息技术;2008年03期
10 左黎明;;Windows内核恶意代码分析与检测技术研究[J];计算机技术与发展;2008年09期
中国重要会议论文全文数据库 前10条
1 刘威;杜振华;苏圣魁;;一种恶意代码评估和预测方法的研究[A];全国计算机安全学术交流会论文集·第二十五卷[C];2010年
2 万琳;廖飞雄;张威;李明亮;;一种恶意代码检测方法的实现[A];第十四届全国容错计算学术会议(CFTC'2011)论文集[C];2011年
3 刘威;刘鑫;杜振华;;2010年我国恶意代码新特点的研究[A];第26次全国计算机安全学术交流会论文集[C];2011年
4 奚琪;王清贤;曾勇军;;恶意代码检测技术综述[A];计算机研究新进展(2010)——河南省计算机学会2010年学术年会论文集[C];2010年
5 庞立会;;恶意代码变形引擎研究[A];2006年全国理论计算机科学学术年会论文集[C];2006年
6 陆宝华;李科;;强制访问控制是防范恶意代码的有效手段[A];第26次全国计算机安全学术交流会论文集[C];2011年
7 徐娜;;2011年7月网络安全监测数据分析[A];第26次全国计算机安全学术交流会论文集[C];2011年
8 张健;杜振华;曹鹏;张鑫;苏圣魁;;恶意代码检测技术的研究[A];全国计算机安全学术交流会论文集(第二十三卷)[C];2008年
9 张健;舒心;杜振华;曹鹏;苏圣魁;王劲松;;一种评估恶意代码危害性方法的研究[A];全国计算机安全学术交流会论文集(第二十四卷)[C];2009年
10 刘琪;牛文静;;正则表达式在恶意代码动态分析中的应用[A];2009通信理论与技术新发展——第十四届全国青年通信学术会议论文集[C];2009年
中国重要报纸全文数据库 前10条
1 曾;McAfee ePO3.6助企业防范恶意代码[N];电脑商报;2005年
2 边歆;投鼠忌器[N];网络世界;2006年
3 鲁渝京;欧盟研究用3种标准技术应对域名安全漏洞[N];中国质量报;2008年
4 记者 肖扬;网络犯罪正被利益驱动[N];金融时报;2005年
5 记者  肖扬;经济利益驱动网络频受攻击[N];金融时报;2006年
6 门马整理;帮你识别Bot程序[N];计算机世界;2006年
7 记者 向杰;调查显示:三成用户上网莫名染毒[N];科技日报;2007年
8 赵晓涛;中小企业安保有新招[N];网络世界;2009年
9 ;网络安全新威胁:勒索软件[N];网络世界;2005年
10 陈翔;安全威胁要双向防范[N];中国计算机报;2005年
中国博士学位论文全文数据库 前10条
1 钟金鑫;恶意代码二进制程序行为分析关键技术研究[D];北京邮电大学;2012年
2 李鹏;通信网络恶意代码及其应急响应关键技术研究[D];南京邮电大学;2013年
3 张福勇;面向恶意代码检测的人工免疫算法研究[D];华南理工大学;2012年
4 文伟平;恶意代码机理与防范技术研究[D];中国科学院研究生院(软件研究所);2005年
5 孔德光;结合语义的统计机器学习方法在代码安全中应用研究[D];中国科学技术大学;2010年
6 杨天路;网络威胁检测与防御关键技术研究[D];北京邮电大学;2010年
7 梁晓兵;面向二进制程序漏洞挖掘的相关技术研究[D];北京邮电大学;2012年
8 潘剑锋;主机恶意代码检测系统的设计与实现[D];中国科学技术大学;2009年
9 张一弛;程序恶意行为识别及其恶意性判定研究[D];解放军信息工程大学;2012年
10 林宏刚;可信网络连接若干关键技术的研究[D];四川大学;2006年
中国硕士学位论文全文数据库 前10条
1 杨婷;基于行为分析的恶意代码检测技术研究与实现[D];电子科技大学;2010年
2 周峰;恶意代码防范技术的研究与实现[D];广东工业大学;2011年
3 蒋俊卿;基于复制行为的恶意代码动态检测技术[D];哈尔滨工业大学;2010年
4 龙小书;基于虚拟执行理论的恶意代码检测技术研究[D];电子科技大学;2010年
5 张茜;云安全环境下的恶意代码前端检测技术研究[D];合肥工业大学;2011年
6 苏圣魁;恶意代码事件信息发布平台的研究[D];天津大学;2010年
7 申文迪;隐蔽恶意代码监控平台的设计与实现[D];电子科技大学;2010年
8 李宗峰;基于特征码分析的计算机恶意代码防治技术研究[D];山东大学;2010年
9 杨宇波;恶意代码检测技术的研究[D];北方工业大学;2011年
10 郭宁;基于属性序约简的恶意代码检测技术研究[D];兰州大学;2011年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62791813
  • 010-62985026