[发明专利]一种基于权能机制的linux系统特权分配方法在审
申请号: | 201410643335.5 | 申请日: | 2014-11-06 |
公开(公告)号: | CN104484594A | 公开(公告)日: | 2015-04-01 |
发明(设计)人: | 涂碧波;李艳昭;孟丹 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/45 | 分类号: | G06F21/45 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 司立彬 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 权能 机制 linux 系统 特权 分配 方法 | ||
技术领域
本发明涉及系统安全的权限控制领域,是一种基于权能(capability)机制的linux系统特权分配方法。
背景技术
随着linux系统的普及,对linux系统的攻击与防护成了近年来系统安全领域的主要研究内容。linux的传统安全机制是限制普通用户仅持有最基本的权限而赋予一个特权用户root用户所有的权限,而当普通用户需要完成特权操作如更改用户自己的密码时,linux中引入了Set-UID机制使普通用户通过执行特权应用程序(特权应用程序是指进行set-UID位标记的程序,这类程序的属主是root用户,执行这类程序可以让普通用户临时获得root权限)临时获得root权限,执行特权操作。Set-UID机制使这类依赖单一用户实现特权操作的方式加大了系统面临的风险,因为攻击者只要利用特权应用程序的安全漏洞攻击获得root权限,就可以对系统为所欲为了。据统计,linux系统中超过80%的攻击的第一步均是取得root权限。目前对linux系统的安全防护主要从两方面入手:一方面是保证所有的特权应用程序不含有安全漏洞;二是当应用程序在被攻陷时,将危害降低到最小。linux由于其开发语言C语言本身的脆弱性,导致对于第一方面的研究工作是比较困难的,近年来进展甚微。因此,第二方面,系统中对用户的权限控制是近年来系统安全研究的热点话题。
当前linux系统中的解决方案是用capability机制来替代set-UID机制,capability机制细粒度地将root权限划分成若干个独立的权限单元,称为一个capability,本文译为能力。在普通用户需要特权操作时,不再是给予其root权限,而是小细粒度地给予特定的能力,有效地限制安全隐患的威胁范围。Capability机制中,能力分为进程能力和文件能力,进程能力有:cap_permitted集简称pP,cap_effective集简称pE,cap_inheritable集简称pI。文件能力同样有这三个能力集分别简称fP,fE和fI。另外,进程能力集有一个cap_bset用于限制允许进程可拥有的能力。Capability机制以一定的规则分配这些能力集实现root权限的划分,POSIX.le标准草案中有对它的具体描述。
然而,capability机制有着自己的局限性,这也导致了目前linux生态环境中,set-UID机制仍是主流:(1)capability机制分配使用过于复杂,Linux系统中设计了有36个能力,未来还很可能继续增加(比如CAP_SYS_ADMIN这个特权单元的细粒度不够),使用者需要清晰地知道每个特权的功能及使用方法。(2)root用户仍然具有超级特权,因为capability机制是基于进程的,不能给指定用户指定特权,故root用户的超级特权并没有被限制。
发明内容
基于此,本发明提出了一种基于capability机制的linux系统特权分配方法,本方法有效解决了capability机制的上述缺陷,易于管理,用户不再需要了解36个能力具体的功能及使用方法,用户能力的获得对用户是透明的;该系统对权限的划分是依据用户指定的,可以有效限制root用户的超级特权。
本发明的技术方案为:
一种基于权能机制的linux系统特权分配方法,其步骤为:
1)关闭服务器的TPM启动度量,进入linux系统安全模式,登录root用户设置用户角色配置文件和角色能力配置文件;其中,所述用户角色配置文件中,一个用户对应且只对应一个角色;所述角色能力配置文件中一个角色依功能对应一个能力组,多个角色之间允许包含相同的能力;
2)根据liunx系统的特权应用程序所需要的能力对其进行标记;
3)服务器的TPM对所述用户角色配置文件、角色能力配置文件和标记后的特权应用程序和登录程序的可插入验证模块PAM进行度量和写保护,并将最新的度量值写入TPM;
4)开启服务器的TPM启动度量,进入linux系统工作模式;TPM对所述用户角色配置文件、角色能力配置文件进行度量验证,验证通过则进行步骤5);
5)登录程序的可插入验证模块PAM对用户输入的用户名和密码进行认证,认证通过后根据输入的用户名查询用户角色配置文件获得该用户名对应的角色,然后查询角色能力配置文件读取该角色包含的能力集;
6)可插入验证模块PAM根据该角色对当前进程的能力进行标记,然后完成该用户的登录;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410643335.5/2.html,转载请声明来源钻瓜专利网。