APP下载

一种新的动态策略冲突检测模型

2011-03-14李新星刘朝晖叶勇

网络安全技术与应用 2011年3期
关键词:库中客体规范化

李新星 刘朝晖 叶勇

南华大学计算机科学与技术学院 湖南 421001

0 引言

策略是关于系统行为管理的规则的集合。通常经过编译的策略作为一条记录存储于策略库中,当策略执行点 PDP (Policy Decision Point)接到策略执行点PEP(Policy Enforcement Point)的策略请求时,PDP便可以从策略库中加载启用一条新的策略。策略系统管理员可以通过策略管理工具增加、删除、编辑策略库中的策略。当策略管理员对策略库进行增加、删除、编辑操作的时候,就有可能引发策略的冲突。比如一条策略规定公司中层管理人员不能访问资料R,而另一条策略规定工程师可以访问资料R,当某一职员既是工程师又是中层管理人员时,策略的冲突便产生了。冲突的策略可以在策略库中并存,但要尽量避免策略的冲突在运行时产生,如果在运行时发生策略的冲突,则需要快速的检测出冲突的策略并进行消解。策略的冲突检测和消解是策略研究的重要内容之一。

1 策略冲突检测的相关研究

E. Lupu等人在文献[1]中将策略的冲突分为模态冲突(modality conflict)和应用冲突(application conflict)两类。Lupu等人分析指出,策略模态冲突的产生是由于策略的<主体,客体,动作>有重叠或者部分重叠而引起的,故而对模态冲突的检测可以转换为对<主体,客体,动作>三元组重叠关系的判断。应用冲突是指不能从策略描述中直接判断、与应用环境密切相关的策略冲突类型。其中模态冲突包括A+/A-(授权策略冲突)、O+/O-(义务策略冲突)、O+/A-(义务策略与授权策略相冲突)三种情况。应用冲突包括资源冲突、多管理者冲突,自管理冲突三种情况。

文献[1]提出的不同策略 <主体,客体,动作>三元组发生重叠或部分重叠会导致模态冲突的结论已被广泛接受,但文献[1]没有给出具体的算法来对<主体,客体,动作>重叠关系进行判断。在<主体,客体,动作>三元组重叠关系判断方法的研究方面,国内外有一些相关的研究成果。在文献[2]中提出了对策略的属性值进行规范化处理,一条策略各属性值映射到n维的实数空间,再设计算法对这个n维空间进行集合去处,从而判断出<主体,客体,动作>间的重叠关系。文献[3]~[6]采用将域、策略对象、动作等分别转化为有向图,通过对图进行操作来判断冲突。文献[7]提出了另一种新颖的冲突检测方案,由于潜在的冲突虽然存在变化,但都是可预测的,因此提出建立一个潜在策略冲突数据库,它用于存储所有可能在运行时发生冲突的策略,同时还包括运行时发生冲突的具体条件。通过搭建潜在策略冲突库,大大降低了基于策略的管理系统运行时由于冲突检测而引起的性能大幅波动。

目前,国内外的研究成果都是相对独立和分散的,主要集中在对策略冲突的静态检测,对策略冲突的动态检测目前还没有公开的成熟方案,策略运行时冲突的动态检测主要还是在策略加载启用时才开始判断是否产生运行冲突,这样会造成策略管理系统性能的较大抖动。

因此,本文提出一种新型的策略冲突检测模型,可以较大幅度地减轻策略系统运行时由于冲突检测而带来的性能波动问题。

2 一种新的策略冲突检测模型

在策略管理系统运行过程中,当某一些特定情况发生就需要进行策略冲突的检测。这些特定情况有如下五种:(1)向策略库中新增一条策略;(2)尝试执行一个策略动作;(3)给实体或用户分配一个新的角色;(4)实体或用户发生变化;(5)策略系统所定义的外部事件的发生。

本文在现有研究成果的基础上,结合Ponder策略部署框架,设计了一种新的策略冲突检测模型,如图1所示:

图1 策略冲突检测模型图

策略冲突检测情况分析:

(1)向策略库中新增加一条策略。新增的策略可能会与策略库中的一条或多条策略相冲突。由于策略库中的策略可能是成千上万条,如何降低运算的时间复杂度,降低策略响应造成的性能抖动,增强策略响应的实时性便显得尤为重要。本文提出首先对所有的策略先进行规范化的处理后再进行<主体,客体,动作>重叠关系的判断。一种情况是新增的策略没有与策略库中的现行策略相冲突,则直接将新增的策略写入策略库中;另一种情况是新增的策略与策略库中的某一条或几条策略相冲突,这种冲突我们分为两种情况来分析:事实冲突和潜在冲突。事实冲突意味着冲突一定会发生;潜在冲突则意味着冲突在策略系统运行时可能发生,也可能不发生。对检测到的事实冲突,必须转到冲突消解进程,对潜在冲突,则只需要将冲突的策略对存储到潜在策略冲突库中即可。

(2)PEP尝试执行一个策略动作。当策略系统尝试去执行一个策略动作时,PDP只需要到策略冲突库中把与此动作相关的策略检索出来比较即可做出决策。

(3)发生策略系统所定义的事件。事件的发生可能同时激活一对或多对冲突的策略,判断事件是否引起冲突,只要从潜在策略冲突库中检索出相关的策略并加以比较即可。如下面二条策略:

PolicyA规定当分发药品的事件发生时,护士必须对药品数据库进行更新。PolicyB规定当凌晨一点要对库存的药品进行清点,并生成目录清单。在对库存的药品进行清点期间不允许对数据库进行更新操作的。当护士发放药品和凌晨一点这二个事件同时发生时,PolicyA与PolicyB的冲突就产生了。这二条可能在系统运行时发生冲突的策略,需要将策略的名称、发生冲突的条件存入潜在策略冲突库中。这样在护士分发药品或凌晨一点事件发生时,只要简单的到潜在策略冲突库中按事件检索出相关的策略即可快速地判断出是否产生冲突。

(4)给策略系统的实体或用户分配一个新的角色。原来的用户可能已包含一个或多个角色,新分配的角色与原有的角色可能会发生应用冲突,也可能发生新角色的策略与原有其它角色的策略相冲突的情况。在系统行动时出现这一类的情况,只需要对潜在策略冲突库检索出相关策略并加于判断即可。

(5)策略实体发生变化。策略实体或用户的属性、关系发生变化需要对潜在策略冲突库中的冲突策略对进行策略属性规范化处理后重新评估是否冲突。

(6)策略的规范化处理。在当新增一条策略或者策略管理系统中策略实体发生变化时,都要求对策略冲突与否对相关的策略进行全面的比较,计算量较大,如果不进行优化处理,将对系统的性能造成较大抖动。在本文的模型中,采用对策略和属性值进行规范化处理的方法,来提高发生以上二种情况时策略冲突的快速评估。规范化步骤如图2所示。

图2 策略属性数据规范化

规范化原则:将离散或连续的属性数据统一映射到实数集合。对连续的属性值映射到连续的实数区间;对离散的数据,先统计属性数据的个数,然后映射到连续的实数。对规划化处理后的<主体,客体>属性进行集合运算,比较完后,再重新映射至原来的策略属性值。规范化属性值运算公式如下:

通过以上公式进行交集运算,达到对<主体,客体>重叠关系快速判断的目的。对要进行比较的一对策略,先对action进行判断,如果是二个冲突的动作,则再对策略的主体和客体属性值进行规范化处理后再作交集运算。当交集运算的结果为非空时,再对客体进行集运算,如果结果也是非空,则这是一对冲突的策略。如果主体或客体的交集结果是空集,则,不存在冲突。冲突的策略更新至潜在策略冲突库,同时将此新增策略更新至策略库中,无冲突的新增策略则直接添加到策略库中。

在Ponder框架下,Ponder策略描述语言提供对角色的定义,并且在分布式的策略管理中具有相当的普遍性,所以,结合角色的定义,我们将策略冲突进一步分为角色内部策略的冲突(internal conflict),角色间的策略冲突(external conflict),应用冲突(application conflict)和其它冲突。冲突检测的主要步骤描述如下:

本文提出的基于潜在策略冲突库和规范化技术的冲突检测模型,大幅减少了策略系统运行时的性能抖动。在策略加载前,先分析在不同具体情况下,该策略可能会与策略库中其它一条或多条策略发生冲突进行预测,并将预测的结果存入潜在策略冲突库。策略冲突检测系统运行时,大部分工作只需要简单的执行检索匹配操作即可判断是否存在冲突;在运行过程中,实体如果发生因而可以有效提高策略加载运行时对冲突的检测效率。

3 结束语

策略的冲突可分为静态和动态两种类型的冲突。在目前大部分研究都集中于对静态策略冲突检测的背景下,本文提出了一种对动态的策略冲突进行检测的方案模型,该模型可有效地对策略的冲突进行检测,并避免性能的大幅抖动,并且具有良好的扩展性。在接下来的工作中,我们将主要致力于基于此冲突检测模型基础,对策略的冲突消解方案进行设计和优化。

[1]E.LUPU,M.SLOMAN.Conflicts in Policy-based Distributed Systems Management[J].IEEE Trans on Software Engineering. 1999.

[2]吴蓓,陈性元,张永福.可扩展的网络安全设备内策略冲突检测算法[J].计算机应用研究.2010.

[3]王永亮,陈性元,吴蓓.一种新的策略冲突检测与消解方法[A].2007通信理论与技术新发展——第十二届全国青年通信学术会议论文集(下册)[C].2007.

[4]蒋康丽,熊齐邦.策略网管中规则冲突检测算法的研究[J].计算机应用.2004.

[5]王琳, 滕玲莹.基于多域环境的安全策略冲突检测模型研究[J],西南民族大学学报·自然科学版.2008.

[6]何再朗,田敬东,张毓森.策略冲突分析、检测及解决方案[J].兰州理工大学学报.2005.

[7]N.Dunlop,J.Indulska,K.Raymond.Dynamic Conflict Detection in Policy-Based Management Systems, In Proceedings of the 6th international Enterprise Distributed Object Computing Conference. IEEE Computer Society,Washington,DC,eptember 2002.

猜你喜欢

库中客体规范化
街头的人
符号学视域下知识产权客体的同一性及其类型化解释
价格认定的规范化之路
从今天开始
智能盘库在自动化立体库中的探索和应用
行动语义、客体背景和判断任务对客体动作承载性的影响*
狂犬病Ⅲ级暴露规范化预防处置实践
高血压病中医规范化管理模式思考
旧客体抑制和新客体捕获视角下预览效应的机制*
满足全科化和规范化的新要求