著录项信息
专利名称 | 一种基于强制访问控制技术的可信应用环境构建方法 |
申请号 | CN200910089839.6 | 申请日期 | 2009-07-24 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2009-12-30 | 公开/公告号 | CN101615236 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/22 | IPC分类号 | G;0;6;F;2;1;/;2;2查看分类表>
|
申请人 | 北京工业大学 | 申请人地址 | 北京市平乐园100号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京工业大学 | 当前权利人 | 北京工业大学 |
发明人 | 胡俊;沈昌祥;申永波;蔡勉 |
代理机构 | 北京思海天达知识产权代理有限公司 | 代理人 | 张慧 |
摘要
本发明涉及一种利用强制访问技术、可信计算技术等实现可信应用环境的构建方法,该方法不仅能够实现自我保护,而且还能为系统上层应用提供安全、可信运行环境,维持应用的可信状态。包括应用安装包的完整性标记和实现应用安全隔离两部分,应用安装包的完整性标记部分使用分级分类的标记规则来描述操作系统环境软件包之间的依赖关系,标记分为级别标记和类别标记,并通过级别标记步骤、类别标记步骤以及安全隔离步骤以实现对系统所支持不同应用的安全域划分并且进行隔离保护,减少或者屏蔽环境中其它应用非预期的干扰。
1.一种基于强制访问控制技术的可信应用环境构建方法,包括应用安装包的完整性标记和实现应用安全隔离两部分,其特征在于:应用安装包的完整性标记部分使用分级分类的标记规则来描述操作系统环境软件包之间的依赖关系,所述完整性标记分为级别标记和类别标记,可信应用环境构建方法具体构建方法如下:
步骤一:级别标记,即将基本系统标为最高级别,根据软件包的依赖关系,从基本系统开始进行逐层遍历,完成对系统所有软件包的级别标记,用级别标记为系统软件包划分完整级别,确保依赖关系只存在于低完整级别和高完整级别之间;
步骤二:类别标记,即根据级别标记将系统的软件包排序,建立一个符合单向依赖关系的软件包队列,从队列尾部开始,对队列中的每个软件包,将其类别标识添加到与其有直接依赖关系的所有软件包之上,以完成对系统所有软件包的类别标记,用类别标记描述软件包对应用的支撑关系;
步骤三:安全隔离,即基于上述软件包的级别标记和类别标记的基础之上,对标记后形成的具有单向依赖关系的层次式应用结构进行应用安全隔离。
2.根据权利要求1所述的一种基于强制访问控制技术的可信应用环境的构建方法,其特征在于:所述步骤三中的安全隔离的现实部分分为应用层次之间的时间隔离和应用层次之间的空间隔离。
3.根据权利要求2所述的一种基于强制访问控制技术的可信应用环境的构建方法,其特征在于:所述的应用层次之间的时间隔离,其具体方法为:当系统控制权在应用层次之间进行转换时,要经过可信度量,只有校验关系为真时才能实现系统控制权的可信转换,保证应用在时间执行上的隔离。
4.根据权利要求2所述的一种基于强制访问控制技术的可信应用环境的构建方法,其特征在于:所述的应用层次之间的空间隔离,其具体方法为:每一层次的应用都不能随意取访问或者修改其它层次中应用的相关组件,不同的应用被划分成了不同的安全域,减少或者排除非预期的干扰,通过限制应用对系统资源的使用来达到应用之间在空间上的隔离,符合最小特权分配原则。
一种基于强制访问控制技术的可信应用环境构建方法\n(一)技术领域\n[0001] 本发明属于安全操作系统领域,是一种利用强制访问技术、可信计算技术等实现可信应用环境的构建方法,该方法不仅能够实现自我保护,而且还能为系统上层应用提供安全、可信运行环境,维持应用的可信状态。\n(二)背景技术\n[0002] 应用环境是用户的工作环境,是应用代理用户行使权限、执行任务的场所,随着信息化的推进,特别是网络的发展,使得各种新的应用层出不穷,应用环境变得越来越复杂,而应用环境的可信性直接影响着整个信息系统的安全性。如果应用环境不可信,应用在运行的过程当中就可能遭受来自环境中的恶意干扰或者攻击,一旦潜伏在应用程序中这种安全漏洞被利用,整个信息系统将面临被破坏的危险。因此,构建可信应用环境,不仅可以保护信息系统的完整性、应用的可用性,而且能为信息系统的整体安全提供保障。\n[0003] 我国重要信息系统遵循等级保护制度,而访问控制技术则是等级保护制度的核心内容。国标GB17859-1999规定,三级以上的信息系统,普遍要求强制访问控制技术。在强制访问控制机制下,系统中的每个进程、每个文件客体都被赋予了相应的安全属性(安全标记),这些安全属性是不能随意改变的。当一个应用进程访问一个客体时,就要调用强制访问控制机制,根据相应的访问方式,比较进程的安全属性和客体的安全属性,从而确定是否允许访问。强制访问技术要求系统中的每一个主客体都要进行安全标记,而安全标记一般包括级别和类别两个方面。\n[0004] 强制访问技术的实现一般基于两种安全策略模型,即BLP保密性模型和Biba的完整性模型,而可信应用环境的构建主要的目标是保护环境中的应用不受外界的恶意干扰,保障其能够按照预期行为运行,因此,本专利主要考虑对客体文件的完整性标记,即使用Biba模型进行安全标记。Biba模型的访问规则如下:\n[0005] 当主体的类别范畴包含于客体的类别范畴,并且主体的完整性级别高于客体的完整性级别时,主体可以写客体。\n[0006] 当主体的类别范畴包含于客体的类别范畴,并且主体的完整性级别低于客体的完整性级别时,主体可以读客体。\n[0007] 可信计算技术是当前的热点,可信计算提出了信任链传递的概念,利用可信链传递技术,可以保证信任从硬件到操作系统的可信,而可信计算技术的可信度量只能保证应用的初态可信,但是如何保证应用的运行时信任度不衰减,从而把信任延伸到应用系统,维持信任链的传递是构建可信应用环境面临的挑战。\n[0008] 许多Linux操作系统发行版本,都是由基本系统和很多软件包构成的,每个不同的应用程序包括应用程序运行所依赖的工具或库文件都是以软件包的形式提供给用户的,软件包通常包含了应用程序、相关配置以及一些运行所使用的库文件等等。常用的软件包格式有两种,Red Hat、Fedora等发行版本使用RPM;Debian和Ubuntu使用.deb格式。软件包之间存在着依赖关系,这些依赖关系形成一个逻辑树结构,一个软件包在这个逻辑树结构中有自己的位置,仅当树中它的所有后代节点相对的软件包都正确安装时,软件包所支持的应用程序才能正确运行。系统所提供的应用安装流程实际上是安装一个特定的软件包以及安装这个软件包所依赖的其它软件包。\n(三)发明内容\n[0009] 本发明的目的在于提供一种基于强制访问控制技术的可信应用环境的构建方法,以实现对系统所支持不同应用的安全域划分并且进行隔离保护,减少或者屏蔽环境中其它应用非预期的干扰,以保持应用在运行的过程当中的安全可信状态。\n[0010] 为达到上述目的,本发明的技术方案是这样实现的:\n[0011] 1.一种基于强制访问控制技术的可信应用环境的构建方法,包括应用安装包的完整性标记和实现应用安全隔离两部分,应用安装包的完整性标记部分使用分级分类的标记规则来描述操作系统环境软件包之间的依赖关系,即当系统选定要支持的n个应用后,通过相关的软件包管理工具就能得到能使这些应用正常运行时所依赖的所有软件包,并且可以建立这些软件包依赖关系的数据库,这些复杂的软件包关系可以建立一个逻辑树,使用特定的标记算法对软件包依赖逻辑树进行分级分类。具体的标记步骤分为级别标记和类别标记两部分:\n[0012] 其构建方法如下:\n[0013] 步骤一:级别标记,即将基本系统标为最高级别,根据软件包的依赖关系,从基本系统开始进行逐层遍历,完成对系统所有软件包的级别标记,用级别标记为系统软件包划分完整级别,确保依赖关系只存在于低完整级别和高完整级别之间。\n[0014] 对于步骤一中的级别标记采用由底层向上追溯的算法,级别用无符号整数来表示。首先处于最底层的基本操作系统定为级别最高的0级,第0层;查找只依赖于基本操作系统的安装软件包,将它们的级别定为1级,并属于第1层;依次类推,对于一个表征某个应用程序的软件包,只要其依赖于第n层中级别是n级的软件包,那么这个软件包就被定为n+1级、并属于第n+1层。其中n为大于等于0的整数。\n[0015] 步骤二:类别标记,即根据级别标记将系统的软件包排序,建立一个符合单向依赖关系的软件包队列,从队列尾部开始,对队列中的每个软件包,将其类别标识添加到与其有直接依赖关系的所有软件包之上,以完成对系统所有软件包的类别标记,用类别标记描述软件包对应用的支撑关系。\n[0016] 我们使用类别来标识软件包所属的范畴和支撑关系,并且使用和所支持应用数目相同的n位串来表示类别。以基本系统为队列头,将系统中所有软件包按照完整性级别进行排序,高完整级别排在前面,低完整级别排在后面,同一级别任意排序,形成一个软件包队列,然后采用由队列尾部回溯的算法标记类别,具体的标记步骤如下:\n[0017] 首先将这n个应用排一个序位,找出能代表这n个应用程序正常启动或运行的安装包(比如象代表应用mysql的mysql-server包)可以称之应用的表征包,并把它们对应位串的序位置1。\n[0018] 其次从队列的尾部包开始遍历,锁定位串不为全0的包,然后查找这个队列中该包所依赖的其它包,并将自己的位串与之相或操作。直到最后基本操作系统的位串被全部标记成全1为止。\n[0019] 经过完整性标记后,软件包之间就形成了一种只有单向依赖关系的层次式结构,参见图1只有两个应用A1、A2的标记情况。\n[0020] 步骤三:基于上述软件包的级别标记和类别标记的基础之上,对标记后形成的具有单向依赖关系的层次式应用结构进行应用安全隔离。\n[0021] 可信应用环境的构建要保证信任延伸到每一个应用组件,保障每一个应用程序在运行的过程中始终维持其可信的状态,通过以上对应用软件包的完整性标记,可以为每一个应用安装包及其所属的文件进行细粒度的标记,构建了安装包之间的一种只有单向依赖关系的层次式结构关系,通过基于Biba模型的强制访问控制与可信计算技术相结合来增强应用层次之间、类别之间的安全隔离,减少或者排除环境中非预期的干扰。应用的这种层次式结构的隔离的实现技术特征在于以下两个部分:应用层次之间的时间隔离和应用层次之间的空间隔离。\n[0022] 所述的应用层次之间的时间隔离,其具体方法为:\n[0023] 当系统控制权在应用层次之间进行转换时,要经过可信度量,只有校验关系为真时才能实现系统控制权的可信转换,保证应用在时间执行上的隔离。\n[0024] 当i层的某个应用执行完成,并且通过了对j层(j可能等于i)中某个应用重要安全组件的可信验证后,系统控制权被转移到j层中。此处i和j也为大于等于0的整数。\n[0025] 分析各个层中应用的安全组件,可以通过对应用流程的试运行来生成重要可执行程序和相关重要配置文件的预期值,这些预期值是通过具有保护功能的硬件来存储。这样系统的控制权在转换的时候,可以建立应用之间的可信校验关系,只有当可信校验关系为真时,才能实现控制权的可信转换,保证了应用的初态可信。\n[0026] 所述的应用层次之间的空间隔离,其具体方法为:每一层次的应用都不能随意取访问或者修改其它层次中应用的相关组件,不同的应用被划分成了不同的安全域,减少或者排除非预期的干扰,通过限制应用对系统资源的使用来达到应用之间在空间上的隔离,符合最小特权分配原则。\n[0027] 如果存在某些系统资源能够被i层的应用访问而不能被j层(j可能等于i)中的应用访问,并且j层的应用不能启动i层中的可执行程序,除非有明确的系统定义入口点。\n这时称i层和j层中的应用是空间隔离的。\n[0028] 通过强制访问控制策略,基本系统的完整性级别最高,故基本系统层不会被恶意的篡改,实现了自我的保护机制。对于上层的任何一层中的应用都不能去干扰比自己完整性级别高的应用,同时也不能干扰完整性类别不包含自己的其它应用。安全策略控制并限制应用使用的系统资源,使得系统资源得到了合理的分配,有效的限制了应用访问资源的范围,阻止了不同层次应用之间的恶意干扰,保证了应用之间在空间的隔离。\n(四)附图说明\n[0029] 图1本发明的构建方法两个应用的层次式结构示意图\n[0030] 图2本发明的构建方法的实现流程图\n(五)具体实施方式\n[0031] 如图1-2所示,本发明实现的技术方案的特征在于,根据应用安装软件包之间的依赖关系,利用特定的标记规则对软件包进行安全标记,利用强制访问控制机制和可信计算技术相结合,达到应用相互之间的在时间和空间上的严格隔离,限制应用使用的系统资源的范围,减少或者屏蔽应用之间非预期的干扰,为用户建立了一个安全可信的应用环境。\n[0032] 以Linux的一种发行版-Debian5.0系统为例,这一版本提供一个基础系统以及大量.deb格式的软件包,这些软件包中提供本软件包正常安装所依赖的其它软件包列表。系统在安装过程中,调用apt-get命令,可安装特定软件包以及该软件包所依赖的其它软件包。\n[0033] 本方法首先选定一些常用的应用,如xwindows,kde,mysql,apache,php,http等等,对这些安装软件包的依赖关系进行分析,建立一个依赖关系数据库。通过相应的标识算法,标识系统中所有软件包的级别和类别,这样就形成这些应用及其它们所依赖的其它软件包的单向依赖的层次式结构关系图,参见图1只有两个应用的标记情况。系统安装运行时,按照层次进行逐层安装,每安装完一个包,然后得到这个安装包所包括的所有文件进行安全标记,此时要求文件的标记与该包的标记一致,最后生成相应的安全策略,通过实施访问控制策略,应用只能访问其有限的资源,实现了应用安全域的划分与应用之间空间上隔离。\n[0034] 其次,每一个应用的特征包安装完后,定位此应用所属的执行程序及其它重要文件,然后生成相应的预期值策略,当系统的控制权在应用之间进行转换时,要进行可信度量,验证应用程序的初态的可信,保证应用在时间上隔离。具体的实施流程参见图2。\n[0035] 以上是本发明一种基于强制访问控制技术的可信应用环境的构建方法的具体实施方式,本发明的实施不限于此。
法律信息
- 2011-07-20
- 2010-02-24
- 2009-12-30
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-01-21
|
2008-09-02
| | |
2
| |
2006-05-17
|
2004-11-10
| | |
3
| |
2006-11-01
|
2005-04-28
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2012-03-13 | 2012-03-13 | | |
2 | | 2012-03-13 | 2012-03-13 | | |