




已阅读5页,还剩64页未读, 继续免费阅读
(计算机应用技术专业论文)selinux系统完整性和策略有效性算法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 s e l i n u x 以f l a s k 安全模型为基础,实现了细粒度而又灵活的强制 访问控制( m a n d a t o r ya c c e s sc o n t r 0 1 ) ,它能够有效地保护系统的机 密性和完整性。课题分析了s e l i n u x 的策略规则,研究了利用策略保 护操作系统完整性的方法,并针对当前s e l i n u x 系统中策略规则数目 多且复杂这一突出问题,提出了一种有效性检查的算法。 论文首先详细地描述了s e l i n u x 安全机制中n a s k 模型各个组成部 分的功能,以及在强制访问控制中客体安全属性的标签方法、已授予 权限的撤消、权限缓存等通用机制。利用类型增强机制、基于角色和 用户的访问控制以及系统提供的灵活配置策略,实现了对数据的原始 访问控制和对内核、文件系统的保护、对特权进程的保护等,达到保 护系统资源完整性的要求。 针对s e l i n u x 中安全策略数目众多复杂,安全子模型中规则分散 的问题,本文首先分析了规则的配置语法、语义以及各条规则之间的 关系,通过对属性、类型、角色、约束限制等概念的抽象,构造了安 全上下文空间和可访问性空间。然后,论文进一步提出了一种策略有 效性检查的算法,根据用户提供的主体安全上下文s u b j 、存取模式 m o d e 、客体对象安全上下文o b j 和类别c l a s s ,从而检查出该主体s u b j 是否对类别c l a s s 的客体o b i 有m o d e 的访问权限,使得安全管理员 更容易掌握已有策略的安全目标。该算法还可以用于检验新创建的安 全策略规则是否能达到预期目的。 关键词s e l i n u x ,策略,完整性,有效性 a b s t r a c t t h es e c u r i t y - e n h a n c e dl i n u xi m p l e m e n t saf l e x i b l ea n df r e e g r a i n e d m a n d a t o r ya c c e s sc o n t r o l ( m a c ) a r c h i t e c t u r ec a l l e df l a s ki nt h el i n u x k e r n e l i tc a np r o t e c tt h ei n t e g r a l i t ya n dt h ec o n f i d e n t i a l i t yo fs y s t e m s e f f e c t i v e l y b ya n a l y z i n gt h er u l e so fs e l i n u x , t h i sp a p e rs t u d i e st h e m e t h o do fi n t e g r i t yp r o t e c t i o nt oo s b e c a u s et h er u l e so fs e l i n u xa r e n u m e r o u sa n dc o m p l e x ,t h i sp a p e rg i v e sa ne f f i c t i v ea l g o r i t h mf o r c h e c k i n gt h ev a l i d i t yo f t h es e l i n u x sp o l i c y a f t e rs t u d y h a gt h es e c u r i t ym e c h a n i s ma n dt h es e c u r i t ym o d e l so f s e l i n u x , t h i sp a p e ra n a l y z e se v e r yc o m p o n e n to fs e l i n u xa n dd i s c u s s e s t h e g e n e r a lm e c h a n i s mo fm a n d a t e r ya c c e s sc o n t r o ll i k el a b e l i n g r e s o l u t i o no fs e c u r i t ya t t r i b u t e s ,t h ew i t h d r a w a lo fg r a n t e dr i g h t sa n dt h e c a c h ew a yo fr i g h t s i no r d e rt om e e tt h en e e do fs y s t e m si n t e g r i t y p r o t e c t i o n ,s e l i n u xc o n t r o l st h el i m i t a t i o no f r a wa c c e s st od a :c a ,p r o t e c t s k e r n e la n dt h ef i l e s y s t e m ,c o n f i n e sp r i v i l e g e dp r o c e s s e s ,t h r o u g ht h et y p e e n f o r c e d ,r o l eb a s e da c c e s sc o n t r o l ,u s e rb a s e da c c e s sc o n t r o la n dt h e f l e x i b l ec o n f i g r a t i o nr u l e s t os o l v et h ep r o b l e mo f d e a l i n gw i t he n o r m o u sa n dc o m p l e xs e c u r i t y s t r a t e g yi ns e l i n u xa n dd i s p e r s i v er u l e si ns e c u r i t ys u b - m o d e l ,t h i sp a p e r c o n s t r u c t sc o n t e x ts p a c e sa n da c c e s s i b i l i t ys p a c e st h r o u g ha n a l y z i n gt h e s e m a n t i c sa n dr e l a t i o n s h i p so fa l lr u l e sa n da b s t r a c t i n gt h es e t so f a t t r i b u t e s ,t y p e s ,r o l e sa n dc o n s t r a i n t sa c c o r d i n gt ot h es t r a t e g yg r a m m e r o fs e l i n u x f u r t h e rm o r e ,t h i sp a p e rp r e s e n t sav a l i d i t ya l g o t i t h mb a s e d 0 1 1t h e s es e t st ov e e r yi ft h es u b j e c tc o n t e x ts u b jh a st h em o d e p e r m i s s i o n st oa c c e s st h eo b j e c tc o n t e x to b jw i t i lt h eg i v e nc l a s s s ot h e s e c u r i t ya d i m i n i s t r a t o rc a ne v a l u a t et h es e c u r i t yt a r g e t so ft h ee x i s t e d r u l e sm o r ee a s i l ya n dt h ep o l i c yd e v e l o p e rc a nt e s tw h e t h e ri th a s a c h i e v e dt h ed e s i r e dr e s u l t sw h e nc r e a t i n gt h en e w p o l i c y s k e yw o r d s s e l i n u x ,p o l i c y ,i n t e g r a l i t y ,v a l i d i t y 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在在论文中作了明确的说 明。 作者签名: 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文,允许学位论文被查阅和借阅;学校可以公布学位 论文的全部或部分内容,可以采用复印、缩印或其它手段保存学位论 文;学校可根据国家或湖南省有关部门规定送交学位论文。 作者签名:导师签召匣兰! 备晶:2 翌五年月殂 硕士学位论文 第一章绪论 1 1 课题研究背景及意义 第一章绪论 随着i n t e m e t 的发展,信息安全受到前所未有的关注,对信息安全的要求也 在不断地提高。加强整个i n t e m e t 系统安全的前提是各节点必须能够满足机密性 和完整性的要求实施对信息的隔离,而操作系统提供的安全机制则是确保信息隔 离的基础【1 】。但是,当前还没有一种策略能够满足需求,我们不仅需要很多策略, 并且是很多不同类型的策略1 2 1 1 3 4 1 。一直以来,在主流操作系统的上采用的都是 自主访问控f b i ( d i s c r e t i o n a r ya c c e s sc o n t r 0 1 ) 5 1 。这种机制利用用户标识符和属主 权限来控制访问策略,却忽略了其他一些安全信息,如程序的功能和可信任度、 数据的机密性和完整性,使得这些系统的权限分配粒度太大,对安全的保护不充 分,无法实现高级别的安全操作系统【6 】阴。所以,在今天这样一个计算环境下, 操作系统必须支持安全策略的灵活性和可扩展性【5 】。但是,定义这些特性时,人 们试图将所有已知的安全策略都一网打尽,这种简单的方式是不现实的。大部分 系统当前提供的安全策略在计算机系统中作用是有限的,而且安全策略从文字上 落实到计算机系统中困难很大。理想情况下,若将计算机系统抽象成一个状态机, 可执行从一个状态到另一个状态的原子操作,利用这个模型,系统可提供所有的 安全策略灵活性。这个抽象模型不仅能捕捉到了安全策略灵活性的本质,而且它 能随整个当前系统状态的不同,对所有可能的操作做出不同的安全策略决策。在 当前操作系统中,有基于权能和中途截取请求这两种很常用的安全机制,但它们 在使用时都有一定的限制隅】,所以一个更接近真实的方法就是去鉴别与安全相关 的那部分系统状态,并且控制其操作瞪】。 在这种背景下,为了克服传统操作系统中的这些缺陷。提供可移植到主流操 作系统上的强制访问控制机制,研制出强大、灵活的安全体系结构,同时避免传 统强制访问控制m a c ( m a n d a t o r ya c c e s sc o n t r 0 1 ) 机制的局限,美国国家安全 局s a ) 在安全计算公司( s c c ) 的协助下,实现了一个相对以前更复杂,更具扩 展性和一般性的f l a s k 安全体系结构,即能够实施严格的访问控制,可以把进程 限制在满足它的最小需求权限内,并符合多种安全策略配置要求的安全增强的操 作系统s e c u r i t y - e n h a n c e dl i n u x ,简称s e l i n u x 。为了检验s e l i n u x 的安全性并 激励对主流操作系统上支持多种不同安全模块的安全体系结构的研究,n s a 发 布了s e l i n u x 源码及其研究方案的相关背景资料。此后n s a 的信息保障部门一 直引导着s e l i n u x 的开发,并致力于使其能够满足政府和工业的更高水准的信息 安全要求,使得s e l i n u x 只单单依赖于系统的内核和安全配置政策。 硕士学位论文第一章绪论 由于s e l i n u x n 的实现机制,相对于以前的操作系统而言,其灵活性和可扩 展性都更好些,它允许在不同层次的模型上( 类型增强、基于角色的访问控制、 基于用户的访问控制1 对访问权限的控制,而且能够利用相对较高层次的配置语 言和较高的语义( 比如角色) 抽象出一些容易让人迷惑的底层细节( 比如各个不同 的主体具有的权限) ,从而提供更好的可扩展性。但是,这又使得策略规则变得 更难理解,策略规则的数量更加巨大,更难全面把握这些规则的对系统的影响, 也不容易了解当前策略的状态是否满足了给定的安全目标,很难开发和管理安全 策略规则,甚至是主体是否可以利用给定的访问模式来访问一个给定的客体对 象,这一问题已经严重阻碍了s e l i n u x 的推广,这在n s a 的官方网站上的邮件 列剽l o 】里也多次提到这一点。基于这些原因,对从策略本身的研究成为大家关 注的重点。 1 2 策略分析研究现状 值得注意的是,支持策略的可扩展性比支持策略多重性难度更大。要使策略 具有较好的可扩展性就必须满足以下几个条件: ( 1 ) 系统必须在较低层次对象上具有细粒度的访问控制,但是同时也必须可 以在较高层次上控制策略。 ( 2 ) 访问控制权限的转移必须是参照访问控制策略规则,而不是其他任何东 西。 ( 3 ) 控制策略不能是静态的,但是支持策略的改变或者动态策略就必须有一 种机制能够支持运行时策略的撤销。 先前的系统允许同时存在不同策略,但是由于在这三方面的欠缺,他们在支 持可扩展性方面是不充分的。而在s e l i n u x 中,这些功能全部都被实现了,但是 系统具有安全策略配置的灵活性同时,使得开发新的安全策略变得困难,对已有 的策略规则的管理也更加困难。 目前,国内对于s e l i n u x 的研究还不多,主要工作集中在对安全操作系统的 研究和对强制访问控制机制的研究。 中国科学院计算技术研究所研究开发了基于l i n u x 的安全操作系统l i d s 。 l i d s 系统开发的基本出发点是保护文件系统、保护进程系统和对核心进行封 装,该系统通过权能( c a p a b i l i t y ) 机制实现对整个系统的控制,提供对访问控制 表( a c l ) 的支持。 中国科学院信息安全技术工程研究中心开发了基于l i n u x 的安全操作系统 s e c l i n u x ,该系统以t c s e c 标准的b 1 安全等级的要求为设计目标,提供身份标 识与鉴别、自主访问控制、强制访问控制、最小特权管理、安全审计、可信通路、 2 r 。f :l¥- 1 硕士学位论文 第一章绪论 密码服务和网络安全服务等方面的支持。 总体来说,国内在s e l i n u x 上的研究工作比较滞后,主要是对s e l i n u x 系统内 在安全机制的研究【l i 】;以及对欠缺的某些功能的完善,比如:对审计子系统的研 究【1 2 1 ;s e l i n 慨和其他安全操作系统多采用的安全模型的比较【1 3 】;利用s e l i n u x 对w c b 服务器的中进程和各个文件的访问控制【1 4 1 ;还有利用策略配置规则达到系 统安全的方法。至今,还未见有论文在s e l i n u x 策略分析方面的论述。 在国外,s e l i n u x 各方面的研究都一直都在持续进行。在已有的策略分析方 法中,m mt j w a s t o n 研究中心使用特殊的模型来重新表示初始化策略,为了更 易于理解,文中提出了访问控制空间的概念( a c s sc o n t r o ls p a c e ) ,它是所有可能 赋值给主体( 或角色) 的访问控制范围,可分为三个部分:l 、允许的访问控制空 间;2 、禁止的访问控制空间;3 、未定义的访问空间。在理想的情况下,这三个 部分不仅定义了全部的访问控制空间而且未定义的访问空间达到了最小。但是现 在尽管策略众多,未定义的空间仍然很大,并且允许的和禁止的空间还有重叠在 一起而造成的冲突,这些重叠冲突源于少部分例外的策略。为了计算给定策略规 则的不同访问控制空间及其相关约束,减少未定义的访问控制空间和约束限制而 产生的策略重叠部分,i b m 研制出的g o k y o t l 5 1 1 6 】【1 刀分析工具,不仅可以输出各 个访问控制空间的图形,还可以利用g o k y o 策略分析方法建立完整性保护的 t c b ( t r u e s t e dc o m p u t i n gb a s e ) ,使得t c b 中的类型除了那些可信的程序或被其认 证授权之外,在t c b 之外的程序都不能读写t c b 之内的各个类型【埔】。g o k y o 能 够分析非可信数据可以从那些地方进入t c b ,但是它没有分析如何使用可信程 序来过滤数据,g o k y o 还可以评估s e l i n u x 中的策略未达到完整性约束而产生的 冲突【搠。 m i t r e 公司利用信息描述了s e l i n u x 想要达到的目标,并且使用模型检查 的方法验证安全系统是否已达到安全预期效果。该公司的s l a t ( s e c u r i t y - e n h a n c e dl i n u xa n a l y s i st o o l s ) 就利用正则表达式描述在两个安全上下 文之间的信息流路径,验证是否所有的信息流路径都是某个预先给定的形式,如 果不是,则给出反例描述表达式以外的信息流。 同时在信息验证方面,还有t r e s y s 公司的提出相关的理论,它可以查询策 略文件中的各个基本元素( 属性,类型,角色) 的相关信息、信息流1 2 0 1 1 2 1 】的转移和 域的转换等过程,并开发了a p o l 验证工具,用来查看系统策略规则。它不仅有 图形化界面,而且为了方便查询还支持正则表达式。由于它也只有图形化输出而 不像s l a t 和p a l - r 具那样有自己的查询语言,所以也就不如他们灵活。 b e a t as a m a - s t a r o s t a , s c o t td s t o l l e r 等人在策略分析方面也提出了自己的观 点,他们提供了一个基于逻辑编程的方法来分析策略,并用x s b 2 2 1 实现一个新 3 硕士学位论文第一章绪论 的工具p a l ( p o l i c y a n a l y s i su s i n gl o g i c - p r o g r a m m i n g ) 。p a l 以s l a t 为基础,把 s e l i n u x 策略翻译成一个逻辑程序,它是一个基于表格的解决方案。但是p a l 在可扩展性和有效性等方面比s l a t 都要好些,而且还可以查询出安全上下文的 集合结果。比如,找出所有信息流是从安全上下文a 到安全上下文b 的所有安 全上下文集合圆。 另外,随着s e l i n u x 被集成到越来越多的l i n u x 发行版中,对于策略的健壮 性需求也越来越明显。当前每次策略的源配置文件改变了任何规则,都要重新编 译整个安全策略,这对于开发新的安全策略很不方便。因此,当前国外策略研究 的很多工作都集中在分析现有的策略,重新组织并模块化。这样对每一个模块都 是单独编译,最后链接到核心的策略部分,就能够避免现在的一些问题。类似于 现有l i n u x 平台上的一些软件安装方式( r p m ,a p t - g e t ,或者p o r t a g e ) ,能带来很 多的便利,比如: ( 1 ) 对管理员的维护策略更加简便。 ( 2 ) s e l i n u x 系统上的资源需求也可以缩减,对那些资源受限的系统( 比如 嵌入式系统) 尤其重要。 ( 3 ) 可以使策略的开发者不用过多的考虑所有的策略,只要专注于开发的策 略模块与策略的核心部分之间的协调。 1 3 论文所做的主要工作 本课题的主要研究目标是s e l i n u x 系统完整性和策略有效性算法的问题。通 过分析s e l i n u x 体系结构采用的f l a s k 安全模型,阐述s e l i n u x 配置策略的安全 目标,并详细研究了s e l i n u x 保护系统完整性的方法。最后还针对现有规则数目 庞大、复杂的问题,进行了对验证系统策略有效性的算法的研究。 针对以上研究内容,本文对以下方面进行了深入的研究,并取得了一定的研 究成果。 ( 1 ) 分析s e l i n u x 体系结构中的独立于具体安全策略的f l a s k 安全模型,详细 介绍了策略裁决子系统和策略执行子系统的结构和功能,以及他们之间的通信交 互机制。阐述了在m a c 中支持策略灵活性的一些通用的机制,包括客安全服务 器标上客体的安全属性标签的方法,安全授予的撤消机制,同时为满足低性能开 销要求的缓存机制等。 ( 2 ) 详细地分析了利用s e l i n u x 内在机制所具有的安全特性对系统的数据,内 核完整性保护,控制进程的隔离,保护系统管理员域等。 ( 3 ) 根据当前研究s e l i n u x 时面临的主要困境:由于策略数目众多复杂,现在 4 硕士学位论文 第一章绪论 还没有很好的算法模型能够有效地分析评估现有的策略规则,即不能有效的判断 现有的规则或者需要开发的策略规则是否能够满足人们的既定目标。基于这种的 现状,本文先介绍了当前现有的一些策略分析方法,比如基于数据流的分析方法、 基于访问控制空间的分析方法等,然后根据s e l i n u x 策略规则语法抽象出他们代 表的语义集合,提出一个有效的算法解决在策略分析中的基础问题,即某个主体 是否有一个给定的权限下访问某个给定的客体。利用此算法不仅更方便地分析现 有策略的安全目标,而且还可以在应用程序或者系统服务创建安全策略规则的时 候,检验其是否达到了的目的。最后,实现了此算法,在配置策略中做了验证, 并达到了预期的效果。 1 4 论文的组织 论文全文共分五章: 第一章绪论。本章主要介绍s e l i n u x 7 ) 其策略研究的背景和研究现状,针对 系统安全策略分析和实际应用中面临的一系列问题,论述了对系统完整性保护的 方法,并提出了安全策略规则研究的必要性及其意义。 第二章s e l i n u x 体系结构中的f l a s k 安全模型分析。本章主要阐述了s e l i n u x 操作系统中利用f l a s k 安全模型实现的m a c 机制,并详细地介绍了主要的几个 部分功能比如安全服务器,客体管理器等,还细致地论述了在m a c 中一些通用 的支持机制。 第三章s e l i n u x 系统完整性研究。简单介绍s e l i n u x 的配置策略及安全目 标,还利用s e l i n u x 提供的m a c 机制和灵活的配置语法,论述了对系统原始数 据、内核、文件系统和进程等计算机资源的完整性保护的方法。 第四章安全策略配置有效性研究。本章中根据s e l i n u x 提供的策略配置语 法,分析s e l i n u x 中各概念的语义而抽象出的许多集合,然后以这些集合为基础, 提出了一个有效解决“具有某个安全上下文的主体是否有在给定的权限下访问另 一个给定安全上下文客体的能力”的算法。 第五章:结束语。总结了系统开发工作并对未来的工作进行展望。 5 硕士学位论文 第二章s e l i n u x 体系结构中的f l a s k 安全模型分析 第二章s e l i n u x 体系结构中的f l a s k 安全模型分析 2 1f l a s k 安全模型概要 s e l i n u x 在l i n u x 内核中包含必要的访问控制,所用的安全性体系结构称为 f l a s k ,由n s a 在犹他大学和s e c u r ec o m p u t i n g 公司的协助下而设计完成,原型 从基于微内核的f l u k e 操作系统1 2 4 1r s 派生而来。在f l a s k 体系结构中,安全性策 略的逻辑和通用接口一起封装在与操作系统独立的组件中,通用接口用于获得安 全性策略决策。这个独立的组件称为安全性服务器( 因为其原型是在微内核之上 运行于应用层次的服务) ,该服务器实现了一种混合的安全性策略,包含类型增 强f i e ) 、基于角色的访问控制( r b a c ) 和可选的多级别安全性( m l s ) 等,广泛 用于军事安全性中。此安全体系结构刚【2 7 1 在安全操作系统研究领域的最主要突 破是灵活支持多种强制访问控制策略,支持策略的动态改变 2 8 1 。要达到这些要 求,必须能够提供三个主要的对象管理元素: ( 1 ) 体系结构提供一个安全服务器( s e e u d t ys e r v e r ) ,它提供了恢复访问裁 决、标签裁决、多实例裁决的接口。访问裁决是指是否在两个实体之间授权许可, 一般是在一个主体和一个客体之间;标签裁决是指给对象表明安全属性;多实例 裁决是指,指明对某个特定的请求允许访问多实例的资源集合中的成员。 ( 2 ) 这个安全体系结构提供a v c 模块,缓存客体管理时的访问许可,从而 达到空开销最小。 ( 3 ) 这个体系结构的客体管理器通过注册有能力获取安全策略改变的通知。 f l a s k 安全体系结构清晰分离定义安全策略的部件和实施安全策略的部件, 如图2 1 所示,安全策略逻辑封装在单独的操作系统组件中,对外提供获得安全 策略裁决的良好接口。在f l a s k 安全体系结构中,系统实施安全策略的组件称为 客体管理器,客体管理器从安全服务器获得安全策略的裁决,并通过绑订客体的 标识和操控对客体的访问来实施安全策略裁决。客体管理器分布在s e l i n u x 内 核的大多数子系统上,例如进程管理、文件管理、套接字管理等。 f l a s k 模糊了在t e 安全性方案中传统的类型和域的区别,在f l a s k 中,域 ( d o m a i n ) 也就是类型( t y p e ) ,不过域只是与进程相关的类型。每个进程都有 与之相关的域,每个对象都关联一种类型,该类型可能是域,也可能不是域。安 全性配置策略定义类型的域,并将指定由域能够访问的类型,它还可以指定当执 行某个特定类型时在域之间的自动转换规则,这意味着特定进程可以自动放在它 们自己的域中。自动域转换主要用于在系统初始化期间将系统守护程序放入它们 自己的域中,以及在执行特定程序时自动更改安全上下文。也可以通过除去对潜 6 硕士学位论文第二章s e l i n u x 体系结构中的f l a s k 安全模型分析 在危险程序( 例如n e t s c a p e ) 的许可权来限制由泄密( w e b 浏览器) 所导致的伤害。 角色也在配置中定义,每个进程都有一个与之相关的角色:系统进程以s y s ;t e m _ r 角色运行,而用户可以是u s e r ! 或s y s a d mr 。我们假设用户执行一个程序 ”f o o b a r ”,透过执行它,用户转移到u s e r _ f o o b a r _ t 域。该域可能只包含一小部分 与该用户初始登录相关的u s e r _ t 域中的许可权。 2 2 安全服务器 图2 - 1s e l i n u x 体系结构中的f l a s k 安全模型 安全服务器用于提供安全策略决策,维持安全标识s i d ( s e c u r i t yi d e n t i f i e r ) 和安全上下文( s e c u r i t yc o n t e x t ) 之间的映射,提供新创建客体的s i d 和成员客 体的s i d ,并且管理客体管理器的访问向量缓存( a c c e s sv e c t o rc a c h e ) 。现在多 数安全策略服务器实现都提供了加载和更改策略的功能。做出安全服务器的安全 裁决要依据于安全上下文,安全上下文是独立于安全策略的数据类型,包含了与 安全裁决相关的安全属性,能被系统多个部分处理但只能由安全服务器负责解释 网安全上下文不直接与对象绑订,与对象直接绑订的数据类型是安全标识 ( s i d ) 。安全标识符是客体管理器绑订的非全局,非恒定( 用于标识主体如进程) 的数据,在运行时由安全服务器持有并映射( m a p ) 为安全上下文。 在当前( 2 0 0 6 年4 月) 最新s e l i n u x 的安全服务器策略中定义了分为5 5 个客 体类别约2 0 5 种细粒度访问的许可,用于控制系统中几乎所有的操作。s e l i n u x 中的安全服务器使用的是支持多策略的安全模型,包括支持基于标识的访问控制 ( m a c ) ,基于角色的访问控制( 1 m a c ) 刚和类型增强( 1 e ) l 访问控制。如果编译 内核时选上c o n f i gf l a s km l s 内核配置选项,则系统就能够支持m l s 的策 略1 3 2 1 。但是s e l i n u x 并不依赖于这几个策略模型,也可以由其他的选择来替代 这个几模型,这仅仅是s e l i n u x 安全服务器多策略的一种组合。 安全服务器要处理两种裁决:第一种为访问控制裁决( a c c e s sd e c i s i o n ) ,用来 7 硕士学位论文第二章s e l i n u x 体系结构中的f l a s k 安全模型分析 裁决一个主体是否能够用某个给定的权限访问某个客体对象。第二种为转换裁决 ( t r a m i f i o nd e c i s i o n ) ,也可以称之为标识裁决,用来裁决某个新创建的对象( 文件 或者进程) 。 2 2 1 访问控制裁决 每一个对象的类别( c l a s s ) 都有一个相关联的位图称作存取向量 3 3 1 ,包含此 类别中的每一个可执行的动作,如表2 - 1 所示,描述了一个简化了的文件类别的 位图( 标以“一”的是不具有的权限) ,一个实际意义的文件类别包含超过2 0 种 存取控制动作。 表2 - 1 简化了的文件类别存取向量 文件安全类别 一 ,、 辇熏 窘 呈 v 矗 害 售 掣售 妊,、 ,、 蒿l 、 阶 囊亳曩薹 董 8 趸 蓍要 800 。o v 景 制 妊 j ;莒 鑫墨 鲻器 琐 测 萄 霜 耀 u 正如前面所讲的,安全服务器是用安全上下文裁决主体对客体的访问权限, 同时在裁决过程中安全类别和此类别中的操作都是必须的。当安全裁决后,返回 存取向量表示允许的权限。当然也可能有多条规则匹配如表2 - 2 所示,安全服务 器授权有创建和追加的权限( 图中标以公的就是具有相应的权限) 。 表2 - 2 从安全服务器返回的简化的访问向量 文件安全类别 器一 ,、 皇 规 害 莲差 蓁芎 鼍 髻 鼍 蒿耋 呈 v j e出 、 v 则 2 羹 贬罱 v 叫 憋 旨 u 粤 搦舌 一 墨 辎 类 量 v 辞v 撑 型 留 铡 掣 a l l o wxx a u d i t a l l o w d o n t a u d r 表2 2 中的三条指令有如下功能: 8 硕士学位论文第二章s e l i n u x 体系结构中的f l a s k 安全模型分析 ( 1 ) a l l o w 的存取向量表示主体对客体的有指明的访问权限,但是没有产生 这些操作的任何日志。 ( 2 ) a u d i t a l l o w 的存取向量表示主体对客体有指明的访问权限,但是和a l l o w 不同的是允许的操作会有日志记录。 ( 3 ) d o n t a u d i t 的向量中表示的是那些主体对客体没有的存取权限,但是有没 有默认的日志记录。 表2 - 3 三条验证指令的对比 匹配结果访问控制是否有日志记录 没有策略匹配不能访问有 与a l l o w 匹配能访问没有 与a u d i t a l l o w 匹配不能,除非a l l o w 指明有 与d o n t a u d i t 匹配不能 没有 所有的权限默认都是被拒绝的,就是除了a l l o w 中明确表明的权限外,剩下 的都是不允许的操作。当某个操作被拒绝的时候,默认都会有日志记录拒绝的操 作,除非是在d o n t a u d i t 中明确表明了,而操作权限允许的时候日志是不记录的, 当然如果指令a u d i t a u o w 明确指明的要除外。如表2 - 3 所示,总结了这三条指令 的作用。 2 2 2 转换裁决 既然系统中的每一个对象都有安全上下文,那么新创建的对象同样的需要一 个合适的安全上下文,转换裁决就是用来标识新创建的对象。转换裁决有两种可 能性:一是主体( p r o c e s s ) g , j 建;二是文件( f i l e ) l j 建。 在主体( p r o c e s s ) g l j 建时,被系统创建的新进程要么运行在和父进程一样的域 里要么运行在另一个授权的域里,如果运行在另一个新的域里,那么就必须经过 域转换的授权。假设一个进程( 父进程) 通过运行一个可执行程序调用麟系统调 用创建了一个新进程( 子进程) 。一般情况下,新创建的子进程运行具有和父进程 一样的安全上下文,但是在策略中一些可执行程序标识成某个域的进入点( e n t r y p o i n t ) ,这样这个子进程就运行在另一个域中,这个过程叫做域的转换。还有一 种情况就是有的进程可以使用s e l i n u x 的特殊的a p i ,本身转换到另一个新域。 当然这些进程是运行经过特定修改了的程序产生的,比如s s h ,l o g i n 等。如图2 2 所示,说明新进程创建后没有域转换的过程,用户使用v i 编辑器中,执行i s 命 令,此时的v i 和i s 都是运行在v it 域,右图是运行在i n i t r c 域中运行的程_t i n i t 序,当i n i t 程序运行s s h 守护进程的时候,就有域的转换发生,运行的s s h 进 程有它自己的域即s s h dt 。 9 硕士学位论文第二章s e l i n u x 体系结构中的f l a s k 安全模型分析 图2 - 2 创建新进程时的域转换 如上面所讲,系统是在主体的域、客体类型、类别、这些基础之上控制权限 的。当一个新进程转换到其他域的时候,与此进程相关的权限就是那个域所具有 的权限,这样就能够在一个较高的层次,较大的粒度上方便地控制系统。 创建文件时候的裁决与此类似,默认的情况下,新创建的文件( 普通文件, 目录文件,链接文件等) 的安全上下文是从父目录那里继承而来,当然也可以通 过策略规则明确指明新创建文件的安全属性,图2 3 就显示这两个过程。 s y s l o g d _ t 域 s y s l o g d 工具 l i t m pt m p _ t 类型的临时 目录 i m p l o g m a p | 、够一 剿 图2 - 3 创建文件时的类型转换 如图2 - 3 中左图所示,排序工具运行在s o r tt 域中,它所产生的l 缶时文件存 在t m p s o r t e d _ r e s u l t 文件中,具有和父目录t r a p 一样的安全类型t m pt 。右图的 过程则说明了s y s l o g d 进程在t m p 目录下创建的临时文件l o g t m p 应用了策略规 则,具有和父目录不同的s y s l o g _ t m p _ t 安全类型。 1 0 硕士学位论文第二章s e l i n u x 体系结构中的f l a s k 安全模型分析 2 3 客体管理器 s e l i n u x 客体管理器是运行于内核的各个子系统,是经过形式化验证的安全 程序。客体管理器负责管理客体与安全相关的属性( 如s l d ) ,并定义了对客体进 行标识的机制,它主要的功能是实施安全策略,控制对客体的访问,任何用户对 客体访问都定义了与之相对应的客体管理器。用户的请求导致客体管理器进行许 可检查,向安全服务器发出许可检查请求,从而获得安全裁决。任何用户对客体 访问的请求必须经过客体管理器,这是不可旁路的。系统用a v c 缓存这些访问 的裁决,可减少对安全服务器的查询开销。客体管理器对所有的客体安全属性是 进行的盲( o p a q u e ) 操作,即客体管理器标识客体或对s i d 操作时不对相应数据的 结构和数据的具体数值进行操作,因此,安全服务器策略和安全属性数据结构的 改变都不会影响客体管理器的运作 3 4 1 。 图2 - 4 具有缓存机制的客体管理器 如图2 _ 4 所示,描述了提供安全策略裁决的安全服务器子系统和执行安全裁 决的对象管理器子系统以及系统其他部分之间的关系。系统的主要目标就是不管 安全策略如何改变如何裁决,安全服务器始终提供给所有子系统一个一致的界 面,从而满足系统策略可扩展性要求。其次,此体系结构另一个要达到的目标是 对应用程序应当是透明的,并且是深度防御和非常小的执行开销。 客体管理器负责定义一种给客体对象打上标签( h b d i n g ) 的标记的机制。 每一个策略都是利用客体管理器提供的服务来控制访问的,每一个安全策略都在 安全服务器里面定义和实现。每一个客体管理器都必须定义一些响应安全策略改 变的处理例程。对使用多实例裁决的,为了合适的资源实例能够被调用,每一个 客体管理器都必须定义一种恰当的机制。 硕士学位论文 第二章s e l i n u x 体系结构中的f l a s k 安全模型分析 2 4 通用的支持机制 2 4 1 客体标签 所有的客体受安全策略的控制,同时也由安全策略来标上安全属性口4 】【矧。 首要的问题是这个体系结构怎样维持客体和安全上下文时间的联系,最简单的解 决方案是定义一个策略独立的数据类型,使它是对应客体对象的一部分,然而遗 憾的是没有哪个单独的数据类型很适合所有的方式。f l a s k 体系结构解决这一问 题的方法是为安全属性标签定义两个策略独立的数据类型:( 1 ) 安全上下文 ( s e c u r i t yc o n t e x t ) 是由一个可变长的字符串组成,一般由几部分组成,比如用户 标识符,角色,类型等【3 6 l 这主要依赖于采用的是什么安全策略模型,由于安全 上下文作为一个“不透明”的字符串被对象管理器处理,这样就不会影响到对象管 理器的可扩展性,但是使用这样的字符串作为对象安全上下文,显然开销比较大, 所以需要第二种数据类型:( 2 ) 安全标识符( s e c u r i t yi d e n t i f i e 0 是在f l a s k 中定义 的值,只能由安全服务器解释,并且是由安全服务器映射到安全上下文上。不过, 在安全服务器重启或系统重启的之后,某个对象的s d 是会发生变化的。另外, s d 必须是轻量级的,在s e l i n u x 的实现中,s i d 是一个简单的3 2 为整数。当 一个客体被创建,它就被赋予一个s i d ,用来表示安全上下文。这个上下文一 般依赖于客户端的请求和创建的环境。举例来说,一个新创建文件的安全上下文 依赖于创建目录的安全上下文和请求创建的客户端的安全上下文,新创建客体的 标识在下图中进行了描述。 如图2 5 所示是在f l a s k 中对象的标上标签的过程,客户端请求对象管理器 创建一个新对象,从中我们可以发现一下几点: ( 1 ) 对象管理器携带客户端的s i d ,相关对象的s 1 d 还有对象的类别向安 全服务器发送请求。 ( 2 ) 安全服务器根据策略逻辑规$ 0 ( p o l i e yl o g i c ) 计算出新对象的s i d 返回给 对象管理器。 ( 3 ) 对象管理器绑定安全服务器返回s i d 到新建立的对象。 硕士学位论文 第二章s e l i n u x 体系结构中的f l a s k 安全模型分析 决策执行;策略裁决 图2 - 5f l a s k 安全模型中创建新对象时的客体标识过程 2 4 2 客体管理器和服务器标识 客体管理器必须要保证s i d 是安全决策的一部分,是标识客户机产生请求 时的s i d 。客户机应能够标识服务器的s i d 以确保从正确的服务器中请求服务, 因此,f l a s k 安全体系结构要求底层系统为进程间通信( m c ) 提供某种形式的客 户机和服务器标识即】,内核将客户机的s i d 与请求一起提交给服务器,客户机 根据用于通信的权能产生内核调用,识别服务器的s i d ,当产生i p c 请求时, 客户机指定不同的s i d 作为其有效s i d 以代替传递给服务器的标识,服务器在 准备接受请求时也可指定有效s 。 2 4 3 安全决策的请求与缓存 安全性服务器只为包含用户、角色、类型和可选m l s 组合的合法安全性上 下文提供s i d 。“合法性”是由安全性策略配置( 将在本文的稍后部分介绍) 所确定 的,对象管理器查询安全性服务器根据标签对( 主体的和客体的) 和对象的类别获 得访问决定,而类别是用来标识对象的种类( 例如,常规文件、目录、进程、u n i x 域套接字,还是t c p 套接字) 。向量中的许可权通常由对象可以支持的服务和 实施的安全性策略来定义,访问向量许可权基于类别加以解释,因为不同种类的 对象有不同的服务。例如,访问向量中使用的许可权位表示文件的 u n l i n k 许可 权,它也用于表示套接字的 e o n n e 州许可权为了更好的执行性能,可以缓存 硕士学位论文 第二章s e l i n u x 体系结构中的f l a s k 安全模型分析 访问向量在访问高速缓存( a r c ) 中,也可以和对象一起存储,这样,对象管理 器就不必被那些已执行的决策的请求淹没。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年虚拟现实行业虚拟现实与增强现实技术应用前景与发展研究报告
- 2025年网络科技行业区块链数字货币应用前景研究报告
- 2025年生物科技行业创新药品研发与市场前景研究报告
- 2025年电子制造业柔性电子技术前景展望研究报告
- 商场员工安全培训方案课件
- 2025年汽车行业智能交通系统发展前景研究报告
- 山东省2025年潍坊高密市面向“三支一扶”人员定向招聘事业单位工作人员笔试历年参考题库附带答案详解
- 商场保安员安全培训课件
- 国家事业单位招聘2025中国东航一二三航空有限公司校园招聘笔试历年参考题库附带答案详解
- 南江县2025上半年四川巴中市南江县县级机关事业单位考调(选聘)27人笔试历年参考题库附带答案详解
- 潍坊市2026届高三开学调研监测考试化学试题及答案
- 采购成本控制培训
- 商业地产策划流程
- GB 46031-2025可燃粉尘工艺系统防爆技术规范
- 破圈与共生:2025中国社交媒体全球化发展报告
- 2025年社保理赔考试题目及答案
- 产教融合校企合作课件
- 质量攻关项目汇报
- 电力企业综合应急预案编制导则
- 低空经济 翻译
- 台风灾害教学课件
评论
0/150
提交评论