(系统分析与集成专业论文)网络诱骗系统自防护技术研究.pdf_第1页
(系统分析与集成专业论文)网络诱骗系统自防护技术研究.pdf_第2页
(系统分析与集成专业论文)网络诱骗系统自防护技术研究.pdf_第3页
(系统分析与集成专业论文)网络诱骗系统自防护技术研究.pdf_第4页
(系统分析与集成专业论文)网络诱骗系统自防护技术研究.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(系统分析与集成专业论文)网络诱骗系统自防护技术研究.pdf.pdf 免费下载

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

文档简介

原刨性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进 行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何 其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出重要贡 献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人 承担。 论文作者签名:垒筵e t 期:塑2 垒丝 关于学位论文使用授权的声明 本人同意学校保留或向国家有关部门或机构送交论文的印刷件和电子 版,允许论文被查阅和借阅;本人授权山东大学可以将本学位论文的全部 或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手 段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 一:址如期;“p 山东大学硕士学位论文 中文摘要 网络诱骗系统( h o n e y p o t ) 是指主动引入或被动吸引黑客、不法者的入侵,并 对其入侵行为具有可控能力的网络安全系统。正因为网络诱骗系统的特殊作用, 使得其自身的安全性显得尤为重要,它直接决定该系统的可靠性、功能完 整性。 本文对网络诱骗系统的自防护技术进行了研究,完成了以下工作: 一、介绍了国内外研究网络诱骗系统的发展情况,说明了网络诱骗系统的设 计目标,阐明了研究网络诱骗系统自防护技术的意义,并对本文中例举的基于 w i n d o w s 操作系统的网络诱骗系统的开发环境及关键技术如w i n d o w s 系 统内核模型进行了概述。 二、研究了信息技术安全性评估通用准则( c c 标准) ,并以此对系统的脆弱 点进行了分析并制定了防护方案,通过设计并实现一个安全的体系结构 来提高整个系统的安全性、可靠性。 三、阐述了w i n d o w s 操作系统系统调用的原理,根据作者的项目实践,提出 了基于系统调用的网络诱骗系统自防护方案,即:通过隐藏网络诱骗系 统的各项工作状态,实现自我保护的目的。针对文件系统安全和进程 安全两个关键点给出了具体实现代码。 四、分别对上述的解决方案实例进行兼容性、稳定性和功能测试 并给出测试结论。 五、简述了网络诱骗系统其它脆弱点,如通讯安全,并提出安全防护策略。 本课题试图遵循多层次、多渠道冗余、立体防护的原则,设计并实现网络威 胁监测与分析系统的自身防护体系。 关键字:陷阱网络,自防护,c c 标准 3 山东大学硕士学位论文 a b s t r a c t n e t w o r kt r a ps y s t e m ( h o n e y p o t ) i sak i n do fn e t w o r ks e c u r i t ys y s t e mt h a t a c t i v e l yo rp a s s i v e l ya t t r a c t sh a c k e r so ri l l e g a li n v a s i o n ,a n d i th a st h ea b i l i t yt o c o n t r o lt h ei n v a s i o nb e h a v i o r i ti sp r e c i s e l yb e c a u s eo ft h en e t w o r kt r a ps y s t e m s p e c i a lr o l et h a ti t so w ns e c u r i t yi sp a r t i c u l a r l yi m p o r t a n t ,i td i r e c t l yd e t e r m i n e st h e s y s t e m sr e l i a b i l i t ya n df u n c t i o n a li n t e g r i t y i i n t r o d u c e dt h ed o m e s t i ca n df o r e i g nd e v e l o p m e n ts i t u a t i o no fr e s e a r c ho n n e t w o r kt r a ps y s t e m ,e x p l a i n e dt h ed e s i g ng o a lo fn e t w o r kt r a ps y s t e m ,e x p o u n d e dt h e s i g n i f i c a n c et or e s e a r c hn e t w o r kt r a ps y s t e ms e l f - p r o t e c t i o nt e c h n o l o g y , a n do u t l i n e d t h ed e v e l o p m e n te n v i r o n m e n ta n dk e yt e c h n o l o g i e s ( s u c ha sw i n d o w sk e r n e lm o d e l l o f n e t w o r kt r a ps y s t e mb a s e do nw i n d o w so p e r a t i n gs y s t e m i i s t u d i e dt h ei n f o r m a t i o nt e c h n o l o g ys e c u r i t ye v a l u a t i o nc o m m o nc r i t e r i a ( c c ) a n da n a l y s e dt h es y s t e mv u l n e r a b l ep o i n to ft h es y s t e mb a s e do ni t ,a n dt h e n d e v e l o p e dt h ep r o t e c t i v ep r o j e c t ,t h r o u g ht h ed e s i g na n dr e a l i z a t i o no fas e c u r i t y s t r u c t u r et oi m p r o v et h es e c u r i t yo f t h ee n t i r es y s t e m ,r e l i a b i l i t y i i i e x p o u n d e ds y s t e mt r a s f e rp r i n c i p l e so ft h ew i n d o w so p e r a t i n gs y s t e m , a c c o r d i n g t ot h ea u t h o r sp r o j e c tp r a c t i c e ,p u tf o r w a r ds e l f - p r o t e c t i o np r o j e c tb a s e do n t h en e t w o r kt r a ps y s t e m ,n a m e l y :t or e a l i z et h ep u r p o s ea b o u ts e l f - p r o t e c t i o n t h r o u g ht h eh i d d e nn e t w o r kt r a p so f t h es y s t e mo nw o r k i n g i ts h o w e dt h ec o d ec a nb e a c h i e v e do nt h et w ok e yp o i n t s ( t h ef i l es y s t e ms e c u r i t ya n dt h ep r o c e s ss e c u r i t y ) i v t e s t e dc o m p a t i b i l i t y , s t a b i l i t ya n df u n c t i o n a lo ft h es o l u t i o n sf r o mt h e a b o v ee x a m p l e sr e s p e c t i v e l y a n dt h e ns h o w e dt h er e s u l t v d e s e r i p t e dt h eo t h e r v u l n e r a b l ep o i n t so f t h en e t w o r kt r a ps y s t e mb r i e f l y ( s u c ha s c o m m u n i c a t i o n ss e c u r i t y ) ,a n dp u tf o r w a r ds a f ep r o t e c t i o ns t r a t e g y t h i ss u b j e c tt d e dt of o l l o wm u l t i l e v e l ,m u l t i - c h a n n e lr e d u n d a n c y , t h e t h r e e - d i m e n s i o n a lp r o t e c t i o np r i n c i p l e s ,d e s i g n e da n da c h i e v e dt h es e l f - p r o t e c t i o n s y s t e mo f t h en e t w o r kd a n g e r o u sm o n i t o r i n ga n da n a l y s i ss y s t e m k e yw o r d st r a pn e t w o r k ;s e l f - p r o t e c t i o n ;c cs t a n d a r d s 4 山东大学硕士学位论文 1 绪论 1 1 研究背景及技术现状 1 1 1 研究背景 信息已成为一个国家的战略资源,信息安全已成为事关国家政 治、社会、经济安全的全局性问题,信息安全保障能力成为国家安全 和民族生存的关键。从国家层面看,存在两类最重要的信息基础设施: 国家信息基础设施、国防信息基础设施。前者是保障国家体系正常运 行的基本命脉,后者则是国防体系的基础和支柱,而二者的核心都是 计算机网络信息系统。 在军事领域,各国都把发展信息战能力作为国家安全战略和军事 战略的重点,特别是重点开展计算机网络攻防武器和手段研发。美国 从上世纪8 0 年代初就开始研究以网络攻防对抗为中心的信息战,并 将其作为继续保持军事优势的关键要素。俄罗斯将信息战列为仅次于 核战争的重要位置。国际上围绕信息的获取、使用和控制的斗争愈演 愈烈,网络攻防对抗成为亟待解决的影响国家大局和长远利益的重大 关键问题。 面对复杂而严峻的信息安全形势,我国提出了“坚持积极防御、 综合防范的方针,在全面提高信息安全防护能力的同时,重点保障基 础网络和重要系统的安全,最终建立信息安全保障体系”的总目标“:。 信息安全保障体系建设是要建立信息安全防护能力,该体系要具有隐 患发现能力、网络反应能力,特别是信息对抗能力。因此,从某种意 义上说,信息对抗能力将对实现上述总目标起到决定性作用。 当前,网络安全积极防御的需求愈加强烈。防火墙、加密等传统 的信息安全技术,多为被动防御性质。网络诱骗技术设想的提出改变 了网络安全被动防御的思路,它通过诱骗入侵者,将其引入事先设计 的虚假资源环境,并在该环境中对入侵者的行为进行记录和跟踪,达 到减少真实系统受攻击的风险和提前预警和积极防御的目的。攻击分 析则是对计算机网络入侵、破坏等行为进行识别、保存、分析和提交 山东大学硕士学位论文 数字证据,重建入侵事件并解释入侵。 1 1 2 国外相关的研究和技术现状 以美国为首的西方发达国家近年大力开展网络攻击诱骗和网络 威胁监测与分析系统方面的研究。美国政府与军方十分重视网络攻击 诱骗技术的研究,并把该技术的研究列入国防高技术发展计划。 据报道,美军已经研制成功了新型的“网络攻击诱骗系统”,该 系统由两套防御信息系统构成,主要用于检测追踪和确认潜在的网 络入侵者。 2 0 0 2 年8 月。美军对该新型“网络攻击诱骗”系统进行了试验。 美国空军信息战实验室与第l o o 通信中队的官兵以及第9 2 信息战攻 击中队的计算机专家,共同验证了制造虚拟网络( 虚假的计算机设备) 的军事价值”。虚拟网络可以用来当作陷阱,诱使敌人攻击并浏览其 中的虚假情报。这次试验的新型“网络攻击诱骗”系统从体系结构方 面增加了网络安全的可靠性,它是美国空军在网络战中防御内外入侵 者的新型武器系统。该系统可在网络管理员不知晓网络入侵的情况 下,自己建立虚假网络,以此来通知系统管理员入侵者的行踪。在经 过6 个月评估期以后,美国空军可能会在全空军范围内安装这种“网 络攻击诱骗”系统。在网络战时代,这套系统将赋予美国空军新的信 息与资料防御能力,以有效地保护美空军的信息安全。依据网络攻击 诱骗技术原理,美国公司已经推出了一些比较成熟的h o n e y p o t 系统, 如b a c k o f f i c e rf r i e n d l y 、s p e c t e r 、m a n t r a p 等。 从技术层面来讲,国外发展分为四个阶段町一m : 1 1 9 9 9 年2 0 0 1 年:简易的诱骗系统,验证网络威胁普遍、广 泛的存在: 2 2 0 0 2 年2 0 0 3 年:针对经验丰富的入侵者,增强诱骗能力; 3 2 0 0 4 年至今:研发诱骗网络威胁监测与分析系统技术网关, 将替用户完成信息捕获和信息控制的工作 4 第四阶段:实现控制系统( 分布收集分析资料,诱骗与网络 威胁监测与分析系统相结合) 6 山东大掌硕士学位论文 美国政府与军方国防高技术发展计划,近期已将“网络诱骗系统” 与“网络威胁监测与分析系统系统”相融合作为重要的研究方向。“网 络威胁监测与分析系统”在理论研究和系统实现上具有创新性和先进 性。 1 2 网络诱骗系统概述 1 2 1 网络诱骗系统设计目标 网络诱骗系统的设计目标在于: 1 分散攻击者的注意力,延缓攻击,保护真实网络; 一个典型的网络攻击通常采取以下步骤:入侵者首先通过漏洞 扫描分析工具对网络进行探测,以发现可供利用的安全漏洞? 然后通 过安全漏洞进入到网络薄弱的环节:最后是伺机打入网络的最机密 部分。 一个典型的企业网是由外部网络、d m z 和内部网络组成,其安全 性是由外到内逐步提高的。入侵者对企业网的入侵行为也是由外到内 逐步进行,并在时间上有先后,在目标上有变化。 将网络诱骗系统以独立予网的形式安装在内部网络中,使它能被 侵入d m z 的入侵者轻易的“发现”。从入侵者的角度,该系统提供的 服务远多于真正的主机,实施“入侵”的难度最小。入侵者一旦以本 系统作为目标,那么他的一切行为都将被监控,同时也使网络管理员 有了足够的反应时间来应对入侵者,达到保护用户敏感信息的目的。 该系统与其他安全系统配合从体系结构方面增加了整个网络的安全 性、可靠性。 2 评估网络服务的风险; 。 大多数情况下,入侵者都要首先确定主机上运行的服务,然后针 对其中某一种服务开始攻击,再逐步获得更高的权限直至完全控制主 机。 在公共网络上提供某种服务前,用户可以先将这种服务安装到网 络诱骗系统的诱骗丰机上,并将本系统安放在公共网络上。经过一段 肘间的运行,就可以从收集的数据中分析出该服务潜在的危险及可能 7 山东大学硕士学位论文 对其发起的攻击。用户再针对服务面l 涵的威胁采取相应措施,提高其 安全性。 3 作为测试和评估i d s 产品的手段: 首先从理论上讲,i d s 可以主动地检测到对系统或网络的入侵, 并对这些入侵进行记录和响应,这是防火墙、身份识别和认证、加密 解密等其他许多安全策略所不能做到的。 无论是i d s 的开发商或用户都需要对产品的功能和性能有比较 准确和客观的认识。以往,在实验室中难于模拟真实网络环境中存在 的各种复杂的情况,而且对于日新月异的攻击技术也不容易在实验室 中及时实现。 但如果把i d s 安装到网络诱骗系统的诱骗主机上( 对于基于网络 的i d s 可以把它和网络诱骗系统安装在一个网段中) ,然后把网络诱 骗系统安装在真实的网络环境中,就可以取得真实的测试数据。通过 与网络诱骗系统获取的数据比较,来验证t d s 的检测准确率,误警和 漏警等数据。 4 对攻击进行记录学习; 网络诱骗系统同时也是一个很有价值的研究、学习网络攻击方法 的工具,借着这个工具就能较快了解到入侵者新的攻击方式及思路, 以便未来能侦测到这类入侵。从本系统所收集来的资料经过分析可以 用来监视攻击的趋势,这些资料也可被用作对入侵者攻击手法的学 习。学习入侵者如何侦测和企图获得系统的存取权限,当入侵者的行 为被记录下来之后,便可以借此进行分析,来发现问题所在,从而迸 一步保护真实的系统。 1 2 2 研究网络诱骗系统安全性技术的意义 由网络诱骗系统的设计初衷决定,该系统必定会遭受大量的恶意 攻击。与其他信息安全系统相比,网络诱骗系统除了要考虑作为一般 信息系统的安全性问题外,更需要考虑在攻防对抗环境下的牛存问 题。在攻防对抗条件下,网络诱骗系统中各处脆弱点的安全问题更为 清晰的暴露出来。 安全防护技术中,传统的方法是对系统进行安全加固,通过各种 山东大学硕士学位论文 各样的安全技术提高系统本身的抗攻击性。这种方法虽然可以部分地 解决系统的安全问题,仙其缺点也很突出。俗话说,扬汤止沸,何如 釜底抽薪。假如没有安全、可靠的体系结构作为保障,即使拥有再先 进的安全性技术亦无法从根本上确保整个系统的安全。 因此,网络诱骗系统安全防护首要的需求就是建立一个安全、可 靠的体系结构,其次才是利用安全性技术保护系统中的脆弱点,二者 相辅相成、缺一不可。 1 3 网络诱骗系统开发环境及关键技术概述 1 3 1 - i n d o w s2 0 0 0 系统体系结构 微软w i n d o w s2 0 0 0 是一个主要面向网络服务器的操作系统,因此它和以前大 家比较熟悉的w i n d o w s9 x 有很大的区别。但是对于讨论一个因商业策略而出现的 个人桌面操作系统的确没有太大的价值。所以我们将主要介绍一些关于n t 系统内 部结构的细节。w i n d o w s2 0 0 0 在实现其自身目标的过程中,我们有必要讲解一些 它的特性。 1 可扩展性( e x t e n s i b i l i t y ) w i n d o w s2 0 0 0 操作系统是一个面向未来的系统,所以它非常注重自身的扩展 性,因为在将来可能有许多市场等方面的原因导致我们必须添加或删除目前操作 系统的一些组件,这就必须要求操作系统有较强的可扩展性。为了满足扩充删 除的各种需求,w i n d o w s2 0 0 0 提供了一个重要的设计思想就是予系统 ( s u b s y s t e m ) 。我们可以将一些需要扩展的操作系统功能作为一个子系统添加到 w i n d o w s2 0 0 0 内,就像o s 2 ,p o s i x 等一样。当然还有一个特性就是,我们可以 通过为系统服务调用添加钩子来修改系统的各项行为,这就为我们提供了一个了 解系统内部并扩展系统功能的机会。 2 可靠性和健壮性( r e l i a b i l i t ya n dr o b u s t ) 一个系统存在的最摹本的要求就是它的稳定性,没有稳定的环境就做不出任 何满意的产品。为了满足这项要求,w i n d o w s2 0 0 0 提出了基于对象的访问控制权 限的措施。现代的大多数微处理器都支持两种模式:用户模式( u s e r n o r m a l ) _ 和 内核模式( k e r n e l p r i v i l e g e d ) 。操作系统组件和关键的系统组件处于内核模式, 而一般用户模式的程序只能访问私有地址空间和执行非特权等级的指令。如果用 9 山东大学硕士学位论文 户要调用一些内核组件的功能,就得通过系统服务调用来实现。 3 兼容性( c o m p a t i b i l i t y ) i n t e l 和m i c r o s o f t 能够做到今天的一个很重要的因素就是他们支持对过去 存在系统的兼容。这一点非常的关键,没有人愿意二天两头的更换系统,当然也 很少有人有这个经济实力。w i n d o w s2 0 0 0 为了实现对其他系统的兼容,如d o s , 1 6 位w i n d o w s 等,出现了环境了系统。而在w i n d o w s2 0 0 0 中必须存在的环境了系 统是w i n 3 2 ,它是其他予系统的基础,其他予系统都是一些表面的接口,而实际 上是调用了w i n 3 2 提供的接口,丽w i n 3 2 最终也是通过系统服务调用来与内核联系 的。虽然操作系统为各种环境予系统提供了不同的动态链接库,而且其中的a p i 函数名称往往也是不同的,不过这个函数的最终都是通过相同的系统服务调用进 入内核来实现的。 4 易维护性( m a i n t a i n a b i l i t y ) 作为一个大型的项目,w i n d o w s2 0 0 0 的维护也成为了一个大型的工程。而如 此巨大的项日没有很好的维护性是无法发展下去的。为此,w i n d o w s2 0 0 0 使用了 分层的思想,这也是一种操作系统体系结构模型。其中,系统服务调用将系统的 内核模式代码和用户模式代码隔离开来,子系统使用系统服务调用为用户提供应 用程序编程接口( a p i ) ,而系统服务调用向下调用执行体实现各项功能。 1 3 2 _ in d o w s 系统内核模型分析 , 1 3 2 1 系统组件 实际上,所有的w i n d o w sn t 组件其本身都是d l l 、p e 格式的e x e 文件、导 入导出函数。w i n d o w sn t 的主要组件有: 木n t o s k r n l e x e 系统核心。系统执行函数都集中于此,这些函数又会调用其它组件。核心组件有: 对象毹;理器、内存符理器、进线程创建、进线程控制、l p c 、安全篇;理、异常处 理、文件系统、输入输出、v d m 、和t 且一般都位于大于8 0 1 0 0 0 0 0 h 的地址上。 * h a l d l l 硬件抽象层( h a r d w a r ea b s t r a c t i o nl a y e r ) 一硬件相关的模块。该隔离 层将操作系统中硬件相关的部分隔离出来以增强系统的可移植性。丰要的模块实 现了非常底层的函数:程序控制中断、硬件输入输出等等。一般位于大于 o 山东大学硕士学位论文 8 0 1 0 0 0 0 0 h 的地址上。 * n t d l l d l l 实现某些w i n 3 2 a p i 函数。提供了核心模式与用户模式之问的接口。位于用 户空间。换句话说,系统函数调用丰要由这里导出。 * k e r n e l 3 2 d ll 实现了一些函数,类似于w i n 9 x 的核心。其中有很多的函数封装在n t d l l d l l 中。 * c s r s s e x e 进程服务器子系统。其是一个单独的进程,因此受到保护以免受其它进程( 位 于其它进程的地址空间中) 影响。对服务的请求要借助于l p c 产生。 * w i n 3 2 k s y s 驱动程序。用以减少调用c s r s s 服务开销损失。在此程序中实现了g d i 和 u s e r 函数。不用l p c 而用系统调用一这很明显提高了w i n d o w sn t 4 0 和2 k 的图 形处理性能。 1 3 2 2 i n d o w s2 0 0 0 操作系统的内存格局 在w i n d o w sn t 中高2 g 的3 2 位线性地址空间保存了供系统使用的程 序。这种格局,地址空间8 0 0 0 0 0 0 0 一f f f f f f f f 为系统组件:驱动程序、 系统表、系统数据结构等等。系统内存的精确格局是不可能得到的,但 是通过其功能用途和大致位置可以区分出各个区域。 * 8 0 0 0 0 0 0 0 9 f f f f f f f 系统代码。在这里驻留的是h a l 和n t o s k r n l 的代码和数据,还有驱 动程序( b o o t 驱动和加载n t o s l d r 的驱动) 。g d t 、i d t 和t s s 结构体同 样驻留在这些区域中。 * c 0 0 0 0 0 0 0 一c o f f f f f f 系统表的区域。这个线性地址空间区域保存着进程的页表,页目录 和其它与进程结构体有关的东西。这个区域不是全局性的,不像其它的 系统空间区域,而且对于于每一个进程来说会映射到不同的物理空间, 其保存着当前进程的数据结构。 t e 1 0 0 0 0 0 0 一e 5 7 f f f f f 分页池。这个区域可以换出到磁盘上。操作系统中的大多数对象都 山东大学硕士学位论文 在这个区域中产牛。实际上一些内存池位于这个区域中。 * f b 0 0 0 0 0 0 一f f d f e f f f 不可换出页的区域,即非分页区( n o np a g e dp o l l ) 。这个区域中的 数据永远不能换出到磁盘上。这个区域中的数据总是系统必需的数据。 例如,这里有进程与线程的信息块( t h r e a d e n v i r o n m e n tb l o c k p r o c e s s e n v i r o n m e n tb l o c k ) 。 $ f f d f f 0 0 0 一f f f f f f f f p c r p r o c e s s o rc o n t r o lr e g i o n ( 进程控制域) 用于每一个进程。 这个区域中保存着p c r 结构体。在此结构体中保存着系统状态的信息。 例如,关于i r q l 、当前线程、i d t 等的信息。低2 g 线性地址空间 ( 0 0 0 0 0 0 0 0 一o f f f f f f p f ) 为进程用户模式的地址空间( 每个进程自己的 空间) 。w i n 3 2 地址空间看上去一般是下面这个样子: 拳0 0 0 0 0 0 0 0 0 0 0 0 f f f f 保护区域。访问此区域会引发异常。被用于检测n u l l 指针。 * o o xx 0 0 0 0 通常,应用程序加载在这样的地址上。 7 0 0 0 0 0 0 0 7 8 0 0 0 0 0 0 w i n 3 2 了系统的库通常映射到这里。 * t f f b 0 0 0 0 7 f f d 3 f f f 代码页。 木7 f f d e 0 0 0 一7 f f d e f f f 用户模式的t h r e a de n v i r o n m e n tb l o c k 。 * t f f d f 0 0 0 7 f f d f f f f 用户模式的p r o c e s se n v i r o n m e n tb l o c k 。 * t f f e 0 0 0 0 7 f f e o f f f 共享数据区。 * t f f f f 0 0 0 7 f f f f f f f 保护区域。 1 3 2 3w i n d o w s 町与f l a t 模型 2 自i 2 8 6 开始,在i n t e l 的处理器里实现了四级保护机制,相应的就有四个 山东大学硕士学位论文 特权级。代码与数据能够拥有某级别的特权。这样,应用程序、系统程序、内核 等等都运行在自己的特权级上,而且不能随意访问比自己特权级高的代码和数 据。实际上没有一个基于i n t e l 处理器的操作系统能用到所有的四个特权级( 不 为人知的那些不算在内) 。w i n d o w sn t 操作系统也不例外,只用到了两个特权级 ( r i n g ) 。0 级( 最高特权级) 下运行内核,3 级( 最低特权级) 为用户级。i n t e l 处理器提供了强大的内存分段机制,其与特权级一起实现了直到段级的保护( 例 如,程序的每一个逻辑段都可以由一个描述符表来描述) 。但是w i n d o w sn t 实现 的是f l a t 模型。这就将选择子的使用降到了最低限度。处理器的全局描述符表 g d t ( g l o b a ld e s c r i p t o rt a b l e ) ,由w i n d o w sn t 操作系统管理,其包含以下描 述符( 由s o f t i c e a 得到) : s e l t y p eb a s el i m i td p la t t r i b u t e s g d t b a s e = 8 0 0 3 6 0 0 0l i m i t = 0 3 f f 0 0 0 8c o d e 3 20 0 0 0 0 0 0 0f f f f f f f f0pr e 0 0 1 0d a t a 3 20 0 0 0 0 0 0 0f f f f f f f f0p 肼 0 0 1 bc o d e 3 20 0 0 0 0 0 0 0f f f f f f f f3pr e 0 0 2 3d a t a 3 20 0 0 0 0 0 0 0f f f f f f f f3p 肼 0 0 2 8t s s 3 28 0 2 4 d 0 0 00 0 0 0 2 0 a b0pb 0 0 3 0d a t a 3 2f f d f f 0 0 00 0 0 0 1 f f f0pr w 0 0 3 bd a t a 3 27 f f d 9 0 0 00 0 0 0 0 f f f3pr w 0 0 4 3d a t a l 60 0 0 0 0 4 0 00 0 0 0 f f f f3pr w 0 0 4 8l d te 11 9 0 0 0 00 0 0 0 0 1 f f0p 0 0 5 0t s s 3 28 0 1 4 9 f 6 00 0 0 0 0 0 6 80p 0 0 5 8t s s 3 28 0 1 4 9 f c 80 0 0 0 0 0 6 80p 0 0 6 0d a t a l 60 0 0 2 2 9 4 00 0 0 0 f f f f0pr w 0 0 6 8d a t a l 60 0 0 8 8 0 0 00 0 0 0 3 f f f0pr w 0 0 7 0d a t a l 6f f f f 7 0 0 00 0 0 0 0 3 f f0pr w 0 0 7 8c o d e l 68 0 4 0 0 0 0 0 0 0 0 0 f f f f0pr e 0 0 8 0d a t a l 68 0 4 0 0 0 0 00 0 0 0 f f f f0p 跚 0 0 8 8d a t a l 60 0 0 0 0 0 0 00 0 0 0 0 0 0 00pr w 0 0 9 0r e s e r v e d0 0 0 0 0 0 0 00 0 0 0 0 0 0 00n p 1 3 山东大学硕士学位论文 o o e or e s e r v e d0 0 0 0 8 0 0 30 0 0 0 6 1 0 00n p o o e 8d a t a l 60 0 0 0 0 0 0 00 0 0 0 f f f f0pr w o o f oc o d e l 68 0 11 7 d b o0 0 0 0 0 2 8 d0pe o o o f 8d a t a l 60 0 0 0 0 0 0 00 0 0 0 f f f f0pr w 0 1 0 0r e s e r v e d0 0 0 0 8 0 0 30 0 0 0 6 1 0 80n p 0 3 f 8r e s e r v e d0 0 0 0 0 0 0 00 0 0 0 0 0 0 00n p 前四个选择子全都位于线性地址空间。而且前两个选择子的描述符特权级 d p l ( d e s c r i p t o rp r i v i l e g el e v e l ) 等于0 ,而后面两个的都是3 。选择子8 和1 0 由用户应用程序使用。在f l a t 模型下,应用程序本身并不关心段寄存器的 内容。在r i n 9 3 工作时,c s 、d s 、s s 寄存器总是分别为值8 、1 0 、l o 。这样,系 统代码就可以监视段寄存器的值。选择子l b 和2 3 用于内核( 驱动程序、系统代 码) 工作时的寻址。选择子3 0 和3 b 分别指向k e r n e lp r o c e s sr e g i o n 和t h r e a d i n f o r m a t i o nb l o c k 。当代码运行在r i n g o 时,f s 寄存器的值为3 0 ,如过运行在 r i n 9 3 ,则f s 的值为3 b 。选择子3 0 总是指向基址为f f d f f 0 0 0 的描述符。选择 子3 b 指示的基址则依赖于用户线程。选择子4 8 定义了局部描述符表l d t ( l o c a l d e s c r i p t o rt a b l e ) 。l d t 只在v i r t u a ld o sm a c h i n e ( v d m ) 应用程序下使用。 当运行该进程时,在处理器的l d t r 寄存器中加载着相应的指针,否则,l d t r 的 值为0 。l d t 主要用在w i n d o w s3 x 应用程序下。w i n d o w s3 x 应用程序运 行在w o w ( w i n d o w so nw i n d o w s ) 下,而w o w 则实现在v d m 进程里。v d m 进程的 l d t 使用上和w i n 3 x 里的一样。在g d t 表里总会有两个t s s 类型的选择子。这 是因为运行在i n t e l 处理器上的w i n d o w sn t 操作系统没有使用基于任务门的任 务切换机制。i d t 包含以下描述符( 由s o f t i c e a 得到) : i n tt y p es e l :o f f s e ta t t r i b u t e ss y m b o i o w n e r i d t b a s e = f 8 5 0 0 f c 8l i m i t 2 0 7 f f 0 0 0 0i n t g 3 20 0 0 8 :8 0 1 3 e c 5 4d p l = op k i t r a p 0 0 0 0 0 7i n t g 3 20 0 0 8 :8 0 1 3 f 9 6 8d p l = op k i t r a p 0 7 0 0 0 8t a s k g0 0 5 0 :0 0 0 0 13 3 8d p l = op 0 0 0 9i n t g 3 20 0 0 8 :8 0 1 3 f c a 8d p l = opk i t r a p 0 9 4 山东大学硕士学位论文 0 0 1 2i n t g 3 20 0 0 8 :8 0 1 4 1 1 4 8d p l = op k i t r a p o f 0 0 1 fi n t g 3 20 0 0 8 :8 0 1 4 11 4 8d p l = op k i t r a p 0 f 0 0 2 0r e s e r v e d0 0 0 8 :0 0 0 0 0 0 0 0d p l = on p 0 0 2 9r e s e r v e d0 0 0 8 :0 0 0 0 0 0 0 0d p l = on p 0 0 2 ai n t g 3 20 0 0 8 :8 0 1 3 e i a 6d p l = 3p - k i g e t t i c k c o u n t 0 0 2 bi n t g 3 20 0 0 8 :8 0 1 3 e 2 9 0d p l = 3pk i c a l i b a c k r e t u r n 0 0 2 ci n t g 3 20 0 0 8 :8 0 1 3 e 3 a 0d p l = 3p _ k i s e t l o w w a i t h i g h t h r e a d 0 0 2 di n t g 3 20 0 0 8 :8 0 1 3 e f 5 cd p l = 3pk i d e b u g s e r v i c e 0 0 2 ei n t g 3 20 0 0 8 :8 0 1 3 d d 2 0d p l = 3p - k i s y s t e m s e r v i c e 0 0 2 fi n t g 3 20 0 0 8 :8 0 1 4 1 1 4 8d p l = op - k i t r a p o f 0 0 3 0i n t g 3 20 0 0 8 :8 0 0 1 4 f f cd p l = op _ h a l p c l o c k i n t e r r u p t 0 0 3 1i n t g 3 20 0 0 8 :8 0 7 e 4 2 2 4d p l = op 0 0 3 2i n t g 3 20 0 0 8 :8 0 1 3 d 4 6 4d p l = op k i u n e x p e c t e d i n t e r r u p t 2 0 0 3 3i n t g 3 20 0 0 8 :8 0 7 0 8 8 6 4d p l = op 0 0 3 4i n t g 3 20 0 0 8 :8 0 7 c e d c 4d p l = op 0 0 3 5i n t g 3 20 0 0 8 :8 0 7 e 3 4 6 4d p l = op 0 0 3 6i n t g 3 20 0 0 8 :8 0 1 3 d 4 8 cd p l = opk i u n e x p e c t e d i n t e r r u p t 6 0 0 3 7i n t g 3 20 0 0 8 :8 0 1 3 d 4 9 6d p l = opk i u n e x p e c t e d i n t e r r u p t 7 0 0 3 8i n t g 3 20 0 0 8 :8 0 0 1 0 a 5 8d p l = op _ h a l p p r o f il e f n t e r r u p t 0 0 3 9i n t g 3 20 0 0 8 :8 0 1 3 i ) 4 从d p l = opk i u n e x p e c t e d i n t e r r u p t 9 o o f fi n t g 3 20 0 0 8 :8 0 1 3 d c 6 6d p l = op k i u n e x p e c t e d i n t e r r u p t 2 0 7 表中主要的门类型为中断门。中断任务只是用在关键的时刻,保证特殊情况下能 正确完成应急处理,比如说,双重异常( 8 号中断) 。中断2 e 是系统调用。中断 3 0 到3 f 对应于i r q o i r q l 5 。于是,总是有两个t s s 选择子。其中一个( 5 0 ) 用于双重异常。t s s 中除了其自己必需部分所占空间外,还在1 0 4 个字节中保存 了一个输入输出位图。在执行w i n 3 2 应用程序的时候,t s s 中的指针保存着不正 确的值,这样任何对端口的操作都会引发异常。在v d m 工作的时候,位图用来选 择是否禁止对端口的访问。 1 5 山东大学硕士学位论文 我们来看一下在f l a t 模型下是如何进行保护的。要研究这个问题需要将注 意力转向下面这个条件保护的原则应该是:保护内核不受用户进程的干扰、 保护一个进程不受另一个进程的干扰、保护子系统的代码和数据不受用户进程的 干扰。w i n d o w sn t 的线性地址空间可以分成用户空间( 通常为o - 7 f f f f f f f ) 和 系统与内核空间( 通常为8 0 0 0 0 0 0 0 一f f f f f f f f ) 。切换上下文时,内核空间对于 所有进程几乎都是一样的。 在w i n d o w sn t 中使用了分页保护的内存。这样,实现内核同用户进程隔离 方法就是将核心空间地址页的页表项指针的u s 位置零。这样就不能在r i n 9 3 下随意访问r i n g o 下的代码和数据了。同样页的寻址也使得进程彼此间的地址空 间得到隔离。w i n d o w sn t 保留了4 k b 的页作为区域c 0 3 0 0 0 0 0 中的页目录,该页 目录映射了所有的4 g 8 物理地址空间。在页目录中有1 0 2 4 个页目录 项。每个页目录项都应是4 b 大小( 4 k b 1 0 2 4 ) 。1 0 2 4 个页目录项指向1 0 2 4 个页 表,每个页表指向一个4 k b 的页。页目录的基地址在上下文切换时会相应发生变 化并指向将被使用的页目录,当执行新线程时这个页目录被用于线性地址向物理 地址的转换( 在i n t e l 处理器中这个物理基地址位于c r 3 寄存器中) 。 结果,不同的上下文中里的地址空间( o o o o o 0 0 0 7 f f f f f f f ) 中一样的线性 地址能够映射到不同物理地址上,实现了进程地址空间的彼此隔离。内核空间实 际上对所有的上下文都是一样的,其被保护起来不能由用户代码访问,内核代码 的页表项的u s 位为零。下面我们将不讨论内核模式而是将注意力转到用户模式 上来。的确,r i n g o 和r i n 9 3 寻址使用的描述符有相同的基址和界限,这可以作 为用户在内核或内核驱动中出错的理由。发生错误时可能会破坏当前进程地址空 间中的代码和数据。例如,用户进程指针校验错误时调用内核服务可能破坏内核 的代码和数据。操作系统的子系统通过导出调用的d l l 模块来提供自己的服务。 在用户进程向子系统转换时,比如调用w

温馨提示

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

评论

0/150

提交评论