一种基于B+树和位图索引融合树的冲突检测方法技术

技术编号:32638273 阅读:20 留言:0更新日期:2022-03-12 18:13
本发明专利技术属于索引查找和冲突检测技术领域,具体涉及一种基于B+树和位图索引融合树的冲突检测方法。本发明专利技术将网络安全设备的七元组策略建立成一棵融合,若不存在重叠属性,则可以通过只比较一个属性就能快速确定是否有存在与待插入策略冲突的策略,解决了在策略冲突中的一致性检测无法快速提高时效性和准确性的问题。采用B+树和位图索引的融合模型,可以快速比较新插入策略与现有策略的七元组属性,避免了将所有的属性都比较一遍。本发明专利技术通过B+树和位图索引的融合模型把策略的七元组进行划分,使得模型能更加快速地确定当前策略的位置,从而达到更准确更快捷的策略冲突检测效果。果。果。

【技术实现步骤摘要】
一种基于B+树和位图索引融合树的冲突检测方法


[0001]本专利技术属于索引查找和冲突检测
,具体涉及一种基于B+树和位图索引融合树的冲突检测方法。

技术介绍

[0002]由于在工控网络下,安全设备数量、种类众多,各类安全策略描述方法各不相同,当对全网安全策略进行统一调整时,造成安全管理员对安全策略配置所需专业知识要求高,工作量大,易出错。同时,安全策略可能涉及多种安全设备、主机、服务器、网络设备等,对网络连通性、应用可用性等可能存在复杂的影响。由于通信数据量的庞大,安全策略的数量也会急剧增长,为了保障安全策略的一致性,需要对安全策略的冲突进行有效和快速地检测,以便对检测出来的冲突进行消解,从而不论是在新增安全策略或是处理安全策略执行的反馈结果,都能有利于对安全策略进行智能优化有效防止冲突,能快速、准确地检测出类型策略冲突,保证网络的安全。

技术实现思路

[0003]本专利技术的目的在于提供一种基于B+树和位图索引融合树的冲突检测方法。
[0004]一种基于B+树和位图索引融合树的冲突检测方法,包括以下步骤:
[0005]步骤1:在多种安全设备中提取大量的由协议、源IP、目的IP、源端口、目的端口、时间、动作构成的七元组,将这些七元组整理为后续冲突检测训练所需的策略树;
[0006]步骤2:当新增一条策略时,定义待插入策略为x,B+树当前的根结点为root,确定插入的位置;
[0007]步骤2.1:先判断root结点是否已满,每个结点最多只能包含2*M

1个策略;如果根节点已经满了则生成一个新结点node,作为树新的根结点,将root作为一个结点加入到node中;其中,M是B+树的阶;
[0008]步骤2.2:若root结点中已经无法在放下更多的策略,则使用划分子树的方法,将root结点中的策略分成两部分,将前半部分的策略放入到一个新的结点中,然后将这个结点也加入到新的根节点中;
[0009]步骤2.3:将策略x插入到不满的根节点中,首先判断当前结点是否是叶子结点;如果不是叶子结点,就将待插入策略x与当前结点中的所有策略从最后一个开始比较,一旦找到一个比当前策略小的结点,就先判断这个结点是否已经满了,如果满了则直接划分子孩子,然后再比较当前策略应该插入到哪个子孩子中;如果当前策略比前一半策略要大,则递归比较后一个子树是否是叶子结点;如果已经是叶子结点,并且当前结点不满,因为如果满了,则就会在判断父节点时就会将当前结点分成两个子树,对此确定插入的位置;
[0010]步骤3:划分后,按照顺序自底向上做索引,自顶向下进行插入操作;通过融合树的算法模型,对新插入的策略进行冲突检测;
[0011]步骤3.1:将当前插入的策略与当前结点中的策略进行比较;先对协议这个属性进
行位图索引,相当于把B+树做纵向划分,确定当前策略所在的融合树范围;
[0012]步骤3.2:再比较源IP的大小,如果两个源IP相同则比较目的IP的大小,如果目的IP也相同则比较源端口的大小以此类推;
[0013]步骤4:通过比较七元组的各个属性之间的关系,确定是否存在冲突,若存在则是什么样的冲突类型;最后比较到最后一个属性动作则说明当前策略和比较策略至少有一部分相同的信息,如果动作相同则是冗余冲突;如果动作不同,则又分成三种冲突:泛化冲突,覆盖冲突和关联冲突。
[0014]本专利技术的有益效果在于:
[0015]本专利技术将网络安全设备的七元组策略建立成一棵融合,若不存在重叠属性,则可以通过只比较一个属性就能快速确定是否有存在与待插入策略冲突的策略,解决了在策略冲突中的一致性检测无法快速提高时效性和准确性的问题。采用B+树和位图索引的融合模型,可以快速比较新插入策略与现有策略的七元组属性,避免了将所有的属性都比较一遍。本专利技术通过B+树和位图索引的融合模型把策略的七元组进行划分,使得模型能更加快速地确定当前策略的位置,从而达到更准确更快捷的策略冲突检测效果。
附图说明
[0016]图1为本专利技术的流程图。
具体实施方式
[0017]下面结合附图对本专利技术做进一步描述。
[0018]本专利技术为了对安全策略的冲突进行有效和快速的检测,并解决了新增策略插入策略库中如何快速检测出与现有策略是否有冲突的问题。在传统的B+树冲突检测中,将多种属性分别建立各自的一棵树在分别对各自属性进行冲突检测,虽然提高了整体策略冲突的准确性,但忽略了时间性能对冲突检测的影响,使得在涉及网络安全设备的策略在冲突检测一致性中检测效率无法达到令人满意的效果。本专利技术提出了一种基于B+树和位图索引融合树的冲突检测方法,可以针对不同的安全设备策略的七元组信息进行融合树的冲突检测极大程度地提高检测的时间性能以及冲突准确性能从而达到网络策略的一致性的目的。
[0019]步骤1:在多种安全设备中提取大量的由协议(Protocol)、源IP(SourceIP)、目的IP(DestIP)、源端口(SourcePost)、目的端口(DestPost)、时间(Time)、动作(Action)构成的七元组,将这些七元组整理为后续冲突检测训练所需的融合树。
[0020]步骤2:当新增一条策略时,定义待插入策略为x,B+树当前的根结点为root。
[0021]步骤3:先判断root结点是否已满,每个结点最多只能包含2*M

1(M是B+树的阶)个策略。如果根节点已经满了则生成一个新结点node,作为树新的根结点,将root作为一个结点加入到node中。若root结点中已经无法在放下更多的策略,则使用划分子树的方法,将root结点中的策略分成两部分,将前半部分的策略放入到一个新的结点中,然后将这个结点也加入到新的根节点中。
[0022]步骤4:将策略x插入到不满的根节点中,首先判断当前结点是否是叶子结点。如果不是叶子结点,就将待插入策略x与当前结点中的所有策略从最后一个开始比较,一旦找到一个比当前策略小的结点,就先判断这个结点是否已经满了,如果满了则直接划分子孩子。
然后再比较当前策略应该插入到哪个子孩子中。如果当前策略比前一半策略要大,则递归比较后一个子树是否是叶子结点;如果已经是叶子结点,并且当前结点不满,因为如果满了,则就会在判断父节点时就会将当前结点分成两个子树。
[0023]步骤5:将当前插入的策略与当前结点中的策略进行比较。先对协议这个属性进行位图索引,相当于把B+树做纵向划分,确定当前策略所在的融合树范围,以及确定当前策略是否与当前融合树中的某个策略有冲突。
[0024]步骤6:划分后,按照顺序自底向上做索引,自顶向下进行插入操作。先比较源IP的大小,如果两个源IP相同则比较目的IP的大小,如果目的IP也相同则比较源端口的大小以此类推;如果要比较到最后一个属性动作则说明当前策略和比较策略至少有一部分相同的信息,如果动作相同则是冗余冲突。如果动作不同,则又分成三种冲突:泛化冲突,覆盖冲突和关联冲突。
...

【技术保护点】

【技术特征摘要】
1.一种基于B+树和位图索引融合树的冲突检测方法,其特征在于,包括以下步骤:步骤1:在多种安全设备中提取大量的由协议、源IP、目的IP、源端口、目的端口、时间、动作构成的七元组,将这些七元组整理为后续冲突检测训练所需的策略树;步骤2:当新增一条策略时,定义待插入策略为x,B+树当前的根结点为root,确定插入的位置;步骤2.1:先判断root结点是否已满,每个结点最多只能包含2*M

1个策略;如果根节点已经满了则生成一个新结点node,作为树新的根结点,将root作为一个结点加入到node中;其中,M是B+树的阶;步骤2.2:若root结点中已经无法在放下更多的策略,则使用划分子树的方法,将root结点中的策略分成两部分,将前半部分的策略放入到一个新的结点中,然后将这个结点也加入到新的根节点中;步骤2.3:将策略x插入到不满的根节点中,首先判断当前结点是否是叶子结点;如果不是叶子结点,就将待插入策略x与当前结点中的所有策略从最后一个开始比较,一旦找到一个比当前策略小的结点,就先...

【专利技术属性】
技术研发人员:刘凌灼王武辉王祥王宝宝吴昊丁一刘苹陈森董露
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:

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

1