专利名称:计算机网络防御策略的冲突检测系统及检测方法
技术领域:
本发明涉及一种计算机网络防御策略的冲突检测系统及检测方法,属于计算机网络安全技术领域,涉及到面向计算机网络防御中的策略配置问题,并把冲突检测的思想从防火墙规则等网络安全设备的低级描述扩展到CND策略这种高层描述上。
背景技术:
近年来,随着计算机科技的不断发展网络呈现大规模分布式的特点,系统中所需配置的策略和策略配置人员的数量将增多,随之而来的是网络防御策略的维护难度逐渐加大,在策略的配置过程中极易产生冲突,影响整个系统的安全性。策略通过管理员,或者自动配置软件,转化为防御设备上的规则。目前的自动配置软件,机械执行策略到防御规则的转化,如果策略中存在冲突,只要策略语法上正确,自动配置软件仍然会执行,那么自动配置软件无法发现策略语义上的冲突,从而导致网络中存在着隐含的访问路径或隐含的拒绝访问的路径,造成隐私泄漏或阻止合法通信等严重后果。管理员进行策略到防御规则的转化,由于策略的规模、策略的语义复杂的相互作用等原因,也存在此问题。因此,从提高系统的安全性和保障系统运行效率高效性方面,在策略实施之前进行策略的冲突检测就显得尤为重要。首先,已有许多研究人员对策略规则冲突分析这一问题进行了大量的研究,取得了不少的成就,但是必须指出的是,这些工作大部分都是为了解决特定的策略管理问题,或研究关注的目标是策略规则的冲突问题等一系列访问控制策略冲突检测问题,而对于CN D策略(Computer Network Defence,计算机网络防御,CND)中的检测及响应策略的冲突检测,研究者鲜有涉及。CND策略是指为了实现特定的安全目标,计算机网络和信息系统根据一定条件选择防御措施的规则。鉴于计算机网络防御之于网络安全的重要性,CND策略冲突检测之于计算机网络防御的重要性,研究CND策略的冲突检测将具有重大的意义。其次,该技术能够使得系统在策略层面针对可能产生的冲突进行检测,避免在策略存在矛盾的情况下,依然进行底层可执行规则转化,导致不安全的执行结果,并且影响整个系统的安全性;另一方面,在策略层面进行冲突检测,比在底层规则层面进行冲突检测更加高效,也具有更好的灵活性与扩展性。因此,从提高系统的安全性和保障系统运行效率高效性方面,研究CND策略的冲突检测技术将很有意义。
发明内容
本发明的技术解决问题克服现有技术的不足,提供一种计算机网络防御策略的冲突检测系统及检测方法,能够更有效地检测冲突,防止未授权访问等安全问题容易的发生,大大提高了计算机网络系统安全性。本发明的技术解决方案计算机网络防御策略的冲突检测系统,包括文件读取与结果显示模块、策略预处理模块、策略语义建模模块和策略冲突检测模块,其中文件读取与结果显示模块负责读取输入文件,并输出结果;输入为CND策略描述文件和CND初始策略本体文件,输出为冲突检测报告;另外,在系统中还维护一个防御策略信息库,防御策略信息库用于存贮策略元组语义映射信息及策略元组的直接包含信息等,以便分析策略元组之间的包含关系,防御策略信息库在具体设计实现上采用SQL Server数据库管理软件来实现,策略元组语义映射信息和策略元组的直接包含信息分别对应不同的数据表;策略预处理模块负责对输入的CND策略描述文件进行解析,生成CND策略有序集作为输出;所述策略解析过程具体会按照CND策略描述语言的语法格式解析CND策略描述文件中的每一条策略,一条策略或者一个策略元组是由组织机构、角色、活动、视图、上下文和措施6个元素构成;策略语义建模模块完成对CND策略语义的建模工作,其中为三个子模块初始策略本体导入子模块负责导入OWL语言描述的CND初始策略本体文件并解析;策略实例加载子模块负责加载策略预处理模块生成的CND策略有序集,经转换后形成本地策略本体;而后通过策略元组语义映射子模块,判断策略元组之间的关系,最终构建CND策略语义模型;策略冲突检测模块完成针对CND策略有序集的冲突检测功能;首先,在构建的CND策略语义模型基础上,生成策略各个元组关系的有向图,判定元组之间关系;其次,根据策略中各个对应元组间的关系,遍历生成的策略元组关系有向图,从而分析出策略间的关系;最后,根据策略之间的关系及比对策略措施是否矛盾的情况就可分析出策略冲突及所属类型。计算机网络防御策略的冲突检测方法,步骤如下(I)利用Lex和Yacc构建的词法解析器和语法解析器对输入CND策略描述文件进行解析,解析出每条策略中的组织机构、角色、活动、视图、上下文和措施等元素,生成CND策略有序集;(2)利用本体建模工具Prot6g6人工构建OWL语言描述的CND初始策略本体,导入到检测系统中并解析出初始策略本体,其中CND初始策略本体文件是采用本体语言OWL来描述的,采用本体技术来描述可使得策略冲突检测中的概念与概念、概念与对象、对象与对象之间的关系更加明确,将大大减少对问题域中概念和逻辑关系可能造成的误解。CND初始策略本体文件具体包括CND策略概念的定义及其关系,以及策略实例的声明及其关系;步骤(I)中得到的策略有序集,与CND初始策略本体共同形成本地策略本体,通过策略元组语义映射,判断策略元组之间的关系,最终构建CND策略语义模型;(3)在系统中维护一个防御策略信息库,防御策略信息库用于存贮策略元组语义映射信息及策略元组的直接包含信息,以便分析策略元组之间的包含关系,防御策略信息库在具体设计实现上采用SQL Server数据库管理软件来实现,策略元组语义映射信息和策略元组的直接包含信息分别对应不同的数据表;(4)完成针对CND策略有序集的冲突检测功能,首先,在步骤(2)构建的CND策略语义模型基础上,利用步骤(3)中的防御策略信息库中的策略映射关系,生成策略各个元组关系的有向图,判定元组之间关系;其中有向图是指利用图论中的有向图来描述角色、视图以及活动等策略元组之间的继承关系,当两节点之间具有连通性时,即代表这两个节点对应的策略元组之间具有包含关系;有向图采用的数据结构是邻接表结构,对有向图中的每个结点建立一个单链表;表结点由包含域、链域和数据域三个域组成,其中包含域表示对当前结点的直接包含结点,链域表示对当前结点的其他的包含结点,数据域表示该结点存储的相关信息,在这里指策略的元组内容;头结点中,由结点域和数据域组成,其中结点域表示图中结点,数据域存储当前结点信息;(5)根据步骤(4)各个策略对应元组间的关系,利用提出的冲突检测算法遍历生成策略元组关系有向图,从而分析出策略间的关系,最后,根据策略之间的关系及比对策略措施是否矛盾的情况分析出策略冲突及所属类型;冲突检测算法包含以下几个部分初始化上下文策略表示,检查上下文是否重叠,初始化系统中已有的组织机构、角色、活动、视图、上下文和措施等内容,检查角色是否重叠、检查视图是否重叠、检查活动是否重叠、检查措施是否相互矛盾、显示冲突策略及冲突类型,具体步骤如下(a)算法首先根据CND策略语义模型,构建各个策略元组的关系图;(b)通过对遍历关系图,分析出策略元组之间的关系;(C)在此基础上得出两条防御策略之间的关系,然后通过措施元组比对,完成策略冲突分析;(d)最终算法以冲突报告的形式给出冲突产生的对象、类型及原因,完成对CND策略的冲突检测。本发明与现有的技术方法相比的有益效果在于(I)提出了 CND策略的语义建模方法。针对CND策略,采用一种Computer NetworkDefence Policy Specification Language (计算机网络防御策略描述语言,CNDPSL),该语言能够统一描述计算机网络防御中保护、检测和响应策略,这样可以不针对具体设备中的底层规则进行冲突检测,大大提高了方法的通用性。(2)给出了 CND策略冲突的分类方法及冲突分类形式化表示。结合现有的针对策略冲突的分类方法,研究针对CND策略冲突的分类方法并且给出每一种冲突类型的形式化表示。具体的冲突类型通过读取冲突规则来导入,这样可以动态的添加或删除需要检测的冲突类型,具有良好的可扩展性。(3)给出了 CND策略的冲突检测方法。在CND策略语义模型和冲突分类研究的基础上,结合现有的策略冲突检测算法,研究适用于CND策略的冲突检测算法,并且能够给出冲突位置、冲突类型和冲突原因,方便策略管理员及时进行冲突消解。目前现有的策略冲突检测技术都缺乏对冲突原因、冲突类型及冲突所在的策略位置等信息的检测。
图1为本发明的CND策略冲突检测系统功能结构图;图2为本发明的CND策略模型结构图;图3为本发明的CND策略语义建模算法流程图;图4为本发明的初始策略本体UML图;图5为本发明的CND策略描述文件解释流程图;图6为本发明的CND策略冲突检测算法流程图;图7为本发明的有向图模型及对应邻接表表示图。
具体实施例方式如图1所示,本发明中,计算机网络防御策略的冲突检测系统由文件读取与结果显示模块、策略预处理模块、策略语义建模模块和策略冲突检测模块构成。
整个系统实现过程如下(I)首先给出CNDPSL语言模型CNDPSL 语言面向 Computer Network Defence Policy Model (计算机网络防御策略模型,CNDPM),图2为该模型的结构图,能够统一描述保护、检测和响应策略,CNDPSL语言是一种声明式的语言,抽象了网络防御控制的行为,对网络防御需求具有较好的灵活性、可扩展性和适应性。CNDPSL语言描述的防御策略是一个与组织机构、角色、视图和活动相关的黑盒子,根据模型中组成部分的定义,策略(policy)形式化定义成六元组POLICY: : =<org, r, a, v, c, m>其中,orge 0RG, r e ROLE, a e ACTIVITY, v e VIEW, c e CONTEXT, m e MEASURE。策略中各实体存在偏函数的关系F:0RGXRXAXVXC — M所有的策略中,组织机构均为网络安全区域,策略元组取值均为定义的集合。(2)给出CND策略冲突的分类根据在CND策略冲突检测过程中是否需要引入策略语义,将策略冲突分为语法和语义冲突,其中针对语法冲突的检测不需要引入策略的语义;其次根据CND策略之间的关系,将语义冲突又进一步划分为包含冲突、相关冲突。定义I语法冲突是两条策略中在相同的组织机构中,上下文,角色、视图及活动元组名称都相同,而措施不能同时被满足的状态。此类冲突不需要理解策略的语义,仅从语法层面就可以检测出策略是否存在冲突。表示如下
权利要求
1.计算机网络防御策略的冲突检测系统,其特征在于包括文件读取与结果显示模块、策略预处理模块、策略语义建模模块和策略冲突检测模块,其中文件读取与结果显不1旲块负责读取输入文件,并输出结果;输入为CND束略描述文件和CND初始策略本体文件,输出为冲突检测报告;另外,在系统中还维护一个防御策略信息库,防御策略信息库用于存贮策略元组语义映射信息及策略元组的直接包含信息等,以便分析策略元组之间的包含关系,防御策略信息库在具体设计实现上采用SQL Server数据库管理软件来实现,策略元组语义映射信息和策略元组的直接包含信息分别对应不同的数据表;策略预处理模块负责对输入的CND策略描述文件进行解析,生成CND策略有序集作为输出;所述策略解析过程具体会按照CND策略描述语言的语法格式解析CND策略描述文件中的每一条策略,一条策略或者一个策略元组是由组织机构、角色、活动、视图、上下文和措施6个元素构成;策略语义建模模块完成对CND策略语义的建模工作,其中为三个子模块初始策略本体导入子模块负责导入OWL语言描述的CND初始策略本体文件并解析;策略实例加载子模块负责加载策略预处理模块生成的CND策略有序集,经转换后形成本地策略本体;而后通过策略元组语义映射子模块,判断策略元组之间的关系,最终构建CND策略语义模型;策略冲突检测模块完成针对CND策略有序集的冲突检测功能;首先,在构建的CND策略语义模型基础上,生成策略各个元组关系的有向图,判定元组之间关系;其次,根据策略中各个对应元组间的关系,遍历生成的策略元组关系有向图,从而分析出策略间的关系 ’最后,根据策略之间的关系及比对策略措施是否矛盾的情况就可分析出策略冲突及所属类型。
2.计算机网络防御策略的冲突检测方法,其特征在于步骤如下(1)对输入CND策略描述文件进行解析,解析出每条策略中的组织机构、角色、活动、视图、上下文和措施等元素,生成CND策略有序集;(2)导入OWL语言描述的CND初始策略本体文件并解析出初始策略本体,其中CND初始策略本体文件是采用本体语言OWL来描述的,采用本体技术来描述可使得策略冲突检测中的概念与概念、概念与对象、对象与对象之间的关系更加明确,将大大减少对问题域中概念和逻辑关系可能造成的误解;CND初始策略本体文件具体包括CND策略概念的定义及其关系,以及策略实例的声明及其关系;步骤⑴中得到的策略有序集,与CND初始策略本体共同形成本地策略本体,通过策略元组语义映射,判断策略元组之间的关系,最终构建CND策略语义模型;(3)在系统中维护一个防御策略信息库,防御策略信息库用于存贮策略元组语义映射信息及策略元组的直接包含信息,以便分析策略元组之间的包含关系,防御策略信息库在具体设计实现上采用SQL Server数据库管理软件来实现,策略元组语义映射信息和策略元组的直接包含信息分别对应不同的数据表;(4)完成针对CND策略有序集的冲突检测功能,首先,在步骤(2)构建的CND策略语义模型基础上,利用步骤(3)中的防御策略信息库中的策略映射关系,生成策略各个元组关系的有向图,判定元组之间关系;其中有向图是指利用图论中的有向图来描述角色、视图以及活动等策略元组之间的继承关系,当两节点之间具有连通性时,即代表这两个节点对应的策略元组之间具有包含关系;有向图采用的数据结构是邻接表结构,对有向图中的每个结点建立一个单链表;表结点由包含域、链域和数据域三个域组成,其中包含域表示对当前结点的直接包含结点,链域表示对当前结点的其他的包含结点,数据域表示该结点存储的相关信息,在这里指策略的元组内容;头结点中,由结点域和数据域组成,其中结点域表示图中结点,数据域存储当前结点信息;(5)根据步骤(4)各个策略对应元组间的关系,利用提出的冲突检测算法遍历生成策略元组关系有向图,从而分析出策略间的关系,最后,根据策略之间的关系及比对策略措施是否矛盾的情况分析出策略冲突及所属类型;冲突检测算法包含以下几个部分初始化上下文策略表示,检查上下文是否重叠,初始化系统中已有的组织机构、角色、活动、视图、上下文和措施内容,检查角色是否重叠、检查视图是否重叠、检查活动是否重叠、检查措施是否相互矛盾、显示冲突策略及冲突类型,具体步骤如下(a)算法首先根据CND策略语义模型,构建各个策略元组的关系图;(b)通过对遍历关系图,分析出策略元组之间的关系;(C) 在此基础上得出两条防御策略之间的关系,然后通过措施元组比对,完成策略冲突分析; (d)最终算法以冲突报告的形式给出 冲突产生的对象、类型及原因,完成对CND策略的冲突检测。
全文摘要
计算机网络防御策略的冲突检测系统及检测方法,利用词法解析器和语法解析器读取并解析CND策略描述文件;利用本体建模工具人工构建初始策略本体,初始本体只包括CND策略中策略元组的概念及概念间的关系,而无策略实例及其关系;依据初始策略本体和加载解析后的策略有序集,生成包含策略实例的本地策略本体,而后根据防御策略信息库中的策略元组的语义映射,得出元组之间的语义包含关系,在此基础上构建CND策略语义模型;构建策略各个元组的关系图并进行遍历,分析出策略元组之间的关系;通过措施元组比对,完成策略冲突分析,算法最终以冲突报告的形式给出冲突产生的对象、类型及原因。本发明能够更有效地检测冲突,防止未授权访问等安全问题容易的发生,大大提高了计算机网络系统安全性。
文档编号G06F21/56GK103049700SQ20131003252
公开日2013年4月17日 申请日期2013年1月28日 优先权日2013年1月28日
发明者夏春和, 罗杨, 魏昭, 李亚卓, 梁晓艳 申请人:北京航空航天大学