论文部分内容阅读
摘要: 针对支持多安全策略访问控制框架形成最终安全决定存在冲突及有效组织多个安全策略的问题,本文分析了当前主要访问控制框架的特点,提出了改进MAC多安全策略组合方法,引入了表达式匹配模式,改进了基于控制标识的安全决定策略,解决了访问控制框架在支持多安全策略时执行效率低、缺乏适应性的问题。
关键词: 访问控制框架MAC多安全策略框架改进
1.引言
访问控制框架将安全策略决定与其实施相隔离,确保访问控制总是有一致的安全策略判定视图,在安全策略方面提供灵活性,但是多个安全策略规则之间可能存在冲突。如何有效组织多个安全策略形成最终的访问决定,是访问控制框架需要考虑的重要的问题。
Linux系统中提出的LSM框架和FreeBSD系统中MAC框架[1]支持多个安全策略,但是组织多个安全策略形成策略判定的方法不相同。通过对访问控制框架中多安全策略的如何组合形成安全决定的问题进行分析与比较,针对其存在的问题,我们提出一种多策略组合问题的解决方法:改进MAC多安全策略组合方法。
2.多安全策略组合技术分析
Flask框架实现了由四个子策略组成的多安全策略[2],包括多级安全(MLS)策略、类型实施(TE)策略、基于标识的访问控制(IBAC)策略和基于角色的访问控制(RBAC)策略。其支持的多种不同的安全策略模块作为访问控制决策组件(ADF)已经在系统中实现。
LSM是Linux内核上开发的访问控制框架,不同的访问控制模块可以在相同的Linux内核上实现,如使用不同的安全模型,只需以可装载内核模块的形式加载。LSM多安全策略堆栈的细节由系统主要安全模块决定,给安全模块的管理带来复杂性,多个安全模型之间存在的冲突没有很好地解决。
TrustedBSD[3]项目开发的MAC框架支持多个MAC策略,是一个灵活的可扩展的安全框架,其在编译或运行时对内核的访问控制模型进行扩展,新的系统安全策略可以作为内核模块实现,被链接到内核。
上述多安全策略的组合关系主要是两种:一是多安全策略之间是并列关系,访问控制决定需要满足所有的多安全策略;二是多安全策略之间有主从关系,安全策略的组合问题由最先向系统注册的主安全模块决定。前一种情况难以适应应用系统环境多样性和多变性;而后一种情况,安全策略之间的确存在优先顺序,但其将安全策略的组合问题交给主安全策略模块,增加了主安全模块的设计及实现难度[5]。
3.改进MAC多安全策略组合方法的基本思想
为满足实际中应用系统运行环境对多种策略主从、优先级的需求,使MAC多安全策略框架更具适应性,且不增加安全策略模块的设计难度,我们对MAC多安全策略框架作了改进。基本思路是:(1)设置优先级控制标识priority mark;(2)通过标识设置不同的链表路径,从而改变控制策略;(3)引入表达式匹配模式;(4)按照priority mark优先级标识加载,设置匹配模式控制不同标识的多安全策略模块。
优先级控制标识有:(1)decisive(决定的),该策略模块形成最终访问是决定的,如验证成功,其它标识模块被忽略,返回真,否则为假,系统中可有零个或有且只有一个该标识的策略模块;(2)required(必要的),表示最终的访问决定是必须的,如返回真,则所有required标记的策略模块必须为真,如多个该标识的策略模块中某个验证失败,则访问决定判定为假;(3)optional(可选的),表示该策略模块是可选的,即使该模块返回假,仍允许访问,框架忽略其为假,并继续处理下面的策略模块;(4)invalid无效的,表示使用该策略模块是无效的,如使该模块起作用,将标识改变即可。约定D是decisive标识缩写形式,R是required标识缩写形式,O是optional缩写形式,I是invalid缩写形式。则标识优先级从高到低为DROI。
为了使控制标识更能表达实际应用中的多条件需要,我们引入表达式匹配模式,对安全策略验证真假及安全链表中放置安全策略的数量进行表示。字符表达的语义为:(1)+(X)表示X为真;(2)-(X)表示X为假;(3)X?表示X一次或一次也没有;(4)X*表示X一次或多次;(5)X{n}表示X恰好n次;(6)X{n,}表示X至少n次;(7)X{n,m}表示X至少n次,但是不超过m次。使用的逻辑运算包括:(1)X&&Y(X与Y),当+X且+Y为真时,X为真;(2)X||Y(X或Y),当+X或者+Y为真时,X为假。
为了表达运用四种安全标识的多安全策略在组合时复合结果,按照D、R、O、I从高到低优先级排列的复合结果。+(D{1})表示安全链表中只能存在一个使用decisive标识的安全策略,且该策略判定结果为真;+(R*)表示安全链表中存在一个或多个使用required标识的安全策略,且该组安全策略判定结果都为真;-(R*)表示安全链表中存在一个或多个使用required标识的安全策略,且该组安全策略有可能存在一个或多个判定为假,整个结果为假;+(O*)、-(O*)、+(I*)、-(I*)表示如上。
假设有如下模块类型及对应的标识:MLS标识required;BIBA标识optional;LOMAC标识optional;SEBSD标识required,这些模块加载到MAC框架链表中。仅SEBSD及MLS策略判定都为真时,访问决定为真,否则为假。其他策略的标识优先级小于required,故required标识模块的复合结果起决定作用。
4.改进MAC多安全策略组合方法的分析
改进MAC多安全策略组合方法有效地解决了系统在不同条件下对安全策略的不同需求;表达式匹配模式的学习与应用标识的配置实现比较简单,减少了对访问控制模块的影响;有助于降低性能开销,减少无用策略的支持,为系统提供整体性能,并提供更灵活的选择空间。
应用多安全策略框架系统的管理员加载策略模块时作出相应的控制标识的选择,正确地制订匹配模式,能省去对多安全策略的加载顺序的调整所花的时间。不足在于需系统管理员预先设置好多重文件系统安全标志、每个角色的网络访问权限等,这可以通过单独的设置平台完成。
5.结语
访问控制框架满足安全操作系统发展的需要。通过对当前主要的访问控制框架进行分析,我们提出改进MAC多安全策略组合方法,引入表达式匹配模式,有效组织多个安全策略形成最终的安全决定,实现了多安全策略的主从、优先关系,满足应用中多安全策略框架的不同环境下的需要。
参考文献:
[1]Robert Watson,Wayne Morrison.The TrustedBSD MAC Framework:Extensible Kernel Access Control for FreeBSD5.0[C].Proceedings of the FREENIX Track2003 USENIX Annual Technical Conference,2003.
[2]Ray Spencer,Stephen Smalley.The Flask Security Architecture:System Support for Diverse Security Policies[C].Proceedings of the Eighth USENIX Security Symposium,1999:11-17.
[3]Robert N M Watson.Introducing Supporting Infrastructure for Trusted Operating System[C].BSD Conference,2000:34-60.
[4]陈汉章,张玉清.访问控制框架及其在Linux中的应用研究[J].计算机应用研究,2007,24 (4):217-219.
[5]汪伦伟.访问控制框架中多策略模块的组合方法[EB/OL].http://www.ibm.com/developer-works/cn/linux/l-acf/.2005,2.
关键词: 访问控制框架MAC多安全策略框架改进
1.引言
访问控制框架将安全策略决定与其实施相隔离,确保访问控制总是有一致的安全策略判定视图,在安全策略方面提供灵活性,但是多个安全策略规则之间可能存在冲突。如何有效组织多个安全策略形成最终的访问决定,是访问控制框架需要考虑的重要的问题。
Linux系统中提出的LSM框架和FreeBSD系统中MAC框架[1]支持多个安全策略,但是组织多个安全策略形成策略判定的方法不相同。通过对访问控制框架中多安全策略的如何组合形成安全决定的问题进行分析与比较,针对其存在的问题,我们提出一种多策略组合问题的解决方法:改进MAC多安全策略组合方法。
2.多安全策略组合技术分析
Flask框架实现了由四个子策略组成的多安全策略[2],包括多级安全(MLS)策略、类型实施(TE)策略、基于标识的访问控制(IBAC)策略和基于角色的访问控制(RBAC)策略。其支持的多种不同的安全策略模块作为访问控制决策组件(ADF)已经在系统中实现。
LSM是Linux内核上开发的访问控制框架,不同的访问控制模块可以在相同的Linux内核上实现,如使用不同的安全模型,只需以可装载内核模块的形式加载。LSM多安全策略堆栈的细节由系统主要安全模块决定,给安全模块的管理带来复杂性,多个安全模型之间存在的冲突没有很好地解决。
TrustedBSD[3]项目开发的MAC框架支持多个MAC策略,是一个灵活的可扩展的安全框架,其在编译或运行时对内核的访问控制模型进行扩展,新的系统安全策略可以作为内核模块实现,被链接到内核。
上述多安全策略的组合关系主要是两种:一是多安全策略之间是并列关系,访问控制决定需要满足所有的多安全策略;二是多安全策略之间有主从关系,安全策略的组合问题由最先向系统注册的主安全模块决定。前一种情况难以适应应用系统环境多样性和多变性;而后一种情况,安全策略之间的确存在优先顺序,但其将安全策略的组合问题交给主安全策略模块,增加了主安全模块的设计及实现难度[5]。
3.改进MAC多安全策略组合方法的基本思想
为满足实际中应用系统运行环境对多种策略主从、优先级的需求,使MAC多安全策略框架更具适应性,且不增加安全策略模块的设计难度,我们对MAC多安全策略框架作了改进。基本思路是:(1)设置优先级控制标识priority mark;(2)通过标识设置不同的链表路径,从而改变控制策略;(3)引入表达式匹配模式;(4)按照priority mark优先级标识加载,设置匹配模式控制不同标识的多安全策略模块。
优先级控制标识有:(1)decisive(决定的),该策略模块形成最终访问是决定的,如验证成功,其它标识模块被忽略,返回真,否则为假,系统中可有零个或有且只有一个该标识的策略模块;(2)required(必要的),表示最终的访问决定是必须的,如返回真,则所有required标记的策略模块必须为真,如多个该标识的策略模块中某个验证失败,则访问决定判定为假;(3)optional(可选的),表示该策略模块是可选的,即使该模块返回假,仍允许访问,框架忽略其为假,并继续处理下面的策略模块;(4)invalid无效的,表示使用该策略模块是无效的,如使该模块起作用,将标识改变即可。约定D是decisive标识缩写形式,R是required标识缩写形式,O是optional缩写形式,I是invalid缩写形式。则标识优先级从高到低为DROI。
为了使控制标识更能表达实际应用中的多条件需要,我们引入表达式匹配模式,对安全策略验证真假及安全链表中放置安全策略的数量进行表示。字符表达的语义为:(1)+(X)表示X为真;(2)-(X)表示X为假;(3)X?表示X一次或一次也没有;(4)X*表示X一次或多次;(5)X{n}表示X恰好n次;(6)X{n,}表示X至少n次;(7)X{n,m}表示X至少n次,但是不超过m次。使用的逻辑运算包括:(1)X&&Y(X与Y),当+X且+Y为真时,X为真;(2)X||Y(X或Y),当+X或者+Y为真时,X为假。
为了表达运用四种安全标识的多安全策略在组合时复合结果,按照D、R、O、I从高到低优先级排列的复合结果。+(D{1})表示安全链表中只能存在一个使用decisive标识的安全策略,且该策略判定结果为真;+(R*)表示安全链表中存在一个或多个使用required标识的安全策略,且该组安全策略判定结果都为真;-(R*)表示安全链表中存在一个或多个使用required标识的安全策略,且该组安全策略有可能存在一个或多个判定为假,整个结果为假;+(O*)、-(O*)、+(I*)、-(I*)表示如上。
假设有如下模块类型及对应的标识:MLS标识required;BIBA标识optional;LOMAC标识optional;SEBSD标识required,这些模块加载到MAC框架链表中。仅SEBSD及MLS策略判定都为真时,访问决定为真,否则为假。其他策略的标识优先级小于required,故required标识模块的复合结果起决定作用。
4.改进MAC多安全策略组合方法的分析
改进MAC多安全策略组合方法有效地解决了系统在不同条件下对安全策略的不同需求;表达式匹配模式的学习与应用标识的配置实现比较简单,减少了对访问控制模块的影响;有助于降低性能开销,减少无用策略的支持,为系统提供整体性能,并提供更灵活的选择空间。
应用多安全策略框架系统的管理员加载策略模块时作出相应的控制标识的选择,正确地制订匹配模式,能省去对多安全策略的加载顺序的调整所花的时间。不足在于需系统管理员预先设置好多重文件系统安全标志、每个角色的网络访问权限等,这可以通过单独的设置平台完成。
5.结语
访问控制框架满足安全操作系统发展的需要。通过对当前主要的访问控制框架进行分析,我们提出改进MAC多安全策略组合方法,引入表达式匹配模式,有效组织多个安全策略形成最终的安全决定,实现了多安全策略的主从、优先关系,满足应用中多安全策略框架的不同环境下的需要。
参考文献:
[1]Robert Watson,Wayne Morrison.The TrustedBSD MAC Framework:Extensible Kernel Access Control for FreeBSD5.0[C].Proceedings of the FREENIX Track2003 USENIX Annual Technical Conference,2003.
[2]Ray Spencer,Stephen Smalley.The Flask Security Architecture:System Support for Diverse Security Policies[C].Proceedings of the Eighth USENIX Security Symposium,1999:11-17.
[3]Robert N M Watson.Introducing Supporting Infrastructure for Trusted Operating System[C].BSD Conference,2000:34-60.
[4]陈汉章,张玉清.访问控制框架及其在Linux中的应用研究[J].计算机应用研究,2007,24 (4):217-219.
[5]汪伦伟.访问控制框架中多策略模块的组合方法[EB/OL].http://www.ibm.com/developer-works/cn/linux/l-acf/.2005,2.