一种基于判定树的防火墙策略冲突检测方法技术

技术编号:13295410 阅读:61 留言:0更新日期:2016-07-09 13:35
本发明专利技术涉及一种基于判定树的防火墙策略冲突检测方法,该方法包括:对防火墙规则集中各条规则进行判定树转化,采用树型数据结构进行存储,每条策略对应树中唯一的一条路径。本发明专利技术提供的技术方案解决了现有基于判定树的防火墙策略冲突检测方法的不足,降低其时间复杂度,大大提高了冲突检测的效率。

【技术实现步骤摘要】

本专利技术涉及网络安全
,具体讲涉及一种基于判定树的防火墙策略冲突检测方法
技术介绍
知识经济与信息资源共享的时代,互联网蓬勃发展,与社会生活的各个方面日益密切。随之而来的威胁是不可避免的,相关技术也越来越高明。因而网络安全的维护显得尤为重要,防火墙的设置便是一种有效的计算机网络安全维护措施。防火墙是网络系统的组成部分,它通过明确的安全策略对试图进入内部安全网络外界不安全数据包进行控制,它可以选择性的阻隔不良信息以及对外界站点设置访问权限,在有访问时,系统自动进行访问权限审核,识别不良网站和病毒,最大程度限制黑客侵入网络,从而限制某些网络活动,最终达到保护系统安全的目的。防火墙策略实际上就是过滤规则的有序链表,每一条过滤规则由若干个网络域构成,这些域理论上可以是IP包、TCP包、UDP包头中出现的任何域,实际经验表明通常只要匹配通信协议类型(protocol)、源IP地址(sourceIPaddress)、源端口(sourceport)、目标IP地址(destinationIPaddress)、目标端口(destinationport)、动作(action)这六个域。防火墙策略一般由几十条到上千条规则组成。防火墙中的规则是由管理人员根据需求及自身的经验来制定的,在规则数目较少时,制定出一个合理的策略并不困难,对规则的维护也相对简单,但是当规则不断地增加时,人为制定安全策略难免出现一些疏漏,此时就无法保证防火墙的高效运作,甚至可能出现安全问题,也就是说仅靠经验是不足以应付数目庞大的规则的。就是说防火墙规则维护的复杂性可能会降低防火墙安全的有效性,正因为此,对防火墙策略冲突检测算法的研究是必不可少的。判定树是一个类似于流程图的树结构,其中每个内部节点表示在一个属性上的测试,每个分枝代表一个测试输出,而每个树叶节点代表类或类分布,树的顶层节点为根节点。假设现有防火墙策略中具有n条规则,记为r1,r2,……,rn,其过滤域<TCP/UDP等,srcip,srcport,destip,destpoft,action>,记为F1,F2,……,Fd。考虑规则ri,rj,判定树的根节点表示两者的过滤域F1进行比较,此时根节点的4个分支分别表示:(1)ri[F1]是rj[F1]的真子集;(2)ri[F1]是rj[F1]的超集;(3)ri[F1]与rj[F1]相同;(4)ri[F1]与rj[F1]不相关。对于分枝(1),(2)和(3)来一说,它的根节点接着进行ri[F2]和rj[F2]的比较,并根据比较结果继续创建分枝,这个过程一直持续下去,直到能够产生比较结果。对于分枝(4),很显然,规则ri和rj不可能产生冲突,则ri与rj的比较也就完成了,如图1所示。现有的判定树模型检测方法的优点是简单明了,但是由于算法中包含着大量的判断语句,很可能要进行很多次比较,因而运行速度比较慢,导致程序运行时间过长,影响工作效率。
技术实现思路
针对现有技术的不足,本专利技术的目的是提供一种基于判定树的防火墙策略冲突检测方法,该方法解决现有方法中存在的因过多判断语句造成的检测速度较慢的问题。本专利技术的目的是采用下述技术方案实现的:本专利技术提供一种基于判定树的防火墙策略冲突检测方法,其改进之处在于,所述方法包括下述步骤:步骤201:初始化存储树;步骤202:协议域分类;步骤203:源/目的端口对分类;步骤204:比较源IP地址;步骤205:比较目的IP地址;步骤206:比较动作域。进一步地,所述步骤201中,初始化存储树即创建树型结构,采用树型数据结构存储全部防火墙策略,包括:创建树型结构的过程中,向树中插入防火墙策略,按照防火墙策略的协议域、源/目的端口对域、源IP地址域、目的IP地址域以及动作域的顺序进行,并在动作域之后存储对应的防火墙策略id。进一步地,所述创建树型结构包括下述步骤:(1)在插入防火墙策略的过程中,把要判定的下一个域作为当前域的最左侧的孩子节点;(2)在创建的树型结构中,除动作域之外,就其他域各自对应的所有结点来说,除最左侧孩子之外的结点是其父亲结点的真子集,存放的是不同防火墙策略当前域的内容;所述其他域指的是协议域、源/目的端口对域、源IP地址域和目的IP地址域;(3)在创建过程中,树非空时,在插入防火墙策略的过程中,将相应的域与树的各个结点比较,如果相同则从最左侧孩子节点继续下一个域的判定;如果是当前结点的超集,则在当前结点前插入一个结点存放待插入防火墙策略的当前域,把被比较的结点作为插入结点的孩子结点,并把插入防火墙策略的下一个域作为插入结点最左侧的孩子节点;如果是当前结点的子集,则把待插入防火墙策略当前域和该结点除最左侧一个之外的孩子结点进行比较,如果相同则从最左侧孩子节点继续下一个域的判定;如果是当前结点的超集,则在当前结点前插入一个结点存放待插入防火墙策略的当前域,把被比较的结点作为插入结点的孩子结点,并把插入防火墙策略的下一个域作为插入结点最左侧的孩子节点;若当前结点只有一个孩子结点或没有匹配到内容相同的结点,则把该域的值插入,作为当前点的孩子节点。进一步地,如果要插入一条与现有防火墙策略完全冲突的项,则不能在树中找到合适的位置;把后插入防火墙策略的动作域作为已有防火墙策略的孩子结点,以保证所有的防火墙策略都存储到树型结构中。进一步地,扩充树型结构直至所有的防火墙策略均已插入,树的最终的叶子结点数和防火墙策略条目数量一致。进一步地,按照树型结构对防火墙策略进行存储之后,检测防火墙策略冲突时省去除最左侧之外的兄弟结点对应防火墙策略的比较,以减少防火墙策略比较的时间复杂度。进一步地,所述步骤202中,根据防火墙策略的协议域进行判定,防火墙策略协议域的协议包括TCP协议、UDP协议以及无限制划三类。进一步地,所述步骤203中,根据源/目的端口对域进行判定,防火墙策略目的端口包括21端口、80端口以及无限制三类。进一步地,所述步骤204中,进行源IP地址判定,按照IP是否存在重复的判定结果进行分类存储,若IP存在重复,则存在冲突或者冗余的情况;所述步骤205中,进行目的IP地址判定,按照IP是否存在重复的判定结果进行分类存储,若IP存在重复,则存在冲突或者冗余的情况;所述步骤206中,进行动作域判定,包括accept和deny两种情况。与最接近的现有技术相比,本专利技术提供的技术方案具有的有益效果是:1、本专利技术提供的基于判定树的本文档来自技高网
...

【技术保护点】
一种基于判定树的防火墙策略冲突检测方法,其特征在于,所述方法包括下述步骤:步骤201:初始化存储树;步骤202:协议域分类;步骤203:源/目的端口对分类;步骤204:比较源IP地址;步骤205:比较目的IP地址;步骤206:比较动作域。

【技术特征摘要】
1.一种基于判定树的防火墙策略冲突检测方法,其特征在于,所述方法包括下述步骤:
步骤201:初始化存储树;
步骤202:协议域分类;
步骤203:源/目的端口对分类;
步骤204:比较源IP地址;
步骤205:比较目的IP地址;
步骤206:比较动作域。
2.如权利要求1所述的防火墙策略冲突检测方法,其特征在于,所述步骤201中,初始
化存储树即创建树型结构,采用树型数据结构存储全部防火墙策略,包括:创建树型结构的
过程中,向树中插入防火墙策略,按照防火墙策略的协议域、源/目的端口对域、源IP地址
域、目的IP地址域以及动作域的顺序进行,并在动作域之后存储对应的防火墙策略id。
3.如权利要求2所述的防火墙策略冲突检测方法,其特征在于,所述创建树型结构包括
下述步骤:
(1)在插入防火墙策略的过程中,把要判定的下一个域作为当前域的最左侧的孩子节点;
(2)在创建的树型结构中,除动作域之外,就其他域各自对应的所有结点来说,除最左
侧孩子之外的结点是其父亲结点的真子集,存放的是不同防火墙策略当前域的内容;所述其
他域指的是协议域、源/目的端口对域、源IP地址域和目的IP地址域;
(3)在创建过程中,树非空时,在插入防火墙策略的过程中,将相应的域与树的各个结
点比较,如果相同则从最左侧孩子节点继续下一个域的判定;如果是当前结点的超集,则在
当前结点前插入一个结点存放待插入防火墙策略的当前域,把被比较的结点作为插入结点的
孩子结点,并把插入防火墙策略的下一个域作为插入结点最左侧的孩子节点;
如果是当前结点的子集,则把待插入防火墙策略当前域和该结点除最左侧一个之外的孩
子结点进行比较,如果相同则从最左侧孩子节点继续下一个域的判定;如果是当前结点的超
集,则在当前结点前插入一个结点存放待插入防火墙策略的当前域,把被比较的结点...

【专利技术属性】
技术研发人员:张涛马媛媛时坚李伟李星邵志鹏陈亚东
申请(专利权)人:国家电网公司中国电力科学研究院国网智能电网研究院江苏省电力公司江苏省电力公司信息通信分公司北京安码科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1