基于规则匹配命中率和分布方差的防火墙规则集优化方法与流程

文档序号:15281824发布日期:2018-08-28 23:37阅读:554来源:国知局

本发明涉及基于规则匹配命中率和分布方差的防火墙规则集优化方法,属于计算机与信息科学技术领域。



背景技术:

防火墙是目前使用最广泛、最主流的网络安全技术之一,是网络安全体系中的第一道防线。而防火墙的安全性很大程度上取决于策略的配置,即基于预先设定的安全策略而形成的一组有序的规则集。随着网络安全需求的提升,防火墙规则复杂度不断增加。而防火墙规则集之间具有严格的优先级,在网络环境稳定的情况下,规则集的过滤效率不会有太大波动,但是一般网络环境是不断变化的,规则集的过滤效率也会随着网络环境的变化而变化,极有可能出现规则集过滤效率低下的问题。因此,本发明将提供可根据网络环境而动态调整防火墙规则集优先级的方法,让规则集过滤数据包的效率一直保持在较高的水平。

针对防火墙规则集复杂,而导致数据包过滤效率较低的问题。现有的防火墙规则集优化方法,通常可归为四类:

1、基于异常检测的防火墙规则集优化算法

一般防火墙规则集会存在相应的异常,异常包括屏蔽异常、交叉异常、冗余异常和包含异常,通过消除异常规则可以有效解决防火墙规则集配置出错的问题,从而得到正确配置的防火墙规则集。该方法属于静态优化方法,可以有效简化防火墙规则集,但是不够灵活且无法有效提升防火墙规则集的过滤效率。

2、基于规则合并的防火墙规则集优化算法

防火墙规则集一般存在相似规则。该方法通过规则合并操作,减少规则集中规则的数量,从而减少数据包匹配防火墙规则的平均次数,达到提升防火墙过滤效率的目的。然而这种方法,在防火墙规则集中规则数目较多时该类方法的优化效果更加明显,在规则数目较少时,防火墙过滤效率没有明显提升。

3、基于统计分析的防火墙规则集优化算法

该类方法通过统计一定时间内统计规则集中每一条规则的匹配命中信息,根据统计信息给每条规则计算一个权值,然后根据权值大小对规则进行降序排序,重新确定规则的优先级,使得权重较高的规则优先级更高,以此达到提升防火墙过滤效率的目的。该方法从一定程度上降低了数据包的匹配时间,提升了防火墙的过滤效率。但是规则的匹配命中信息不仅仅只有命中次数,还有当前网络流量大小、数据流持续时间等信息,这些信息也会对数据包匹配时间产生影响,因此在计算规则权重时应该加入这些相关参数,让计算出来的权重值更加合理,进一步提升防火墙的过滤效率。

4、基于信息增益的防火墙规则集优化算法

在数据包达到防火墙后,防火墙会将数据包与防火墙规则集中的规则按照顺序依次匹配,从第一条规则开始,与规则过滤域中的每一维属性依次比对。如果数据包与某一维过滤属性匹配成功,则继续匹配下一维过滤域属性,如果五维过滤域属性均匹配成功则执行该条规则的动作,如果数据包在匹配过程中与某一维过滤域属性匹配失败则结束该条规则的匹配,开始与下一条规则的过滤域进行匹配,所以对防火墙规则过滤域中的五元属性进行排序,可以减少数据包在匹配防火墙规则时属性比对的次数,减少规则匹配的时间,达到提升防火墙过滤效率的目的。但是这种方法,每一次优化都需要修改防火墙规则过滤域匹配流程,也需要对防火墙程序重新进行编译,开销较大。

针对上述问题,从数据包匹配防火墙规则命中率和命中时间分布统计信息两个角度分析并计算规则权重值,提出基于规则匹配命中频率和命中时间分布方差的防火墙规则集优化方法。



技术实现要素:

本发明的目的是为了提高防火墙数据包匹配效率并解决已有方法灵活性差、兼容性差问题,提出基于规则匹配命中频率和命中时间分布方差的防火墙规则集优化方法。

本发明的设计原理为:首先对防火墙初始化规则集进行预处理,预处理的内容包括规则集异常检测、异常处理及规则合并,预处理之后得到不存在异常规则的最简防火墙规则集。然后收集防火墙运行一段时间后的防火墙日志,根据防火墙日志信息计算规则权重,规则权重计算分为三个部分,分别是规则匹配命中频率统计、规则命中时间分布统计和根据这两项统计数据计算规则权重值。最后根据计算出来的规则权重值,对防火墙规则集进行重排序,将权重值较高的规则放在优先级更高的位置。

本发明的技术方案是通过如下步骤实现的:

步骤1,规则集预处理。

步骤1.1,规则集异常处理。包括对屏蔽异常、交叉异常、冗余异常和包含异常的处理。

步骤1.2,规则合并。对冗余的防火墙规则进行合并,在不影响防火墙过滤策略正确性的基础之上减少规则的数目。

步骤2,规则权重计算。

步骤2.1,统计防火墙日志,计算匹配规则命中率。

步骤2.2,统计防火墙日志,计算匹配规则命中时间分布方差。

步骤2.3,结合匹配规则命中率和匹配规则命中时间分布方差,计算相应防火墙规则的权重值。

步骤3,规则优先级调整。

步骤3.1,实时统计当前网络流量的大小,并依此动态调整规则权重计算中日志统计的时间周期。

步骤3.2,根据得出的防火墙规则权重值,动态调整防火墙规则的优先级。

有益效果

相比于基于异常检测的防火墙规则集优化方法,本发明具有更好的灵活性和好的优化效果。

相比于基于统计分析的防火墙规则集优化方法,本发明对规则优先级的调整依据更加多元合理,优化效果更好。

相比于基于信息增益理论的防火墙策略集规则优化方法,本发明不需要对防火墙程序进行修改,适用于绝大多数防火墙,具备良好的兼容性和可移植性。

附图说明

图1为本发明防火墙规则集优化方法原理框图。

图2为具体合并操作前的规则树图。

图3为具体合并后的规则树图。

具体实施方式

为了更好的说明本发明的目的和优点,下面结合实例对本发明方法的实施方式做进一步详细说明。

具体流程为:

步骤1,对防火墙规则集进行预处理。

步骤1.1,防火墙规则集的异常情况分为四类:屏蔽异常、交叉异常、冗余异常和包含异常。分别针对这四种异常的规则进行处理,得到和原规则集具有同样功能的最简防火墙规则集。

步骤1.2,防火墙规则合并。在进行防火墙规则集异常处理之后,得到一个没有异常、所有规则均不相关的规则集。一般网络数据包都属于某一个服务,由协议类型、源端口及目的端口可以确定一个服务,因此可以将防火墙策略集中的规则按照服务类型进行分组,对分组内的规则进行合并操作,可以在不影响防火墙过滤策略正确性的基础之上减少规则的数目,得到最简防火墙规则集。下面将详细说明规则合并的方法。

在进行规则合并之前需要将防火墙规则集构造成一颗规则树。规则树的结构如下:树的根节点表示整个防火墙规则集,它的两个子节点分别是规则动作域accept和deny;动作域节点的子节点是由协议类型、源端口及目的端口三元属性对应的服务;服务节点的子节点是该类服务所对应的防火墙规则的源ip地址;源ip地址节点的子节点是对应防火墙规则的目的ip地址,目的ip地址为规则树的叶子节点。

规则树构造结束后,通过检测节点以及子树的属性值来判断能否执行规则合并操作。规则合并有两个必要条件,一个是当前节点的属性值与待合并节点的属性值连续,另一个条件是它们的子树的属性值相同。下面将举例说明防火墙策略规则合并方法。

表1合并操作前的规则集

按照上述规则树构造方法将表1中的规则集构造成一颗规则树,见图2。然后对规则树的各个节点进行合并检测,检测发现有4条规则符合规则合并的要求。目的ip地址层的第一个节点的属性值10.15.8.10~100和第二个节点属性值10.15.8.101~150连续,因此规则r4和r5可以合并为一条新的规则r7;源ip地址层的第三个节点的属性值192.168.1.31~46和第四个节点属性值192.168.1.47~134连续,并且它们的子树属性值相同均为10.15.8.20~100,因此规则r2和r3可以合并为一条新的规则r8,其他节点均不满足合并要求。合并之后的规则树见图3。经过规则合并操作,原规则集的规则数量从6条下降到4条,得到无异常、不相关的防火墙规则集,见表2。

表2合并操作后的规则集

步骤2,规则权重计算。

步骤2.1,统计防火墙日志,计算匹配规则命中率。

规则匹配命中频率是指在统计周期内,一条规则匹配命中的数据包数相对整个规则集匹配命中数据包数的比值。网络流量具有连续性的特征,规则匹配命中频率很大程度上反映了该条规则在接下来的一段时间内匹配数据包命中可能性的大小,是防火墙规则权值计算中最重要的参数。防火墙规则ri的匹配命中频率计算方法如下:

mfi=pi/p(1)

公式(1)中mfi表示防火墙规则ri的匹配命中频率,pi表示ri在统计周期内匹配命中数据包的数量,p表示整个防火墙规则集在统计周期内匹配命中数据包的数量;公式(2)中pd表示防火墙规则集缺省规则在统计周期内匹配命中数据包的数量,pi表示包含n条规则的防火墙规则集中第i条规则在统计周期内匹配命中数据包的数量。pd、pi可以从防火墙日志中获取。

步骤2.2,统计防火墙日志,计算匹配规则命中时间分布方差。

规则匹配命中时间分布方差用来反映防火墙规则在统计周期范围内匹配数据包命中时间的分布情况。规则ri的匹配命中时间分布方差计算方法如下:

mi=pi/m(4)

公式(3)中tdvi表示防火墙规则ri的匹配命中时间分布方差,防火墙规则匹配命中统计周期等分为m个时间段,cj表示第j个时间段ri匹配命中数据包的数量,mi表示ri平均在每个时间段匹配命中数据包的数量。

步骤2.3,结合匹配规则命中率和匹配规则命中时间分布方差,计算相应防火墙规则的权重值。网络数据流具有突发性的特征,某些网络数据流可能在短时间内大量到达防火墙,这类数据包所对应的防火墙规则的匹配命中率会比较高,但是在大部分时间中并没有网络数据包匹配命中这些规则,直接根据匹配命中率为这些规则设定较高的优先级是不合理地,在进行规则权重计算时应该为这些匹配命中具备突发性特征数据包的规则制定一个惩罚规则,而规则匹配命中时间分布方差可以很好的反映数据包在时间上的分布特性,因此用规则的匹配命中时间分布方差来作为惩罚量化指标是最合适的。规则ri的权重值计算方法定义如下:

公式(5)中wi表示防火墙规则ri的权重值,mfi表示防火墙规则ri的匹配命中频率,tdvi表示防火墙规则ri的匹配命中时间分布方差。wi与mfi成正相关,与tdvi成负相关。与tdvi相比mfi更能体现出规则ri的优先级,一般情况下tdvi的值都比较大,会比mfi高出几个数量级,如果在计算权重值时直接将mfi与tdvi相除,得到的结果会与规则的实际权重值有较大偏差,因此需要弱化tdvi在规则权重值计算中的影响,本方法选择使用函数对tdvi进行平滑处理。通过公式计算出来的规则权重值兼顾了规则的匹配命中率和规则匹配命中的时间分布特性,能够客观合理地反映规则在防火墙规则集中的优先级。

步骤3,规则优先级调整。

步骤3.1,实时统计当前网络流量的大小,并依此动态调整规则权重计算中日志统计的时间周期。在对防火墙进行规则优先级调整时,需要先采集一定周期下的防火墙日志数据并计算出相应防火墙规则权重。当该周期为固定值时,信息灵敏度将会收到当前数据流量的影响。为了使防火墙规则集要想达到最好的优化效果,需要根据网络数据流大小对统计周期t进行动态调整。在此定义一个参数f来表征当前网络流量大小信息,f的定义如下:

f=fcurrent/fmax(6)

其中fmax表示防火墙能够处理的最大网络流量,fcurrent表示当前网络流量大小,f与当前网络流量大小成正比。通过前面的分析可知网络数据流统计周期t与网络流量大小呈负相关关系,对网络数据流统计周期t的定义如下:

tnew=told/f(7)

其中told为当前的网络流量统计周期,tnew为下一个网络流量统计周期。随着防火墙的运行,网络流量统计周期会随着网络流量大小的变化动态调整,尽可能的让防火墙规则集优先级与当前网络流量特征相匹配,从而保证防火墙一直保持较高的过滤效率。

步骤3.2,根据步骤2中的防火墙规则权重的定义,以及动态调整日志统计周期计算出防火墙每个规则的权重,动态调整防火墙规则的优先级。

测试结果:使用相同数据集和方法1、方法2、方法3提到的其他防火墙规则集优化方法进行实验,然后根据实验结果从兼容性、灵活性及优化效果这三方面将专利方法与上述方法进行对比,对比结果见表3。

表3与其他防火墙规则集优化方法的对比

从表3中的对比结果可以看出:

1、本方法有效降低了防火墙数据匹配的平均时延,同时相比另外几种方法本方法对防火墙规则集的优化效果更好;

2、本方法具备较好的兼容性和可移植性,使用时不需要对防火墙程序进行修改,可适用于绝大多数防火墙;

3、本方法能够根据不同得网络状态动态调整防火墙规则集,使防火墙一直保持较高的数据包过滤效率,具备较好的灵活性;

以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1