数据流检测方法和装置的制造方法

文档序号:9828017阅读:635来源:国知局
数据流检测方法和装置的制造方法
【技术领域】
[0001] 本申请涉及网络通信技术,特别涉及数据流检测方法和装置。
【背景技术】
[0002] 目前,用于应用层中数据流检测的设备(简称数据流检测设备)基于检测规则库 对应用层的数据流进行检测。这里的数据流检测设备比如为上网行为管理设备、入侵检测 设备(IPS)等。
[0003] 检测规则库中的规则主要定义以下几个匹配条件:
[0004] 固定字符串:有一个或者多个固定字符串,需命中其中一个或多个;
[0005] 协议:具体的协议比如UDP、HTTP等;
[0006] 方向:数据流的请求方法还是应答方向,或者是双向;
[0007] 端口 :数据流源端口或者目的端口信息,大部分规则不定义端口;
[0008] 位置:固定字符串出现在报文中的位置。
[0009] 通常,上述的几个匹配条件对大多数应用来说还不能准确的检测数据流,因此,规 则中除定义上述几个匹配条件之外还需定义一个或多个正则表达式,当上述的匹配条件都 满足后再进行正则表达式匹配,当正则表达式也命中则说明该规则精确的命中了。
[0010] 但是,在进行正则表达式匹配时非常消耗性能,数据流检测设备在进行应用层数 据流检测时会因为正则表达式的匹配消耗大量的设备性能而导致数据流转发延时等缺陷。

【发明内容】

[0011] 本申请提供了数据流检测方法和装置,以通过减少正则表达式匹配的次数防止数 据流转发延时等缺陷。
[0012] 本申请提供的技术方案包括:
[0013] -种数据流检测方法,该方法应用于数据流检测设备,包括:
[0014] 接收数据流,将数据流匹配的本地N个规则的规则标识ID记录至第一匹配集,N大 于或等于1,N个规则中的每一规则中至少定义一个正则表达式;
[0015] 判断数据流是否为HTTP类型的数据流,如果是,针对第一匹配集中的每一规则 ID,在本地规则所属域名表项中找到包含该规则ID的规则所属域名表项,在找到的规则所 属域名表项中的第一域名字段为第一值时,将该规则ID记录至第二匹配集;第一值用于指 示所述规则定义的固定字符串中不包含域名;
[0016] 依据第二匹配集中规则ID对应的规则中定义的正则表达式对数据流进行匹配。
[0017] -种数据流检测装置,该装置应用于数据流检测设备,包括:
[0018] 第一匹配单元,用于将与接收的数据流匹配的本地N个规则的规则标识ID记录至 第一匹配集,N大于或等于I,N个规则中的每一规则中至少定义一个正则表达式;
[0019] 第二匹配单元,用于判断数据流是否为HTTP类型的数据流,如果是,针对第一匹 配集中的每一规则ID,在本地规则所属域名表项中找到包含该规则ID的规则所属域名表 项,在找到的规则所属域名表项中的第一域名字段为第一值时,将该规则ID记录至第二匹 配集;第一值用于指示所述规则定义的固定字符串中不包含域名;
[0020] 第三匹配单元,用于依据第二匹配集中规则ID对应的规则中定义的正则表达式 对数据流进行匹配。
[0021 ] 由以上技术方案可以看出,本发明中,通过对数据流最终匹配出的规则进行过滤, 最终剩下的规则会少于数据流最终匹配出的规则,这也就意味着最终对数据流进行正则表 达式的次数减少,大大减少设备在正则表达式匹配上的性能开销,在硬件不变的前提下增 大数据流检测设备的处理带宽。
【附图说明】
[0022] 图1为本发明提供的方法流程图;
[0023] 图2为本发明实施例提供的步骤103实现流程图;
[0024] 图3为本发明实施例提供的域名与IP地址对应表建立流程图;
[0025] 图4为本发明提供的装置结构图。
【具体实施方式】
[0026] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对 本发明进行详细描述。
[0027] 本申请提供的方法包括图1所示的流程:
[0028] 参见图1,图1为本发明提供的方法流程图。该方法应用于数据流检测设备,这里 的数据流检测设备用于检测应用层的数据流,具体实现时可为IPS、上网行为管理设备等。 如图1所示,该流程可包括以下步骤:
[0029] 步骤101,接收数据流,将数据流匹配的本地N个规则的规则标识(ID)记录至第一 匹配集,N个规则中的每一规则中至少定义一个正则表达式,N大于或等于1。
[0030] 当数据流检测设备接收到数据流时,首先进行如下第一类匹配条件(具体为固定 字符串)的匹配:轮询本地检测规则库中每一规则,检查该接收的数据流是否包含该规则 中的固定字符串,如果是,确定该规则满足第一类匹配条件。根据需求,可能需要多次重复 执行第一类匹配条件的匹配。最终,可能会确定出M个规则满足第一类匹配条件的匹配,M 大于或等于N。
[0031] 之后,对于满足第一类匹配条件的规则,如果该规则中还有协议、方向、端口、位置 中的至少一个组成的第二类匹配条件,则依据数据流继续匹配第二类匹配条件匹配。根据 需求,可能需要多次重复执行第二类匹配条件的匹配。最终,可能会从M个规则中确定出L 个规则满足第二类匹配条件的匹配,L大于或等于N。
[0032] 在应用中,数据流检测设备本地的检测规则库中大部分规则为了保证检测的准确 性都定义了正则表达式,甚至定义了不止一个正则表达式,基于此,从上述满足第二类匹配 条件的L规则中选择定义了至少一个正则表达式的规则,最终选择出的规则的数量为上述 的N,N大于或等于1。最终如步骤101所述,将N个规则的规则ID集中记录至第一匹配集。
[0033] 步骤102,判断数据流是否为HTTP类型的数据流,如果是,针对第一匹配集中的每 一规则ID,在本地规则所属域名表项中找到包含该规则ID的规则所属域名表项,在找到的 规则所属域名表项中的第一域名字段为第一值时,将该规则ID记录至第二匹配集;第一值 用于指示规则的固定字符串中不包含域名。
[0034] 作为本发明的一个实施例,当步骤102判断出数据流不为HTTP类型的数据流,或 者,当步骤102在找到的规则所属域名表项中的第一域名字段不为第一值时,则直接按照 现有方式依据第一匹配集中规则ID对应的规则中定义的正则表达式对数据流进行匹配。
[0035] 也就是说,本发明中只针对HTTP类型的数据流,减少正则表达式匹配的次数,原 因是:只有HTTP类型的数据流,才会涉及域名,步骤102中描述的针对第一匹配集中的每一 规则ID执行的步骤才有意义。
[0036] 在本发明中,数据流检测设备本地的检测规则库中各规则除了包含上述的第一匹 配条件、第二匹配条件、正则表达式之外,还需要额外增加一个规则所属域名表项,用于记 录定义在HTTP协议上的规则与所属一级域名的对应关系,所有定义在HTTP协议上的规则 必须定义对应的所属一级域名。
[0037] 规则所属域名表项主要包含以下五个字段:序号字段,规则ID字段,第一域名字 段,第二域名字段、正则表达式字段。表1示出了规则所属域名表项中的五个字段。
[0039] 表 1
[0040] 其中,序号字段用于表示规则所属域名表项在本地规则所属域名表中的序号。规 则ID字段用于表示规则的ID。
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1