一种WAF安全规则的快速匹配方法组成比例

技术编号:14894002 阅读:54 留言:0更新日期:2017-03-29 04:31
本发明专利技术公开了一种WAF安全规则的快速匹配方法,包括以下步骤:将现有规则按照逻辑原子化原则转换成一条逻辑语句,所述逻辑语句由多个逻辑子条件以及逻辑运算符组成;将由逻辑语句组成的规则集合转换为规则图;对数据包进行预处理,包括数据格式处理、数据解码处理;使用规则图对已经处理好的数据包进行分层匹配,看是否包含结束节点被匹配到;统计拦截数据,根据拦截比例,调整规则图的分层,拦截比例高的规则整体向下调整,拦截比例低的规则整体向上调整。本发明专利技术匹配方法更高效,且可根据攻击态势,周期性地调整规则图的分层,达到保持高效匹配的目的。

【技术实现步骤摘要】

本专利技术涉及WAF安全规则领域,特别涉及一种WAF安全规则的快速匹配方法
技术介绍
规则图是根据规则生成的严格分层的有向非循环图。WAF规则图是根据WAF规则内部逻辑关系,将每条规则转换成一条逻辑语句,然后合并相同语句,再根据每条子语句的重要性,生成一个严格分层的有向非循环图。现有技术中,串行的使用WAF规则,对数据包进行匹配,直到有规则匹配到或者所有规则全部匹配完。采用此方法,其主要问题是:顺序匹配,往往导致在匹配到真的拦截的规则之前需要进行很多没必要的匹配,如果是一条正常数据包,常常要将所有的规则全部进行匹配,因此,其匹配效率低,常常导致正常业务变慢。
技术实现思路
本专利技术所要解决的技术问题是提供是一种WAF安全规则的快速匹配方法,通过将规则集合转换成严格分层的规则图使用规则图进行数据包的匹配,以及根据规则拦截比例调整规则图分层等方式,解决WAF规则匹配效率低的问题。为解决上述技术问题,本专利技术采用的技术方案是:一种WAF安全规则的快速匹配方法,包括以下步骤:步骤1:步骤1:将现有规则按照逻辑原子化原则转换成一条逻辑语句,所述逻辑语句由多个逻辑子条件以及逻辑运算符组成,所述现有规则为一个或多个正则表达式及多个复杂逻辑运算组成;步骤2:将由逻辑语句组成的规则集合转换为规则图;步骤3:对数据包进行预处理,包括数据格式处理、数据解码处理;步骤4:使用规则图对已经处理好的数据包进行分层匹配,看是否包含结束节点被匹配到;具体关系是:若包含,匹配结束,判定此条数据包为攻击数据,结束节点所属的规则为匹配到的规则;若不包含,根据这一层的匹配结果,获取规则树下一层需要匹配的子节点集合,然后进行匹配,依次递归匹配,若都没有匹配到结束节点,或下一层无子节点需要匹配,匹配结束,判定此条数据包为正常数据;若父节点匹配结果为未匹配到false,子节点无需匹配,若父节点匹配结果为t匹配到true,子节点需要匹配;步骤5:统计拦截数据,根据拦截比例,调整规则图的分层,拦截比例高的规则整体向下调整,拦截比例低的规则整体向上调整。根据上述方案,所述步骤2中,若规则R1与规则R2存在同一个子条件,则该子条件在规则图中合并,且下沉到最底层。根据上述方案,拦截比例的统计是单挑规则统计。根据上述方案,拦截比例的统计是按类分规则集统计。与现有技术相比,本专利技术的有益效果是:现有的安全规则匹配方案,一种是使用规则集合顺序比较每条规则的方式进行安全规则匹配,一种是将规则集合和进行并行匹配,然后根据所有规则的匹配结果得出最终匹配结果,这两种方法的匹配效率都较低,本专利技术匹配方法更高效,且可根据攻击态势,周期性地调整规则图的分层,达到保持高效匹配的目的。附图说明图1是本专利技术一种WAF安全规则的快速匹配方法之规则图。图2是本专利技术一种WAF安全规则的快速匹配方法之调整后的规则图。图3是本专利技术一种WAF安全规则的快速匹配方法流程示意图。具体实施方式下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术方法包括规则集合使用有向图结构化,生成规则图、使用规则有向进行安全规则匹配、根据固定周期的拦截统计数据,对规则图的分层进行调整,生成新的规则有向图。详述如下:1、将现有规则按照逻辑原子化原则转换成一条逻辑语句,例如:规则R1转换为R1a&(R1b|R1c)&R1D,其由四个子条件及逻辑运算符组成。2、将由逻辑语句组成的规则集合转换为规则图。规则图进行严格分层,如果规则R1与规则R2存在同一个子条件,则该子条件在规则图中合并,且下沉到最底层,如图1所示。3、对数据包进行预处理,包括数据格式处理、数据解码处理等。4、使用规则图对已经处理好的数据包进行分层匹配。对结果进行分析,看是否包含结束节点被匹配到(初度为0的节点)。具体有如下情况:1)如果包含,匹配结束,判定此条数据包为攻击数据,结束节点所属的规则为匹配到的规则。2)如果不包含,根据这一层的匹配结果,获取规则树下一层需要匹配的子节点集合,然后进行匹配,依次递归匹配,如果都没有匹配到结束节点,或下一层无子节点需要匹配,匹配结束,判定此条数据包为正常数据。3)如果父节点匹配结果为false,子节点无需匹配,如果父节点匹配为true,子节点需要匹配。5、统计一定周期(例如以一天为一个周期)的拦截数据,根据拦截比例,对规则图的分层进行调整,拦截比例高的规则整体向下调整,拦截比例低的规则整体向上调整。拦截比例统计可以是单挑规则统计也可以是按类分规则集统计。例如,现在存在规则R1,R2,R3,R4,根据统计R4拦截次数占40%,R2拦截次数占30%,R3和R1拦截次数各占15%,规则图从图1调整为图2。本文档来自技高网...
一种WAF安全规则的快速匹配方法

【技术保护点】
一种WAF安全规则的快速匹配方法,其特征在于,包括以下步骤:步骤1:将现有规则按照逻辑原子化原则转换成一条逻辑语句,所述逻辑语句由多个逻辑子条件以及逻辑运算符组成,所述现有规则为一个或多个正则表达式及多个复杂逻辑运算组成;步骤2:将由逻辑语句组成的规则集合转换为规则图;步骤3:对数据包进行预处理,包括数据格式处理、数据解码处理;步骤4:使用规则图对已经处理好的数据包进行分层匹配,看是否包含结束节点被匹配到;具体关系是:若包含,匹配结束,判定此条数据包为攻击数据,结束节点所属的规则为匹配到的规则;若不包含,根据这一层的匹配结果,获取规则树下一层需要匹配的子节点集合,然后进行匹配,依次递归匹配,若都没有匹配到结束节点,或下一层无子节点需要匹配,匹配结束,判定此条数据包为正常数据;若父节点匹配结果为未匹配到,子节点无需匹配,若父节点匹配结果为匹配到true,子节点需要匹配;步骤5:统计拦截数据,根据拦截比例,调整规则图的分层,拦截比例高的规则整体向下调整,拦截比例低的规则整体向上调整。

【技术特征摘要】
1.一种WAF安全规则的快速匹配方法,其特征在于,包括以下步骤:步骤1:将现有规则按照逻辑原子化原则转换成一条逻辑语句,所述逻辑语句由多个逻辑子条件以及逻辑运算符组成,所述现有规则为一个或多个正则表达式及多个复杂逻辑运算组成;步骤2:将由逻辑语句组成的规则集合转换为规则图;步骤3:对数据包进行预处理,包括数据格式处理、数据解码处理;步骤4:使用规则图对已经处理好的数据包进行分层匹配,看是否包含结束节点被匹配到;具体关系是:若包含,匹配结束,判定此条数据包为攻击数据,结束节点所属的规则为匹配到的规则;若不包含,根据这一层的匹配结果,获取规则树下一层需要匹配的子节点集合,然后进行匹配,依次递归匹配,若都没有匹配到结束节点,或下一...

【专利技术属性】
技术研发人员:邓金城
申请(专利权)人:成都知道创宇信息技术有限公司
类型:发明
国别省市:四川;51

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

1