基于行为监测的AntiRBootkit的研究与实现硕士研究生学位论文.docx
《基于行为监测的AntiRBootkit的研究与实现硕士研究生学位论文.docx》由会员分享,可在线阅读,更多相关《基于行为监测的AntiRBootkit的研究与实现硕士研究生学位论文.docx(100页珍藏版)》请在冰点文库上搜索。
基于行为监测的AntiRBootkit的研究与实现硕士研究生学位论文
中国科学技术大学
硕士学位论文
UniversityofScienceandTechnologyofChina
Athesisformaster’sdegree
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
中国科学技术大学学位论文原创性和授权使用声明
本人声明所呈交的学位论文,是本人在导师指导下进行研究工作所取得的成果。
除已特别加以标注和致谢的地方外,论文中不包含任何他人已经发表或撰写过的研究成果。
与我一同工作的同志对本研究所做的贡献均已在论文中作了明确的说明。
本人授权中国科学技术大学拥有学位论文的部分使用权,即:
学校有权按有关规定向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。
保密的学位论文在解密后也遵守此规定。
作者签名:
___________
年月日
摘要
Rootkit是一种新型的恶意程序程序或程序集,设计的目的是用来秘密的控制被攻占的计算机的行为。
通过隐蔽后门程序或其他类似的工具程序,使得这些工具程序能在指定计算机上长期非法存在;同时当用户查询计算机的当前状况时,通过隐藏相关信息的方法来欺骗用户,使用户相信此计算机未受到侵害。
Bootkit是继承自Rootkit内核权限获取和自我痕迹擦除技术的Rootkit高级发展形式,对系统启动和内核准入安全提出了最新挑战。
由于Rootkit/Bootkit(R/Bootkit)属于信息安全攻防的新型技术亮点和潜在的危险变种,当前业界和学术界竞相公布出各自富有特色研究项目。
本文的主要工作和特色如下:
1.B/Rootkit行为剖析以及预防监测的技术瓶颈的提出
深入探索当前主流B/Rootkit的危害原理以及技术要点实现,以及主流Anti-R/Bootkit在行为判断上过多依赖用户选择的现状,指出了恶意进驻内核这个行为特征提取是Bootkti/Rootkit防范与检测的技术瓶颈。
2.行为特征的形式化描述语言的提出
为了统一且完整描述R/Bootkit的各种行为以及子行为彼此间内在的关联关系,我们定义出形式化描述语言规范,以描述出该恶意行为特征。
3.基于恶意进驻内核行为特征的Anti-R/Bootkit原型系统的设计与实现
在此基础上,利用该形式化描述语言规范和行为策略,我们设计并实现了一个基于恶意进驻内核行为特征的Anti-R/Bootkit原型系统。
在和同类商业化的Anti-R/Bootkit系统的比较中,显示出较优的自主识别能力以及较好的未知R/Bootkit预防能力。
本文最后提出了R/Bootkit和Anti-R/Bootkit对抗中新的发展趋势,并介绍了下一步的工作方向。
关键词:
Rootkit,Bootkit,行为特征,布控,优先启动,进驻内核,形式化描述,BehaviorDetection(BD)
*本论文工作得到电子信息产业发展基金(操作系统安全加固软件研发及产业化文号:
财建[2008]329,工信部运[2008]97)的支持,在此表示感谢。
Abstract
Asanewkindofmalwaresets,Rootkithasbeendesignedtocontrolthebehaviorofthehijackedcomputersecretly.Thetoolprogramcansurviveillegallyonthedesignatedcomputerforalongtimethroughcovertbackdoorsorsimilarprogramwhichcanalsomaketheuserbelievethathiscomputerisawayfrominbreakbyhidingkeyrelativeinformationwhiletheuserconsultsthecurrentstatusofhiscomputer.AsanadvancedformofRootkitinheritingthekernel-levelprivilegeexploitmentandself-concealmenttechnology,Bootkithasinterposedanewchallengetowardssystembootandkernelentrancesafety.BecauseRootkit/Bootkit(R/Bootkit)belongstopotentialdangerousmutationwithnewtechnoloyininformationsecurityfield,boththeindustrylineandtheacademehavepublishedtheirfeaturedresearchprojections.
Themajorcontributionandfeatureofthethesisisasfollow:
1.R/Bootkitbehavioranalysisandtheextractionofthetechnologicalbottle-neckofthepreventionanddetectionforR/Bootkit
Weproposedthebehaviorfeatureofenteringintokernelmaliciouslyasthebottle-neckofpreventinganddetectingR/BootkitthroughtexploringthehazardprincipleandtechnologicalkeypointofcurrentmajorB/RootkitandtheweaknessofrelyingontheuserchoicewhenjudgingthebehaviorintentionformajorAnti-B/Rootkit.
2.Definitionoftheformaldescriptionofthebehaviorfeature
Wehavedefinedaformaldescriptionlanguagetodescripttheinternalrelationshipbetweeneverybehaviorandsub-behavioringereralandincommonforbehaviorfeaturedescription.
3.ThedesignandimplementationofAnti-R/Bootktiprototypesystembasedonthebehaviorfeatureofmaliciousentranceintokernel
Onthisbase,wehavedesignedandimplementedasetofAnti-R/Bootktiprototypesystembasedonthebehaviorfeatureofmaliciousenteranceintokernelthroughutilizingthebehaviorrulesandpolicydescriptedbythelanguagementionedabove.ThisprototypepresentedbetterindependentidentificationabilityandpreventionabilitytowardsunknownR/BootkitcomparedwiththesamekindofcommercialAnti-R/Bootkitsystem.
AtlastwehaveproposedthenewdevelopmenttrendbetweenR/BootkitandAnti-R/Bootktiandintroducedthefurtherworkforeground.
Keywords:
Rootkit,Bootkit,behaviorfeature,Hook,bootahead,enterintokernel,formaldescription,BehaviorDetection(BD)
*ThisworkissupportedbyElectronicInformationIndustryDevelopmentFund(OperatingSystemsecurityreinforcement,CaiJian[2008]329,GongXinBuYun[2008]97).
目录
摘要I
AbstractIII
目录V
插图目录和表格目录VII
第1章绪论1
1.1引言1
1.2研究现状与意义2
1.3论文主要工作与组织4
第2章R/Bootkit关键技术研究6
2.1引言6
2.2Rootkit攻击原理6
2.3Rootkit分类7
2.4R/Bootkit技术研究7
2.4.1Rootkit关键Hook技术7
2.4.2Bootkit启动劫持技术12
2.5本章小结15
第3章行为语义抽取和形式化描述研究16
3.1引言16
3.2R/Bootkit行为特征分析16
3.2.1典型RootkitKlog行为剖析16
3.2.2典型Bootkit行为剖析20
3.2.3行为特征提取23
3.3形式化描述语言25
3.3.1形式化语言定义25
3.3.2恶意进驻内核行为特征形式化语言描述29
3.4本章小结30
第4章基于行为监测的Anti-R/Bootkit的设计与实现31
4.1相关技术基础31
4.1.1进程31
4.1.2驱动程序31
4.2设计与实现40
4.2.1优先启动40
4.2.2探针布控47
4.2.3行为语义解析模块51
4.2.4编译器模块54
4.3实验结果评估55
4.3.1评估思路55
4.3.2实验环境55
4.3.3功能评估56
4.4本章小结59
第5章全文总结60
5.1主要工作和特色60
5.2后续工作研究60
参考文献61
在读期间发表的学术论文与取得的研究成果64
致谢65
插图目录和表格目录
图21执行路径截获8
图22WindowsPE文件格式示意9
图23IRP挂接11
图24Windows启动流程13
图31Klog植入感染示意图17
图32BIOS内存布局21
图33Windows引导过程执行流程24
图34规则范式库框架简图29
图41App-Sys模式的总体设计32
图42IOCTL码格式34
图43IRP结构34
图44IRP固定头部35
图45I/O堆栈单元数据结构36
图46驱动程序对象的属性37
图47设备对象的数据结构38
图48设计框架图40
图49PBD劫控原理43
图410劫控点函数调用堆栈44
图411修改PBD磁盘镜像45
图412PBDAnti-Rootkit框图46
图413Windows系统调用机制48
图414SSDTHook51
图415行为语义解析模块52
图416状态迁移发现行为特征53
图417行为解析模块执行流程54
图418编译器模块55
表41优先启动对比结果46
表42机器配置56
表43横向比较对象56
表44已知R/Bootkit评估57
表45非R\Bootkit评估58
表46不同加载方式评估58
第1章绪论
1.1引言
作为成为20世纪最杰出的研究成果之一,Internet改变了人们生活方式和工作方式,改变了全球的经济社会结构,越来越成为人类物质社会的最重要组成部分。
开放、灵活、丰富的应用是Internet的特色,但同时潜在地也带来了安全问题。
由于越来越多的组织开始利用Internet处理和传输敏感数据,与此同时在Internet上也到处传播和蔓延着攻击方法和恶意代码,使得连入Internet的任何系统都处于将被攻击的风险之中。
在Internet安全事件中,恶意软件/代码造成的危害最为严重。
恶意软件(Maleware)是非用户期望运行的、怀有恶意目的或完成恶意功能的完整的程序集合[32][33][34]。
恶意代码(MaliciousCode)含义与恶意软件相近,区别在于所描述的粒度不同,是指用于描述完成特定恶意功能的代码片段。
恶意代码正在成为信息战、网络战的主要手段,日益严重的恶意代码威胁,新型威胁和组合式威胁的爆炸式增长让防护工作变得复杂起来。
例如,AV-TestGmBH表示,1998年安全厂商共收集到1738种独特的威胁样本。
那个时候,安全专家监测到近30种签名,因为样本很容易组合形成特征码。
10年以后,恶意软件样本数量攀升至177615种,仅仅2008年前两个月就报告了110万种独特样本。
根据趋势科技全球防病毒研发暨技术支持中心TrendLabs的发现,从2005年到2008年为止,TrendLabs报告网络威胁增长了2355%。
TrendLabs研究人员也预测,如果威胁数量继续以现在的速度增长,那么2015年将会出现233亿种独特威胁。
Rootkit作为恶意程序的子集,用于实现自身及系统中特定资源和活动的隐藏,破坏可信任计算机的完整性[1]。
经常用来隐蔽后门程序或其他类似的工具程序,使这些工具程序能在指定计算机上长期非法存在。
当用户查询计算机的当前状况时,通过隐藏相关信息的方法来欺骗用户,使用户相信此计算机未受到侵害。
Bootkit是继承自Rootkit内核权限获取和自我痕迹擦除技术的Rootkit高级发展形式。
Bootkit通过感染可引导的外设固件和关键系统文件,驻留在整个系统的启动过程,获取系统控制底层权限并且擦除自我存在痕迹,从而为网络恶意代码的进一步攻击行为提供隐蔽、可靠、持久的执行环境。
国际知名的信息安全厂商——卡巴斯基实验室去年发表了题为《卡巴斯基安全公告:
2008恶意软件发展情况》的报告,在这个报告中,卡巴斯基表示,2009年度的恶意软件发展情况将持续恶化。
2008年对整个反病毒行业以及整个信息安全产业都产生了重大影响的安全事件主要为Rootkit的传播,以及针对在线游戏产生的恶意程序及僵尸网络。
Bootkit这个概念自2005年eEyeDigital安全公司的研究人员研究如何在系统启动时利用BIOS接入windows内核的"BootRoot"项目中被第一次提出以后,也越来越为黑客所钟爱,最近更被全球知名的杀毒厂商卡巴斯基在其年度报告中列为2008年度互联网安全的重大挑战。
1.2研究现状与意义
Rootkit按照运行环境的不同,主要分为两类:
内核模式Rootkit和用户模式Rootkit。
内核模式Rootkit具有内核态的权限,以非常底层的方式存在于操作系统中;用户模式Rootkit则运行在权限较低的用户态中。
内核模式Rootkit比用户模式Rootkit更具隐蔽性,更难被检测。
按照隐藏的内容来分,Rootkit隐藏的部件包括文件、目录、进程、注册表项、网络端口、设备驱动器等所有使用户判定系统异常的系统模块。
Bootkit是继承自Rootkit内核权限获取和自我痕迹擦除技术的Rootkit高级发展形式,对系统启动和内核准入安全提出了最新挑战。
由于Bootkit/Rootkit(R/Bootkit)属于信息安全攻防的新型技术亮点和潜在的危险变种,当前业界和学术界竞相公布出各自富有特色研究项目。
如安全人员JohnHeasman利用ACPI(AdvancedConfigurationandPowerInterface)操作BIOS的新型Rootkit进行过探讨[27],这是一种特殊的利用ACPI机制存在的BIOSRootkit;DarmawanMSa.k.aPinczakko发表过一系列的关于AwardBIOS文件进行逆向改造的文章[28];JohnHeasman还就PCI设备(如显卡、网卡等设备)可能存在的Rootkit(其植入PCI设备中,特性类似于植入BIOS芯片的Rootkit)进行过讨论[29];还有KrisKaspersky在其专著中[30]也编写专门章节来就BIOSRootkit的实现原理进行阐述等等。
ShawnEbleton等在文献[31]第一次发表了基于SMM的跟平台无关的bootkit的实现思路;国内的安全研究员Mj0011在文献[26]中实现了基于预启动驱动方式的TophetBootkit的思想。
目前针对以恶意程序的预防、检测技术主要有以下几种:
1.扫描技术:
作为目前商用恶意代码检测软件使用的主要方法之一,特征码扫描是检测己知恶意代码的最简单的方法[24][25]。
扫描原理是打开被检测磁盘文件、关键内存区域、网络邮件等,扫描其中是否含有特征