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

一种基于安全标签的访问控制模型的设计和实现摘要:针对目前Linux操作系统的主要安全问题,构建了一种基于安全标签的访问控制模型――SLinux。描述了该模型的结构和工作原理,详细论述了该模型基于LSM机制的实现,对该模型的功能和系统兼容性作了理论分析,并用试验进行了验证,最后总结了该模型的特点和不足。关键词:访问控制;安全标签;多级安全;访问域中图法分类号:TP309文献标识码:A:1001-3695(2007)01-0183-03互联网开放性的通信环境和日益增长的信息共享需求对计算机互连和计算机自身安全提出了新的要求。计算机的安全问题很大部分源于操作系统的安全脆弱性。??作为大多数网络安全产品操作系统平台的Linux本身就存在很大的安全问题:Linux只支持Root和普通用户两个安全级,Root权限过大违背了最小特权原则,而普通进程有时也可通过SetUID和SetGID取得更大的权限;Linux传统的自主访问控制(DAC)安全机制对于窜改和绕过又是十分脆弱的;由缺少数组边界检查的C语言编写的很多特权程序往往成为基于缓冲区溢出攻击的首要目标。??为解决上述问题,构建了一种基于安全标签的访问控制模型――SLinux(SecureLinux)。该模型是对经典的多级安全访问控制模型――BLP模型的扩展,它的核心概念是由安全级别、访问域、权能构成的安全标签。其核心思想是通过安全标签来控制主体对客体的访问:安全级别和访问域控制进程对文件系统的访问,权能属性用来控制进程间的通信。??1相关访问控制技术??1.1多级安全与BLP模型??多级安全是军事安全策略的一种数学描述,它具有两个主要特性:①简单安全特性。仅当一个主体的安全级不低于客体的安全级时,才允许该主体读该客体。②*特性。仅当一个主体的安全级不高于客体的安全级时,才允许该主体写该客体。??BLP模型是一个状态机模型,定义的系统包含一个初始状态Z0和一些三元组(请求,判定,状态)组成的序列,三元组序列中相邻状态之间满足某种关系W。如果一个系统的初始状态是安全的,并且三元组序列中的所有状态都是安全的,那么这样的系统就是一个安全系统。BLP模型虽然易用,但是功能单一,往往不能直接用于商业系统。例如对目录不能直接进行安全分级;没有横向的访问控制:根据BLP的原则,某一应用程序可以访问等于或低于其敏感级别的属于另一应用程序的私有数据,这样的读写操作将会导致数据的泄漏甚至破坏。??1.2Linux中的权能机制??权能就是一个进程能够对某个对象进行的操作,在访问主体上实现。从Linux2.1版的内核开始,内核开发人员在Linux内核中加入了权能的概念。其目标是消除需要执行某些操作的程序对Root账号的依赖。??每个进程有三个与权能有关的位图:inheritable(I),permitted(P)和effective(E),对应进程的描述符task_struct(include/linux/sched.h)中的cap_effective,cap_inheritable,cap_permitted。每种权能用一位表示,1表示具有某种权能,0表示没有。当一个进程要进行某个特权操作时,操作系统会检查cap_effective的对应位是否有效;cap_permitted表示进程能够使用的权能;cap_inheritable表示能够被当前进程执行的程序继承的权能。??2SLinux访问控制模型设计和实现??2.1模型的设计思想??BLP模型不能限制信息流的横向流动,因此引入了访问域的概念。访问域是进程可以访问的资源的集合,每一个主体都在一个特定的访问域下工作,访问域并不是彼此独立的,它们可以有交叉。这样将BLP模型与访问域结合可以更有效地限制访问范围,同时加入权能属性以有效控制进程间的访问。访问控制粒度是访问控制模型中一个至关重要的问题。在操作系统中,文件、用户和进程都是主体,其中文件和用户是静态表示,真正活动的主体是进程,它是一个用户拥有的可执行文件的映像。一个进程比一个程序或一个用户有更细的粒度,而且进程是临时的,相对于程序和用户而言,在一定程度上可以减少维护。??基于上面的分析,为了加强操作系统的安全性,设计了一个以进程为控制粒度的基于BLP模型和安全标签(包括多级安全、访问域和权能三个属性)的访问控制模型――SLinux。??2.2LSM机制??考虑到不同Linux版本之间的兼容性,该模型是基于LSM机制...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?