




已阅读5页,还剩104页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学位论文版权使用授权书 j i i i i iii i il l i ii i i i iiij 17 812 6 5 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:牺铜p 签字日期:如肋年月,;日 导师签名:锄彦 签字日期:知o 年6 月,二日 中图分类号:t p 3 0 9 ;t p 3 1 6 u d c :0 0 4 4 学校代码:1 0 0 0 4 密级:公开 北京交通大学 硕士学位论文 l i n u x 内核安全测试的研究 s t u d yo ns e c u r i t yt e s t i n go f l i n u xk e r n e l 作者姓名o 杨娜 导师姓名:翟高寿 学位类别:工学 学科专业:计算机软件与理论 学号:0 8 1 2 0 5 8 6 职称:副教授 学位级别:硕士 研究方向:安全操作系统 北京交通大学 2 0 1 0 年6 月 致谢 在论文完成之际,谨向我尊敬的导师翟高寿副教授表示由衷的感谢! 翟老师 以其广博的知识、缜密的思维和严谨的工作研究作风,在论文选题和整个写作过 程中都给了我精心的指导和帮助,我的论文中凝聚了他大量的心血和汗水。翟老 师从学习上、生活上都给予了我无私的关怀,使我不仅学到了专业知识,还为我 今后的工作乃至人生积累了一笔宝贵的精神财富,使我受益终生! 衷心感谢实验室的各位同学,在课题进行期间,他们给予了我大量技术方面 的指导和帮助,同时对我的论文也提出了很多中肯的意见。感谢计算机学院的全 体老师,通过他们辛勤的教诲,使我的学识和素质都得到了很大的提高。 感谢所有关心和帮助我的朋友和同学,特别是同项目组的吴彤、刘承玉、田 民丽、杨恒胜、杨司祺等同学在课题研究和论文校对等方面给了我很多帮助,也 正是我们大家的共同探讨、相互启发、协同工作,才使课题得以顺利进行,并取 得今天的成绩。最后,向所有关心我和帮助我的人表示最诚挚的谢意。 , 摘要 摘要 随着信息系统在社会生活各个领域的广泛应用,信息系统的安全性研究已成 为信息技术研究中不可或缺的一部分。进一步说,操作系统安全是保障整个信息 系统安全的根本所在,而操作系统的安全测试与安全测评则是操作系统安全可靠 的必要手段和基本保障。其间,系统调用作为操作系统内核向用户或用户程序提 供服务的基本接口,其安全性构成操作系统安全测试的主要内容。 本文以l i n u x2 6 2 9 4 内核源代码为分析对象,讨论了l i n u x 系统调用实现机 制,给出了系统执行从用户态陷入内核态的具体过程及所涉及到的各种源程序文 件和函数。同时,将其与l i n u x2 4 1 8 内核版本的系统调用陷入机制进行对照和 分析研究,以期改进现有的系统调用安全测试自动化原型系统,使其真正实现对 相应系统调用内核函数的直接调用,确保测试结果的可信和可靠。 l i n u x 系统调用数量众多,仅l i n u x2 6 2 9 4 内核就有3 3 2 个系统调用,所以 本文选取了与文件系统密切相关的六个系统调用o p e n 、c r e a t 、a c c e s s 、f a c c e s s a t 、 r e a d 、w r i t e 的内核源码展开具体分析和研究。其中着重以o p e n 系统调用为例,详 细分析了文件打开的整个执行过程以及其间所调用的函数。文中还给出了e r e a t 、 a c c e s s 、f a c c e s s a t 、r e a d 、w r i t e 等系统调用实现的基本过程和函数调用关系,以及 涵盖上述系统调用的访问检查图和依赖关系分类。 众所周知,测试用例的设计对于测试而言至关重要,其关系到测试的工作量 和覆盖范围,对于l i n u x 内核安全测试更是如此。本文在l i n u x2 6 2 9 4 这个测试 环境中启用了强制访问控制机制s e l i n u x ,同时结合前面对系统调用访问检查图 和依赖关系的分析结果,就冗余测试用例消除的各种方法举例进行了分析说明以 及验证,其中所涉及系统调用有a c c e s s 、o p e n 、r e a d 、w r i t e 、c l o s e 、f c n t l 。 最后,对本文所做工作进行了总结,并给出了后续的工作建议。 关键词:l i n u x 内核;系统调用;安全测试;测试用例设计;冗余测试消除 分类号:t p 3 1 6 ;t p 3 0 9 a b s t r a c t a bs t r a c t a st h ee x t e n s i v ea p p l i c a t i o no fi n f o r m a t i o ns y s t e m si na l la r e a so fs o c i a ll i f e ,t h e s e c u r i t yr e s e a r c ho fi n f o r m a t i o ns y s t e m sh a sb e c o m ea ni n t e g r a lp a r to f t h ei n f o r m a t i o n t e c h n o l o g yr e s e a r c h f u r t h e r m o r e ,o p e r a t i n gs y s t e ms e c u r i t yi s t h ef o u n d a t i o nt o p r o t e c tt h es e c u r i t yo f e n t i r ei n f o r m a t i o ns y s t e m s ,a n dt h eo p e r a t i n gs y s t e m ss e c u r i t y t e s t i n ga n ds e c u r i t ye v a l u a t i o ni san e c e s s a r ym e a n sa n db a s i cs e c u r i t yt os e c u r et h e o p e r a t i n gs y s t e m ss a f ea n dr e l i a b l e m e a n w h i l e ,s y s t e mc a l l sa l et h eb a s i ci n t e r f a c e f o rt h eo p e r a t i n gs y s t e mk e r n e lt ot h eu s e ro ru s e rp r o g r a mp r o v i d e ss e r v i c e s ,i t s s e c u r i t yc o n s t i t u t et h em a i n c o n t e n t so fo p e r a t i n gs y s t e ms e c u r i t yt e s t i n g , t h i sp a p e ra n a l y z e sl i n u x2 6 2 9 4k e r n e ls o r i c ec o d e ,d i s c u s s e st h el i n u x s y s t e mc a l li m p l e m e n t a t i o nm e c h a n i s m ,g i v e st h es p e c i f i cp r o c e s sa n di n v o l v e da v a r i e t yo fs o u r c ef i l e sa n df u n c t i o n sa b o u tp e r f o r m i n gs y s t e mf r o mn s e rm o d ei n t o k e r n e lm o d e m e a n w h i l e ,t h r o u g hc o m p a r i n g 谢t hl i n u x2 4 18k e r n e lv e r s i o ns y s t e m c a l l sm e c h a n i s ma n da n a l y z i n gt h i sm e c h a n i s m , t h ep u r p o s ei st oi m p r o v ee x i s t i n g a u t o m a t i cs e c u r i t yt e s t i n gp r o t o t y p es y s t e mo fs y s t e mc a l l ,t or e a l i z ed i r e c t l yc a l lt h e k e r n e lf u n c t i o no ft h ec o r r e s p o n d i n gs y s t e mc a l l ,t oe n s u r et h et e s tr e s u l t sc r e d i b l ea n d r e l i a b l e t h e r ea r eal a r g en u m b e ro f l i n u xs y s t e mc a l l s ,o n l yl i n u x2 6 2 9 4k e r n e lh a s 3 3 2s y s t e mc a l l s ,s ot h i sp a p e rs e l e c t ss i xs y s t e mc a l l so p e n , c r e a t ,a c c e s s ,f a c c e s s a t , r e a d , w r i t ew h i c ha r ec l o s e l yr e l a t e dw i mt h ef i l es y s t e ma n ds t a r t sac o n c r e t ea n a l y s i s a n dr e s e a r c ho ft h e i rk e r n e ls o u r c e e m p h a s i so no p e ns y s t e mc a l l ,i td e t a i l sa n a l y s i so f t h ee n t i r ei m p l e m e n t a t i o np r o c e s sf o ro p e n i n gt h ef i l ea n ds o m ec a l l e df u n c t i o n sd u r i n g t h ep r o c e s s t h ep a p e ra l s og i v e st h eb a s i cp r o c e s sa n df u n c t i o nc a l lr e l a t i o n s h i p so f c r e a la c c e s s ,f a c c e s s a t , r e a d ,w r i t e ,e t c ,a n da c c e s sc h e c kg r a p ha n dd e p e n d e n c e c a t e g o r i e sw h i c h c o v e ra b o v es y s t e mc a l l s i t sw e l l - k n o w nt h a tt h ed e s i g no ft e s tc a s e si sc r i t i c a lf o rt h et e s t ,i tr e l a t e st ot h e t e s tw o r k l o a da n dc o v e r a g e ,e s p e c i a l l yf o rt h el i n u xk e r n e ls e c u r i t yt e s t i n g i nt h i s p a p e r , t h e t e s te n v i r o n m e n tl i n u x2 6 2 9 4e n a b l e dm a n d a t o r ya c c e s sc o n t r o l m e c h a n i s ms e l i n u x ,c o m b i n e dw i t ht h ea n a l y s i so fp r e v i o u ss y s t e mc a l l sa c c e s s c h e c kg r a p ha n dt h e i rd e p e n d e n c i e s ,t h e ni tg i v e sa n a l y z e dd e s c r i p t i o na n dv a l i d a t i o n o nt h ev a r i o u sm e t h o d st oe l i m i n a t er e d u n d a n tt e s tc a s e s ,w h i c hi n v o l v e ss y s t e mc a l l s h a v ea c c e s s ,o p e n , r e a d ,w r i t e ,c l o s e ,f c n t l v i i 北京交通大学硕士论文 f i n a l l y , t h er e s e a r c ho ft h i sp a p e ri ss u m m a r i z e d , 嬲w e l l 弱f u r t h e l r e s e a r c h d i r e c t i o l l 8 k e y w o r d s - l i n u xk e r n e l ;s y s t e mc a l l ;s e c u r i t yt e s t i n g ;d e s i g no ft e s tc a s e s ; e l i m i n a t i o no fr e b u n d a n tt e s t s c l a s s n o :t p 316 ;t p 3 0 9 目录 目录 摘要v a b s t r a c t 。v i i l 绪论1 1 1 课题背景l 1 1 1 操作系统安全性l 1 1 2 操作系统安全测试方法l 1 1 3l i n u x 内核与系统调用3 1 2 国内外研究现状4 1 3 论文研究内容和技术路线7 1 4 论文组织结构7 2 论文研究基础1 l 2 1 操作系统安全测试及其自动化1 l 2 1 1 操作系统安全测试1 1 2 1 2 操作系统安全测试自动化1 l 2 1 3l i n u x 内核安全测试1 3 2 2l i n u x 内核及安全机制一1 4 2 2 1l i n u x 内核发展过程1 4 2 2 2l i n u x 内核安全机制15 2 3 安全测试方法17 2 3 1 黑盒测试18 2 3 2 白盒测试1 9 2 3 3 灰盒测试2 0 本章小结2 1 3l i n u x 系统调用分析研究2 3 3 1 系统调用机制2 3 3 2l i n u x 系统调用陷入内核过程分析2 4 3 3l i n u x 系统调用分类研究2 8 3 3 1l i n u x2 6 2 9 4 版本的系统调用分类2 8 3 3 2 文件操作相关系统调用2 9 3 4o p e n 系统调用源码分析3l 3 4 1o p e n 系统调用实现的整体架构3 2 3 4 2 尾部调用优化3 3 3 4 3 关键子函数分析3 4 本章小结。4 3 北京交通大学硕士论文 4 安全测试用例设计及优化4 5 4 1 文件相关系统调用访问检查分析4 5 4 2 文件相关系统调用间的依赖分析4 7 4 3 测试用例中测试数据设计考量4 8 4 4 冗余测试的消除5 0 4 4 1 基于访问检查图的冗余测试消除方法5 0 4 4 2 基于访问检查依赖关系的冗余测试消除方法5 3 4 5 循环测试依赖的消除5 5 本章小结5 7 5 安全测试实施5 9 5 1 实验方案及系统运行平台配置5 9 5 2 系统调用安全测试程序设计改进方案5 9 5 3 测试实施过程6 2 本章小结6 7 。6 结束语6 9 6 1 论文工作总结6 9 6 2 后续工作建议7 0 6 3 研究展望7 1 参考文献7 3 附录a 7 5 附录b 一8 7 作者简历9 1 独创性声明。9 3 学位论文数据集9 5 绪论 1 1 课题背景 1 绪论 随着时代的发展,计算机已经深入到各行各业的领域中,比如保险、金融、 电信等各个方面,计算机除了给方方面面带来的好处之外,由于自身处于不断的 高速发展之中,它也带来了许多问题,如信息泄露、非法入侵、信息毁坏等无法 挽回的严重影响,而这都要归结于计算机系统本身的安全问题。与此同时,就计 算机系统本身而言,操作系统又是计算机系统的重要组成部分,用于管理、指挥、 控制整个计算机系统的工作。因而,操作系统在计算机系统中占据特殊重要的地 位。 1 1 1 操作系统安全性 安全性是所有操作系统都会涉及到的重要内容,在许多计算机相关的文献中, 对于“安全性有各种各样的定义。例如,最权威的两种安全性相关的模型和标 准:开放式系统互联模型( o p e ns y s t e mi n t e r c o n n e c t i o n ,o s i ) 与可信计算机系统 安全评估标准( t r u s t e dc o m p u t e rs y s t e me v a l u a t i o nc r i t e r i a ,t c s e c ) ,二者皆对 “安全性”有自己的描述,前者主要从以下几个方面定义了安全性的要素【l 】: 机密性:确保不能以未授权的形式访问信息( 换而言之,就是控制读操作) ; 完整性:确保不能以未授权的形式修改或删除信息( 换而言之,就是控制写 操作) ; 可用性:确保授权用户可以在正确的时间正确地使用信息( 换而言之,就是 控制读、删除操作,并确保故障恢复) 。 而后者对安全性的定义就很模糊:“通常情况下,安全可靠的系统会借助特定 的安全功能对信息进行控制,只有那些经过正确授权的个人或进程才有权读取、 写入、创建或删除。 1 1 2 操作系统安全测试方法 操作系统的安全性评测是操作系统发展过程中的一个非常重要的环节,一些 发达国家对计算机信息系统安全的可信度评测进行了长期的研究,形成了一些指 北京交通大学硕士论文 导实践的原则。与此同时,我国也在这方面做了一些工作,并取得了一定的成绩。 粗略的来说,一个操作系统是否安全,取决于它的安全机制是否满足某一给 定的安全策略。一般评测操作系统安全性的方法有三种 2 1 :形式化验证、非形式 化确认及入侵分析。这三种方法既可以独立使用,也可以将它们综合起来以评估 操作系统的安全性。 ( 1 ) 形式化验证 分析操作系统安全性最精确的方法是形式化验证。在形式化验证中,安全操 作系统被简化为一个要证明的“定理。定理断言该安全操作系统是正确的,即它 提供了所应提供的安全特性,而不提供任何其他功能。但是,证明整个安全操作 系统正确性的工作量是相当大的。另外,形式化验证也是一个复杂的过程,对于 某些大的实用系统,试图描述及验证它是根本不可能的,特别是那些在设计时并 未考虑形式化验证的系统更是如此。这两个难点大大降低了有效地使用形式化验 证的可能性。 ( 2 ) 非形式化确认 确认是比验证更为普遍的术语。它包括验证,但是它也包括其他一些不太严 格的让人们相信程序正确性的方法。完成一个安全操作系统的确认有如下几种不 同的方法: 安全需求检查。通过源代码或系统运行时所表现的安全功能交叉检查操作 系统的每个安全需求。其目标是,认证系统所做得每件事是否都在功能需求表中 列出,这一过程有助于说明系统仅做了它应该做的每件事。但是,这一过程并不 能保证系统没有做它不应该做的事情。 设计及代码检查。设计者及程序员在编写系统时仔细检查系统设计或代码, 试图发现设计或编程错误。例如,不正确的假设、不一致的动作或错误的逻辑等 等。这种检查的有效性依赖于检查的严格程度。 模块及系统测试。在程序开发期间,程序员或独立测试小组挑选数据检查 操作系统的安全性。必须合理组织测试数据以便检查每条运行路线、每个条件语 句、所产生的每种类型的报表、每个变量的更改等等。 ( 3 ) 入侵分析 在这种方法之中,安全测试人员试图“摧毁 正在测试中的安全操作系统。 测试人员应当掌握操作系统典型的安全漏洞,并试图发现和利用系统中的这些安 全缺陷。 操作系统在某一次入侵测试中失效,则说明它内部有错。相反地,操作系统 在某一次入侵测试中没有失效,并不能保证系统中没有任何错误。入侵测试在确 定错误存在方面是非常有用的。 2 绪论 综上,一般来说,评价一个计算机系统安全性能的高低,应从如下两个方面 进行: ( 1 ) 安全功能。系统具有哪些安全功能。 ( 2 ) 可信性。安全功能在系统中得以实现的、可被信任的程度。通常通过文 档说明测试机形式化验证说明。 1 1 3l i n u x 内核与系统调用 众所周知,操作系统是对计算机系统的硬件和软件资源进行组织和管理的系 统软件,用于为用户提供相关的服务和访问接口,它是计算机系统中最底层、最 基础的支撑软件,而l i n u x 内核又是l i n u x 系统的核心。具体地说,l i n u x 内核是 计算机加电时从磁盘加载到内存中的一个程序。它总是位于内存中,并且一直运 行到系统关闭( 或崩溃) 。虽然内核大部分是用c 语言编写,但是为了效率的缘 故,某些部分使用汇编语言编写的。由此可见,操作系统最核心的部分就是内核 了。 虽然内核在操作系统的地位很高,但是l i n u x 的内核并不是孤立的,必须把 它放在整个系统中去研究,一般来说,整个操作系统是由主要的4 个子系统组成: 用户进程、系统调用接口、l i n u x 内核、硬件。其中系统调用是用户程序与l i n u x 内核交互的接口,用户通过进程再通过系统调用接口访问内核函数。 当然,系统调用除了上述接口功能之外,它的存在也涉及到另外两个问题, 那就是效率和安全例。 首先,效率问题:如果没有操作系统,每个应用程序就必须直接面对最底层 的系统硬件,如果想要运行自己的程序,那么就必须靠自己从面向底层硬件的代 码编起。这不仅费时费力,关键问题在于并不是每个人都可以做到自己编写底层 交互代码,来实现自己的应用程序。所以,操作系统就将这些事情都完成之后, 把硬件封装起来,给我们提供了一套统一的接口,这些接口就是系统调用。很明 显,系统调用提高了我们的编程效率,它在这个模型中充当的角色就是一个接口, 用户态由用户程序或其他应用程序调用,内核态连接内核的其他部分,共同实现 用户或应用程序的请求。 再有,安全问题:l i n u x 是运行在两个模式下:用户态( u s e rm o d e ) 和内核 态( k e r n e lm o d e ) 。而区分这两个状态的主要目的是出于安全的考虑,使得用户态 运行的程序不能随便访问某些敏感的内核函数或内核变量。由此就产生了l i n u x 系统的两个状态进行信息传递和模式切换的问题,系统调用在此就发挥了作用, 通过系统调用进程,可由用户态转入内核态,在内核态下完成相应的服务,之后 北京交通大学硕士论文 再返回到用户态。用户程序在用户态调用系统调用,通过门机制,系统进行状态 切换,进入内核态,执行相应的系统调用代码,返回用户态。这样,通过系统调 用的方法,实现了系统态与用户态的分离,将内核的安全性问题转移至系统调用 这一系列封装函数的安全性问题中。 综上,可见l i n u x 内核在l i n u x 操作系统中的地位,是硬件与用户之间进行 沟通的最重要的部分,而系统调用又是关系到l i n u x 内核安全性以及效率问题的 关键接口。所以操作系统的安全性测试的首要前提是完成其内核的安全性测试, 系统调用又是内核向用户进程提供服务的唯一手段,所以内核的安全性测试是建 立在对系统调用的安全性测试的基础上的。 在对l i n u x 内核测试方面,很多人都运用了各种各样的方法力求用最简单的 方法达到最好的测试效果,比方说测试结果的可信性、测试覆盖率等等,本文主 要是针对l i n u x 内核的源码进行分析研究,以实现对l i n u x 内核中系统调用的安 全性测试方法的研究。 1 2 国内外研究现状 在2 0 世纪中后期,世界上第一个安全操作系统a d e p t - 5 0 的出现发展至今, 安全操作系统发展已有五十多年的历史,之后安全操作系统主要经历了四个发展 阶段,主要是奠基时期、食谱时期、多政策时期和动态政策时期【4 】。食谱时期也 就是美国的t c s e c 颁布的时期。 多年来,t c s e c 评估准则一直是人们用来设计安全操作系统的主要参考标 准,也是用来对安全操作系统进行评测的主要准则,此后人们便开始了各种各样 的操作系统安全评测的研究。研究成果主要是由个别权威机构提出的安全测评标 准中体现出的测评方法,对安全测评的研究体现在测评标准的制定、更新和完善。 国内也逐渐开始了对操作系统系统测评的研究,并且制定了安全测评的国家标准。 国内外计算机系统安全评测准则概况 美国国防部于1 9 8 3 年推出了历史上第一个计算机安全评价标准可信计算机 系统评测准则( t r u s t e dc o m p u t e rs y s t e me v a l u a t i o nc r i t e r i a ,t c s e c ) ) ) ,又称橘皮 书【5 1 。t c s e c 带动了国际上计算机安全评测的研究,前西德、英国、加拿大和西 欧四国等纷纷制订了各自的计算机系统评价标准。近年来我国也制定了相应的强 制性国家标准 6 1 g b l 7 8 5 9 1 9 9 9 计算机信息系统安全保护等级划分准则和推荐 标准g b t 18 3 3 6 2 0 0 1 信息技术安全技术信息技术安全性评估准则。下表1 1 列出了安全评测准则的概况。 4 绪论 表1 - 1 国内外计算机安全评测准则概况 l a b e l1 - 1o v e r v i e wo fd o m e s t i ca n di n t e r n a t i o n a lc o m p u t e rs e c u r i t ye v a l u a t i o nc r i t e r i a 标准名称颁布者颁布年代内容等级 d o d 5 2 0 0 2 8 m 受控的安全模式 自主安全模式 ( 第一个计算机美国国防部 1 9 7 9 多级安全模式 安全标准) 强安全模式 t c s e c ( 第一个 7 个等级 计算机评价标准) 美国国防部 1 9 8 3 1 9 8 5 ( d ,c 1 ,c 2 ,b 1 ,b 2 ,b 3 a ) 组成4 个类别 标识和鉴别、权力的管理、 德国信息安全 权限的验证、审计、客体重 c e t i t1 9 8 8用、错误恢复、持续服务和 局 数据通信安全( 8 个安全功 能) 主要用于安全产品或系统制 s s c l英国1 9 8 9 造商 西欧四国( 英 i t s e c1 9 9 1涵盖了以上所有的安全标准 法荷德) 联邦准则草案f c美国 1 9 9 2区别了安全特性和保证要求 是国际c c 标准的前身,被 c cv l美英法荷德加1 9 9 6 i s o 采纳 中国军标中国国防科学 g j b 2 6 4 6 9 6技术委员会 1 9 9 6 提出了常见的安全功能要求 国际c c 【刀美英法荷德加 1 9 9 8的1 1 个功能类的1 3 5 个功能 组件 中国中国国家质量分为5 个等级 1 9 9 9 g b l 7 8 5 9 1 9 9 9技术监督局( l 1 ,l 2 ,l 3 ,l 4 ,l 5 ) 中国中国国家质量分为5 个等级 g b t 18 3 3 6 2 0 01技术监督局 2 0 0 1 ( l 1 ,l 2 ,l 3 ,l 4 ,l 5 ) 5 北京交通大学硕士论文 在各种计算机系统安全评测准则中对安全的评价级别的划分有所不同,下表 1 2 说明了t c s e c 、i t s e c 、c c 和中国g b l 7 8 5 9 的评价级别的对应关系。 表l - 2 各种准则评价级别的对应关系 t a b e l1 - 2c o r r e s p o n d e n c ef o re v a l u a t i o nl e v e lo fv a r i o u sc r i t e r i a t c s e ci t s e cc cg b l 7 8 5 9 de 0 e a l l c 1e 1e a l 2l 1 c 2e 2e a l 3 l 2 b le 3e a l 4l 3 b 2e 4 e a l 5l 4 b 3e 5e a l 6l 5 a 1 e 6e a l 7 由于l i n u x 操作系统的开源特性,促使国内操作系统自主研发工作的进一步 发展,随之而来的就是对测评工作的更高要求。在国内对安全操作系统测试的研 究中,也有了一些研究成果,如魏丕会、卿斯汉于2 0 0 3 年提出的安全操作系统等 级评测系统【8 】,文中主要给出了安全操作系统等级评测系统的安全等级评测工具 的设计与实现,这个等级评测系统能够对安全操作系统的安全级别进行半自动评 测;由陆幼骊、张红旗于2 0 0 5 年提出的操作系统安全测评系统设计【9 】,文中设计 了一个u n i x 以及l i n u x 安全测评系统,该系统是基于数据驱动框架实现了测评过 程的自动化;由许友、陈性元于2 0 0 6 年发表的基于标准的系统安全测试指标体系 的研究【1 0 1 ,文中提出了一套系统安全测试的全面的指标体系,这个指标可以利用 选择检测工具及测试方法对操作系统的安全进行风险评估;由翟高寿等于2 0 0 6 年提出的安全操作系统安全测试自动化的框架【l l 】【1 2 1 ,文中主要就l i n u x 操作系统 安全相关的系统调用和安全测试自动化平台进行了初步研究,并实现了一个安全 测试自动化平台原型;由翟高寿、牛晗晖等发表的s e c u r i t yt e s t i n gf o ro p e r a t i n g s y s t e ma n di t ss y s t e mc a l l s t l 3 】,文中主要实现了一个系统调用安全测试自动化原型 系统,并针对几个系统调用实现了自动化测试。 除此之外,还陆续有一些关于安全测试方面的思路和技术。如常伟华、蔡勉 等共同提出的基于驱动表机制的操作系统等级评测系统n 4 1 ,以及北京交通大学陈 晨设计和实现了l i n u x 访问控制安全机制的测试自动化工具旧等等。 6 绪论 1 3 论文研究内容和技术路线 l i n u x 操作系统作为现今计算机行业中应用最广泛的操作系统之一,保障 l i n u x 操作系统安全的重要性是不言而喻的。经过对处于最底层的l i n u x 内核研 究发现,与操作系统安全性最相关的是系统调用。所以保证系统调用的安全性也 就是保证操作系统安全性的最关键一步。 本文主要通过对l i n u x 内核源代码的系统调用相应部分进行分析,重点针对 文件系统密切相关的几个系统调用的函数代码进行详细分析,由此总结出l i n u x 系统调用之间的依赖关系分类以及相应测试用例设计优化的各种方法。论文的主 要工作可以总结为如下几点: ( 1 ) 本文主要针对现今最广泛应用的w i n d o w s 操作系统和l i n u x 操作系统的系 统调用机制进行分析,从而进一步说明系统调用在操作系统中的重要性以及对操 作系统的安全性保护的关键作用。本文的研究对象是l i n u x2 6 2 9 4 版本的操作系 统内核,总结给出此内核版本的系统调用的具体过程。 ( 2 ) 详细分析了现有系统调用安全测试程序实现的具体流程以及实现的各个步 骤,并将其移植到本文的测试环境中,同时得出了其中的不足之处并进行了改进, 以使其能真正实现调用相应系统调用的内核函数,从而保证测试的可信性。 ( 3 ) 通过对l i n u x2 6 2 9 4 内核源码分析,定位出内核代码中系统调用函数所在 的位置,分析了文件系统密切相关的几个基本的系统调用中的函数之间的调用关 系,尝试给出系统调用之间的访问检查图( 灰盒测试方法中的一种关系图) 。 ( 4 ) 本文选取与文件系统相关的几个基础的系统调用( r e a d 、w r i t e 、o p e n 、a c c c s $ 、 f a c c e s s a t 、e r e a t ) 进行分析总结,对这些系统调用之间的依赖关系进行了分类, 分为两种:一种是基于访问检查图的依赖性,一种是基于访问检查关系的依赖性。 ( 5 ) 根据前面所有的分析分类,本文主要探讨了在f e d o r a l l l i n u x2 6 2 9 4 中引 入强制访问控制机制s e l i n u x 的情况下,系统调用之间冗余测试的去除方法,并 举例进行分析验证。 论文工作及课题得到北京交通大学校基金“操作系统安全测评自动化”项目 ( 项目编号:2 0 0 5 s m 0 1 6 ) 的支持。 1 4 论文组织结构 本文总共分六章,论文的组织结构如图1 1 : 7 北京交通大学硕士论文 至叵 课题提出 论文概括总结 图1 - 1 论文组织结构示意图 f i g u r e1 - 1s t r u c t u r eo fd i s s e r t a t i o no r g a n i z a t i o n 各章的主要内容如下: 第一章:主要介绍了论文的研究背景,目前的研究现状以及论文的研究内容 和组织架构。 第二章:主要给出了论文研究的理论基础,从三个方面进行了阐述,首先分 析了现有的操作系统安全测试自动化的实现平台以及系统调用安全测试程序;再 有对l i n u x 内核的各种访问控制机制进行了研究分析,并给出了个人对这个过程 的理解以及总结;最后本文就现有的安全测试方法进行了分析比较,由于本文的 主要研究对象是l i n u x 内核,所以这一节重点给出了这些方法在l i n u x 内核上的 应用分析以及优缺点分析。 第三章:是本文的核心部分之一,在给出了各种操作系统的系统调用机制之 后,详细阐述了本文的研究对象l i n u x2 6 2 9 4 版本的操作系统的系统调用陷入内 核的过程,并对其中的3 3 2 个系统调用进行了分类和总结说明。与此同时,给出 了o p e n 系统调用的分析过程并以图示说明。 8 绪论 第四章:是本文的另一个核心部分,主要是基于上一章对系统调用过程以及 代码的深入研究之后,给出了若干系统调用( a c c e s s 、f a c c e s s a t 、o p e n 、c r e a t 、r e a d 、 w r i t e ) 的访问检查图和依赖关系分类,并且在此基础上对系统调用的测试用例设 计过程中去除冗余测试的方法进行了分析说明以及验证。 第五章:给出了对现有系统调用安全测试程序设计方案的改进方法,并对测 试平台以及实施过程进行了详细说明和图解。 第六章:是本文的工作进行总结,并且给出了一些后续的工作建议和对l i n u x 安全测试方面的研究展望。 9 论文研究基础 2 论文研究基础 2 1 操作系统安全测试及其自动化 2 1 1 操作系统安全测试 操作系统安全测评是衡量操作系统是否安全的一个极为重要的环节,操作系 统安全测评和操作系统的设计开发是一样重要的,人们往往忽略了前者在操作系 统中的重要地位,如果不测评、不验证所开发操作系统的安全性,那么开发出的 操作系统的安全性就没有保障,从而在应用过程中就会加剧它的应用风险。与此 同时,操作系统安全测评是建立在操作系统安全测试的基础上的,是基于安全功 能测试对操作系统的安全性给出的评价。 操作系统的安全测评是指对操作系统的安全性给出评估结果,测评是针对操 作系统这个整体来说的,并且应该是由测评资质的第三方完成实施的。而安全测 试是针对操作系统的具体安全功能来进行的,它既是操作系统测评的基础,又是 操作系统测评的一个重要环节,由开发方进行的安全功能测试。 美国国防部于1 9 7 9 年发布了世界上第一个计算机安全标准 - d o d 5 2 0 0 2 8 m ,它是操作系统安全测评领域的一个开端,它定义了四种不同 的运行安全模式:受控的安全模式、自主安全模式、多级安全模式、强安全模式, 它对计算机系统提出了一系列安全要求,旨在防止对系统意外或恶意侵害。 综上所述,研究安全操作系统以及操作系统安全测评的首要工作是做好对 l i n u x 操作系统安全的测试工作。 2 1 2 操作系统安全测试自动化 系统调用安全性测试的基本框架 与一般的软件测试不同,操作系统安全测试自动化平台的具体构建方案在一 定程度上取决于操作系统自身的体系结构和开发方法,但是在很多方面仍具有相 似性,可以借鉴一般软件测试的方法和过程。而系统调用的安全性测试主要是以 系统调用在内核中的相应函数为基本研究对象,验证被测系统调用是否符合特定 级别的安全规定,同时还要检验该系统调用安全相关功能的实现情况,这样从这 北京交通大学硕士论文 两个方面对系统调用的安全性进行测试,才能充分保证所测试的系统调用的安全 性测试结果的可信性。 如图2 - 2 所示,经过与一般软件测试步骤进行比较,图中画出了对于一个系 统调用测试的基本步骤,其中第三步与第五步中记录系统的当前状态在这里主要 是指主体状态、客体状态以及当前系统认证体系结构等等与安全性相关的一些系 统状态【1 3 j 。 图2 - 1 系统调用安全性测试的基本流程 f i g u r e2 - 1b a s i cs t e p st ot e s tas y s t e mc a l l 系统调用安全性测试的自动化框架 为了具体的实施上图中对系统调用的安全性测试,结合系统调用内核代码中 自身的特征,将系统调用的安全性测试分为两部分的内容【l l 】【1 2 】,标准测试和特殊 测试。标准测试是指测试系统调用安全属性的变化是否会将操作系统从一个安全 状态转化为另一个不安全的状态;而特殊测试是指验证具体系统调用安全性的相 关功能的实现情况,这里必须指出的是特殊测试并不是所有的系统调用都具备的 测试,它往往只用于一些特殊的系统调用。 因而,系统调用安全性测试的自动化框架应该由以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育AI的道德框架与社会期待
- 教育机器人行业发展趋势及伦理监管探索
- 通号中心安全员考试两类人员练习卷含答案
- 2025年中国遥控器塑料壳行业市场调查、投资前景及策略咨询报告
- 2025年中国转向横拉杆接头行业市场调查、投资前景及策略咨询报告
- 2025年中国西瓜原浆行业市场调查、投资前景及策略咨询报告
- 2025年中国船用交流接触器行业市场调查、投资前景及策略咨询报告
- 2025年中国编织松紧带行业投资前景及策略咨询研究报告
- 2025年中国端齿盘行业市场调查、投资前景及策略咨询报告
- 2025年中国短流程直辊丝光机行业市场调查、投资前景及策略咨询报告
- 新生儿肺动脉高压的护理查房课件
- 美的集团职位分析与职位说明书研讨会
- 《矿用防爆车辆电动自动转向系统技术要求》
- 代收房租协议书范文
- 声学设计施工方案
- 学校直饮水设备采购投标方案(技术标)
- 高速铁路的电磁干扰及其防护措施
- 迪庆藏族自治州发电有限责任公司新乐水电站环境影响后评价报告书
- 《中药学》课件-中药思政元素案例
- 高压水除磷系统在柳钢热轧生产线上的使用和创新
- 医院保洁服务投标方案(完整技术标)
评论
0/150
提交评论