【技术实现步骤摘要】
本专利技术涉及提高计算机安全性的方法,尤其是提高操作系统的安全性和防止操作系统特权滥用的特权最小化方法。
技术介绍
目前主流的计算机操作系统都存在一个无所不能的超级用户。Windows2000和WindowsXP的超级用户是Administrator,Unix、Linux和FreeBSD的超级用户则称为root。这个超级用户虽然为使用系统带来了极大的方便,但也是一个巨大的安全隐患。因为超级用户无所不能,而完成任务的用户或进程通常只需要很小一部分特权,这样,合法用户有可能越权使用系统,对它造成无意的破坏,而恶意用户更是利用该隐患来滥用特权,有意破坏系统。例如,很多守护进程往往以超级用户的身份运行,而这些守护进程或多或少存在一些漏洞。这样,一旦恶意用户通过网络攻击这些漏洞成功,就会获取超级用户的权限,从而给操作系统的安全带来威胁。为此,人们提出了最小特权的概念,即应用或进程仅具有完成其功能所必需的权限。一方面,最小特权可以有效约束合法用户,特别是超级用户,使他们只能在其职责范围内使用系统;另一方面,最小特权还可以有效减小恶意用户对系统的破坏,因为即使应用存在漏洞,系统被攻破,恶意用户所能得到的权限也是有限的。草案标准POSIX1003.1e所定义的能力机制正是实施最小特权的一种有效措施。POSIX1003.1e把操作系统的所有特权划分成能力,每一个能力代表一种特权,全部能力共同组成能力全集∑,它的子集称为能力集合。能力集合有三种类型,分别是继承集Ci(inheritable set),许可集Cp(permitted set)和有效集Ce(effective ...
【技术保护点】
一种基于能力的特权最小化方法,继承草案标准POSIX1003.1e的能力机制,其特征在于定义角色能力和用户能力,定义能力逻辑关系,设计一个基于能力的特权最小化模型来实现特权的最小化,该模型分为核内和核外两部分,核内由以动态模块方式实现的特权控制模块和系统调用组成,核外由PAM最小特权模块、函数库、命令行工具和图形化工具组成;特权控制模块包括能力计算器和特权检查器,能力计算器根据能力逻辑关系计算进程的最终特权,特权检查器则在各个特权操作点判断进程是否拥有相应的访问特权;特权控制模块采用系统调用的方式向用户层提供查看文件的能力状态、设置文件的能力状态、查看进程的能力状态、设置进程的能力状态、查看和设置角色能力、查看和设置用户的角色、查看和设置用户能力的功能;PAM最小特权模块负责在登录时将角色能力或用户能力传递给用户的第一个进程-shell进程;函数库用于操作角色能力、用户能力以及进程和文件的能力状态,这套库函数还包括能力的二进制表示和文本表示之间的相互转换,能力的二进制表示采用长整数,能力的文本表示采用可读性强的字符串表示;命令行工具和图形化工具完成相同的功能,包括查看和设置文件的能力状 ...
【技术特征摘要】
1.一种基于能力的特权最小化方法,继承草案标准POSIX1003.le的能力机制,其特征在于定义角色能力和用户能力,定义能力逻辑关系,设计一个基于能力的特权最小化模型来实现特权的最小化,该模型分为核内和核外两部分,核内由以动态模块方式实现的特权控制模块和系统调用组成,核外由PAM最小特权模块、函数库、命令行工具和图形化工具组成;特权控制模块包括能力计算器和特权检查器,能力计算器根据能力逻辑关系计算进程的最终特权,特权检查器则在各个特权操作点判断进程是否拥有相应的访问特权;特权控制模块采用系统调用的方式向用户层提供查看文件的能力状态、设置文件的能力状态、查看进程的能力状态、设置进程的能力状态、查看和设置角色能力、查看和设置用户的角色、查看和设置用户能力的功能;PAM最小特权模块负责在登录时将角色能力或用户能力传递给用户的第一个进程——shell进程;函数库用于操作角色能力、用户能力以及进程和文件的能力状态,这套库函数还包括能力的二进制表示和文本表示之间的相互转换,能力的二进制表示采用长整数,能力的文本表示采用可读性强的字符串表示;命令行工具和图形化工具完成相同的功能,包括查看和设置文件的能力状态,查看进程的能力状态,查看和设置角色能力,查看和设置用户的角色以及查看和设置用户能力,命令行工具提供给高级用户使用,而一般用户则使用图形化工具。2.如权利要求1所述的基于能力的特权最小化方法,其特征在于所述角色能力是指角色为了完成其职责所必须具备的特权,所述用户能力是指用户为了完成自身职责必须具备的特权,一般等于他所承担角色的能力;定义每个角色或每个用户关联一个继承集Ci,该能力集合就表示角色能力或用户能力,用户能力Ci就等于他所承担角色的Ci;角色能力是由一个组织或机构的管理者根据角色的职责静态地指定的,用户承担何种角色也是由管理者根据他的职责静态地确定;这两种关系都以配置文件形式保存在操作系统中,分别称为角色能力配置文件“role_cap.conf”和用户角色配置文件user_role.conf”前者描述一个角色具有哪些能力,如果没有明确指定,则能力为空集;后者描述用户承担何种角色;如果操作系统不提供角色支持,则只设置一个用户能力文件“user_cap.conf”,直接描述用户具有哪些能力;在不支持角色的操作系统中,角色能力文件和用户角色文件合并成一个用户能力配置文件“user_cap.conf”。3.如权利要求1所述的基于能力的特权最小化方法,其特征在于本发明支持文件能力的方法是将每个文件关联一个能力状态<Ci,Cp,Ce>,把文件的能力状态存放在文件的扩展属性之中,文件的扩展属性是inode结点的延伸,容量比inode结点大得多,可以自如地存放文件的各种属性,且只有具备CAP_SETFCAP能力的角色或用户才能进行设置。4.如权利要求1所述的基于能力的特权最小化方法,其特征在于所述能力逻辑关系为Ce(p)=(Cp(f)∪(Ci(f)∩ Ci(u)))∩ Ce(f),该逻辑关系表示用户u执行文件f生成进程p,其能力状态的有效集等于可执行文件继承集交上用户能力,然后并上可执行文件许可集,最后交上可执行文件有效集;根据能力逻辑关系,用户在执行文件时,产生的新进程既可以增加新的能力,也可以禁用一些能力;同一个用户执行不同的程序可以具有不同的特权;不同的用户执行相同的文件也可以具有不同的特权。5.如权利要求1所述的基于能力的特权最小化方法,其特征在于所述特权控制模块采用操作系统的内核动态模块实现,在系统启动时选择是否加载,方法是在操作系统的内核中设置一个开关变量lpa_enabled,表示特权控制模块是否加载,特权控制模块不加载时,置lpa_enabled为0;特权控制模块加载时,将其置为1,一旦该模块被加载,系统实施最小特权;如果模块没有加载,则不实施最小特权,对系统无任何影响。6.如权利要求1所述的基于能力的特权最小化方法,其特征在于所述特权检查器在各个特权操作点检查进程的特权以决定是否允许操作,在特权操作进行前,内核首先判断开关变量lpa_enabled是否为1,如果是1,则表示特权控制模块已经加载;此时,调用特权检查器判断进程能力状态的有效集Ce(p)是否具有相应的能力,如果有,则允许操作...
【专利技术属性】
技术研发人员:陈松政,何连跃,罗军,
申请(专利权)人:中国人民解放军国防科学技术大学,
类型:发明
国别省市:43[中国|湖南]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。