




已阅读5页,还剩63页未读, 继续免费阅读
(计算机应用技术专业论文)windows内核安全机制中进程多点联合隐藏技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士论文w i n d o w s 内核安全机制中的进程多点联合隐藏技术研究 摘要 随着信息安全技术的发展,当今在信息安全领域中r o o t k i t 变得越来越重要,r o o t k i t 技术正成为信息安全领域最大的挑战之一,越来越多的研究人员开始涉足r o o t k i t 技术。 该技术最早被应用于u n i x 系统,后来慢慢发展到其他系统。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 i t 实时监控嫌疑人员的不法行为,它不仅能搜集证据,还有利 于及时采取行动;由于信息已经日益成为国家的命脉,在现代战争的信息战中,破坏敌 方核心的信息系统,成为了克敌制胜的关键。要打赢一场信息战,关键在于如何获取敌 方情报并摧毁敌方信息系统夺取战场信息的控制权。 本文首先叙述了w i n d o w s 系统中与r o o t k i t 相关的内核原理,在此基础研究了进程 隐藏后的活动对系统能产生的影响,并基于此提出了多点联合进程隐藏( m u l t i p o i n t j o i mp r o c e s sh i d e ) 的思想,即不仅仅是隐藏进程本身,对隐藏进程活动产生的诸多影 响均予以隐藏。文章在a b r a h a ms i l b e r s c h a t z 等人对操作系统研究的基础上将操作系统 进行了形式化,以此为基础从理论上给出了m p j p h r ( m u l t i p o i n tj o i n tp r o c e s sh i d e r o o t l d t ) 的性质特征的描述。文章结合p e t r i 网理论将m p j p h r 的动态行为和静态特征 进行抽象提出了m p j p h r 模型并详细分析了m p j p h r 模型各个组成模块动态活动的内 部机制,为后面原型的设计和实现奠定了基础。最后设计并实现了m p j p h r 模型的原型, 完成了本文描述的r o o t k i t 技术的代码编写,进行了一系列的测试,在实际应用中达到 了比较好的效果。 关键词:w i n d o w s 内核,r o o t k i t ,多点联合,进程,隐藏 a b s t r a c t w i t ht h ed e v e l o p m e n to fi n f o r m a t i o ns e c u r i t yt e c h n i q u e s ,r o o t k i tb e c o m em o r ea n d m o r ei m p o r t a n ti ni n f o r m a t i o ns e c u r i t ya r e aa n di ti sa l s ob e c o m i n go n eo ft h eb i g g e s t c h a l l e n g e si nt h i sa r e a ,m o r er e s e a r c h e r sh a v eb e g a nt oi n v o l v ei nr e s e a r c hi t r o o t k i tw a s f i r s tu s e di nu n i xs y s t e ma n dt h e ni nm a n yo t h e r o p e r a t i n gs y s t e m s r o o t k i ti sag r o u po f p e r s i s t e n ta n du n d e t e c t a b l ep r o g r a m sa n dc o d e s m o s to ft h et e c h n o l o g i e sa n dt r i c k s e m p l o y e db yr o o t k i ta r ed e s i g n e dt oh i d ec o d ea n dd a t ai nas y s t e m r o o t k i t sa r en o t i n h e r e n t l y ”b a d ”,o nt h ec o n t r a r y ,t h e yc a nb eu s e df o rl e g i t i m a t ep u r p o s e s f o ri n s t a n c e ,t h e f o r e n s i cc a nu s er o o t k i tt om o n i t o rs u s p e c tr e a l t i m e i tc a nn o to n l yc o l l e c te v i d e n c e ,b u t a l s oc a nt a k ep r o m p ta c t i o n n o w ,i n f o r m a t i o nh a si n c r e a s i n g l yb e c o m et h el i f e b l o o do f c o u n t r i e s ,i fw ec a nd e s t r o ye n e m i e s c o r ei n f o r m a t i o ns y s t e mw ew i l lw i nt h em o d e r nw a r t ow i na i li n f o r m a t i o nw a r ,t h ek e yi sh o wt oo b t a i ni n f o r m a t i o ni n t e l l i g e n c et od e s t r o yt h e a d v e r s a r y si n f o r m a t i o ns y s t e ma n dc o n t r o lo ft h eb a t t l e f i e l di n f o r m a t i o n i nt h i sp a p e r , if i r s t l yd e s c r i b et h et h e o r i e so fw i n d o w ss y s t e mk e r n e lw h i c ha r er e l a t e d t or o o t k i t s e c o n d l y ,ir e s e a r c ht h ei n f l u e n c eo ns y s t e mc a u s e db yh i d d e np r o c e s s w i t ht h e r e s e a r c hip u tf o r w a r dt h et h o u g h to fm u l t i - p o i n tj o i n tp r o c e s sh i d ew h i c hn o to n l yh i d et h e p r o c e s si t s e l fb u ta l s ot h ei n f l u e n c e sw h i c hc a u s e db yt h eh i d d e np r o c e s s t h i sp a p e r f o r m a l i z e so p e r a t i n gs y s t e mb a s e do na b r a h a ms i l b e r s c h a t z sr e s e a r c h t h e nig i v eo u tt h e p r o p e r t i e so fm p j p h r ( m u l t i - p o i n tj o i n tp r o c e s sh i d er o o t k i 0f r o mt h et h e o r e t i c a lp o i n to f v i e wa n da b s t r a c tt h ed y n a m i cb e h a v i o ra n ds t a t i cf e a t u r e so fm p j p h rw i t hp e t r in e t st h e o r y t h e ng i v et h em p j p h r m o d e l f i n a l l y ,a f t e ria n a l y z et h ed e t a i l so ft h i sm o d e lid e s i g na n d i m p l e m e n tt h ep r o t o t y p eo fm p j p h r ,t h ee x p e r i m e n t sr e s u l t si n d i c a t et h a tt h ep r o t o t y p et a k e s g o o de f f e c t k e y w o r d :w i n d o w sk e r n e l ,r o o t l d t ,m u l t i p o i n tj o i n t ,p r o c e s s ,h i d e 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均 已在论文中作了明确的说明。 研究生签名:垒丝堑矽哆年多月酉日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的部分或全部内容,可以向有关部门或机构送 交并授权其保存、借阅或上网公布本学位论文的部分或全部内容。对 于保密论文,按保密的有关规定和程序处理。 研究生签名:垒埋瑚罗年石月石日 硕士论文w i n d o w s 内核安全机制中的进程多点联合隐藏技术研究 1 绪论 1 1 研究背景现状及意义 1 1 1 研究背景和现状 随着计算机技术的普及网络以及计算机网络的飞速发展,世界各国的政治、军事、 经济、文化和人民的生活都越来越依赖于网络。信息安全日益成为当今社会的重大问题 之一。网络安全的研究的投入也不断深入和加强,同时国家也重视信息安全的建设【5 9 | , 然而网络中非安全因素并没有因此而减少,反而有增长的趋势。这主要是因为攻防技术 是相对而生的,攻击技术和防御技术一直保持此消彼长的发展,互相刺激着彼此的发展。 所谓道一尺,魔高一丈,攻防之间的博弈永远是信息安全领域中恒久不变的主题。网络 攻防技术是高智力较量,具有很强的对抗性,对攻防双方的智力和对技术的理解深度有 很高的要求。信息安全研究不应仅限于用于主动或者被动防御的安全产品的开发研究, 还应包括对攻击技术的研究,做到知己知彼,从攻击技术中寻找防御策略和方法,只有 做到这样才能在网络对抗攻防转换中占据主动,否则很难真正应对攻击,脱离攻击的防 御只能是纸上谈兵。 r o o t l d t 作为一个新兴的发明,已经在当今的信息安全领域中变得越来越重要,它正 成为信息安全领域最大的挑战之一,越来越多的研究人员开始投入到r o o t l d t 攻击和防 御技术的研究中。文献 1 2 记载的最早的内核级r o o t k i t 是针对u n i x 系统编写的r o o t k i t , 由于u n i x 系统的开源性,使研究人员更容易掌握系统的内核。而w i n d o w s 不是开源 的,但是由于w i n d o w s 系统的使用范围相当广泛,许多研究人员开始研究针对n t 系统 内核的r o o t k i t ,针对w i n d o w sn t 内核的也开始出现 1 3 1 。 r o o t k i t 是一组能持久存在且难于察觉的一组程序和代码。r o o t k i t 所采用的大部分 技术和技巧都用于在计算机中隐藏代码和数据 7 1 。r o o t k i t 是一种奇特的程序,它具有隐 身功能:无论是其在磁盘的载体,即文件;还是内存中的载体,即用户态的进程或者内 核态的驱动,都不会被察觉。这种特性正是计算机取证人员、计算机黑客、内核安全研 究者求之不得的。恶意软件利用者可以利用r o o t k i t 悄悄地搜集被攻击者的隐私信息, 或等待潜伏不暴露自己,直到有机可趁;司法办案人员也可以将r o o t k i t 植入到嫌疑人 的计算机系统,实时监控其行为,以搜集确凿而有力的证据,这也利于相关人员不错过 最佳行动时机。 w i n d o w s 中用户态r o o t k i t 使用的技术有:用s e t w i n d o w s h o o k e x 函数对特定的应 用程序设定钩子 2 7 】,【2 8 :用c r e a t e r e m o t e t h r e a d 创建远程线程 2 9 】, 3 0 1 ,使得线程能够运行 于其他进程的地址空间。操作线程上下文【3 1 1 在目标进程中执行代码。p e t 3 2 1 文件中的输 1 绪论 硕士论文 入地址表( i a t , i m p o r ta d d r e s st a b l e ) 用来保存本模块中需要静态调用的所有输入函数的 地址。通过修改输入地址表,来改变函数的执行逻辑 3 3 , 3 4 1 。w i n d o w s 操作系统中包含 着大量的可执行文件和d l l 文件,如果替换系统的可执行文件或者d l l 文件就可以实 现其所想要达到的隐藏目的。w i n d o w 平台 1 4 】和l i n u x 平台 1 6 】上均有研究人员在研究 r o o t l d t 技术。w i n d o w s 内核态r o o t l d t 通常使用的技术有:挂钩2 e h 号中断处理程序, 挂钩s s d t 表,挂钩s d t s s t k i s e r v i c e t a b l e ,挂钩i r p 函数表,修改内核代码,挂钩 i d t 表等。w i n d o w s 中r o o t k i t 有:c l o a k e r 3 ,f u 3 6 1 , f u t o 3 7 ,b o o t r o o t 38 1 ,p i x i e 3 9 , b l u ep i l l 6 1 ,r u s t o c k 4 0 ,s t o r m w o r m 4 1 1 ,m b rr o o t k i t 8 1 ,u n r e a l 9 1 ,a k 9 2 2 4 2 1 ,n t i l l u s i o n r o o t k i t t 3 5 1 ,v m b r 1 0 1 ,h a c k e rd e f e n d e r 4 3 1 。另外在u n i x 平台的r o o t k i t 有:t o m ,a d o r e , k n a r k 和p h i d e 等。l i n u x 平台的r o o t k i t 有l i n u xr o o t k i ti v ,i r k ,l n r k ,l r k 2 和l r k 3 等。 同时有许多人员投入到r o o t k i t 的检测技术的研究中【2 】 【5 】 1 5 】【1 7 】 18 1 。 在专业研究达到一定程度和规模后,数学以至于数学建模的应用就不可避免【5 8 1 ,上 个世纪六十年代贝尔实验室的几个年轻的工程师研制出了病毒的鼻祖“核心大战”,从 那以后病毒以及后来出现的木马就开始迅速发展,到了七八十年代随着病毒和木马技术 的发展,不少人对病毒和木马进行研究提出了相应的数学模型,解决了一些问题。 a d l e m a n 4 6 】,【5 印和f r e dc o h e n 4 7 】 【4 8 】,【4 9 】, 5 0 】 5 4 】 5 5 】等人对病毒进行了深入研究,他们将木马作 为病毒的一种特例,并给出了病毒和木马的数学模型,但未对木马的隐藏特征尤其是由 进程引起的诸多系统不一致状态隐藏进行分析。国内的研究人员也对病毒模型进行了研 究l 57 1 。h a r o l dt h i m b l e b y 等人【5 l 】对病毒、木马的模型框架进行了研究,给出了木马形式 化模型,对木马隐藏的特征进行了描述,但同样也没有对由进程引起的诸多系统不一致 状态隐藏进行描述。本世纪初r o o t k i t 技术开始慢慢发展,最近几年r o o t k i t 技术得到了 迅速的发展,同时在r o o t k i t 模型方面还鲜有人涉及,也有一些研究人员把r o o t l d t 归类 于木马来进行分析研究【2 ,虽然r o o t k i t 有类似的特征但只是r o o t k i t 特征中的一部分。 1 m el a c o m b e 等人对r o o t k i t 进行了初步的描述【l 】,未从系统论的观点对r o o t k i t 的行为进 行描述。 1 1 2 研究意义 r o o t k i 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 所处的层次低、拥有的特权大、自身的隐密性高使得它在操作系 统中占据重要的地位,r o o t k i t 也很自然的成为了那些怀有恶意的人的利用工具,他们利 2 硕士论文w i n d o w s 内核安全机制中的进程多点联合隐藏技术研究 用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 i t 最主要的特征之一,r o o t k i t 的存在是要隐密地完成特定的任务, 为了完成相应的任务或者达到隐密活动的目的首先必须能够隐藏自身对操作系统带来 的影响。通常,在操作系统中任务都会由代码的执行来完成,进程或者是驱动程序在内 存中的映像都是代码的载体,为了能隐密的完成任务隐藏进程或者是驱动势在必行。 仅仅进程或者是驱动本身的隐藏是远远不够的,进程或者是驱动的活动势必会给操 作系统带来诸多方面的影响,例如,r o o t k i t 获得信息后需要与外界通信,将信息发送出 去,这就会带来网络流量,对于操作系统来说隐藏进程带来的网络流量是个异常的信号, 是对方产生怀疑而做好防范措施。因此,诸如此类由隐藏的进程或者是驱动带来的一系 列影响如果得不到妥善处理,r o o t k i t 就会暴露自己,它的任务就难于完成。因此研究由 此带来的一系列影响的隐藏或者伪装有助于提高r o o t k i t 的隐密性,这是本文研究的根 本问题。 从国家战略考虑,信息已经成为国家的命脉。敌方的核心信息系统,正逐渐成为现 代战争的“第一个打击目标”【删。要打赢一场现代化的信息战,关键在于如何获取战场 信息的控制权,其中如何获得敌方情报并摧毁敌方信息系统是至关重要的。为了达到这 样的目的,r o o t k i t 在系统中必须能很好的隐藏自身,才能进一步的获得更多的生存时间, 从而为持久的获取情报和以后能破坏系统打下基础。在信息获取中用户态的代码比内核 态的代码拥有更丰富的系统调用接口,为能使用户态代码的载体一进程获得更好的隐 密性,必须考虑进程活动所带来的诸多影响,当然处于内核态的代码的载体驱动的 活动同样需要考虑在内。为了在未来的信息战中掌握主动权,r o o t k i t 攻击技术是不可或 缺的武器,发展研究r o o t k i t 攻击技术同时也能提高自身的反防御的能力,具有重要的 战略意义。 对r o o t k i t 技术的研究,有助于研究r o o t k i t 的防御机制,做到知己知彼,提升r o o t l o t 防御水平。对r o o t k i t 模型的研究和建立有助于r o o t k i t 的识别和分类,提高识别r o o t k i t 的精度和准确度,进一步提高r o o t l d t 防御能力。有利于增强信息网络中攻防转换的把 握,维护我国信息空间的权益,并为应对各种复杂安全形势做好准备。 1 2 研究内容 本学位论文主要包括以下几个方面的研究内容: 针对目前大多数研究人员专注于单项技术的研究以及缺少对r o o t l d t 模型的研究这 1 绪论硕士论文 个现状,本文从r o o t k i t 技术中的进程隐藏入手,进行了以下研究: 研究了进程隐藏后的活动对系统能产生的诸多影响,提出多点联合隐藏的思想,使 其产生的多个影响能得以隐藏,从而达到更加深层次的隐藏,提高隐藏进程的隐密程度, 改变了传统的单点隐藏的孤立局面; 在a b r a h a ms i l b e r s c h a t z 5 2 】等人对操作系统研究的基础上对操作系统进行了抽象和 形式化描述,为分析研究r o o t l 6 t 特征建立其模型奠定基础; 在上述形式化描述操作系统的基础上,结合多点联合隐藏思想从理论上描述了 r o o t k i t 具有的性质特征并结合p e t r i 网理论给出m p j p h r 模型; 设计了m p j p h r 模型的原型并详细分析了其内部模块的动态变化过程; 最后结合具体技术实现了m p j p h r 模型的原型并做了相关测试,取得了较好的效 果。 1 3 论文结构 论文主要包括六个章节: 第一章:绪论部分。主要介绍了课题研究背景、国内外研究现状以及论文的主要工作和 内容安排。 第二章:相关背景知识。介绍了r o o t k i t 的种类,概述了r o o t k i t 涉及到的基本原理,包 括w i n d o w sn t 的体系结构、内核对象、文件系统、网络系统、中断请求级。同时对本 文涉及的模型以及p e t r i 网等相关知识作了简单的阐述。 第三章:m p j p h r 模型。在对隐藏进程活动时对系统产生的可疑影响研究的基础上提出 了多点联合隐藏的思想。给出了m p j p h r 的主要特征的形式化描述,在此基础上建立 m p j p h r 模型。 第四章:基于m p j p h r 模型的原型设计。具体包括:m p j p h r 原型的总体设计、详细 设计。运用软件工程的一般理论和原理,结合m p j p h r 建模技术,详细分析了m p j p h r 中各个模块的内部机理,为后面的实现奠定了基础。 第五章:基于m p j p h r 模型结合具体的r o o t k i t 技术在w i n d o w s 平台上实现了该原型, 并做了相关实验。 第六章:总结了本文的主要工作,并对未来的研究工作进行讨论。 4 十镕女 w t n d o w s 内棱立机制中的进程多点联台隐藏拄术研究 2 相关背景知识 本章重点阐述和r o o t k i t 相关的w i n d o w sn t 基本原理,包括操作系统架构和核心 部件、内核埘象、文件系统、网络系统、中断请求级别。最后简要介绍了本文用到的 p e t f i _ 嘲建模技术。 2 1w i n d o w s 操作系统总体架构 2l _ 1w i n d o w s 操作系统体系结构 w i n d o w s 操作系统也是通过硬件提供的支持,实现了内核态( 管态,k e r n e lm o d e ) 以及用户态( 目态,u s e r m o d e ) 两个特权级。在w i n d o w s 这个庞大的系统中,不可能 所有的组件都处于内核态运行,因此需要根据性能因素对其组件进行排序,只有性能要 求高的组件才在内核态下运行。处丁内核念下的组件因其特殊的地位,可以和硬件交互, 组件之问也可以交互。例如,对象及安全管理器、网络协议、文件系统和所有线程和进 程管理,都运行在内核态。因为有特权级的存在,操作系统特权代码和数据是受到保护 的,不会被用户程序直接访问,所有操作系统组件都受到了保护,以免应用程序意外错 误而导致系统崩溃。这种机制使得w i n d o w s 可能成为坚固稳定的麻用程序服务器,并 且从操作系统服务的角度来看,w i n d o w s 作为工作站平台是坚固稳定的。图21t1 展 不丁w i n d o w s 各个主要部件。 e * g #口* 4 &十川 诽稀雨”黼 hl _ 9 ;i : ) 图2 1 1 1 w m d o w s 核心部件f i 2 相关背景知识硕士论文 2 1 2w i n d o w s 操作系统主要组件 在图2 1 1 1 中,中间一条黑线把w i n d o w s 操作系统的内核态组件和用户态组件两 部分划分开来。黑线以上代表了用户态组件,黑线以下代表了内核态组件。下面简要介 绍一下内核态和用户态的组件。 2 1 2 1 用户态组件 l 、环境子系统( e n v i r o n m e n ts u b s y s t e m s ) :是操作系统中应用程序的执行环境,它们 向应用程序提供调用的接口,环境子系统有:w i n 3 2 、p o s i x 和0 s 21 2 。 2 、应用程序( u s e ra p p l i c a t i o n s ) :是用于某种应用目的的代码集合,包括以下五种 类型:w i n 3 2 、w i n d o w s3 1 、m s - d o s 、p o s i x 或0 s 21 2 环境的应用程序。 3 、子系统动态链接库:调用层转换和映射调用层转换和映射。将公共的调用接口转换 为w i n d o w s2 0 0 0 x p 内部对应的系统调用。 2 1 2 2 内核态组件 1 、核心( k e r n e l ) :包含了最低级的操作系统功能,如多处理器同步、中断和异常调 度、线程调度等。同时执行体用来实现高级结构的一组例程和基本对象也是由核心来 提供。 2 、执行体:包含基本的操作系统服务,如i o 操作、进程和线程管理、进程间的通信、 内存管理器以及安全控制。 3 、硬件抽象层( h a l ,h a r d w a r ea b s t r a c t i o nl a y e r ) :将硬件的内部细节同内核、执行体 以及设备驱动程序分隔开来,实现硬件映射。以适应多种不同的硬件平台( 比如不同 主板的差异) 。 4 、设备驱动程序( d e v i c ed r i v e r s ) :包括网络驱动程序、文件系统驱动程序和硬件设 备驱动程序,其中用户的i o 函数调用与特定硬件设备的i o 请求之间的对应关系通过 硬件设备驱动程序实现。 5 、窗口和图形系统:包含了实现图形用户界面的基本函数。 2 2 内核对象 2 2 1 基本概念 w i n d o w sn t 2 0 0 0 x p 使用了各种“内核对象 。内核对象也称为执行体对象。对象 的状态集合反映出资源分配的详细情况。系统的内核对象建立在系统内存区用户态程序 是不能直接访问的。而处于内核态的程序还是可问到这些对象的。内核对象是一组提供 了某些机制的础设施,有控制对象和调度对象;其功能是帮助控制、处理并支持执行体 6 硕士论文w i n d o w s 内核安全机制中的进程多点联合隐藏技术研究 对象的操作,内核对象主要有: 1 、控制对象:这个对象集和包括内核进程、线程、访问令牌对象、异步过程调用对象、 延迟过程调用( d p c ,d e f e r r e dp r o c e d u r ec a l l ) 对象和几个由i o 系统使用的对象,例如 中断对象。 2 、调度对象:负责同步操作并影响线程调度。包括内核线程、互斥体、事件、信号量、 定时器等。 在w i n d o w s 系统中,每一个内核对象都是有对象头和对象体两部分组成,都对内 核对象进行了封装,每个封装可以看作是包含了对象名,访问描述,安全属性的对象 “引” o 2 2 2 内核对象的使用 当需要使用某个内核对象时,需要将相应的名字传递给对象管理器( 位于执行体 中) ,有它负责对象的创建。如果创建成功则将与该对象向关联的句柄返回。然后就可 以通过这个对象句柄来使用内核对象了。 如前所述,被操作系统创建的内核对象位于内核空间,用户空间的代码不能直接访 问内核对象。当一个线程要求创建一个内核对象之前,或者说一个线程开始使用一个 内核对象之前,需要做一些必要的准备工作,这些工作可以在用户态代码请求系统创建 内核对象到系统返回这个对象的句柄之间来完成。 2 3 文件系统 2 3 1 文件系统驱动程序结构 管理文件系统格式是通过文件系统驱动程序( f i l es y e t e md r i v e r ,f s d ) 完成。f s d 运行在内核态,负责向i o 管理器注册自己,并且内存管理器与f s d 之间需要大量的交 互。为了提高读写数据的性能,f s d 常依赖于缓存管理器的服务。f s d 使用的n t o s k m l 导出函数是标准驱动程序使用导出函数的一个超集。编写文件系统驱动除了需要通常所 用到的d d k 还需要需要i f s 。 w i n d o w s 系统有两种不同类型的文件系统驱动程序:本地f s d 和网络f s d 。本文 仅讨论本地f s d 。 本地f s d 包括f a s t f a t s y s 等驱动。图2 3 1 1 是一个简化版本的框架,简要的表现 了本地f s d 与存储设备驱动程序以及i o 管理器之间的交互关系。本地f s d 一旦向i o 管理器注册成功,i o 管理器就可调用f s d 来执行卷的识别工作。 7 2 相关背景知识硕士论文 图2 3 1 1f s d 结构图 w i n d o w s 中有引导扇区的存在,引导扇区为文件系统格式的第一个扇区。引导扇区 包含了分区中的很多重要信息,比如分区使用了什么类型的文件系统,元数据的位置, 分区的大小等一系列重要信息。 2 3 2 文件系统操作 f s d 是w i n d o w s 文件系统的有关操作的直接执行者,系统和应用程序可以有两种 方法来访问文件:通过文件映射内存方式或者直接调用文件i 0 函数。 直接调用系统提供的i 0 函数是访问文件最方便的途径,相关的函数有w 订t e f i l e 、 r e a d f i l e 和c r e a t e f i l e 等。应用程序或者系统组件创建文件则只要直接调用系统提供的 函数c r e a t e f i l e ,然后将其返回的与该文件相关联的文件句柄保存,在需要的时候传给 其他文件操作函数,从而进行各种文件操作。c r e a t e f i l e 是系统提供的用户态函数,最 终会调用与之相对应的内核态函数n t c r e a t e f i l e 来完成实际的操作。 在n t c r e a t e f i l e 函数中使用o b o p e n o b j e c t b y n a m e 来解析路径名的第一个部分, i o p p a r s e d e v i c e 函数处理路径名的余下部分。i o p p a r s e d e v i c e 创建一个i 0 请求包 ( i r p ) ,然后该i r p 将通过i o c a l l d r i v e r 传递给文件系统驱动程序。该i r p 传递给f s d 时,f s d 查找此特定文件执行安全验证,如果用户有访问许可,则返回成功代码。其他 文件操作函数如r e a d f i l e 和w r i t e f i l e 函数的调用过程与上述类似,分别根据操作的不 同包装相应的i r p 包发到文件系统驱动,读取返回结果。 文件是任何软件的根本,因此对于w i n d o w s 系统的文件系统,r o o t k i t 可以利用这 样的层次特点在其中的某个层面上进行操作从而达到隐藏自身的目的。 硕士论文w i n d o w s 内核安全机制中的进程多点联合隐藏技术研究 2 4 网络系统 2 4 1w i n d o w 网络的总体结构 网络应用程序的主要功能是从一台机器上将一个请求将它传递到另一台机器上,在 目标机器上执行相应的请求,然后将结果返回到信源机器上。在这个两机交互的过程中, 请求可能会沿着这条路径往复传输几次。当请求达到信宿端机器时,还要检查到达的请 求的完整性,并根据事先的约定将请求解码,然后将解码后的请求交付给合适的系统组 件以执行。最后执行完请求的回复信息也必须按照通信双方的约定编码,通过网络返回。 图2 4 1 1 给出了w i n d o w s 网络组件的一个总体框架,它把o s i 参考模型和系统组 件放在一起进行对照,清楚的反映了层与层之间使用了哪些协议或者组件。o s i 模型中 的层次和网络组件之间的对应关系并不是很明确的,有交叉,因为在实际网络运用中需 要按照实际情况对o s i 标准模型进行简化。网络组件框架如下: 应用层 表示层 会话层 传输层 网络层 物理层 t d i i a l 图2 4 1 1w i n d o w s 网络系统体系结构图 9 2 相关背景知识硕士论文 1 、网络a p i ( n e t w o r k i n g a p i ) 网络a p i 屏蔽了不同协议之间的差异,为应用程序提供了统一的接口来跨网进行通 信。网络a p i 可以在用户态下或者内核态实现,也可以同时在两个特权状态下实现。 2 、传输驱动程序接口( t r a n s p o r td r i v e ri n t e r f a c e ,t d i ) 客户 网络a p i 是系统提供给应用程序的用户态接口,而t d i 客户是网络a p i 在内核态 中对应的执行具体操作的设备驱动程序。t d i 客户根据w i n d o w s 的传输接口标准生成 i r p 与协议驱动程序交互。 3 、t d i 传输器( 协议驱动程序) 内核态的协议驱动程序称作t d i 传输器,该传输器接受并处理来自t d i 客户的i r p 所代表的请求。这里可能会在i r p 所传递的数据中加入与协议相关的头,例如t c p 等, 然后使用n d i s 函数将数据传递给适配器驱动程序。 4 、n d i s 库( n e t w o r kd r i v e ri n t e r f a c es p e c i f i c a t i o n ) n d i s 库封装了适配器驱动程序,为它们隐藏了w i n d o w s 内核态环境的各种细节。 n d i s 库导出些供给上层使用的函数,以及一些供适配器驱动程序使用的支持函数。 5 、n d i s 中间层驱动程序 n d i s 中间层驱动程序在n d i s 中起着承上启下的作用,转发上层驱动程序送来的 数据包,通过调用n d i s 提供的函数向网络低层n d i s 驱动程序发送数据包。当中间层 驱动程序从下层驱动程序接收到数据包时,通过调用相应的函数向上层指示该数据包。 在这一层可以处理所有经过网络适配器的数据,如果对这些数据进行某些操作可以达到 欺骗上层的作用。 6 、n d i s 小端口驱动程序 n d i s 小端口驱动程序被w i n d o w s n d i s 库封装起来,提供了跨平台的兼容性。n d i s 小端口驱动处于整个网络体系结构的最底层,会和硬件交互。 2 4 2n d i s 驱动程序 任何上层的驱动打算按照相应的协议规范在网络上收发数据时,该驱动程序必须要 有网络适配器的支持。由于各厂商的网络适配器有所差别,其细节只有网络适配器厂商 完全能掌握,因此需要其提供专用的设备驱动程序。网络驱动程序接口规范( n d i s ) 屏蔽了设备之间的差异,使得上层驱动程序可以以一种与设备无关的方式来访问网络适 配器驱动并与之进行通信。 n d i s 驱动程序并不接受和处理i r p ,因为n d i s 驱动程序并不是真正的w i n d o w s 驱动程序,需要由n d i s 库给予封装。n d i s 中间驱动程序( n d i si n t e r m e d i a t ed r i v e r ) 。 位于t d i 传输器和n d i s 驱动程序之间。由于它所处的位置,所以n d i s 中间驱动程 序可以看到并拦截甚至修改发生在一个系统中的所有网络流量。利用这个r o o t k i t 可以 1 0 硕上论文w i n d o w s 内核安全机制中的进程多点联合隐藏技术研究 对网络网络,使其更加隐密。 2 5 中断请求级别 由于中断机制因处理机而异,w i n d o w s 为了屏蔽这样的差异,虚拟出了中断请求级 别( i n t e r r u p tr e q u e s tl e v e l ,i r q l ) 的概念,使得硬件中断级能在w i n d o w s 定义 的中断请求级别的集合上找到对应的映射项,如图2 5 1 所示。每个处理机都有自 己的中断i r q l 。处理机当前所执行代码总对应一个i r q l 。i r q l 决定了代码是可 以被哪些其他中断源所中断,在同一处理机上,和当前执行的代码的i r q l 同级或 者更低级的i r q l 将被屏蔽,只能被更高级别的i r q l 中断。当内核态线程( 用户 态线程不能) 运行时它可以改变处理机的当前i r q l 来屏蔽或者允许一些事件。当 中断产生时,陷阱处理程序提高处理机的当前i r q l 到中断源的i r q l ,这可以保 证正在服务于该中断的处理机不会被同级或者较低级的中断再次中断。被屏蔽的 中断直到i r q l 降低才会被处理或者被另一个处理机处理。改变处理机的i r q l 对 操作系统具有相当重要的影响,所以它只能在内核态下改变。 线程优先级0 - 3 1 硬件中断 软件中断 正常线程执行 图2 5 1 中断请求级别【6 1 1 i r q l 从高往低到设备都是为硬件中断保留的,如图2 5 1 。d i s p a t c h d p c 级和 a p c 级中断是内核设备驱动产生的软件中断。低优先级对应于在该机上执行普通 的线程允许被其他所有中断源中断。用户态线程和内核态部分过程调用分别运行 在中断优先级0 级和1 级。只有内核态的线程可以修改自己的中断优先级。虽然 高优先级的实时线程可以阻塞重要系统线程执行,但不管用户态线程的优先级是 2 相关背景知识硕士论文 多少,它都不会阻塞硬件中断。线程调度代码是运行在d p c d i s p a t c h 中断优先级 的。 内核态的代码在改变某些内核内存区的数据时需要设置i r q l 使得该代码在 对内核内存数据区的修改完成之前不被中断,另外d d k 的函数在调用时也要注意 其能被调用的i r q l 否则会造成蓝屏死机。 2 6 本文用到的p e t r i 网建模理论 p e t r i 5 3 】 6 2 】, 6 3 1 网是1 9 6 0 年代由c a r l a d a mp e t r i 首先提出来的,适合于描述异步的、 并发的计算机系统模型。其形式化描述如下: 定义2 6 1p e t r i 网 p e t r i 网是一个六元组肌= ( p ,t ,f ,k ,形,m o ) = ( n ,k ,形,m o ) ,其中, p = p 1 ,p 2 ,p 。) 是一个有限库所集合,库所的作用是决定迁移能否发生; t = ,t 2 ,t n ) 是一个有51 迁移集合( pu t g 八pnt = 9 ) ,迁移的作用是 改变状态: f ( px 丁) u ( 丁p ) 为流关系,是库所和迁移之间的依赖关系; 图形表示中,用圆圈代表库所,用黑短线或者方框表示迁移,用有向弧表示流关系。 k :p 专z + u o 。 是库所上的容量函数( z + 是正整数集合) ,规定了库所上可以 包含的最大令牌数目。对于任一库所p p ,以k ( p ) 表示向量k 中的库所p 所对应的 分量,若k ( p ) = ,表示库所p 的容量为无穷大; 形:f z + ,是流关系上的权函数,规定了令牌传递过程中的加权系数。对于任 一弧f f ,以缈( 厂) 表示向量缈中弧厂所对应的分量; m ip 寸z ( 非负整数集合) 是库所集合上的标识向量。对于任一库所p p ,以 m ( p ) 表示标识向量m 中库所p 对应的分量,称为库所p 上的标识或者令牌数目,并 且必须满足m ( p ) k ( p ) 。m o 是初始标识向量; n = ( 尸,t ,f ) 是一个p e t r i 网结构。 令牌:也叫托肯。p e t r i 除了有静态结构之外,还包含了描述系统动态行为的机制。 这一特征是通过允许库所中包含令牌,令牌可以依据迁移的引发而重新分布来实现的。 图形表示为一个黑点。 容量函数和权函数均为常量l 的p e t r i 网称为基本p e t r i 网( 简称基本网) 或条件 事件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园大班防洪防汛安全教育教案
- 交通安全教育宣传片
- 《AI进修医生》课件资料
- 《网络协议与互联互通》课件
- 高级茶艺师题库(含参考答案解析)
- 2025年2月1+X 网店运营推广职业技能等级标准(中级)模拟试题(含参考答案解析)
- 2024年2月安全生产应知应会知识采煤模考试题与参考答案解析
- 奶茶店产品服务设计
- 真空泵在制冷与空调行业中的应用考核试卷
- 舞台灯光设计在实景演出中的应用考核试卷
- 律师评析:实际施工人诉讼案例
- 武术基本功五步拳 教案6篇
- 详解 强基计划
- 餐饮场所消防安全培训
- 2023年四川省雅安市长江造林局蜀西分局招聘4人(共500题)笔试必备质量检测、历年高频考点模拟试题含答案解析
- 乡村卫生室服务一体化管理工作制度
- 医学英语术语解密-福建医科大学中国大学mooc课后章节答案期末考试题库2023年
- 医用耗材采购简易流程图
- 第六章电力系统自动低频减载装置
- 新能源设计专业考试题库汇总(附答案)
- 微生物学(细胞型)知到章节答案智慧树2023年哈尔滨师范大学
评论
0/150
提交评论