(计算机应用技术专业论文)基于x86平台可执行代码动态检测技术的研究.pdf_第1页
(计算机应用技术专业论文)基于x86平台可执行代码动态检测技术的研究.pdf_第2页
(计算机应用技术专业论文)基于x86平台可执行代码动态检测技术的研究.pdf_第3页
(计算机应用技术专业论文)基于x86平台可执行代码动态检测技术的研究.pdf_第4页
(计算机应用技术专业论文)基于x86平台可执行代码动态检测技术的研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机应用技术专业论文)基于x86平台可执行代码动态检测技术的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要摘要近年来,随着i n t e r n e t 的迅速发展,网络安全问题显得日益突出。目前,网络上的攻击方式逐渐呈现出一些新特点,从以前大规模的,无特定目的的网络攻击转为小规模的,针对特定用户和目的的攻击。当今的计算机容易受到各种入侵。其中r o o t l d t 成为危害计算机安全的重要因素之一。现有的检测技术,比如入侵检测系统,文件完整性检测,很可能无法检测出内核级的r o o t l d t 。本文阐述了r o o t k i t 基本原理和所采用技术的相关理论,介绍了r o o t k i t检测系统的类型和面临的主要问题。详细介绍了r o o t l d t 入侵的手段与利用的主要技术手段。r o o t l d t 的主要特点就是隐藏信息,比如运行进程,服务,t c p i p端口,文件,注册信息,用户帐号等等,常见的是隐藏运行进程,文件和注册信息。r o o t l d t 常用的隐藏技术有d l l 感染,a p i 钩挂,线程注入,内核数据操作。本文介绍了一些检测r o o t l d t 的技术和典型工具。通过对r o o t k i t 检测方法的分析,并结合可执行路径分析技术的特点,本文给出了一种基于x 8 6 平台的r o o t k i t 检测系统的设计,并对系统的总体结构、主要功能模块以及系统的特点做了详细的说明。通过对系统调用计数,来检测计算机是否被入侵。通过多次实验,记录试验数据,来检测实际运行的效果。对实验数据作出了必要的分析和说明。通过对系统调用计数,来检测计算机是否被入侵。通过多次实验,记录试验数据,来检测实际运行的效果。对实验数据作出了必要的分析和说明。系统的流程框架为通过内核程序设置寄存器位,进入单步调试模式。检测目标系统的文件相关函数。检测目标系统的进程相关函数。检测目标系统的注册表相关函数。检测目标系统的系统服务和驱动相关函数。检测目标系统的端口相关函数。将结果与原始比对数据进行比较,如果超过阀值就发出通知。最后对全文进行总结,提出本系统进一步的工作,并对r o o t k i t 检测系统的发展趋势进行了展望。本文主要完成了3 个方面的工作,首先介绍了网络安全现状以及安全的一些背景知识;分析了各种网络安全模型和技术;进而引出r o o t k i t 的概念,阐述了r o o t l d t 的相关理论,详细介绍了各种r o o t k i t检测模型和技术。其次,阐述了利用系统中断来实现指令计数和路径分析的方法。最后完成基于w i n d o w s 的e p a 检测系统整体框架的设计和实现,对关键模块作了相关测试。关键词网络安全;e p a ;可执行路径分析;r o o t l d t 检测a b s t r a c ta b s t r a c tw i t ht h er a p i dd e v e l o p m e n to fi n t e r n e t , t h es e c u r i t yp r o b l e mi sm o r es i g n i f i c a n t t h ea t t a c k e r s e x p l o i th a ss o m en e wf e a t u r e s ,w h i c hh a v el e s ss c a l ea n dm o r ep e r t i n e n ti n s t e a do fl a r g er a n g ea n da i m l e s s n o w a d a y s ,t h ec o m p u t e ri sa t t a c k e db ym a n ye x p l o i t sw h i c hi n c l u d er o o t k i t t h ee x i s t i n gd e t e c t i o nt e c h n i q u e ,f o re x a m p l ei d s ,m a y b ec a nn o td e t e c tk e r n e lm o d er o o t k i t t l l i sp a p e re x p a t i a t e st h ep r i n c i p l ea n dc o r r e l a t i v et h e o r i e so fr o o t k i t ,f u r t h e r m o r ei n t r o d u c e st h ei s s u e so fr o o t k i td e t e c t i o n i ta l s oe x p l a i nt h et e c h n o l o g yo fr o o t k i ti nd e t a i l t h em a i nf e a t u r eo fr o o t k i ti sh i d i n gi n f o r m a t i o n ,s u c ha sp r o c e s s ,s e r v i c e , t c p i pp o r t , f i l e , r e g i s t r ya n ds oo n r o o t k i tu s e sd l li n f e c t i o n ,a p ih o o k i n g ,t h r e a di n j e c t i o na n dk e r n e ld a t am a n i p u l a t i o nt oh i d ei n f o r m a t i o n t h i sp a p e ri n t r o d u c e ss o m et e c h n o l o g ya n dt o o l so fd e t e c t i n gr o o t k i t b yt h ea n a l y s i so fd e t e c t i o no fr o o t l d ta n dt h ef e a t u r e so fe p a ,t h i sp a p e rg i v e sad e s i g no fr o o t l d td e t e c t i o ns y s t e mb a s e do nx 8 6 a l s oi tg i v e sp a r t i c u l a re x p l a n a t i o no nt h ef r a m e w o r ka n df e a t u r eo ft h es y s t e m b yc o u n t i n gs y s t e mc a l l ,i tc a nd e t e c tw h e t h e rs y s t e mi sc o m p r o m i s e d t h e r ea r es o m er e s u l t so fe x p e r i m e n t st o 谢黟t h ee f f e c t t h e r ei sa l s oa n a l y s i sa n de x p l a i nf o rt h ee x p e r i m e n td a t a b yc o u n t i n gt h es y s t e mc a l l ,w ec a l ld e t e c tw h e t h e rt h ec o m p u t e ri sc o m p r o m i s e d i tg i v e sn e c e s s a r yn a r r a t i o na b o u tr e s u l td a t aw h i c hi si n c l u d e df r o mm a n ye x p e r i m e n t s t h ef l o wo ft h es y s t e mt a k e so na sf o l l o w :f i r s to fa l l ,k e r n e lp r o c e s ss e t st h et fb i ta n dg o e si n t od e b u gm o d e a n dt h e ni td e t e c t sf i l e sf u n c t i o no ft a r g e ts y s t e m a l s ot h ef u n c t i o n so fp r o c e s s ,r e g i s t r yt a b l e ,s y s t e ms e r v i c ea n dd r i v e r sa r ec h e c k e do n eb yo n e t h er e s u l tw i l lb ec o m p a r e dw i mr a wd a t a ,n l ew a r n i n gw i l lb es e n ti ft h ed i f f e r e n c e se x c e e dt h ev a l v ev a l u e l a s tb u tn o tl e a s t ,t h es u m m a r i z a t i o no ft h ep a p e rp u t sf o r w a r dt h ec u r r e n to ft h er o o t l d td e t e c t i o ns y s t e m t h i sp a p e ra c c o m p l i s h e st h r e em a j o rt a s k s f i r s t l y ,t h ep a p e ri n t r o d u c e ds o m eb a c k g r o u n di n f o r m a t i o na b o u tn e t w o r ks e c u r i t ya n dt h et h e o r ya n dt e c h n o l o g yo fr o o t k i t s e c o n d l y , i te l a b o r a t e sh o wt oi m p l e m e n t si n s t r u c t i o nc o u n t i n ga n de x e c u t i v ep a t ha n a l y s i s l a s tb u tn o tl e a s t ,i td e s i g n sa n de a l t i e so u tt h ef r a m e w o r ko ft h ed e t e c t i n gs y s t e m t h e r ea r es o m et e s t so nm a j o rm o d u l e s k e y w o r d sn e t w o r ks e c u r i t y ;e p a ;e x e c u t i o np a t ha n a l y s i s ;r o o t k i td e t e c t i o ni 独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。关于论文使用授权的说明删6 - 厶本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。( 保密的论文在解密后应遵守此规定)签名:蔓进导师签名:日期p 哆哆:第1 章绪论1 1 网络安全现状第1 章绪论根据一些研究报告的估计,i n t e r n e t 中目前大约有1 7 1 亿台主机,约6 6 5亿用户。i n t e m e t 比以前任何时候都承载了更多的流量,而且在可以预计的将来会一直增长【l j 。随着计算机网络的发展,网络的开发性、共享性、互连程度随之扩大。与此同时,网络入侵事件日益增多,网络安全性问题日益严重。来自美国首都华盛顿的消息说,根据美国联邦调查局的一项最新调查结果,大部分大型企业和政府机构都遭到过计算机黑客的攻击。这次调查的被访问者说他们遭遇这次计算机犯罪平均会损失至少4 5 5 亿美元。2 0 0 5 年2月,黑客们从美国一家数据库管理公司c h o i e e p o i n t 窃取了1 4 5 ,0 0 0 名用户的数据,并试图要对其中的至少7 5 0 名美国人进行诈骗。2 0 0 5 年3 月,黑客们闯入英荷合资公司里德埃尔斯维尔集团所属的美国最大在线新闻和商业数据库l e 对s n e 妇s 系统,窃取了3 2 ,0 0 0 人的文件档案 2 1 。如果利用这些资料进行犯罪活动的话后果将会不堪设想。在国内,关于网络入侵的事件也屡见不鲜。2 0 0 5 年1 月,国内著名企业大唐电信的网站被黑客攻破,主页被篡改。国内著名安全网站绿盟的安全新闻显示,近几年来,网络银行仿冒攻击案层出不穷,工行、中行已连遭暗算【3 1 。由此可见,在网络社会带来极大便利的同时,也使使用计算机上网、发布及传输信息的用户、公司、企业等单位遭受到攻击的风险。因此,网络安全问题已经引起各国、各部门、各行业以及用户的广泛重视,成为现今信息技术发展的主要领域之一。1 2 安全的含义及目标安全是指远离危险的状态或特性,为防范间谍活动或蓄意破坏、犯罪、攻击或逃跑而采取的措施【4 】。计算机安全是指为数据处理系统建立和采取的技术和管理的安全保护,它保护计算机硬件、软件和数据不因偶然和恶意的原因而遭到破坏、更改和泄漏。从广义上说,计算机安全是指计算机的硬件、软件和数据受到保护,不因偶然和恶意的原因而遭到破坏、更改和泄漏,使系统持续正常运行。随着计算机在各行各业的广泛应用,计算机安全越来越受到人们的重视。北京t 业大学t 学硕士学位论文计算机安全的内容包括物理安全和逻辑安全两方面。物理安全指系统设备及相关设施受到物理保护,以免破还、丢失等。逻辑安全指计算机中信息和数据的安全,它存在于信息系统中从信息的产生、信息的传输、信息的存储直至信息的应用这一全部过程,主要包括软件安全,数据安全和运行安全。软件安全是保护各种软件及其文档不被任意篡改、失效和非法复制,数据安全是保护所存储的数据资源不被非法使用和修改,运行安全是保护信息系统能连续正常地运行。随着i n t e m e t 的发展普及,上网单位和网上信息与应用的日益增多,网络的重要性及其对社会的影响越来越大,网络带来的安全问题也越来越显得突出。计算机网络安全是指利用网络管理和控制技术,保证网络系统环境中信息数据的机密性、完整性及可用性,即保护网上保存和流动的数据,不被他人偷看、窃取和修改。网络安全问题的内容主要分两大类:一是网络系统的安全,二是网络信息的安全和机密性。它大致可包括以下4 个方面:网络实体安全,如计算机房的环境、各种硬件设备及传输线路的安全保障;软件安全,如网络系统不被非法侵入、应用、复制、修改;网络中的数据安全,即保护网络中的数据不被非法存取,使其保持完整;网络安全管理,包括计算机安全技术、安全管理、安全审计、事件处理等。总之,安全的计算机信息系统是指可以信赖的按照期望的方式运行的系统,它必须能够保护整个系统,使其免受任何形式的入侵。它一般应该具有以下几个特征:1 加密性( c o n f i d e n t i a l i t y )机密性是指数据不会泄漏给非授权的用户、实体,也不会被非授权用户使用,只有合法的授权用户才能对机密的或受限的数据进行存取。2 完整性( i n t e g r i t y )完整性是指数据未经授权不能被改变。也就是说,完整性要求保持系统中数据的正确性和一致性。不管在什么情况下,都要保护数据不受破坏或者被篡改。3 可用性( a v a i l a b i l i t y )计算机资源和系统中的数据信息在系统合法用户需要使用时,必须时可用的,即对授权用户,系统应尽量避免系统资源被耗尽或服务被拒绝的情况出现。4 可控性( c o n t r o l l a b i l i t y )可控性是指可以控制授权范围内的信息流向及行为方式,对信息的访问、传播以及具体内容具有控制能力。同时它还要求系统审计针对信息的访问,当计算机中的泄密现象被检测出后,计算机的安全系统必须能够保存足够的第1 章绪论! m lii,ii i 量信息以追踪和识别入侵攻击者,入侵者对此不能够抵赖。5 正确性( c o r r e c t n e s s )系统要尽量减少由于对事件的不正确判断所引起的虚警( f a l s ea l a r m s ) 现象,要有较高的可靠性。如果虚警率太高,则用户的合法行为会经常被打断或禁止。这样,不仅使得系统的可用性降低,而且也会使合法用户对系统失去信心。上述计算机安全目标的实现取决于计算机系统安全策略的需要,这些安全策略用来定义或描述系统的不同用户和软件模块的行为。也就是说,不同环境和应用的计算机安全各有不同的含义和侧重,相应的安全措施也就不尽相同。例如,对于某些商业公司来说,数据的机密性至关重要,关系到公司的生存或者商业成功,而对诸如医院之类的部门,数据的完整性可能会更重要,因为一旦有关病人的信息有所丢失,很有可能影响到病人的生命。在现实生活中,我们应该根据自己系统的情况以及应用的领域,制定适当的安全策略,选用适当的安全手段。1 3 传统的安全模型与技术1 3 1 传统的安全模型安全模型定义了实体和实体之间交互和参考的规则。如何设计一个安全的计算机系统来防范未经授权访问系统的资源和数据是安全领域长期以来一直很关注的问题。a n d e r s o n 在1 9 7 2 年提出了计算机安全模型【5 】,如图1 - 1 所示。识别与认证系统ff 审计系统图i - i 计算机安全模型f i g u r ei - ic o m p u t e rs c c 证t ) ,m o d e l其各个模块的功能如下:安全参考监视器控制主体能否访问对象;授权数据库并不是安全参考监视器的一部分,但是安全参考监视器在授权数据库的帮助下,完成控制功能;识别与认证系统识别主体的对象;审计系统用来记录系统的的活动活动信息。该模型采用访问控制机制来保证系统安全,访问控制机制识别与认证主体身份,根据授权数据库的记录决定是否允许主体访问对象。北京工业大学= r 学硕十学位论文由于计算机联网,单机系统所受到的威胁增多,出现了远程攻击,并且单机系统的安全问题不仅仅涉及到本身,还有可能危及到其他的单机系统。因此,基于单机系统的安全控制已不足以保证网络的安全。为了保证计算机网络的整体安全,j b r y a nl y l e s 和c h r i s t o p hl s c h u b a 提出了一个网络安全控制模型4 1 ,如图1 2 所示。i :访问请求发起者t :访问目标c f :机密性函数a f :认证函数c a f :连接认证函数a c d f :访问控制决策函数数据流一信号流审计流图l - 2 网络安全控制模型f i g u r el 一2n e t w o r k ss e c u r i t yc o n t r o lm o d e l通过使用c f 、c a f 、a f 、a c d f 安全函数从高层次角度抽象地刻画了网络安全通用模型,并将端点认证、连接授权、数据完整性、数据保密性、管理控制和审计结合起来。在网络安全实际应用中,大多数的安全防范机制都是基于这个模型,如防火墙。此外,随着网络黑客恶意攻击技术的不断更新和提高,要求安全产品技术向更高层次发展。为更好适应不断变化的网络环境,发现网络服务器和设备中的新漏洞,不断查明网络中存在的安全风险和威胁,要求网络是一个适应性开环式的网络,即系统具有互联网扫描功能、系统扫描功能、数据库扫描功能、实时入侵监控功能和系统安全决策功能。只有动态的网络才是一个安全性高的网络。在这种情况下,出现了一种新的网络安全模型一一p 2 d r 模型( p o l i c y 一策略,p r o t e c t i o n - - 防护,d e t e c t i o n - - 检测,r e s p o n s e - - 响应) ,如图1 3 所示。m 1 *图1 - 3 p d r 模型f i g u m l - 3p 2 d r m o d e l这是一种动态的、安全性高的网络。它的基本思想是:以安全策略为核心,通过致的检查,流量统计,异常分析,模式匹配以及应用、目标、主机、网络入侵检查等方法进行安全漏洞检测,使系统从静态防护转化为动态防护,为系统快速响应提供了依据,当发现系统有异常时,根据系统安全策略快速作出响应,从而达到保护系统安全的目的。防护、检测和响应组成了一个完整的、动态的安全循环,在安全策略的指导下保证信息系统的安全。1 3 2 传统的安全技术传统的安全技术分为两类:静态安全技术和动态安全技术【”。所谓静态安全技术,是指通过人工的方法,采用一些外围设备,主要用于保护系统抵御外部的攻击,其代表产品是我们常见的防火墙。目前,市场上流行的许多安全产品都属于静态安全技术的范畴,这些静态安全设备只能针对来自外部系统的攻击,提供一定的防御能力,一旦外部入侵者进入了系统,骗过了认证系统,成为内部成员,静态安全技术就失去了防卫能力。静态安全技术的缺点是需要大量的人工操作来实施和维护,而且需要系统管理员具有很高的网络安全技术能力不能主动跟踪网络入侵。动态安全技术与静态安全技术相比,大大改善了对入侵的主动检测能力。其常见的检测工具包括:能够测试网络系统的应用程序薄弱环节的检测和扫描工具;能够对预先确定的违反安全事例的网络数据进行检测的工具:能够对网络病毒进行检测的工具;能够在发现安全问题的同时,进行自动通报或者报警的工具。具体来讲,动态安全技术包括网络入侵检测、安全漏洞扫描、动态响应和审计分析等技术。动态安全技术的最大优点在于“主动性”,通过把实时的数据捕获、实时的数据分析和网络监视系统相结合,根据特定安全数据库中的数据经过分析,迅速发现危险攻击的特征,进而发出警报,同北京t 业大学下学硕十学位论文时也提供一定的保护措施。目前所使用的一些传统安全技术包括:数据加密技术、访问控制技术、认证技术、数据完整性控制技术和安全漏洞扫描技术等。1 4r o o t k i t 相关介绍1 4 1 什么是r o o t kitr o o t l c i t ,可以理解为一类修改操作系统的软件,它可以改变操作系统的表现行为。而这种改变,往往是不是操作系统设计时所期望的。比如,修改操作系统的进程列表,以便特定的进程无法被显示【6 ,7 】。r o o t k i t 这个术语来自于u n i x 系统。例如,用l a s t 就可以知道最近的l o g i n历史,那么如果有人非法登陆了你的机器,就可以轻易监测到。不过很快,就出现了工具可以隐藏l o g i n 历史,接下来,出现了一批可以修改i s ,p s 等等命令结果的工具。这些工具,当时被叫做特洛伊木马。后来,这些工具被绑定在一起成了一个工具包( k i t ) ,就成为了r o o t k i t 。最早的一个版本是出现在s u n o s4 上。随着互联网的发展,操作系统上出现了越来越多的病毒,间谍软件,蠕虫。而最新的趋势是这些软件和操作系统的r o o t k i t 绑定在一起。试想,如果一个间谍软件将自己的进程和注册信息用r o o t k i t 给隐藏起来,普通用户可能就无法发现还有这么一个软件在运行。而且,各种反问谍软件恐怕也就不那么有效了。在2 0 0 6 年9 月举办的微软技术大会t e c h e d 2 0 0 6 上,网络安全方面的专家指出了当前网络上一种新的威胁一o o t k i t 和越来越多的有害软件间谍软件绑定。其中的r o o t k i t 就是针对操作系统p e 文件进行攻击的。r o o t k i t的一个显著特征就是隐藏系统信息。比如,运行进程,服务,t c p i p 端口,文件,注册信息r e g i s t r y ,用户帐号等。r o o t k i t 也是在不断变化发展的,并且呈现出以下发展趋势们。趋势一r o o t k i t 不仅仅通过木马的形式进行传播,还可以通过恶意软件的形式传播。在过去的三年里,恶意软件,商业应用的盗窃技术的增长率已经达到6 倍多。盗窃技术突然增长归因于类似w w w r o o t k i t c o m 的站点,这些站点上有数以百万条r o o t k i t 代码。这些代码加上二进制执行代码,就可以生成恶意软件。几个被观察r o o t k i t ,比如a f x r o o t k i t 、f u r o o t k i t 、h e 4 h o o和k w s p r o g e n t ,可以从这些站点进行租用或修改。更为糟糕的是,许多博客通过在线形式教授一些通过编辑源代码入侵病毒扫描引擎的技术。趋势二r o o t k i t 技术不断发展协作促进了新的和更加先进的盗窃技术的发展。这种技术复杂程度的评估是基于一个软件包里的组件数量。比如,如第1 章绪论果一个名为ae x e 的r o o t k i t 安装了b e x e 、cd l l 、ds y s ,而d s y s 安装了r o o t k i t的盗窃组件,所有组件的数量就是4 。已知r o o t l e t 的复杂程度在2 0 0 5 年几乎增长了2 0 0 。在2 0 0 5 年第一季度仅仅有6 0 个盗窃组件呈报给有关机构,而2 0 0 6 年第一季度,却有6 1 2 个组件上报,同比增长了近9 0 0 。趋势三嵌入式w i n d o w sr o o t k i t 成为主流。今天我们所看到的许多r o o t k i t 活动都是针对w m d o w s 平台的。在2 0 0 1 年,有7 1 的r o o t k i t 活动是针对w i n d o w s 的,而针对l i n u x 的几乎没有。当针对l i n u x 的r o o c k i t 几乎不存在时,基于w i n d o w s 的r o o t k i t 将成为未来的主流。趋势四在合法和非法的软件中都发现r o o t k j t 攻击。五花八门的盗窃技术几乎能够把他们传播到每个己知的恶意软件中。根据m e a f e ea v e r t 的研究,盗窃技术的攻击形式已经覆盖各种软件分发形式,许多著名的r o o t k i t证明了这一点。b a e k d o o r - b a c 通过垃圾邮件、术马下载和直接爆发进行分发:h a c k e r d e f e a l d e r 通常通过垃圾邮件、b o t 、直接爆发和p 2 p 的方式进行分发还有一些r o o t k i t 通过群发邮件蠕虫进行下载,并创建复杂的混合攻击。1 42r o o t k i t 的工作原理r o o t k i t 的主要特点就是隐藏信息,比如运行进程,服务,t c p p 端口文件,注册信息,用户帐号等等,常见的是隐藏运行进程,文件和注册信息】。隐藏的方式可以通过修改系统调用表来实现。如图1 所示,在安装了一个名为k a 衄r k 的r o o t k i t 之后,系统调用表中的一些系统调用被重定向了。斟1 4r 0 0 t k i l 重定向作用示例f 2g 【f 陀i e x a m p l e o f f k i tr e d l r e c t m n北京工业大学t 学硕十学位论文1 4 3r o o t k i t 常用的进程隐藏技术d l li n f e c t i o n ( d l l 感染) :即文件替换,用一些修改过的函数( 比如z w q u e r y s y s t e m i n f o r m a t i o n ) 提供一个新的d l l ( l 匕如n t d l l d 1 1 ) ;这种很容易被系统完整性检测出来( 假定这些检测系统不使用d 1 1 ,而是直接调用i n t2 e h ) 1 2 】a p ih o o k i n g ( a p i 钩挂) :和上面类似,但是不需要文件替换感染通过o p e n p r o c e s s 0 ,w r i t e p r o c e s s m e m o r y o ,等这种技术的r o o t l d t 例子是h a c k d e f e n d e r 和上面类似,管理员可以通过调用z w q u e r y s y s t e m i n f 0 0 的小程序,直接调用i n t2 e h 而不通过n t d l l ,来发现隐藏进程,这也是所有用户态r o o t k i t 的一个共同点t h r e a di n j e c t i o n ( 线程注入) :这种技术没有额外的进程产生。r o o t k i t 选择一个合适的“合法”进程,并插入一个新的线程。新的线程为攻击者起到帮助的作用。缺点:灵活性不强。k e r n e ls e r v i c e h o o k i n g ( 1 勾核服务钩挂) :一种典型的途径。钩挂知名的内核服务,并且修改返回结果。它可以通过几种形式来实现:1 钩挂系统服务表( s e r v i c et a b l eh o o k i n g ) :最普遍的方式,可以通过和干净系统对比s t 来检测出来2i d th o o k i n g :和上面类似,类似的缺点。3r a wk e r n e lc o d ec h a n g e :修改代码本身而不是修改代码的指针。例如,通过插入j m p 指令。4 “s t r a n g e p o i n t e r sc h a n g e :修改一些不常用的代码指针( 对比于s t 或者i d t ) ,来修改一些内核服务的执行路径。有许多这样的指针,例如k t h r e a d 对象中的p s e r v i c e d e s c r i p t o r t a b l e应用技术1 3 的r o o t k i t 相对容易通过计算内核内存的h a s h 来检测出来。第四种途径有些复杂,因为不可能认出所有的指针,并且也不能完全确定指针的变化是由于内核的活动还是外来入侵。k e r n e ld a t am a n i p u l a t i o n ( 内核数据操作) :主要思想是把进程从p s a e t i v e p r o e e s s l i n k h e a d 链表中u n l i n k 。这个链表不被调度程序使用,所以解链之后,进程( 或它的线程) 仍然得到e p u 时间,同时进程对象是隐藏的。为了检测这种方法隐藏起来的进程,我们需要了解调度程序实际使用哪些链表。1 5 主要研究内容及研究方案本课题的主要研究内容为w i n d o w s 环境下基于启发式的内核级r o o t k i t 检测。其中有2 个关键内容:执行路径分析( e p a ) 和指令计数。第1 章绪论本课题的目的是要实现一个能够检测r o o t k i t 的工具,特别是针对内核级的r o o t l d t 。检测方法是通过启发式的执行路径分析( e p a ) ,并且尽可能地降低误报率。正如背景部分所提到的,仅仅依靠反病毒软件保护系统是不完善的,而实现这样一个检测工具是有现实意义的。北京工业大学t 学硕士学位论文曼曼曼曼舅舅曼曼曼曼暑曼曼曼皇曼曼曼曼曼曼曼曼曼曼詈曼!曼曼wi! 曼曼皇曼舅舅曼毫第2 章r o o t k i t 检测技术与检测工具2 1r o o t k i t 检测技术2 1 1c r o s s - vi6 w 技术c r o s s v i e w ( = l 对) 的核心思想是比对系统的底层和系统的高层不同层面【1 3 】使用c r o s s v i e w 方法的检测产品有r o o t l d tr e v e a l e r , b l a c kl i g h t 和微软公司的研究项目g h o s t b u s t e r c r o s s v i e w 是基于行为的检测技术,它的思想是通过不同的途径得到同一个问题的答案。在c r o s s v i e w 方法中,检测软件调用普通a p i 函数枚举系统关键元素,关于文件、进程、注册表键的信息;同时它还必须使用不依赖于普通a p i 函数的方法获得相似的数据集。比对这两个数据集以发现系统中是否有被隐藏的元素。基于c r o s s v i e w ( 比对) 的检测器要保证其有效性需要获取系统底层信息。这带来的不利因素是为了支持所有的硬件而使得复杂度加大。实际上由于要复制一部分操作系统的代码,检测器代码部分不会很短小。即便检测器有获取足够底层信息的方法,它仍然可能被欺骗。比如,通过暂时地向检测器进程公开被隐藏的文件。但是对于r o o t l d t 而言,不隐藏信息是行不通的。因为类似于高级病毒扫描器所使用的一些启发式的检测方法能够检测到恶意可执行代码。应用基于c r o s s v i e w 的检测器通过读取磁盘扇区并根据n t f s 格式进行解析,可以获得文件系统低层视角。如果用r e a d f i l e ( ) 来读扇区,则很容易被r o o t l d t 欺骗。目前,n t f s 结构已经被广泛的了解,所以钩挂r e a d f i l e( ) a p i 并且伪造磁盘信息是很有可能出现的。隐藏文件检测器需要到更底层的地方,比如在内核中安装a g e n t 。a g e n t绕过w i n d o w s a p i ,可以使用内核模式的z w c r e a t e f i l e o z w r e a d f i l e o 。但是,这仍然可能通过钩挂系统服务表或钩挂i a t 来欺骗【1 4 , 1 5 。如果检测器的a g e n t 还能到达更深层的地方,通过手动建立恰当的i o 请求包( 冲) ,并且使用i o c a l l d r i v e r ( ) 和磁盘驱动直接交互( 绕过了所有的a p i 函数) 。这种方法可以直接同磁盘驱动器,端口驱动器对话。但是,这仍然会被i r p 钩挂所欺骗( 在公开的r o o t k i t 源码中已经出现i r ph o o k i n g ) 。检测器当然还能到更深一层,比如用i n 和o u t 机器语言来和h d d 控制器交互,虽然这很难被欺骗,但是这也是非常难以实现的。实际上各种检测器都可能被同样的途径所欺骗,即钩挂检测器和它的第2 章r o o t k i t 检测技术与柃测1 二具a g e n t 之间的通信 16 1 。综上,由于r o o t k i t 技术也是不断的发展,即使c r o s s v i e w 方法有不少优点,但是单一的方法不能一劳永逸。2 - 1 2 启发式的方法一种检测r o o t k i t 是否存在的方法是检测它如何改变计算机系统上的其他参数用这种方法可以看到r o o t k i t 所造成的影响,即使并不知道一个真实的r o o t l d t 会造成什么样的反常现象这种解决方案是一个比较通用的方法,因为不需要对应于某个特殊的r o o t k i t 的特征值启发式就是属于这种方法,它的优点在于可以鉴别新的和未被辨识的r o o t l c i t 。但是,启发式检测不可避免地会有正误判。它的工作原理可以概括为,通过识别与“正常 的系统行为的偏差来判定是否存在r o o t l d t 。通常用于检测那些钩挂执行路径的r o o t k i t 。应用启发式的典型检测工具有v i c e和p a t c h f i n d e r 。v i c e 采用的是静态分析的方法,而p a t e h f i n d c r 采用的是动态分析【1 7 , 1 8 】。r o o t l d t 的一种影响是它通常改变一个正常程序的执行路径通过将自身插入到程序执行体的中间,r o o t k i t 可以在程序和该程序所依赖的内核函数之间扮演中间人的角色拥有这个位置的力量,r o o t k i t 能改变程序所看到的和所做的举例来说,r o o t l d t 可以返回一个与原本程序想要打开的日志文件不同的句柄,或者r o o t k i t 可以改变网络通讯的目的地址这些r o o t k t 修改内存或者挂钩就会造成多余的指令被执行当一个修改过的函数和一个正常函数相比较时,执行指令数量的不同预示着r o o t l d t 的存在p a t c h f i n d e r 就使用这个技术p a t c h f i n d e r 的一个缺点是为了统计指令,c p u 必须处于单步模式所以每执行一条指令就触发一次中断,而且必须处理它这严重影响了系统的性能甚至在一个干净的系统中,指令执行真正数量也会变化v i c e 可以在应用程序和内核中检测挂钩的存在v i c e 通过分析由操作系统导出函数的地址查找挂钩导出的函数是r o o t k i t 典型的目标,因为通过过滤某些a p i ,r o o t k i t 可以隐藏自己通过查找挂钩本身,v i c e 避免了与指令计数相关的问题然而v i c e 也依赖于几个a p i ,所以对于一个r o o t k i t 来说有可能击败它的挂钩检测方法当前v i c e 最大的问题是它检测所有挂钩,不管是恶意的,还是善意的然而挂钩是被大多数安全产品所使用的合法技术2 1 3 利用统计的方法r o o t k i t 是否会影响系统性能? r o o t k i t 是否让计算机变慢了? 使用者会不会注意到计算机变慢了? 如果是这样,变的多慢?r d t s c ( r e a dt i m e - s t a m pc o u n t e r 读时间戳计数器) 检测【l 明北京t 业大学工学硕十学位论文处理器会在每个时钟周期递增m s r 寄存器中的时间戳计数器,当处理器重启时,重置为0 。r d t s c 实际上就是测量执行一个函数所需的时钟周期。w i n d o w s 是一个分时的系统,各个进程和线程共享处理器时间。我们要保证测试的函数不会被w i n d o w s 系统打断。w i n d o w s 提供了一个方法s e t p r i o r i t y c l a s s 0 ;用这个方法,提供第二个参数r e a l t i m ep r i o r i t yc l a s s ,可以保证测量过程不会被打断。另外需要注意,一个函数需要的执行时间依赖于函数运行的工作量。所以,必许保证所用钩挂的函数不依赖于环境。这意味着避免函数与硬盘的交互,避免使用哪些严重依赖于所传递数据量的函数。比如,我们可以使用o p e n p r o c e s s 0 来测试,因为它与硬盘无关。如果用同样的进程数来运行测试,它传递的数据量是一个可接受的常数。不要忘记w i n d o w s 内存的分页制度,往往下一个需要的被刚刚换出,这种情况要尽量少。表2 1 是一些安装r o o t l c i t前后的测试结果表2 1 安装r o o t l d t 对计算机处理器进程数的影响t a b l e 2 - 1i n s t a l l a t i o no f r o o t l d ti n f l e n tt h ee l mp e r f o r m a n c ei n t e li n t e la m da m d安装安装安装安装r o o t k i t 前r o o t l d t 后r o o t l d t 前r o o t l d t 后5 0 2 1 66 3 8 2 42 8 9 0 45 8 8 3 59 5 1 61 2 7 2 43 5 4 66 3 3 37 4 4 09 5 1 62 5 0 13 9 4 67 1 0 89 0 5 22 3 5 83 3 4 47 2 0 49 0 3 22 4 1 53 1 6 87 1 0 89 0 4 02 2 9 43 3 1 27 1 1 29 0 2 42 2 7 23 1 6 87 1 9 29 0 2 02 2 7 23 1 4 07 2 0 49 0 1 22 3 9 93 2 4 47 2 0 09 0 3 62 2 7 23 1 6 87 1 7 69 0 5 62 2 7 23 1 4 07 1 6 89 0 2 82 4 1 53 1 4 07 1 6 89 0 4 42 2 7 23 2 8 27 1 6 89 0 1 62 2 7 23 1 6 87 1 6 89 0 3 22 2 7 23 1 4 07 18 89 0 3 22 3 4 93 2 2 97 1 7 29 0 2 42 2 7 23 1 6 8第2 章r o o t k i t 检测技术与检测工具7 1 7 69 0 5 22 2 7 23 1 4 07 1 4 89 0 1 62 3 2 53 1 4 07 1 6 09 0 6 02 2 7 23 2 0 9两个测试用到的计算机处理器和进程数都不相同。使用o p e r l p r o c e s s ( ) i 贝0试的结果表明大概r o o t k i t 钩挂前后有1 千条指令数的差异。但是采用d k o m勾挂的是不能用这种方法测量出来的。r d p m c 检测r e a dp e r f o r m a n c e m o n i t o r i n gc o u n t e r s 读性能监视计数器。所谓性能监视计数器,是事件计数器,可以被变成来统计事件,比如解码指令的数量,收到的中断数量,或者寄存器c a c h e 读取的数量。这意味着能测量处理器在执行一个函数时候发生的每件事。这可以用来作为r o o t k i t 存在的额外证据。r d p m c 检测的一些条件和r d t s c 类似。一般不单独使用r d p m c 。它用来结合r d s t c 检测。2 2 典型r o o t k i t 检测工具2 2 1 基于c f o s s - vi 鲫的g h o s l :b u s t e rg h o s t b u s t c r ( 图2 - 2 所示) 提供2 种扫描,分别为i n s i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论