已阅读5页,还剩55页未读, 继续免费阅读
(计算机应用技术专业论文)基于程序的访问控制机制研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 操作系统安全是计算机乃至信息系统安全的基础。访问控制是实现操作系 统安全的重要机制之一。访问控制的基本任务是保护存储在计算机上的信息, 防止非授权用户对信息的访问以及授权用户的越权访问,保证信息的机密性、 完整性和可用性。细粒度的访问控制能够增强操作系统安全策略的灵活性。 主流操作系统采用的自主访问控制基本上是基于用户的,通过用户相关属 性来判定进程的操作权限,这是和最小特权原则相悖的,访问控制粒度太粗, 不利于系统的安全。基于程序的访问控制依据可执行程序进行访问授权,和基 于用户的访问控制共同作用,完成系统的访问控制功能,实现了用户权限和程 序权限的分离。进程权限是用户权限和可执行程序权限的交集,不再拥有用户 的所有权限,细化了访问控制粒度,提高了系统安全性。 本文介绍了基于程序的访问控制的基本思想,并基于l i n u x 操作系统设计和 实现了基于程序的访问控制系统,作为原有d a c 访问控制的细粒度补充。系统 基于l s m ( l i n u x 安全模块) 框架实现,受内核版本影响较小,具有通用性,易于 和其他安全模块兼容。系统采用模块方式实现,可以根据需要加载,支持动态 策略机制。为了减轻对系统性能的影响,实现过程中做了简化,对访问权限类 型不作区分,仅保存客体路径或索引节点信息。系统还将常用的系统程序定义 为可信任程序,对该类程序,基于程序的访问控制系统直接返回允许访问,既 简化了访问控制过程,又能保证系统的安全性。本文设计的基于程序的访问控 制系统适合于用作服务器的l i n u x 系统中,可以抵御部分木马程序的攻击,能起 到很好的安全效果。 关键字:访问控制可执行程序l i n u x 安全模块( l s m ) a b s t r a c t a b s t r a c t o p e r a t i n gs y s t e ms e c u r i t yi st h ef o u n d a t i o no f t h es e c u r i t yo f t h ec o m p u t e rs y s t e m , a n de v e nt h ei n f o r m a t i o ns y s t e m a c c e s sc o n t r o li so n eo ft h em e c h a n i s m st oe n s u r e o p e r a t i n gs y s t e ms e c u r i t y t h e b a s i ct a s ko fa c c e s sc o n t r o li st op r o t e c tt h ei n f o r m a t i o n s a v e do nt h ec o m p u t e r , t op r e v e n tf r o mu n a u t h o r i z e da c c e s sa n dt oa s s u r et h e c o n f i d e n t i a l i t y , i n t e g r i t ya n da v a i l a b i l i t yo ft h ei n f o r m a t i o n f i n e - g r a i n e da c c e s s c o n t r o li sa b l et oe n h a n c et h ef l e x i b i l i t yo fs e c u r i t yp o l i c yi nt h eo p e r a t i n gs y s t e m i nm a i n s t r e a mo p e r a t i n gs y s t e m ,t h ed i s c r e t i o n a r ya c c e s sc o n t r o li sb a s e do nt h e u s e rm a i n l y 砀ea c c e s sp e r m i s s i o no ft h ep r o c e s si st h es a m ea st h eu s e r , w h i c hi s a b h o r r e n tf r o mt h el e a s tp r i v i l e g ep r i n c i p l ea n db a dt ot h es e c u r i t yo ft h es y s t e m i n p r o g r a m b a s e da c c e s sc o n t r o lm e c h a n i s m ,t h ep r o c e s sp e r m i s s i o ni s b a s e do nt h e p r o g r a m ,w h i c hi sa na d d i t i o nt ot h eu s e r - b a s e da c c e s sc o n t r o lm e c h a n i s m i nt h e s y s t e m ,t h ep r o c e s sp e r m i s s i o ni sb a s e do nt h eu s e ra n dt h ep r o g r a m ,w h i c h i sl e s st h a n t h ep e r m i s s i o no ft h eu s e r , a n dt h ea c c e s sc o n t r o li sf i n e g r a i n e da n ds a f e r i nt h i st h e s i s ,t h eb a s i cc o n c e p t so fp r o g r a m - b a s e da c c e s sc o n t r o la r ei n t r o d u c e d , a n dap r o g r a m - b a s e da c c e s sc o n t r o ls u b s y s t e mi sd e s i g n e da n di m p l e m e n t e di nt h e l i n u xo p e r a t i n gs y s t e m ,w h i c hi saf i n e - g r a i n e da d d i t i o nt ot h ed a ca c c e s sc o n t r 0 1 t h es y s t e mi si m p l e m e n t e db a s e do nt h el s m ,w h i c hi sh a r d l yi n f l u e n c e db yt h ek e r n e l v e r s i o na n de a s yt ow o r kw i t ho t h e rs e c u r i t ym o d u l e s t h es y s t e mi si m p l e m e n t e da s m o d u l e sa n dc a nb el o a d e di n t ot h eo p e r a t i n gs y s t e md y n a m i c a l l yi f n e e d e d t ol i g h t e n t h ea f f e c tt ot h ep e r f o r m a n c eo ft h es y s t e m ,w es i m p l i f yt h ei n f o r m a t i o no ft h eo b j e c t , w i t h o u tt h ea c c e s sp e r m i s s i o nt ot h eo b j e c t h lt h es y s t e m ,s o m ep r o g r a mi sd e f i n e da s t r u s t e dt os i m p l i f yt h ep r o c e d u r eo fa c c e s sc o n t r 0 1 t h ea c c e s sc o n t r o ls y s t e mb a s e do n p r o g r a mi ss u i t a b l et h el i n u xo p e r a t i n gs y s t e mu s e da st h es e r v e r i ti sa b l et od e f e n d t h ea t t a c ko fs o m et r o j a nh o r s ep r o g r a ma n dt oe n f o r c et h es e c u r i t yo ft h es e r v e r s y s t e m k e yw o r d s :a c c e s sc o n t r o l ,e x e c u t a b l ep r o g r a m ,l i n u xs e c u r i t ym o d u l e s i i 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名:碧兰芑 。? 年9 r 月1 7e t 、 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 解密时间:年月日 各密级的最长保密年限及书写格式规定如下: 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作 所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含 任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉 及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学 位论文原创性声明的法律责任由本人承担。 学位论文作者签名: 媒兰专 翻年r 月1 e l j 第一章绪论 第一章绪论 计算机和网络技术的飞速发展和广泛应用,极大改变了人们的工作和生活 方式,推动了整个社会的快速发展。近年来,随着计算机技术的普及和互联网 络的发展,特别是电子商务、电子政务、网上银行等新兴事物的出现,使得信 息可以便捷传输和广泛共享。随着信息共享程度的逐步提高,人们对于计算机 和网络技术的依赖程度不断增加,信息安全受到越来越多的关注。 在网络环境中,整个网络的安全依赖于网络中各计算机系统的安全。如果 计算机系统自身的安全无法保证,整个网络的安全更是无从谈起。而操作系统 是计算机系统的基础软件,系统中的其他软件都是在操作系统的基础上工作, 如果操作系统的安全受到威胁,将会给计算机系统带来灾难性的后果。因此, 操作系统安全是计算机系统安全乃至整个网络系统安全的基础。 第一节操作系统的安全问题 计算机系统由硬件和软件两部分组成,操作系统是配置在计算机硬件上的 第一层软件,是用户、应用程序和计算机硬件系统间交互的接口,负责控制和 管理计算机所有的软、硬件资源。计算机系统的很多安全问题都源于操作系统 存在的安全弱点,要解决操作系统的安全问题,就要研究操作系统所面临的安 全威胁,这样才能有针对性的采取措施保证操作系统的安全性。 操作系统的安全是建立在信息的机密性、完整性和可用性之上。信息的机 密性是指信息的隐藏,有时也指保护信息的存在性,目的是使信息对非授权的 用户不可见。信息的完整性是指信息的可信程度,保证信息没有经过未经授权 的改变,包括内容的完整性和来源的完整性。信息的可用性是指对信息或资源 的期望使用能力。可用性和安全相关是因为有人可能会蓄意地使数据或服务失 效,以此来拒绝对数据或服务的访问。 随着时间的发展,针对操作系统的攻击手段越来越多。下面列举了当前常 见的几种攻击手段: ( 1 ) 病毒,指编制或在计算机程序中插入的破坏计算机功能或毁坏数据,影 响计算机使用,并能自我复制的一组计算机指令或程序代码。病毒具有隐蔽性、 第一章绪论 传染性、潜伏性和破坏性等特点。 ( 2 ) 木马,是一种基于远程控制的黑客工具。它在用户不知情的情况下执行, 把计算机的数据发送给攻击者,具有隐蔽性和危害性。 ( 3 ) 后门,是利用植入操作系统内部的一段非法代码入侵系统,能绕过安全 性控制而获取对程序甚至系统的访问权。 ( 4 ) 间谍软件,通常是一个独立的程序,它监视用户和系统活动、窃取用户 敏感信息,包括用户名、密码、银行卡和信用卡信息等,然后将窃取到的信息 以加密的方式发送给攻击者。 ( 5 ) 隐蔽通道,一种允许违背合法的安全策略的方式进行操作系统进程间通 信的通道。 近年来,针对操作系统的安全攻击数量越来越多,攻击手段不断推陈出新, 而且各种攻击手段经常交织在一起,造成的安全风险也越来越大。2 0 0 7 ,国家 计算机网络应急技术处理协调中心收到4 3 9 0 件非扫描类网络安全事件报告【l 】, 其中绝大部分事件都与操作系统的安全性相关,而且对系统的影响是多方面的。 第二节操作系统安全机制 操作系统是硬件和系统中其他应用软件之间的连接桥梁,本身提供了一些 安全服务来保证计算机系统的安全。它所提供的安全服务主要包括:内存保护、 文件保护、存取鉴别、访问控制等。操作系统安全的主要目标为【2 】: ( 1 ) 保证系统自身的安全性、完整性和可用性。 ( 2 ) 标识系统中的用户,并进行身份鉴别。 ( 3 ) 保护系统中的资源,实施访问控制,防止对资源的非授权访问。 ( 4 ) 监督并记录系统运行的安全性。 要实现这些目标,需要建立相应的安全机制,根据国际标准化组织 ( i n t e r n a t i o n a lo r g a n i z a t i o nf o rs t a n d a r d i z a t i o n ,i s o ) 的定义,安全机制是一种技术、 一些软件或实施一个或更多安全服务的过程【3 1 。安全机制可以分为特殊安全机制 和普遍安全机制。特殊安全机制是指在同一时间只针对一种安全服务实施的一 种软件或技术。加密就是特殊安全机制的一个例子。普遍安全机制是指可以在 多个安全服务上实施的安全技术或软件。普遍的安全机制包括事件监测、审计 跟踪、安全恢复等。特殊安全机制和普遍安全机制不同的另一个方面是普遍安 2 第一章绪论 全机制不能应用到开放系统互联( o p e ns y s t e mi n t e w c o r m e c t i o n ,o s i ) 参考模型的 任一层上。 下面我们介绍操作系统设计中重要的安全原则之一一最小特权原则,并给 出几种当前操作系统经常使用的安全机制。 1 2 1 最小特权管理 最小特权原则是操作系统安全的最基本原则之一。该原则要求用户和进程 在完成某种操作时仅仅拥有完成该操作所需的最小权限。一方面,给予主体“必 不可少 的特权,这保证了任务或操作的完成;另一方面,它只给主体赋予。必 不可少 的特权,这就限制了每个主体所能进行的操作。当系统的合法主体被 入侵时,该原则可以减少入侵对系统所造成的危害,缩小危害传播的范围。 当今比较流行的商用多用户操作系统中,超级用户一般拥有所有的特权, 普通用户不具有任何特权。这种用户权限管理方式便于系统管理和维护,但不 利于系统的安全。一旦超级用户的口令丢失或被入侵,可能对系统造成灾难性 的后果。另外,用户的行为一般通过进程表现出来,系统在授予权限时基于用 户而不是基于进程,即进程拥有所属用户的所用权限,这也是和最小特权原则 不相符合的。 最小特权管理的思想是系统不应给用户超过执行任务所需特权以外的特 权,如将超级用户的特权划分为一组细粒度的特权,如系统管理员、安全管理 员、审计管理员、数据库管理员等,明确各种管理人员的具体权限,从而减少 由于特权用户口令损失或错误软件、恶意软件、误操作所引起的损失。 1 2 2 身份认证机制 身份认证机制是实现操作系统安全的重要机制之一。系统对用户进行区分, 不同的用户赋予不同的访问权限,并对用户的身份进行认证,避免系统遭受未 经授权的访问。在当前流行的操作系统中,身份认证机制是其他安全机制如访 问控制、安全审计等的基础,只有经过身份认证,系统确定了该用户所具有的 权限,其他的安全措施才能得以实施。不仅在操作系统安全中,数据库系统、 网络等也常常引入身份认证来保证安全性。 超级用户和普通用户的划分就是身份认证的一种简单实现。身份认证的实 3 第一章绪论 现方式多种多样,如:基于口令的身份认证,不同的用户拥有不同的口令,根 据用户出示的口令来鉴别用户的身份;基于指纹、虹膜等的生物鉴别方法,根 据用户指纹等特征的独有性来对用户的身份进行认证;基于k e r b e r o s 等技术的 用户身份认证等。 1 2 3 访问控制机制 用户通过身份鉴别后,还必须通过授权才能访问资源或进行操作。系统通 过访问控制系统来进行授权。访问控制是指控制系统中主体对客体的访问,也 即根据访问中主体和客体的关系来决定主体是否可以访问客体【4 l 。其基本任务是 防止主体对系统资源的非法使用,保证对客体的所有访问都是被认可的。访问 的主体一般是用户或者进程,客体则可以是文件、设备、i p c 等,权限可以是读、 写和执行等。 常见的访问控制方式有:自主访问控$ 1 j ( d i s c r e t i o n a r ya c c e s sc o n t r o l ,d a c ) 、 强制访问控制( m a n d a t o r ya c c e s sc o n t r o l ,m a c ) 和基于角色的访问控制 ( r o l e - b a s e d a c c e s sc o n t r o l ,r b a c ) 等。自主访问控制中,主体对客体的访问权限 是由客体的属主或具有指定特权的用户决定的,即客体的属主可以决定其他主 体对于该客体的访问权限。在强制访问控制中,主体和客体被赋予相应的安全 属性,系统根据主客体的安全属性参照访问控制规则来确定访问权限,即访问 是基于规则的。基于角色的访问控制的基本思想是:在主体和访问权限之间引 入角色的概念,使主体和角色、角色和访问权限相联系,实现了主体和访问权 限的逻辑分离。 当前操作系统中,采用的多是自主访问控制,该机制概念简单,实现上也 较容易,但通常访问控制是基于用户的,进程拥有用户的所有权限,访问控制 的粒度较粗,容易带来安全问题。强制访问控制是基于规则的,能很好的保证 系统的安全,但该机制灵活性差,适合于对安全性要求很高的系统,如军方等。 基于角色的访问控制引入角色的概念,对角色分配访问权限,适合于角色相对 固定,但人员流动较大的系统。 本论文针对通常操作系统采用的自主访问控制系统不能抵御木马程序、访 问粒度太粗等弱点,设计和实现了基于程序的访问控制系统,作为原有访问控 制机制的细粒度补充,和原有访问控制系统共同作用,能有效防御部分木马程 4 第一章绪论 序的攻击,提高了整个系统的安全性。 1 2 4 可信通路 可信通路是终端用户能够借以直接同操作系统核心通信的一种机制。该机 制只能由终端用户或可信计算基启动,而且不能被不可信软件( 如木马程序等) 所模仿。用户进行安全有关的操作时,例如登录、定义用户的安全属性、改变 文件的安全等级等操作,必须保证是和计算机系统的安全核心通信。特权用户 在进行特权操作时,也要确保从终端上输出的信息是正确的,而不是木马程序 伪造的。这些都需要一个机制保障用户和操作系统核心的通信,这种机制就是 由可信通路提供的。可信通路能够保证用户确实是和操作系统核心通信,防止 不可信进程模拟系统的登录过程而窃取用户的口令。 实际应用中,对用户建立可信通路的一种方法是使用通用终端,通过发信 号给核心。这个信号是不可信软件不能拦截、覆盖或伪造的。一般称这个信号 为“安全注意键。安全注意键是由终端驱动程序监测到的按键的一个特殊组合。 系统一旦识别到用户在一个终端键入了安全注意键,就会终止对应到该终端的 所有用户进程,启动可信的会话过程,以保证用户名和口令的安全。 1 2 5 安全审计机制 安全审计是保证操作系统安全的关键技术之一。操作系统的安全审计是指 对系统中有关安全的活动进行记录、检查和审核。审计记录是系统运行中记录 的关于系统运行状况的数据,通过对其分析,我们可以准确描述系统的行为, 发现系统中的不安全因素,识别系统事故的责任者,检测和阻止可能的入侵。 美国的可信计算机系统评估准则【5 l ( 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 ) 和我国的计算机信息系统安全保护等级划分准则【6 1 ( g b l 7 8 5 9 1 9 9 9 ) 中都将系统的安全审计列为重要的安全标准之一。 论文作者曾参与天津市科技攻关软件项目( l i n u x 系统安全审计技术研究 的设计和开发工作。该项目设计并实现了一个达到g b l 7 8 5 9 1 9 9 9 中结构化保护 级要求的安全审计系统【_ 7 1 。该系统记录系统运行中的系统调用信息,保存在审计 服务器中,并利用短序列模型对保存的审计信息进行分析,得到系统运行状况。 所实现的安全审计系统的整体结构如图1 1 所示。为了提高审计系统的安全 5 第一章绪论 性,采用内核级的审计,这样可以做到独立于应用程序,并且获取的审计数据 完备、可信,不容易被污染。系统运行中,采集系统运行关键信息作为审计数 据并传给r 志记录器,由同志记录器完成同志记录并调用分析器分析数据,发 现异常则传递给通告器发出警告。审计管理员可以定期对保存的审计信息进行 查询和分析,得到系统的运行状况,当系统出现异常时,也可以根据保存的审 计数据来查找原因。 图1 1安全审计系统总体结构 第三节本论文的工作 本文首先分析和研究了保证操作系统安全的访问控制机制,讨论了各种访 问控制机制的特点和不同应用,接着对已经加入l i n u x2 6 内核的通用访问控制 框架l s m ( l i n u xs e c u r i t ym o d u l e s ,l i n u x 安全模块) 进行分析,对其实现细节以及 已有的基于该框架的安全模块进行研究,最后利用l s m 机制设计并实现了一个 基于程序的访问控制系统。 传统的自主访问控制是基于用户的,进程拥有用户的所有访问权限,访问 控制的粒度比较粗,这一点是和最小特权原贝l j ( l e a s tp r i v i l e g ep r i n c i p l e ) 相违背 的,而且无法抵御木马程序的攻击。基于程序的访问控制是基于可执行程序的 功能分配权限,和基于用户的访问控制共同作用,进程权限是用户权限和可执 行程序权限的交集,更好地符合最小特权准则【引。 6 第一章绪论 本文设计并实现了基于程序的访问控制系统。相对于传统的d a c ,本系统 对同一用户执行不同程序时的权限进行区分,使得访问控制的粒度更细,在系 统被入侵时,入侵者能够获得的权限受到限制,对系统造成的破坏也受到限制, 可以有效地抵御部分木马程序的攻击。该系统是对传统d a c 系统的补充,通过 l s m 实现,可以根据需要动态加载和注销。另外,在具体实现时,系统对访问 控制权限进行了简化,降低了系统实现复杂度,将系统的性能损失降低到最小。 第四节本论文的组织结构 第一章是“绪论”,分析了操作系统面临的安全威胁,并介绍了常见的保证 操作系统安全的机制:访问控制、安全审计、身份认证等,介绍了本文的研究 内容和目标,归纳了本文的研究成果。 第二章是“访问控制机制研究”,分析了常见的访问控制机n - 自主访问控 制、强制访问控制和基于角色的访问控制。介绍了各种机制的基本思想和特点, 并讨论了各自的应用领域。 第三章是“访问控制框架 ,介绍了常见的访问控制框架:g f a c 、f l a s k 和 引入l i n u x2 6 版本内核的l s m 访问控制框架,分析了l s m 的实现细节和对内 核所做的改动,并讨论了已有的基于该框架的安全模块。 第四章是“基于程序的访问控制系统设计与实现 ,详细讨论了基于程序的 访问控制的基本思想,系统的整体框架、模块设计以及具体实现细节,最后给 出了该系统的安全性分析。 最后一章进行了总结,分析了当前系统的特点,并提出了下一步的研究方 向。 7 第二章访问控制机制研究 第二章访问控制机制研究 第一节主要概念 访问控制是实现操作系统安全的重要机制之一。访问控制的基本任务是保 护存储在计算机上的信息,防止非授权用户对受保护信息的访问以及授权用户 的越权访问,保证信息的机密性、完整性和可用性。 在计算机信息系统安全保护等级划分准则g b l 7 8 5 9 1 9 9 9 中,对访问控制相 关的主要概念给出了准确的定义: ( 1 ) 计算机信息系统( c o m p u t e ri n f o r m a t i o ns y s t e m ) 由计算机及其相关的和配套的设备、设施( 含网格) 构成的,按照一定的应用 目标和规则对信息进行采集、加工、存储、传输、检索等处理的人机系统。 ( 2 ) 计算机信息系统可信计算基( t r u s t e dc o m p u t i n gb a s eo fc o m p u t e r i n f o r m a t i o ns y s t e m ) 计算机系统内保护装置的总体,包括硬件、固件、软件和负责执行安全策 略的组合体。它建立了一个基本的保护环境并提供一个可信计算系统所要求的 附加用户服务。 ( 3 ) 客体( o b j e c t ) 信息的载体。 ( 4 ) 主体( s u b j e c t ) 引起信息在客体之间流动的人、进程或设备等。 ( 5 ) 敏感标记( s e n s i t i v i t yl a b e l ) 表示客体安全级别并描述客体数据敏感性的一组信息,可信计算基中把敏 感标记作为强制访问控制决策的依据。 ( 6 ) 安全策略( s e c u r i t yp o l i c y ) 有关管理、保护和发布敏感信息的法律、规律和实施细则。 ( 7 ) 访问监控器( r e f e r e n c em o n i t o r ) 监控主体和客体之间授权访问关系的部件。 访问监控器是访问控制机制的重要理论基础,其思想最早产生于上世纪7 0 年代。1 9 7 2 年,作为承担美国空军一项计算机安全规划研究任务的研究成果, 8 第二章访问控制机制研究 j e a n d e r s o n 在一份研究报告中首次提出了访问监控器、安全内核、引用验证机 制和安全建模等重要思想,可以说是现代访问控制框架的原始模型【9 1 。在著名的 计算机安全评价标准t c s e c 中,访问监控器被作为重要的理论基础。 访问监控器模型如图2 1 中所示。其中,访问监控器是负责实施安全策略的 软件和硬件的结合体,是访问控制的核心部件:授权数据库( a u t h o r i z a t i o n d a t a b a s e ) 中保存了访问控制的规则,是访问控制的依据;审计数据库( a u d i t d a t a b a s e ) 中保存了访问控制的执行情况。访问控制依赖访问监控器进行主体对 客体访问的控制,以决定主体是否有权对客体进行操作和进行何种操作。访问 监控器查询授权数据库,根据系统安全策略进行访问控制的判断,同时将相应 的活动记录在审计数据库中。由访问监控器模型可以看出,访问控制是保证操 作系统安全最核心的技术,但它并不是孤立的,必须和其他安全技术相互配合, 才能很好地发挥作用。 图2 1 访问监控器模型 访问控制机制的实行主要包含以下措施: ( 1 ) 确定要保护的资源。即确定系统中被处理、被控制或被访问的对象,如 文件、进程等。 ( 2 ) 确定访问控制的主体。即规定可以访问资源的实体或主体,通常是一个 人,有时也可能是一个软件程序或进程。 ( 3 ) 确定访问权限。即规定主体可以对资源实施的动作,例如读、写、执行、 删除、重命名、读属性等不同方式的组合。 ( 4 ) 实施访问权限。即通过确定每个实体可以对哪些资源执行哪些动作来确 9 第二章访问控制机制研究 定该安全方案。 概括地说,就是首先识别和确认系统的资源和访问资源的主体,然后决定 该主体对某一系统资源可以进行何种类型的访问。 访问控制涉及的领域很广,方法也很多,常见的访问控制机制有自主访问 控制、强制访问控制、基于角色的访问控制等几种。 第二节自主访问控制 自主访问控制是基于主体或主体组的鉴别来限制对客体访问的一种方法。 自主的含义指一个对客体具有一定访问权限的主体能够将此权限直接或间接地 传递给其他任何主体。自主访问控制基于对主体身份的识别,来限制其对客体 的访问,并检验访问控制请求是否符合访问控制规则来决定对客体访问的执行 与否。因此保护客体的安全和限制主体的权限是自主访问控制的主题【l o l 。自主 访问控制可以通过图2 2 来说明。 图2 2 自主访问控制 传统的自主访问控制模型是基于状态机设计的,系统的状态可以用四元组 ( s ,d ,p ,) 表示,其中s 表示系统中主体的集合,o 表示系统中客体的集合,p 表示访问权限的集合,表示主体、客体到访问权限的映射函数,可以用二维 的访问控制矩阵表示【i 。如表2 1 中所示,在访问控制矩阵中,主体用行表示, 客体用列表示,行与列的交叉点表示行所对应的主体对该列所对应的客体的访 问权限,此访问控制权限的范围取决于访问控制权限有限集p 。 1 0 第二章访问控制机制研究 表2 1自主访问控制矩阵 客俸 d ld 2d 3d 4 d 5 主鲈 墨p j p 1 2局3a 4易5 s 2p 2 ip 2 2n 3仍4p 2 5 邑p 3 ip 3 2岛3p mp 3 5 主流操作系统采用的自主访问控制一般是基于用户的,4 1 1 节中给出了详 细的说明,针对该访问控制模型的缺陷,引出了基予程序的访问控制增加系统 的安全性。 目前,在操作系统中实现的自主访问控制机制一般都不是将矩阵完整的保 存起来。因为矩阵中的许多元素常常为空,大量的空元素会造成存储空间的浪 费,并且查找元素会耗费很多的时间,造成访问控制的效率很低。实际上采用 的方法是基于矩阵的行或列来表示访问控制信息。 2 2 1基于行的控制机制 基于行的控制机制在每个主体上都附加一个该主体可以访问的客体的明细 表。根据表中信息的不同可以分为三种形式:权能表( c a p a b i l i t i e sl i s t ) 、前缀表 ( p r o f i l e ) 和口令( p a s s w o r d ) ( 1 ) 权能表 权能表是指一组属性或许可,决定主体是否能够对客体进行访问以及进行 何种模式的访问,如读、写、执行等f 1 2 1 。在系统的最高层,即与用户和文件相 联系的位置,对于每个主体,系统有一个权能表。当一个主体要访问一个客体 时,必须出示其权能表,系统根据表中的授权信息进行访问控制。主体可以把 自己对于客体的权能传递给其他主体,从而使其他主体可以具有类似的权限。 权能表中的权能是通过权限字来实现的。权限字记录了主体对客体所具有 的特定权限,并且该权限字不可伪造。主体可以建立新的客体,并指定在这些 客体上允许的操作。每个权限字标识可以允许的访问,例如,用户可以创建文 件、数据段、子进程等新客体,并指定它可接受的操作种类。权限字保存了系 第二章访问控制机制研究 统的访问控制信息,必须存放在内存中不能被普通用户访问的地方,如系统保 留区、专用区或者被保护区域内。 目前利用权能表来实现自主访问控制的系统不多,仅有少数系统,如m u l t i c a 系统、c a l 系统等。 ( 2 ) 前缀表 前缀表的访问控制形式是对每个主体赋予前缀表。前缀表保存了受保护的 客体信息和主体对它的访问权限。当主体要访问某客体时,自主访问控制机制 将检查主体的前缀表是否具有它所请求的权限。前缀表的实施机制具有以下三 个问题:前缀的大小限制;新客体生成时,如何进行权限的分配;前缀的创建 和修改。 由于前缀表中保存着系统的访问控制信息,由专门的安全管理员控制主体 的前缀是比较安全的,但这种方法非常受限。在一个频繁更迭对客体的访问权 的环境下,这种方法肯定是不适宜的。因为访问权的撤销一般也是比较困难的, 除非对每种访问权,系统都能自动校验主体的前缀。而删除一个客体则需要判 断在哪个主体前缀中有该客体。另外,由于客体名是杂乱无章的,所以很难分 类。对于一个可访问许多客体的主体,它的前缀量将是非常大的,因而是很难 管理的。此外,所有受保护的客体都必须具有唯一的客体名,互相不能重名, 而在一个客体很多的系统中,应用这种方法就十分困难。 在实际应用中,前缀表不是实现自主访问控制的最佳选择,很少有系统采 用前缀表实现自主访问控制。 ( 3 ) 口令 口令也可以用在访问控制系统中实现自主访问控制机制。在基于口令的自 主访问控制系统中,每个客体都拥有自身的口令。主体在对客体进行访问前, 需向系统提供该客体的口令,如果该口令和客体拥有的口令相符合,则该主体 可进行访问。 如果对每个客体,每个主体都拥有它自己独有的口令,则类似于权能表系 统。但口令不像权能那样动态,系统一般要事先为客体分配口令,或者对客体 的各种访问模式分配不同的口令( 如读口令、写口令、修改属性口令等) ,系统在 执行不同的访问操作时,需提供不同的操作口令。 口令机制用于身份验证,是一种比较有效的方法,若用于访问控制,并不 是一种合适的方法。因为如果要撤销某主体对客体的访问权限,只能通过修改 1 2 第二章访问控制机制研究 该客体的口令,而这同时意味着废除了所有其他利用该口令访问这个客体的主 体的访问权。 目前,利用口令机制实现自主访问控制的系统主要有i b m 公司的m v s 系 统等。 2 2 2 基于列的控制机制 基于列的控制机制是指为每个需要保护的客体附加一份可以对其实施访问 的主体的明细表。对客体进行访问前,查询客体的访问控制信息,决定是否实 施该访问。主要有两种方式:保护位和访问控制表。 ( 1 ) 保护位 保护位机制对客体的拥有者及其他的主体、主体组,规定一个对该客体访 问模式的集合。采用保护位机制,简单、高效,易于使用,但是不能完备地表 达访问控制矩阵,访问控制的粒度较粗,不能满足实际的安全要求。 u n i x 系统采用的就是这种方法,系统保存了客体的属主、客体的属主所在 的组以及其他用户( 除属主及属主同组用户外) 对该客体的访问权限,访问权限分 为读、写和执行。用户的划分以及权限的划分的粒度较粗,成为很多安全问题 的根源。 ( 2 ) 访问控制表 访问控制表( a c c e s sc o n t r o ll i s t ,a c l ) 是目前采用最多的一种实现方式。每 个自主访问控制范围内的客体都具有一个访问控制表。访问控制表将访问细化 到单个的主体或主体组。 它是利用在客体上附加一个主体明细表的方法来表示访问控制矩阵的。表 中的每一项包括主体的身份标识和该主体对客体的具体访问权限。图2 3 是一个 访问控制表的示意图。主体可以包括单个用户和多个用户组成的用户组,访问 权限则可以根据需要进行分配,如果系统需要实现较细的访问控制粒度,则访 问权限可以划分地较细,如读取属性、修改属性、重命名、符号链接等,而不 是简单的读、写、执行权限。 1 3 第二章访问控制机制研究 团 圈 殂 团一( 巫j 习】三口 强 二至 三三 习一 三二i 习 图2 3 访问控制表 a c l 的优点在于它的表述直观、易于理解,若采用对用户分组的方式,客 体的访问控制链表也不会太长,比较容易查找主体的访问权限,能够完备的表 达访问控制矩阵,访问控制的粒度可以达到单个用户。但是用访问控制表来查 询一个主体对所有客体的所有访问权限是比较困难的,必须查询系统中所有客 体的访问控制表才能获得,删除一个主体对所有客体的访问权限也必须查询所 有客体的访问控制表,删除该主体相关的信息。 i r i x 、s o l a r i s 、t r u s t e d b s d 等系统中都采用了访问控制表的实施机制。 第三节强制访问控制 在自主访问控制中,当合法用户遭到特洛伊木马的攻击,攻击者可以利用 合法用户的权限获取对系统中资源的访问权,使系统安全受到威胁。由于自主 访问控制不能抵御特洛伊木马的攻击,强制访问控制应运而生,通过强加一些 不可逾越的访问限制,系统可以防止某些类型的特洛伊木马的攻击。 强制访问控制最早出现在m u l t i c s 系统中,其基本思想是:系统中的主体、 客体被赋予了相应的安全属性,系统通过比较主、客体安全属性间的关系来确 定主体是否有访问客体的权限。而且,安全属性是强制的,它由安全管理员或 操作系统按照限定的规则分配,用户或用户进程不能修改安全属性,即使是该 用户拥有的客体的安全属性。如果系统认为具有某一安全属性的用户不能访问 某个客体,则任何人( 包括客体的所有者) 都不能使该用户具有访问此客体的权 限,即系统独立于用户行为“强制 执行访问控制。图2 4 列出了强制访问控制 的示意图。 1 4 第二章访问控制机制研究 图2 4 强制访问控制 强制访问控制和自主访问控制最根本的区别在于自主访问控制是基于用户 的,而强制访问控制是基于规则的。强制访问控制是由系统( 而不是客体的属主) 根据访问规则来判断此次访问的合法性,对用户和用户进程的行为进行限制, 而自主访问控制则是由资源的属主来决定哪些主体可以进行访问以及进行何种 访问,访问权限完全由资源属主决定。 强制访问控制和自主访问控制常结合起来使用。仅当主体同时通过自主访 问控制和强制访问控制检查时,它才能访问一个客体。用户使用自主访问控制 防止非授权的访问,强制访问控制则作为更强的保护方式,防止意外事件造成 的安全威胁。因此,强制访问控制用于将系统中的信息分密级和类进行管理, 适用于军事、金融等领域。 常见的强制访问控制机制有域和类型增强( d o m a i nt y p ee n f o r c e m e n t ,d t e ) 和多级安全( m u l t il e v e ls e c u r i t y , m l s ) 两种。 d t e 最初由b o e b e r t 和k a i n 提出,经修改后在l o c k 系统中实现。d t e 使 域( d o m a i n ) 和每个主体相关联,类型( t y p e ) 和每个客体相关联,在域和类型之间 建立授权关系,进而实现系统对资源的访问控制。它给系统中的每个主体分配 一个域,而给被访问的客体分配一个类型,故系统中所有的主体和客体分属于 不同的域、类型。通过“域定义表( d o m a i nd e f i n i t i o nt a b l e ,d d t ) ,系统描述 了域中主体对类型中客体的访问权限。若一个域不能访问一个类型,则该域中 的主体不能访问相应类型的客体。另外,系统中还定义了“域交互表( d o m a i n i n t e r a c t i o nt a b l e ,d i d ,描述不同域间许可的访问模式( 如:创建、发信号、切换 等) 。 1 5 第二章访问控制机制研究 多级安全( m l s ) 的基本思想是:系统为主、客体分配一个安全属性,描述了 主、客体的密级和安全类别。其中,密级代表着实体的机密程度,是线性有序 的,安全类别指该安全属性涉及的领域、类别。实体的安全属性含一个密级, 若干个安全类别,即一个主、客体只能处于一个密级,却可以从属于多个类别。 系统规定了不同安全属性间主、客体的访问规则,根据安全属性来实施访问控 制。m l s 具有很强的强制性,适用于具有明显等级观念的行业( 如军事系统) 。 第四节基于角色的访问控制 随着安全需求的发展变化,自主访问控制和强制访问控制已经不能满足人 们的要求,于是很多新的访问控制策略被提出,基于角色的访问控制是其中比 较著名的一种。基于角色的访问控制的概念是上世纪七十年代提出的,安全需 求的发展使其引起了人们的极大关注。 基于角色的访问控制的基本思想是:在用户和客体之间引入角色的概念, 系统以角色为授权的基本单位,为不同的角色分配不同的访问权限,当用户需 要访问客体时,可以为其指定具有相应权限的角色,通过角色从而获得对客体 的访问权刚1 3 】。用户和角色间建立多对多的关联,为每个用户分配一个或多个 角色,同一个角色也可以包括多个不同的用户;在角色和权限之间建立多对多 关联,为每个角色分配一种或多种操作权限;同时,通过角色将用户和权限相 关联。如图2 5 所示,是r b a c 的访问控制图。 图2 5r b a c 访问控制图 r b a c 简化了授权管理,适合于人员频繁变动的系统。通常的访问控制系统 中,将用户和访问权限直接相联系,当人员发生变动时,或用户的职能发生变 化时,需大量的授权修改工作。而在r b a c 系统中,角色作为用户和资源之间 1 6 第二章访闯控制机制研究 的桥梁,只需根据访问权限的不同,划分不同的角色,为角色授予对应的权限。 当用户的职能发生变化时,只需为用户重新指定角色也就改变了用户的权限。 当组织的功能变化时,只需更改角色的权限,无需为每个用户更改权限。这些 都大大简化了对授权的管理。与传统的访问控制比起来,r b a c 应用于大量用户 的系统中,更具有优势,管理员可以动态地规范用户的行为。 随着研究的深入,研究人员提出了多种不同的r b a c 安全模型,其中最为 著名的是s a n d h u 于1 9 9 6 年提出的r b a c 9 6 1 4 】。r b a c 9 6 是一个r b a c 模型族, 包括r b a c 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 火灾风险处置方案模板范本
- 货物维护方案范本
- 出货清单定制方案范本
- 楼宇防盗预案方案范本
- 大棚占压处理方案范本
- 保险购买方案范本
- 水泥粮仓浇筑方案范本
- 路面混凝土清洗方案范本
- 木质桌子修缮方案范本
- 1.2人类活动与环境问题课件高中地理湘教版选择性必修3
- 劳动课冰箱清洁课件
- 人体动静脉课件
- 中国企业供应链金融白皮书(2025)-清华五道口
- 人工智能基础与应用课件 第二章 模块三 智声灵动:生成式人工智能的语音合成与交互革命
- 抖音夫妻离婚协议书模板
- 2025年山东春考语文考试真题及答案
- 2025年殡仪馆火化师招聘笔试题库附答案
- 2025年足球裁判员考试题及答案
- 监狱视频管理办法
- 股东考核管理办法
- 大数据平台建设工期保证体系及保证措施
评论
0/150
提交评论