一种基于十字链表的工业防火墙规则库分析方法

文档序号:8397991阅读:606来源:国知局
一种基于十字链表的工业防火墙规则库分析方法
【技术领域】
[0001]本发明属于工业防火墙网络安全领域,具体地说,涉及一种基于十字链表的工业防火墙规则库分析方法。
【背景技术】
[0002]工业防火墙在部署到工业控制网络后,保护工业控制网络环境安全。被保护的环境包括环境中特定的资产,也包括资产之间的关系。资产之间的关系往往通过资产间交互的数据流体现。
[0003]管理员明确定义资产间数据流的关系来保证资产间正常的交流被允许。例如:工控网中炼油测温系统定期获取某高压阀门当前压力值。
[0004]管理员明确定义资产间某种数据流关系为异常情况被阻断。例如:工控网中炼油测温系统给系统中控压力检测仪发送重置命令。
[0005]管理员定义的全部针对资产数据流允许或阻断,形成了工业防火墙的规则库。工业防火墙通过针对特定工业控制网络环境的规则库,来进行特定工业控制网络环境安全管控。
[0006]在工业控制网络被保护环境中通过工业防火墙的每一个数据包都会被工业防火墙处理,通过或阻断。
[0007]工业控制网络中有很多关键业务对实时性要求高,反应速度要求在秒、毫秒级。
[0008]一个复杂的工业控制网络环境中,规则条数大于8千条。而数据包工业协议种类丰富,涉及格式、识别内容更是千差万别。如何提高规则匹配速度,在不降低工业防火墙安全能力的前提下提高处理性能,是工业防火墙迫切需要处理的问题。
[0009]数据包过滤(Packet Filtering)是指在网络层对数据包进行分析、选择。通过检查数据流中每一个数据包的源IP地址、目的IP地址、源端口号、目的端口号、协议类型等因素或它们的组合来确定是否允许该数据包通过。
[0010]状态检测包过滤是传统包过滤上的功能扩展。状态检测防火墙在网络层有一个检查引擎截获数据包并抽取出与应用层状态有关的信息,并以此为依据决定对该连接是接受还是拒绝。
[0011]深度包检测技术即DPI技术是一种基于应用层的流量检测和控制技术,当IP数据包、TCP或UDP数据流通过基于DPI技术的带宽管理系统时,该系统通过深入读取IP包载荷的内容来对OSI七层协议中的应用层信息进行重组,从而得到整个应用程序的内容,然后按照系统定义的管理策略对流量进行整形操作。
[0012]现有技术主要有三种,其各自有显著的优点,但缺点也很严重。
[0013]第一种如图1所示,为不对规则进行处理的技术,针对每一条规则进行一次数据包解析,直到匹配某条规则,则处理结束。每一条规则都是一个包解析过滤器。采用此方法程序结构清晰,逻辑简单。针对每条规则要求进行包解析,完成规则匹配判断,整体过程效率低。
[0014]第二种如图2所示,为根据协议类型对规则进行一定整理技术。根据协议类型,对规则集进行一定整理,针对每组规则处理数据包,直到匹配某条规则,则处理结束。规则组一般采用链表组织结构,通常根据协议类型形成一些数组式规则数据结构,当解析到数据包的某一层时处理对应协议的规则组。采用此技术能减少一定的包解析次数,但对于应用多样的深度内容分析则同样需要反复多次进行包解析,整体过程效率有一定提高。
[0015]第三种为根据协议类型对规则进行一定整理的技术。通常根据协议类型形成一些数组式规则数据结构,当解析到数据包的某一层时处理对应协议的规则组。采用此技术能减少一定的包解析次数,但对于应用多样的深度内容分析则同样需要反复多次进行包解析,整体过程效率有一定提高。
[0016]现有的各种技术,都是从规则来解析包。在规则差异极大的情况下,无法避免对包的反复解析提取指定内容的操作。

【发明内容】

[0017]为解决【背景技术】中的问题,本发明提出了一种具体的应用在工业控制网络中规则库分析方法,通过采用十字链表的组织形式将协议,内容,规则有机组合,达到一次解析数据包,遍历工业防火墙全部规则的目的,很好的提高了工业防火墙数据包处理能力,提高了工业控制网络中数据包规则库分析速度,达到了工业控制网络对数据包低延迟要求的目的。
[0018]本发明的技术方案为:
[0019]一种基于十字链表的工业防火墙规则库分析方法,其特征在于:其步骤如下:
[0020]步骤一:在工业控制网络环境下,系统管理员对网络环境进行安全分析后,确定安全规则集,安全规则集由具体规则O?规则N组成,N为大于I的正整数,对每条规则进行定义,其中规则N为缺省会加的末条规则,定义为阻断数据包并上报;
[0021]步骤二:系统根据系统管理员输入的安全规则集生成对应的十字链表;
[0022]步骤三:系统对十字链表进行归并操作,将相同内容进行归一,归并后,数据结构仍然是一个十字链表;
[0023]步骤四:根据十字链表的行索引数据,确定此安全规则集下需要从数据包中提取的数据集;
[0024]步骤五:依次检查十字链表各列节点,根据协议提取数据集内容判断节点匹配情况;
[0025]步骤六:取各节点匹配规则集的交集,确定是否有匹配规则,及匹配的规则号;如果有且只有一条匹配规则,则数据包按照该规则定义执行,如果匹配规则多于一条,则数据包按照第一条匹配规则定义执行,并报告管理员;如果无匹配规则,则执行规则N,即阻断数据包并上报。
[0026]在进一步改进的方案中,N=S,十字链表为9行7列,9行对应8条规则及行头,7列对应6种字段及列头,该6种字段分别为:协议、服务器IP地址、客户端IP地址、网址、网页内容、工控协议内容。
[0027]工控协议指工控网络中设备间消息传递协议。通过工控协议,上位机完成对工控网络测量仪表等设备的操作。工控协议内容指工控协议中包含的具体指令性内容。一般包含:功能码+内容+CRC校验码例如:功能码:写操作内容:1号寄存器。或者功能码:读操作内容:1号寄存器。
[0028]本发明的创新之处在于:
[0029]1、将工业控制网络规则集,以十字链表结构构建。
[0030]2、规则组成横轴,规则判断条件组成纵轴。
[0031]3、同一类节点进行合并,减少需要处理的节点。
[0032]4、根据十字链表中规则协议情况动态调用数据包深度分析引擎。
[0033]5、十字链表分析过程中通过已分析节点情况,动态排除不需要处理节点。
[0034]本发明的有益效果为:
[0035]本发明通过十字链表的方式组合规则库里的规则。在保留规则(行)形式的前提下,进行各规则条件(列)的分析,获取规则集中各规则的关系,形成规则集十字链表。通过规则集十字链表能一次解析数据包完成规则库分析。减少了数据包反复解析过程。特别是规则库中包含大量需要深度分析规则时,效率提升效果更加显著。
[0036]通过十字链表的规则灵活组合形式,提高了规则库数据包分析过程的时间,空间利用率。
[0037]规则十字链表理顺了规则条件之间的依赖,互斥,包含,相等关系,在十字链表节点分析过程中,可以动态去除依赖,互斥关系节点,简单判断包含关系节点,合并相同关系节点,达到了减少规则库分析节点,提高分析效率的目的。
[0038]采用本发明技术极大的提高了工业控制网络中数据包规则库分析速度,满足工业控制网络对数据包低延迟要求的目的。
【附图说明】
[0039]图1为现有技术中不对规则进行处理的技术的流程图。
[0040]图2为现有技术中根据协议类型对规则进行一定整理技术的流程图。
[0041]图3为本发明整体技术方案的流程图。
[0042]图4为本发明方案中步骤二的具体流程图。
[0043]图5为本发明方案中步骤三的具体流程图。
[0044]图6为本发明方案中步骤四的具体流程图。
[0045]图7为本发明方案中步骤五中对根据获取的内容处理规则十字链表的流程图。
【具体实施方式】
[0046]图3描述了本发明的整体技术方案。
[0047]一种基于十字链表的工业防火墙规则库分析方法,步骤如下:
[0048]步骤一:在工业控制网络环境下,系统管理员对网络环境进行安全分析后,确定安全规则集,安全规则集由具体规则O?规则N组成,N为大于I的正整数,对每条规则进行定义,其中规则N为缺省会加的末条规则,定义为阻断数据包并上报;
[0049]步骤二:系统根据系统管理员输入的安全规则集生成对应的十字链表;
[0050]步骤三:系统对十字链表进行归并操作,将相同内容进行归一,归并后,数据结构仍然是一个十字链表;
[0051]步骤四:根据十字链表的行索引数据,确定此安全规则集下需要从数据包中提取的数据集;
[0052]步骤五:依次检查十字链表各列节点,根据协议提取数据集内容判断节点匹配情况;
[0053]步骤六:取各节点匹配规则集的交集,确定是否有匹配规则,及匹配的规则号;如果有且只有一条匹配规则,则数据包按照该规则定义执行,如果匹配规则多余一条,则数据包按照第一
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1