




已阅读5页,还剩58页未读, 继续免费阅读
(计算机应用技术专业论文)局域网主机文件监控系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着计算机网络技术的飞速发展和企业对网络技术应用的不断增多,局域网 内部安全问题已成为人们越来越关注的一个问题,而局域网内部安全问题的根 本,是主机的文件及进程的安全问题。本文以局域网文件进程监控系统为基础, 重点介绍了基于n t 内核的文件监控系统的设计与实现问题。 主机的文件系统,一直是非法用户操纵主机的一个重要途径,因此对文件系 统的监控,是实现系统安全的一个有效手段。对文件系统的监控可分为用户态监 控和内核态监控两种。用户态的文件监控通常是通过钩挂w i n d o w s a p i 函数方式 实现,它实现容易,但效率低,易被绕过;内核态的文件监控通常采用文件过滤 驱动技术实现,其实施难度大,但具有可移植性好、对用户透明性高及效率高等 优点,能对文件系统实行有效的监控。 文件过滤驱动技术就是在n t 内核态截获i o 管理器向文件系统驱动路由的 i r p ,在i r p 进入到文件系统驱动之前,执行用户自定义的例程,从而实现对文 件系统添加各种新的扩展操作功能。本文建立自已的规则匹配模型,采用基于内 核级别的文件过滤驱动技术,对截获的i r p 进行规则匹配,对不同类型的文件操 作实行不同的处理,或直接路由至下一层的文件系统驱动,或进行相应的操作后 再路由至下一层,或放弃此文件操作,保护文件系统安全。 基于w i n d o w sn t 内核的文件过滤监控系统,通过详细分析研究w i n d o w sn t 系统的堆栈式可扩展内核驱动模型,从根本上解决了对文件系统的非法操作,为 文件系统的安全问题提供了较好的解决方案。 关键词过滤驱动;文件系统安全;内核态;监控系统 a b s t r a c t 曼量曼n j m ;i n ;i ;一u u n m 一一一 一;i ;i i 曼曼曼量量量曼曼曼 a b s t r a c t w i t ht h e d e v e l o p m e n t o fc o m p u t e rn e t w o r kt e c h n o l o g ya n di n c r e a s i n g a p p l i c a t i o no fn e t w o r ki ne n t e r p r i s e s ,i n t e r i o rs e c u r i t yo fl o c a la r e an e t w o r k ( l a n ) i sg a i n i n gm o r ea n dm o r ea t t e n t i o n t h ec o r eo fi n t e r i o rl a n s e c u r i t yi s s u ei st h e s e c u r i t yo fh o s tf i l e sa n dp r o c e s s e s i nt h i sp a p e l ar e a l i z a t i o no fn tk e m e lb a s e df i l e m o n i t o t i n ga n dc o n t r o l l i n gs y s t e mw a si n t r o d u c e d ,w h i c hi so nt h eb a s i so ff i l e m a n i p u l a t i n gp r o c e s sm o n i t o r i n ga n dc o n t r o l l i n gi nl a n e n v i r o n m e n t h o s tf i l es y s t e mi sa ni m p o r t a n ta p p r o a c ho fi n v a l i d l ym a n i p u l a t i n gh o s t s f o r a s m u c h ,t om o n i t o ra n dc o n t r o lt h ef i l es y s t e mi sa ne f f e c t i v em e a n st os e r et h e o p e r a t i n gs y s t e m t h em o n i t o r i n ga n dc o n t r o l l i n go ft h ef i l es y s t e m ,a c c o r d i n g t ot h e o p e r a t i n gs y s t e mm o d e ,c a nb ed i v i d e di n t of i l em o n i t o r i n ga n dc o n t r o l l i n go fb $ e r m o d ea n do fk e r n e lm o d e t h ef o r m e ri su s u a l l yc o n d u c t e db yh o o k i n gw i n d o w sa p i a n di se a s yt or e a l i z e ,y e ti n e f f i c i e n ta n de a s yt ob y p a s s ;t h el a t t e ri su s u a l l yc o n d u c t e d b ya d o p t i n gf i l ef i l t e rd r i v e rw h i c hi sd i f f i c u l tt or e a l i z eb u t h a sh i 曲d i a p h a n e i t yt o u s e r s ,g o o dp o r t a b i l i t y ,a n dt h ea b i l i t yt oi m p l e m e n te f f e c t i v ec o n t r o lo n f i l es y s t e m t h et e c h n i q u eo ff i l ef i l t e rd r i v e r ( f f d ) i st oi n t e r c e p ta n dc a p t u r ei o r e q u e s tp a c k a g e ( i r p ) r o u t e d t of i l es y s t e md r i v e rb yt h ef om a n a g e r b e f o r et h e i r pr e a c h e st h ef i l es y s t e md r i v e r ,f f dc a ne x e c u t eu s e r - d e f i n e dr o u t i n e si no r d e rt o a p p e n dn e wf u n c t i o n st ot h ef i l es y s t e m i nt h i sp a p e r , an o n o b j e c t i v em o d e lo fr u l e m a t c h i n gi sb u i l d ,k e r n e ll e v e lf f dt e c h n i q u eb e i n ga d o p t e d ,t h e nr o u t et h ei r pa f t e r a n a l y s i sb yt h er u l em a t c h i n g ,t h es y s t e mi m p l e m e n t e dd i f f e r e n to p e r a t i o n s o n d i f f e r e n tk i n do ff i l em a n i p u l a t i o n s ,e i t h e rr o u t ei r pt ot h ef i l es y s t e md r i v e ro nn e x t l a y e rd i r e c t l yo rd oc e r t a i no p e r a t i o nb e f o r er o u t i n gt on e x tl a y e r ,o re v e nd i s c a r dt h e i r pt oe n dt h eo p e r a t i o n , t op r o t e c tt h ef i l es y s t e m t h r o u g hd e t a i l e da n a l y s i sa n dr e s e a r c ho nw i n d o w sn ts t a c k a b l ee x t e n s i b l e d r i v e rm o d e lf o rf i l es y s t e m ,t h ew i n d o w sn tf i l ef i l t e rd r i v e rb a s e dm o n i t o r i n ga n d c o n t r o l l i n gs y s t e mp r o v i d e dab e t t e rs o l u t i o ns c h e m ef o rt h ef i l es y s t e ms e c u r i t y i s s u ea n dab e t t e rc e n t r e lo nt h ef i l es y s t e m k e yw o r d s f i l t e rd r i v e r ;f i l es y s t e ms a f e t y ;k e r n e lm o d e ;m o n i t o rs y s t e m i i i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:墨轻簟日期:巡! 茎:斗 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) d , 签名:墨撞车导师签名:逆匦日期:迎圣c :主f 第1 审绪论 第1 章绪论 随着计算机、数字通信、多媒体和网络技术的迅速发展,信息在急剧膨胀。 信息安全问题也成为计算机领域的个重要课题。信息安全本身包括的范围很大 【l 】,大到国家军事政治等机密安全,小范围的当然还包括防范商业企业机密泄露、 防范青少年对不良信息的浏览、个人信息的泄露等。网络环境下的信息安全体系 是保证信息安全的关键,包括计算机安全操作系统、各种安全协议、安全机制( 数 字签名、信息认证、数据加密等) ,直至安全系统,其中任何一个安全漏洞便可 以威胁全局的安全。信息安全服务【2 】【3 】至少应该包括支持信息网络安全服务的基 本理论,以及基于新一代信息网络体系结构的网络安全服务体系结构。 信息安型4 】是- n 涉及计算机科学、网络技术、通信技术、密码技术、信息 安全技术、应用数学、数论、信息论等多种学科的综合性学科。信息安全的目标 嗍是要保证信息的保密性( c o n f i d e n t i a l i t y ) 、完整性( i n t e g r i t y ) 、可用性 ( a v a i l a b i l i t y ) 。 保密性就是要保证信息不泄漏给非授权的个人和实体,只有合法用户才能使 用,这是信息安全最重要的要求;完整性要求信息在存储或传输的过程中,不被 非法修改、增删和破坏,这是信息系统安全的基本要求;可用性要求保护合法用 户访问信息系统时免受非法限制,也就是保证网络、系统、硬件和软件的可靠性, 即使有中断服务的事件发生,也能快速地恢复正常。 从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和 可控性的相关技术和理论都是网络安全的研究领域。 1 1 本文研究背景与研究意义 计算机网络技术的广泛应用,是2 0 世纪的重大进步之一。但随之而来的一 些问题也引起了人们的关注,尤其是与计算机网络相关的安全问题。随着人们对 计算机网络研究的进一步深入,人们充分认识到,与外网的安全比起来,局域网 的整体安全才是最重要的,因此这一点也越来越受到计算机领域研究人员的重 视。局域网与i n t e m e t 相比,速度更快、防范疏漏、安全措施简单,局域网内部 的用户往往有权直接对数据库、服务器等进行操作,有对核心数据进行误操作、 有意窃取或者破坏的机会。因此,如何在局域范围内有效地管理企事业内部信息, 提高信息文档的安全性,避免重要信息泄密,已成为企事业迫切需要解决的重要 难题之一。 局域网内部资源的监控【5 】【6 】,主要通过对注册表、进程及文件的监控来完成。 监控注册表,是掌握病毒等非法程序修改主机资源的一种有效措施:监控进程, 北京t 业大学t 学硕f j 学位论文 则是对非法用户、未授权用户访问主机资源进行监控的有效手段;而监控主机的 文件系统,则是对非法程序及用户修改主机文件的一种有效监控手段。文件是信 息的载体,能否妥善管理文件直接关系到内部信息安全。非法用户及恶意程序的 最终目的,首先是获取对主机的控制,进而通过获取到的控制权限对主机中的资 源进行操作,而归根结底是对主机的文件资源进行操作。因此,局域网监控中的 重中之重就是文件系统监控,它是防范主机安全的有效途径。 1 2 监控简介 当前,对局域网内部主机的监控大多是针对c s ( c l i e n t s e r v e r ) 结构的网络 实现,由于针对c s 网络结构的一台( 或几台) 服务器及多台客户机的具体情况 进行监控,所以相对应的监控程序也分为服务器端及客户端两种。服务器端主机 的监控程序,除对本机进行监控外,还与其下属的客户端主机进行通信。服务器 端主机与客户端主机进行的通信主要是通过网络内部通信来完成,客户端将本机 的监控信息传送到服务器端,由服务器的相关管理者进行操作,再通过网络通信 将操作信息下达到客户端执行。不管是服务器端的监控程序,还是客户端的监控 程序,其技术本质是相同的。 主机监控分为文件监控、进程监控及注册表监控三种,针对网络结构进行的 监控主要是网络连接监控。下面分别对这四种监控进行简单介绍。 ( 1 ) 文件监控:文件监控用于实时监控主机上的文件系统运行情况,指出当 前运行的文件由哪些进程调用,追踪系统中和应用程序配置中的错误,监控用户 应用程序对文件系统进行操作时传给i o 管理器的i o c t l 控制码,指出操作的 结果,即对某个用户文件或系统文件进行读、写、删除、关闭等操作时,能够记 录当前操作的时间、文件的完整路径、文件调用进程等情况,并保存在日志文件 中。当用户应用程序想对文件进行操作时,可以利用文件监控技术获取控制码, 检查用户程序的权限,对非法操作采取必要的阻断,实现对文件的监控和保护, 并把日志文件送到服务器端。 ( 2 ) 进程监控:进程监控用于监控主机上正在运行的进程及其相关信息。通 过用户态或内核态的枚举进程等不同手段,对当前系统中运行的进程进行监控, 通过相关的进程控制模块,查询进程运行时间、进程使用内存情况、进程所在完 整路径及进程、线程旬柄,父进程、线程的句柄( 即子线程是由哪个父线程创建 的) 等相关信息,从而对相关进程进行控制。进程监控可以配合文件监控同时执 行,协助文件监控进行判断、识别,从而为更准确地确定文件监控行为提供依据。 ( 3 ) 注册表监控技术:注册表监控用于监控用户对主机注册表所进行的各种 更改、添加、删除等操作。与注册表操作相关的系统服务有1 1 个,它们分别是: z w o p e n k e y ,z w q u e r y k e y ,z w q u e r y v a l u e k e y , z w e n u m e r a t e v a l u e k e y , 第1 章绪论 z w e n u r n e r a t e k e y ,z w c l o s e ,z w f l u s h k e y ,z w d e l e t e k e y ,z w s e t v a l u e k e y , z w c r e a t e k e y ,z w d e l e t e v a l u e k e y 。任何对注册表的操作,最终都是通过调用相 关的系统服务来实现。所以,可以通过钩挂系统服务来监控用户对注册表进行的 相关操作。 ( 4 ) 网络监控:网络监控( 监听) 主要用于监控本机上存在的各种网络连 接,以及本机所在的局域网络内部的相关连接。监控主机上所有端口的连接,包 括本地端口、远程端口、连接状态、主机名和连接协议等,同时指出该网络连接 与哪些进程相关联。监控主机所在局域网络的连接,包括各种网络监听软件( 如 w i r e s h a r k ,e t h e r e a l 等) 实现的对网络的监听,可获取网络的连接类型、连接 状态及数据包等相关信息。 以上所介绍的四种监控,都是常用于主机资源及网络监控的基本手段,对于 每一种监控手段来说,又有其不同的技术及方法。下面主要对文件监控相关的技 术方法进行详细介绍。 1 3 文件监控技术本质及现状 文件安全问题已成为当今信息科学领域最重要的课题之一,非法用户及恶意 程序对文件系统安全的威胁主要来自三方面: ( 1 ) 外部入侵:如黑客或木马程序对文件的删改; ( 2 ) 内部资源滥用:员工利用电脑做与工作无关的事情,导致工作效率低下。 更危险的是,由于员工安全意识淡薄,还可能会引发其它不安全因素; ( 3 ) 内部攻击:造成内部人员攻击行为的原因有多种,如由于工作未受到认 可、受到处罚或解雇而产生报复心理,导致对内部信息的攻击破坏、删除重要文 件、散布病毒等。由于攻击人员对内部网络和系统较熟悉,因此内部攻击造成的 后果往往是很严重的,特别是有的内部攻击者还拥有很高的技术,即便他对系统 进行了攻击,可能也无法及时发现或取证。 来自以上三方面的威胁,尤其是来自局域网内部的攻击,使主机系统的安全 岌岌可危,这就需要采取监控手段对文件系统进行监控。 w i n d o w s 下解决文件安全性问题的技术手段主要有两种:一种是在用户态利 用h o o k ( 钩挂) 技术【刀【8 1 【9 】,通过钩挂w i n d o w s 提供的相应a p i ( 文件操作函 数) ,及由文件操作所触发的w i n d o w s 消息,从而实现对文件系统的监控;另一 种是在内核态利用文件过滤驱动技术,在i o 管理器与文件系统驱动之间添加抽 象的过滤驱动层,通过截获i o 管理器向文件系统驱动下发的i i 冲( 请求应答包) , 实现对文件系统的监控。 用户态的h o o k 技术易于实现,但由于用户态的a p i 相对较多,造成其效 率低、易被绕过、稳定性和一致性差,所以不适合于大型系统的开发。内核态的 北京t 业大学t 学硕j 学位论文 过滤驱动技术直接加载在文件系统驱动之上,拦截发送给文件系统的i r p 操作, 虽然其实施难度相对较大,但具有可移植性好、对用户透明性高及效率高等优点, 而且可以拦截到网络上对终端主机的文件系统的操作,因此能对文件系统实行高 效的控制,己成为现阶段文件安全领域研究的热点。 基于w i n d o w sn t 家族内核驱动模式【1 0 】【1 1 】【1 2 1 的特点,实现的过滤驱动技术, 要求全面掌握系统驱动的理论模型及工作原理,在此基础上才能实现过滤驱动的 功能。国外计算机领域对w i n d o w sn t 内核驱动模式的研究早已开始,对其工作 原理也已经进行了很深入的研究。在此基础上,一些软件开发人员研究出过滤驱 动的工具软件,如f i l e m o n i t o r 和d d k 提供的i f s d d k 等,借助这些工具我们可 以通过用户态的一些接口直接与内核驱动部分进行数据交换。文件过滤驱动技术 主要应用于信息安全领域的文件访问控制、实时监控及动态加解密等中。 相对于国外对过滤驱动技术的研究而言,国内的研究水平相对滞后。目前, 国内通常采用的文件系统监控的技术主要是钩挂w i n d o w s a p i 的方法,通过在用 户模式挂钩c r e a t e f i l e 、o p e n f i l e 、r e a d f i l e 、w r i t e f i l e 等a p i 函数来监控文件系 统。但这种技术本身有一些缺点。以挂钩w i n d o w s a p i 常用两种方法为例,第一 种是修改i a t ,这种方法的缺点是,如果象s h e l l c o d e 中常用的那种根据d l l 输 出表来计算函数地址的方法,修改i a t 就无法挂钩到目标函数了;第二种是修改 目标函数的前几字节,跳转到自定义的函数,自定义的函数里面再把那几个字节 还原,调用原函数,这种方法的缺点是多线程环境下不健壮。 近年来,在我国国内对基于内核的过滤驱动技术的研究主要是在华中科技大 学和电子科技大学进行,并在计算机应用等刊物上发表了一些论文,其主要功能 是对文件系统进行实时的监控,但其监控时所采用的规则匹配方法比较模糊,没 有什么具体的规则模型。另外,在其它一些院校也有采用文件过滤驱动技术对文 件进行动态加解密方面的研究。 1 4 课题研究内容 本文将深入n t 内核,剖析过滤驱动程序在w i n d o w s 体系中的运行原理,采 用过滤驱动技术,配合规则匹配模型,设计一个基于局域网环境的文件监控系统, 并将其实现为一个监控工具。利用该工具对系统进行监控,给出监控结果,并分 析加载本系统后的文件系统效率。主要研究内容如下: 一、深入研究了近年来杀毒软件或防火墙软件使用的过滤驱动技术。深入研 究过滤驱动技术的工作机理,掌握其工作过程,理解驱动程序的工作原理,了解 i r p 的数据结构及工作原理,了解驱动程序对象和设备对象的数据结构及工作原 理,为设计和实现文件监控系统打下良好的基础。 二、建立了一个抽象的规则匹配模型。通过分析与i r p 相关的三个因素,进 第1 章绪论 曼皇曼量曼曼曼曼曼曼量曼曼皇曼曼曼曼曼曼曼曼曼曼曼曼曼曼舅曼曼曼曼曹曼曼量曼曼曼曼曼曼! ! ! ! 曼曼曼曼曼曼曼曼曼皇曼曼曼曼i m , i 皇 程因素、操作对象因素、操作类型因素,实现对i r p 的规则匹配,并根据其匹配 的结果,按不同的路径路由1 r p 。 三、分析和设计了一个文件监控系统模型,该模型实现了对文件操作的监控 功能,依据规则匹配模型对文件操作进行管理,合法操作放行并记录日志信息, 非法操作丢弃并记录非法操作的相关信息。在网络上部署该模型的工作环境,完 成实现后的监控工具的运行和测试。 1 5 本文的组织结构 本文以文件过滤驱动技术为研究对象,在深入学习和研究了国内外相关的过 滤驱动技术方法的文档和参考软件的基础上,提出了一种采用过滤驱动技术的局 域网内部主机文件监控系统。它在现有技术的基础上,通过采用新的规则匹配模 型,对截获的i r p 进行分类路由,从而确保文件系统的安全操作。本文分为以下 几个部分。 第一章绪论。简要阐述了文件监控及相关监控技术的背景、现状、本质, 具体分析了课题的研究内容。 第二章内核及过滤驱动技术。本章详细地介绍了用户模式与内核模式的区 别、w i n d o w s 内核的各组件,其中主要介绍与过滤驱动相关的i o 管理器的工作 特点。同时,本章节又重点介绍了过滤驱动技术及i r p 结构、派遣机制,为使用 过滤驱动技术做铺垫。本章内容是对w i n d o w s 内核进行操作的基础,只有了解 并掌握了相关的工作机制,才能更安全地操作系统驱动部分,而本文所采用的过 滤技术,正是在系统的内核对驱动程序进行操作,因此说,本章节的内容是整个 论文的理论基础部分。 第三章局域网文件监控系统整体设计。本章是整个论文的重点部分。详细 叙述了文件监控系统的网络架构的设计、主功能模块一文件监控模块的设计及 规则匹配模型的设计。对系统的操作功能作了简单的介绍,同时介绍了系统为实 现自我安全而设计的自我保护功能,对系统整体结构设计是保证系统正确实现的 前提。 第四章文件监控系统的实现。本部分主要介绍局域网主机文件监控系统的 主模块文件监控模块的实现,并介绍了规则匹配模块的实现过程。同时,对 系统主函数、文件哈希表的实现也作了简单的介绍。在各个部分的组合机制部分, 对如何能使整个系统完整、协调地工作,作了介绍。 第五章系统测试及技术分析。本部分对文件监控系统进行部署,并分析执 行结果。同时,也对大家所关心的问题,即加载监控系统后的系统效率问题,进 行测试,分析实验结果,得出相应结论。最后对本系统的技术优势作了分析和总 结。 北京工业大学t 学硕十学位论文 最后一章结论。总结本文的主要研究内容和工作成果,并对下一步的研究 进行了展望。 第2 章内核过滤驱动基础知识 第2 章内核过滤驱动基础知识 w i n d o w sn t 1 3 】【1 4 】【1 5 1 是基于o s 2n t 基础、采用先进的n t 核心技术实现的 操作系统。它的发展经历了多个不同版本的变迁,现在用户所使用的w i n d o w s 2 0 0 0 x p 、v i s t a 等操作系统都是基于n t 核心技术发展起来的w i n d o w s 新版本。 它们都是在n t 核心技术的基础上,开发了一些新的功能,其工作原理基本相似。 在本文的研究过程中,凡是涉及到内核的部分,作者所指w i n d o w sn t 与w i n d o w s 2 0 0 0 x p 可以通用。 用于监控w i n d o w s 文件系统的过滤驱动技术,工作于w i n d o w sn t 内核模 式,这就要求我们对内核的工作原理及工作方式有进一步的了解。本章详细介绍 w i n d o w s 内核模式及w i n d o w sn t 驱动结构模型、过滤驱动的工作原理等内容。 本章内容是开发内核模式驱动必备的理论基础。 2 1n t 内核模式简介 w i n d o w s2 0 0 0 x p 在总体上分为两个模式【16 】【1 7 】:用户模式和内核模式。 在多任务环境中,有许多的事情不允许应用程序去做,主要是为了避免用户 应用程序访问和修改重要的操作系统数据。w i n d o w s 采用两种处理器访问模式: 用户模式( u s e rm o d e ) 和内核模式( k e r n e lm o d e ) 。用户应用程序在用户模式 下运行,而操作系统代码( 如系统服务和设备驱动程序) 则在内核模式中运行。 内核模式是指处理器的执行方式,而该处理器授予使用者所有的系统内存和所有 的c p u 指令访问权限。通过为操作系统软件提供高于应用程序软件的特权级别, 处理器为操作系统设计人员提供了必要的基础,以确保错误应用不会破坏整个系 统的稳定性。 从i n t e l8 0 3 8 6 开始,出于安全性和稳定性的考虑,该系列的c p u 可以运行 于从r i n 9 0 ( 0 级环) 至m 邸( 3 级环) 的由高到低四个不同的权限级,对数据 也提供相应的四个保护级别。运行于较低级别的代码不能随意调用高级别的代码 和访问较高级别的数据,只有r i n 9 0 层的代码才可以对物理硬件直接进行访问。 ( 1 ) 用户模式:在这个模式中,硬件防止特权指令的执行,并对内存和i o 空间的访问操作进行检查。这就允许w i n d o w s n t 限制任务对各种i o 操作的访 问,并捕捉违反系统完整性的任何行为。在用户模式中,运行的代码如果不通过 操作系统中的某种门机制,就不能进入内核模式。在8 0 x 8 6 处理器上,这个模式 对应于m 9 3 层,操作系统的用户接口部分以及所有的用户应用程序都运行在该 级别。 在用户模式下,操作系统使用受保护的子系统,每一个子系统存在于自己的 北京1 = 业大学t 学硕十学位论文 受保护进程空间中,虚拟内存管理器向其提供内存保护。这样,系统支持的进程、 服务进程、用户应用程序和环境子系统都有它们各自的专用地址空间。子系统向 用户模式进程提供定义好的应用编程接口( a p d ) ,用户模式进程可以用a p i 获 得想要的服务。另一方面子系统可以利用定义好的系统服务调用,与操作系统的 内核模式部分进行通信。 对用户程序来说,为自己提供执行环境的子系统就是操作系统的个性特征。 用户模式进程可以在操作系统提供的安全子系统上正常的运行,而不用担心容 量、编程接口及操作系统内核要求等问题。 ( 2 ) 内核模式:当运行于操作系统的内核模式时,一切程序都可以运行。任 务可以执行特权级指令,对任何i o 设备都有全部的访问权,还能够访问任何虚 地址和控制虚拟内存硬件。这种模式对应8 0 x 8 6 的血四层,操作系统的核心部 分,包括设备驱动程序都运行在该模式。 内核模式与用户模式执行代码的区别,在于c p u 执行代码时的硬件优先级。 大多数c p u 体系提供至少2 种硬件优先级,很多还提供更多种的优先级。c p u 的硬件优先级决定了代码可执行的指令级。例如,当执行在用户模式,进程将不 能直接修改或者访问c p u 寄存器和用于虚拟内存管理的页表。如果允许所有用 户进程访问内核的东西,会很快导致混乱,破坏那些由c p u 完成的重要任务。 w i n d o w sn t 使用一种简单的硬件优先级模型,只有两种优先级:内核模式 ( 允许代码在处理器上做任何需要的事) 、用户模式( 进程被严格限制在允许的范 围内) 。对应i n t e lx 8 6 体系结构集,内核模式相当于处理器在r i n g0 优先级执行, 用户模式对应r i n g3 优先级。 下图2 - 1 显示了i n t e lx 8 6 的环处理器和用户模式的程序、内核模式的程序是 在什么地方执行的,形象地表示了环与用户模式及内核模式的关系。 图2 - 1i n t e l 处理器中的环 f i g u r e 2 - 1t h er i n g si ni n t e lp r o c e s s o r 作为第三方开发者,通常不能在c p u 处于内核模式优先级的情况下执行 w i n d o w s 程序,除非第三方开发者正在设计和开发w i n d o w s 内核模式驱动程序。 第2 章内核过滤驱动基础知识 量曼曼曼曼曼曼曼曼舅舅曼鼍曼量皇曼量曼皇曼鼍曼鲁曼量- - - - - - = -7 = = - - 7 :zz _ 皇曼皇皇皇曼曼皇曼量曼曼皇曼量曼! 曼曼曼曼曼曼皇曼舅 2 2w i n d o w s 内核组件与i o 管理器 2 2 1 内核组件 内核组件由以下四部分组成: ( 1 ) 执行体( e x e c u t i v e ) :w i n d o w s2 0 0 0 执行体在n t 内核n t o s k m l e x e 的 上层,内核及驱动程序位于它的下一层。执行体使用内核和h a l 提供的服务, 因此它是高度独立于各种结构体系及硬件平台的。它向各种子系统提供了丰富的 系统服务集,并允许它们访问操作系统提供的服务。w i n d o w s 执行体部分的主要 组件包括对象管理器、虚拟内存管理器、进程管理器、i o 管理器、安全参考监 视器( t h es e c u r i t yr e f e r e n c em o n i t o r ) 、特征管理器( t h ec o n f i g u r a t i o nm a n a g e r ) 、 缓存管理器( t h ec a c h em a n a g e r ) 。文件系统、设备驱动和属于i o 子系统( 由 i o 管理器管理) 一部分的中间驱动,也是w i n d o w s 执行体的一部分。 ( 2 ) 内核( k e r n e l ) :内核位于执行体和h a l 层之间,它几乎执行了传统微 内核( m i c r ok e r n e l ) 的所有工作。可以把内核想象成负责提供构建块( b u i l d i n g b l o c k s ) 的模块,这种构建块随后被w i n d o w s 执行部分使用,这样w i n d o w s 执 行部分就可以提供操作系统所有的强大功能。 内核是n t o s k m l e x e 的下层,它实现最基本的操作系统功能,管理线程调度、 进程切换、异常和中断处理以及多处理器同步。中断处理、异常调度和多处理器 同步功能是随处理器体系结构的不同而异的。内核的一个重要功能就是把执行体 和处理器体系结构的差异隔离开,为执行体提供一组在整个体系结构上可移植 的、语义完全相同的接口。内核是常驻内存的,永远不会被页面调度程序调出内 存。 ( 3 ) 设备驱动程序:w i n d o w sn t 使用驱动程序与硬件设备进行通信。每个 驱动程序都被事先定义好与哪种例程进行交互,所有设备的用户态代码部分都被 i o 管理器看作一个文件对象,虽然对i o 管理器本身来说它是一个设备对象。 所以,驱动程序既可以被称作文件对象、设备对象,也可以被称作驱动对象。 从w d m ( w i n d o w sd r i v e rm o d e l ) 的角度看,有三种类型的设备驱动程序: 总线驱动程序( b u sd r i v e r ) :在每个总线插槽上提供一个硬件的总线接口, 并建立一个或多个物理设备对象,维护总线控制器、适配器、桥或任何有子设备 的设备。总线驱动程序是必要的驱动程序,般由微软提供;系统上每一类型的 总线( 如p c i 、p c m c i a 、u s b ) 都有一个总线驱动程序。第三方也可以写总线 驱动程序以支持新的总线。 功能驱动程序( f u n c t i o nd r i v e r ) :为每个单独的设备提供读、写或其他功能 逻辑。功能驱动程序是主要的设备驱动程序,它为其设备提供操作接口,它也是 必要的驱动程序。功能驱动程序在定义上是指,知道特定设备最多的驱动程序, 北京t 业人学工学硕士学位论文 它通常是能访问特定设备寄存器的唯一驱动程序。 过滤驱动程序( f i l t e rd r i v e r ) :在把i o 请求递交给更低级的驱动程序之前 对其进行处理,用来对设备( 或已存在的驱动程序) 添加函数功能,或修改其他 驱动程序的i o 请求和响应。过滤驱动程序是可选的、以任意数量存在的,存放 在功能驱动程序上面或下面,在总线驱动程序的上面。通常情况下,系统原始设 备制造商( o e m ) 或独立硬件商( m v ) 提供过滤驱动程序。 ( 4 ) 硬件抽象层( h a r d w a r ea b s t r a c t i o nl a y e r ) w i n d o w sn t 的硬件抽象层 ( h a l ) ,是位于主机的物理硬件设备与操作系统的其它部分之间的一个抽象层。 它被设计成是跨硬件平台的,同时还支持多种外部总线标准。它是为隐藏不同硬 件设备的区别而设计的。因此,它提供了一个内核运行的统一平台。 h a l 是一组相对瘦小的软件层接口,它直接面对c p u 和其他系统硬件,负 责向操作系统其他部分提供适当的功能。由h a l 描述的硬件,对操作系统其他 内核部分来说是一个理想化的硬件。所有硬件结构的差异都被h a l 隐藏在内部。 操作系统内核组件及添加到操作系统的设备驱动,可以调用h a l 提供的函数集。 h a l 提供的函数允许访问系统计时器、i o 总线、d m a 和中断控制器、设备寄 存器等。 2 2 2i 0 管理器 执行体( w i n d o w se x e c u t i v e ) 可清晰地被分为几个模块或子系统,每个模块 负责一些首要的功能。通常所说的w i n d o w s 内核模式代码,其实就是说执行体 的模块。执行体为子系统访问它的服务提供了丰富的系统服务调用( a p i ) 。另外, 执行体也为那些希望扩展现有功能的开发者提供了广泛的支持。这些开发通常是 第三方设备驱动,可安装文件系统驱动及提供附加服务的中间和过滤驱动。 本小节将主要对与过滤驱动相关的i o 管理器进行重点介绍,它是产生文件 系统操作i r p 的主要部件,其它组件不再叙述。 i o 管理器定义和管理一个所有内核模式驱动( 包括文件系引1 8 】【1 9 】,网络, 磁盘,中间和过滤驱动) 都能存在的框架。i o 管理器的工作特点包括包驱动、 对象模型、分层的驱动、异步的y o 、抢先和中断、支持多处理器、模块化、可 配置的等,在此只对与过滤驱动相关的特点作以介绍。 ( 1 ) 包驱动:i o 子系统所有的输入输出请求都是以数据包的形式发出的, 称作i o 请求应答包( i i 冲) 。通常是由i o 管理器应用户请求建立i r p ,并把它 发向目标内核驱动。另外,任何内核模式组件都能创建i r p ( 使用i o a l l o e a t e l r p 函数) ,并把它发向另一个内核模式驱动( 使用i o c a l l d r i v e r 函数) 。每一个发向 内核模式驱动的i r p 都代表一个对该驱动未决的i 0 请求,直到接受这个i r p 请 求的驱动程序调用i o c o m p l e t e r e q u e s t 服务例程,这个i r p 请求才算结束。调用 第2 审内核过滤驱动幂础知识 i o c o m p l e t e r e q u e s t 表示i o 操作结束,i o 管理器会自动触发任何等待该i o 请 求完成才执行的程序。一个i r p 只能被完成一次,就是说对系统上任意一个未决 的i r p ,只有一个内核模式驱动可以调用i o c o m p l e t e r e q u e s t 。尽管w i n d o w s 是 包驱动的,但是f a s ti o 是个例外,它是由i o 管理器、缓存管理器及各种文件 系统合作来完成的。i o 操作中的f a s ti o 方法只适应于文件系统驱动。该方法 使用对文件系统驱动的直接函数调用,缓存管理器代替使用通常的i r p 方法。 ( 2 ) 分层的驱动:i o 管理器支持分层的内核模式驱动。每个在这个分层系 统里的驱动都接受i r p ,处理完后调用下一层的驱动。底层驱动是最接近实际硬 件的设备,只有最底层的驱动才是直接和硬件设备打交道的程序。 ( 3 ) 模块化:i o 子系统是模块化的。i o 子系统里的任何驱动都能很容易 的被其它提供相同例程入口的驱动代替。理论上,i o 管理器也可以被替换,只 是过于复杂。 ( 4 ) 可配置的:所有i o 子系统都是可配置的。在系统启动时i o 管理器和 h a l 一起工作,来决定连接到系统上的外围设备集。随后,i o 管理器初始化适 当的数据结构来维护这些设备,这个过程避免使用任何固定代码来配置设备。维 护设备使用内核模式驱动,每个驱动可动态安装和卸载。i o 管理器根据w i n d o w s 注册表里的表项来决定安装哪些驱动,以及它们的安装顺序。 2 3n t 内核过滤驱动技术 2 3 1 过滤驱动技术工作原理 驱动程序【2 0 】【2 1 】可分为总线驱动、功能驱动及过滤驱动三种类型,这是对驱 动程序在物理和逻辑上进行的详细划分。w i n d o w sn t 系统内核采用堆栈式可扩 展驱动模型1 0 】【l l 】,其逻辑结构如图2 2 所示: 北京t 业大学t 学硕 :学位论文 一一一一一一一一一一一一一一一一一用尸擐蔓 f i n d o v s 耵内核执行体组件 工,嘈理子系统服务 i f _ 。v i 。f 铲一1 掣 ! ; l 一堂! ! 蝗i进程首理器l 1 日 l 文件系统驱动层r l 内存管理器l o o p o - _ 一 一一j ;,_ _ o _ 。一 黪 。 l l ti ,0 管理器 t 中间3 e 动层n ,; 壁堡曼窭墨l i ” - o - 一i 对象首理器i ;: 掣等,? 。? ,z ? 芸! - 奎世n 曰盈:l b :- 缓l 翼擎蜷! = 羽 本地i p c 服务f 【 一 内核梗式 霪互:譬兰:竺z 囊! ;! ! 弛塞匿三:三:三:= 涵 一竺竺一 1 图2 2 n t 分层驱动模型 f i g u r e2 - 2s t a c k a b l ye x t e n s i b l et e m p l a t el a y e rf o rn t n t 系统内核包含一些具有独立功能的驱动组件,如文件系统、中间介质及 设备驱动等,它们与i o 管理器协调为一个整体,i o 管理器为所有的内核驱动 提供统一的接口。所有来自用户态的、对内核驱动的各种操作,都由i o 管理器 以i r p 的形式向内核态下层驱动传送。i o 管理器拦截用户请求,发送一个或多 个i r _ p :并把它们路由至相应的驱动层及物理驱动设备。w i n d o w sn t 驱动体系 结构采用单一入口点例程( d r i v e r e n t r y ) ,所有i o 操作的参数都是通过这个进 入点例程传递给下层的各个驱动。在传递给下层驱动时,采用不同的分派例程来 完成。如读、写等操作是通过读例程( d i s p a t c h r e a d ) 和写例程( d i s p a t c h w r i t e ) 分别完成的。本小节的第二部分将详细介绍相应例程。 w i n d o w sn t 系统的应用层与硬件之间存在多个驱动层,在这个层驱动模式 中,所有的驱动都以栈的形式组织起来。栈中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 轮胎轮辋匹配性能评价
- 混凝土模具工协作考核试卷及答案
- 售后效率改进分析报告
- 音像市场细分策略优化路径分析报告
- 打击乐器制作工质量管控考核试卷及答案
- 碳酸锂转化工技术考核试卷及答案
- 煤直接液化操作工内部技能考核试卷及答案
- 氯乙烯装置操作工专业技能考核试卷及答案
- 液体二氧化碳生产工技能比武考核试卷及答案
- 栓剂工三级安全教育(车间级)考核试卷及答案
- (标准)舞蹈班转让合同协议书
- 2025年学宪法、讲宪法知识竞赛题库及答案
- T/CTRA 01-2020废轮胎/橡胶再生油
- 2025年网信知识测试题及答案
- 高中英语新课标3000词汇表(新高考)
- 【MOOC】《中国马克思主义与当代》(北京科技大学)中国大学MOOC慕课答案
- 研究生新生入学教育
- 成型周期公式及计算
- 第11章分析化学中的分离与富集方法
- 管桩垂直度检测报告
- FMEA培训资料(PPT 57页)
评论
0/150
提交评论