一种基于安全标签的访问控制模型的设计和实现

上传人:冷*** 文档编号:23871206 上传时间:2021-06-12 格式:DOCX 页数:7 大小:18.32KB
收藏 版权申诉 举报 下载
一种基于安全标签的访问控制模型的设计和实现_第1页
第1页 / 共7页
一种基于安全标签的访问控制模型的设计和实现_第2页
第2页 / 共7页
一种基于安全标签的访问控制模型的设计和实现_第3页
第3页 / 共7页
资源描述:

《一种基于安全标签的访问控制模型的设计和实现》由会员分享,可在线阅读,更多相关《一种基于安全标签的访问控制模型的设计和实现(7页珍藏版)》请在装配图网上搜索。

1、一种基于安全标签的访问控制模型的设计和实现 摘要:针对目前Linux操作系统的主要安全问题,构建了一种基于安全标签的访问控制模型SLinux。描述了该模型的结构和工作原理,详细论述了该模型基于LSM机制的实现,对该模型的功能和系统兼容性作了理论分析,并用试验进行了验证,最后总结了该模型的特点和不足。 下载论文网关键词: 访问控制; 安全标签; 多级安全; 访问域中图法分类号:TP309文献标识码:A文章编号:10013695(2007)01-018303互联网开放性的通信环境和日益增长的信息共享需求对计算机互连和计算机自身安全提出了新的要求。计算机的安全问题很大部分源于操作系统的安全脆弱性。?

2、作为大多数网络安全产品操作系统平台的Linux本身就存在很大的安全问题:Linux只支持Root和普通用户两个安全级,Root权限过大违背了最小特权原则,而普通进程有时也可通过SetUID和SetGID取得更大的权限;Linux传统的自主访问控制(DAC)安全机制对于窜改和绕过又是十分脆弱的;由缺少数组边界检查的C语言编写的很多特权程序往往成为基于缓冲区溢出攻击的首要目标。?为解决上述问题,构建了一种基于安全标签的访问控制模型SLinux(Secure Linux)。该模型是对经典的多级安全访问控制模型BLP模型的扩展,它的核心概念是由安全级别、访问域、权能构成的安全标签。其核心思想是通过安全

3、标签来控制主体对客体的访问:安全级别和访问域控制进程对文件系统的访问,权能属性用来控制进程间的通信。?1相关访问控制技术?11多级安全与BLP模型?多级安全是军事安全策略的一种数学描述,它具有两个主要特性:简单安全特性。仅当一个主体的安全级不低于客体的安全级时,才允许该主体读该客体。*特性。仅当一个主体的安全级不高于客体的安全级时,才允许该主体写该客体。?BLP模型是一个状态机模型,定义的系统包含一个初始状态Z0和一些三元组(请求,判定,状态)组成的序列,三元组序列中相邻状态之间满足某种关系W。如果一个系统的初始状态是安全的,并且三元组序列中的所有状态都是安全的,那么这样的系统就是一个安全系统

4、。BLP模型虽然易用,但是功能单一,往往不能直接用于商业系统。例如对目录不能直接进行安全分级;没有横向的访问控制:根据BLP的原则,某一应用程序可以访问等于或低于其敏感级别的属于另一应用程序的私有数据,这样的读写操作将会导致数据的泄漏甚至破坏。?12Linux中的权能机制?权能就是一个进程能够对某个对象进行的操作,在访问主体上实现。从Linux 2.1版的内核开始,内核开发人员在Linux内核中加入了权能的概念。其目标是消除需要执行某些操作的程序对Root账号的依赖。?每个进程有三个与权能有关的位图:inheritable(I),permitted(P)和effective(E),对应进程的描

5、述符task_struct(include/linux/sched.h)中的cap_effective,cap_inheritable, cap_permitted。每种权能用一位表示,1表示具有某种权能,0表示没有。当一个进程要进行某个特权操作时,操作系统会检查cap_effective的对应位是否有效;cap_permitted表示进程能够使用的权能;cap_inheritable表示能够被当前进程执行的程序继承的权能。?2SLinux访问控制模型设计和实现?21模型的设计思想?BLP模型不能限制信息流的横向流动,因此引入了访问域的概念。访问域是进程可以访问的资源的集合,每一个主体都在一个

6、特定的访问域下工作,访问域并不是彼此独立的,它们可以有交叉。这样将BLP模型与访问域结合可以更有效地限制访问范围,同时加入权能属性以有效控制进程间的访问。访问控制粒度是访问控制模型中一个至关重要的问题。在操作系统中,文件、用户和进程都是主体,其中文件和用户是静态表示,真正活动的主体是进程,它是一个用户拥有的可执行文件的映像。一个进程比一个程序或一个用户有更细的粒度,而且进程是临时的,相对于程序和用户而言,在一定程度上可以减少维护。?基于上面的分析,为了加强操作系统的安全性,设计了一个以进程为控制粒度的基于BLP模型和安全标签(包括多级安全、访问域和权能三个属性)的访问控制模型SLinux。?2

7、2LSM机制?考虑到不同Linux版本之间的兼容性,该模型是基于LSM机制来实现的。Linux安全模块(LSM)是支持访问控制的底层架构,该架构可以使那些具体的安全策略及实现作为一个可选择的内核模块载入内核,从而大大提高了Linux安全访问控制机制的灵活性和易用性。LSM的基本设计思想是在内核源代码中放置钩子(Hook)函数,由用户编写Hook函数对内核对象的访问权限作出判断,并在内核数据结构中放置透明安全字段(Opaque Security Field)作为内核对象的安全属性。?23模型的总体结构和工作原理?整个模型包括四个模块,即认证模块、判定模块、审计模块和标签管理模块,另外还有安全标签

8、数据库、用户的数字证书数据库和审计日志文件。其结构如图1所示。?基于LSM机制实现的模块的工作原理如图2所示。用户程序对文件系统的访问必须经过Linux系统自带的访问控制和该访问控制模型才能够被允许。该模型主要包括两个工作,即用户请求的判定和基于安全标签的动态调整所实现的动态安全机制。?24重要数据结构定义和说明?安全标签是SLinux访问控制模型的核心概念,它包括主体和客体两种。主体是指进程(因为该模型的访问控制是以进程为粒度的),客体包括文件、目录、特殊文件、进程间通信结构、进程和模块。在系统中不同的主体和客体的安全标签是不同的,并且有时主体(进程)也可以是客体,如在进程管理中。对于可执行

9、文件来说,主体和客体都不为空,对于数据文件等非可执行文件来说,主体为空, 客体非空。?241主体的安全标签?SL:(L,D,C),其中L为主体的安全级,D为主体的访问域,C为主体的权能(Capability)和权能扩展。?(1)对权能控制的扩充:为了实现某些操作系统不支持的特性,加强对操作系统自身的保护,本模型引入了三种扩充权能:?CAP_PROC_HID(0x01)。实现进程的隐藏,如果想隐藏某一个进程,可以将该进程安全标签的权能控制域s_capacity_ext与CAP_PROC_HID执行或运算就可以了。?CAP_UNKILLABLE(0x02)。防止某些程序关闭一些系统服务等重要进程,

10、用法同上。?CAP_CHANGE_PRIORITY(0x04)。赋予某主体修改自身安全标签的能力。?(2)访问域:代表一部分可见并且可以被进程访问(读或写)的文件系统的集合,包含程序代码和数据,它有效地创建了一个文件系统的盒子,运行的进程被限制在其中。这个访问域并不代替传统的Linux文件系统的访问控制,它们在一个更高的安全级别操作。?该模型将访问类型根据访问控制的目的分为三类,访问域也相应地分为三类:?读访问。读文件、搜索目录、执行文件、遵循链接等。? 写访问。创建文件、写文件、删除文件、移动文件等。? 权能控制。进程之间的访问控制,如发送信号给一个或一组进程,客体为进程。?242客体的安全

11、标签?OL:(L,Mask), 其中L为客体的安全级;Mask是该客体的功能集合,每一位代表一种功能,目前只定义了三种:第一位为读访问不可继承标志,1表示在读访问域中为不可继承客体;第二位为写访问不可继承标志,1表示不可继承客体;第三位为隐藏标志,1表示该客体对访问它的主体是隐藏的。?243安全标签的配置 ?安全标签是由系统安全管理员在该系统初次安装时为每个可能的主体和客体配置的,并把它们存放在安全标签数据库中(存储在文件系统不利于模型兼容性和扩展性需要)。?在系统每次运行时,进程的安全标签在进程中被创建,即fork()时确定,由标签管理模块从安全标签数据库中提取。用户注册时,因注册而产生的进

12、程安全标签由用户在允许范围内选定,可选级别(包括安全标签中的各项)不能大于用户及用户属组的级别。已存在的客体或主体的级别可由安全管理员设置,新建客体(包括进程)的级别通常等于创建该客体的进程级别。对于新建目录,可以在允许的范围内选定大于创建其进程的级别。如果进程通过调用产生子进程时,那么子进程从其父进程那里继承安全标签。在继承时父进程可以根据模型对客体定义的不可继承标志选择性地授权给子进程,这样子进程就不具备对不可继承的客体的访问权限。?在BLP模型的常规实施方法中,一个主体的当前安全级别在其整个生命周期内是不可改变的,这种方法的缺点是缺乏灵活性,很容易导致合法的资源访问请求遭到拒绝。该访问控

13、制模型实现了进程安全标签的自适应变化,这是由标签管理模块来实现的。当一个进程要改变安全标签时,如要改变访问域,它会向标签管理模块提出申请,将其安全标签更新。当然不是所有的权限要求都可以被批准,标签管理部件中对此进行了限制,如普通用户不可以对系统配置信息进行修改等。?25内核模块的实现? 为了便于系统设计的模块化,把认证模块、标签管理模块、判定模块和审计模块等都以一系列内核辅助函数的形式来实现,这样当对其中某个模块(如判定模块)进行修改时,只要接口不变,就不会影响到其他模块。?251认证模块的实现?认证模块的主要功能是出现下面两种情况时,对用户的身份进行认证:?(1)当用户进程要求动态调整自己的

14、安全标签时;?(2)当系统安全管理员调整安全标签数据库中的安全标签时。?根据用户权限的不同,定义了两种认证类型对应上述两种情况,分别为AUTH_CHANGE_PRIORITY和AUTH_CHANGE_CONFIG。 ?用户通过该模型提供的用户接口向认证模块提出认证请求,认证模块从数字证书数据库中取出该用户的数字证书,与用户提供的签名信息进行比较;如果一致将继续判断用户的登录类型与用户要求的认证类型是否相符,通过认证后就将请求送入下面的标签管理部件。?如果系统安全管理员申请权限成功,对于安全标签的修改主要是修改该主体安全标签的读写访问域,将安全标签数据库或者配置文件所在的目录加入其读写访问域中。

15、在系统安全管理员申请该权限以前,安全标签数据库和配置文件是不在任何用户的任何访问域中的。?对于用户申请权限,认证模块将调用标签管理模块修改该进程的权能属性(增加CAP_CHANGE_PRIORITY权能)。该操作只是对该进程内存中的安全标签进行修改,而不会修改安全标签数据库中的内容。?252标签管理模块的实现?标签管理模块主要向各内核模块以及用户提供一组接口,对安全标签数据库中的安全标签进行管理和配置。在调用这些接口函数时,它们都会调用判定模块来确定该用户权限。?该模块共包括三种类型的接口,前两项通过sys_security钩子函数提供给用户:?(1)面向系统安全管理员的接口。它帮助安全管理员

16、根据需要调整安全标签数据库中的安全标签。?(2)面向普通用户的接口。它可以让用户在一定范围调整内存中自己的安全标签,使其具有完成任务的最小权限。当用户提交申请时,标签管理模块的函数会首先检查该主体是否具有CAP_CHANGE_PRIORITY权能属性,如果没有将返回失败信息;否则将该主体申请的安全标签与从安全标签数据库中提取的安全标签进行比较,如果满足规则就设置该主体的安全标签,否则返回错误信息。?(3)面向内核模块的接口。它主要为其余内核模块完成相应的任务提供服务,所有通过该接口调整的都是调整主体在内存中的安全标签,如上面提到的认证模块对标签管理模块的调用都是调用的这些函数。例如,修改进程的

17、安全标签,使其具有修改安全标签数据库或者配置文件的权利。?253判定模块的实现?判定模块的主要功能是实现对访问请求的判定。它将访问操作的主体、客体及操作与安全标签数据库中的相应信息进行比较。根据判定规则,如果主、客体的安全级符合要求,并且客体在主体的访问域内(对于读写操作)或权能域内(对于权能控制),另外对于权能控制还要求主体具有该权能才允许访问,否则拒绝。?254审计模块的实现?审计模块主要是将通过认证部件的信息及判定部件的信息记入到审计日志中,可为入侵检测及系统错误的判断提供有利信息。模型只记录那些对系统来说比较重要的事件,如用户登录、读写操作和修改权限等。审计数据主要来自认证模块和判定模

18、块,每次收集到的审计数据都先写入专门的审计缓冲区中,当缓冲区中的数据快满时再一次写入审计数据库中。?26SLinux与用户接口?在SLinux系统中,与用户接口是通过LSM提供的一个通用的多路安全系统调用security()实现的,其参数为(unsigned int id, unsigned int call, unsigned long *args),其中id代表模块描述符,call代表调用描述符,args代表参数列表。这个系统调用缺省地提供了一个sys_security()入口函数。如果安全模块不提供新的系统调用,可以定义返回ENOSYS的sys_security()钩子函数。?27配置文

19、件?在该系统中,用户访问域的设置、访问域的设置,以及审计级别的设置是在配置文件中完成的。当该模块被注册并调入系统后,配置文件会被映射为内存映像文件,内核模块所有对配置文件的操作都是对内存映像文件的操作。?3SLinux访问控制模型分析和实验?31系统安全性分析?该模型不仅实现了基于安全级别的纵向控制,而且实现了基于访问域的横向控制以及动态安全。以进程为粒度、安全标签的动态调整以及权限的选择性继承体现了操作系统安全的最小特权原则;将Root视为与系统中其他用户平等,限制了Root有意或无意对系统的破坏;即使进程由于SetUID和SetGID属性获得了程序文件属主和组的权限或者出现缓冲区溢出,其访

20、问也不可能超出访问域的范围,将可能的危害限制在尽可能小的范围内。同时访问域还能将木马和病毒程序对系统的破坏限定在一定的范围内。这些措施有效地保证了系统的安全。?32系统的兼容性分析?由于该访问控制模型是基于LSM机制实现的,作为可加载模块装入系统,采用了标准的接口方式,改变的只是对一些系统调用实施了安全策略的检查或增加了新的系统调用,因此它有很好的兼容性。? 安全标签的存在采用了数据库的形式,而没有在现有文件系统(Ext2)的硬盘i节点结构的基础上扩充其安全信息,这样就可以避免操作系统的不兼容性问题。? 33系统功能测试?测试系统为Red Hat 7.0,内核版本2.4.20。测试结果:在该模

21、型的控制下,用户只能读、写在自己相应访问域中的文件,而不能修改或者读、执行不属于自己访问域的文件,即使是系统安全管理员也只能按照此规则来进行,不能访问属于别的用户的文件。通过功能测试,该模型能有效地控制进程的活动范围,达到了该模型的设计目的。?4结论 ?本文的SLinux模型限制了超级用户账号Root,实现了细粒度的访问控制,为内核对象加入了安全标签,访问控制引入了安全级别,基本可达到可信计算机系统评价标准(TCSEC)中的B1级。可见,该模型很好地解决了现有Linux系统自身的安全性问题,同时对系统内核的修改很小,并且易于升级和扩展,具有一定的实用价值和进一步发展的空间。 ?本模型的不足之处

22、在于安全标签数据库的大量读取操作和比较低效的记录查找方式会造成系统的性能损失。参考文献:1蔡谊,沈昌祥.安全操作系统发展现状与对策C.北京:第十六次全国计算机安全学术交流会论文集,2001.15.2石文昌,孙玉芳,梁洪亮.经典BLP安全公理的一种适应性标记实施方法及其正确性J.计算机研究与发展, 2001,38(11):13661372.3Ravi Sandhu, Elisa Bertino, Jaeger. The Next Generation of Access Control ModelsC. New York: Proceedings of the 6th ACM Symposium

23、 on Access Control Models and Technologies,2001.53.4Adrian Bullock, Steven Benford. An Access Control Framework for Multiuser Collaborative EnvironmentsC. Phoenix: Proceedings of the International ACM SIGGROUP Conference on Supporting Group Work,1999.140149.5Crispin Cowan, Steve Beattie, Calton Pu, et al. SubDomain: Parsimonious Server SecurityC. New Orleans:USENIX the 14th Systems Administration Conference, 2000.355368.6F B Schneider. Enforceable Security PoliciesJ. ACM Transactions on Information and System Security, 2000,3(1):3050.

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!