基于规则对网络数据包进行识别的方法和装置的制造方法

文档序号:9870282阅读:545来源:国知局
基于规则对网络数据包进行识别的方法和装置的制造方法
【技术领域】
[0001] 本发明设及深度包识别技术领域,尤其是一种基于规则对网络数据包进行识别的 方法和装置。
【背景技术】
[0002] 传统的网络安全检测是对数据包的结构化头部进行分析。然而随着网络的不断发 展,许多病毒、恶意代码、入侵指令、垃圾邮件等信息都隐藏在数据包的内容之中。因此,当 前在进行安全检测时,除了要对数据包头部进行检查之外,也要对数据包的内容进行检测, 比如基于应用层流量检测的深度包识别技术。
[0003] 深度包识别技术在网络层、传输层报文分析的基础上,增加了对应用层的分析,即 需要识别其他会话层、应用层、表示层报文特征,其特点是识别准确性高。运样比如在应用 层面协议识别的基础上,可W对特殊的应用进行流量控制,如针对某些P2P应用进行限流; 再如,对网络流量提供更深层次的审计和监控,或者对下一代防火墙的策略制定、过滤等提 供支持。
[0004] 传统的包深度识别(DPI ,Deep Packet Inspect) -般通过对网络数据包进行解 析,提取应用层数据包,并与特征库中的规则进行匹配W实现对应用层协议的识别。基于规 则的报文识别有利于协议的扩展,但是随着特征库的规则逐渐增多,将数据包与特征库中 毫无规律的规则(特别是一些基于正则的规则)逐个匹配会非常耗时,尤其在高速的网络环 境中,包识别的性能会变的很差。又或者在某些特定的企业网络环境中特征库中的协议报 文出现的概率极低甚至不会出现,运样就导致了很多无用的规则匹配,浪费了系统资源。因 此,需要一种更为有效的基于规则的对网络数据包进行识别的方法,使包深度识别更加高 效。

【发明内容】

[0005] 为此,本发明提供基于规则对网络数据包进行识别的方法和装置,W力图解决或 者至少缓解上面存在的至少一个问题。
[0006] 根据本发明的一个方面,提供了基于规则对网络数据包进行识别的方法,包括步 骤:根据第一规则集合构造第二规则集合,其中第一规则集合包括一条或者多条规则,每条 规则定义了网络数据包的多个属性中的一个或者多个属性的取值W及相对应的数据包类 型,并且当网络数据包的属性值和一条规则完全匹配时,则该网络数据包被识别为与该规 则相对应的数据包类型,第二规则集合包含一条或者多条在第一规则集合中的规则,并且 根据网络数据包的预定属性进行分类;对接收的网络数据包进行内容分析,W获取该网络 数据包的属性值;在第二规则集合中捜索与该网络数据包的属性值匹配的规则;W及在查 找到与该网络数据包的属性值相匹配的规则时,将该网络数据包识别为与该规则相对应的 数据包类型。
[0007] 可选地,在根据本发明的识别方法中,第二规则集合中的规则根据预定属性而划 分为多个子集,并且在第二规则集合中捜索与该网络数据包的属性值匹配的规则的步骤包 括:根据预定属性和网络数据包的属性值确定要进行捜索的第二规则集合的子集;W及在 子集中捜索与该网络数据包的属性值匹配的规则。
[0008] 可选地,在根据本发明的识别方法中,根据第一规则集合构造第二规则集合的步 骤包括:步骤1:根据预定属性,从第一规则集合中随机选择第一预定个规则进行分类并构 造第二规则集合;步骤2:针对所接收的数据包进行内容分析、规则捜索和数据包识别的处 理步骤,并统计处理的数据包总数、第二规则集合中每条规则的匹配次数、数据包的识别 率;步骤3:每当所处理的数据包总数达到第一预定数量的整数倍时,如果数据包的识别率 不高于第一阔值,则从第一规则集合中另外随机选择第二预定个规则、并根据预定属性而 分类到第二规则集合中;如果数据包的识别率高于第一阔值,则从第二规则集合中依序删 除不超过第二阔值个匹配次数少的规则;利用新构造的第二规则集合,重复上述步骤2和步 骤3的处理,直到所处理的数据包达到第二预定数量为止。
[0009] 可选地,在根据本发明的识别方法中,网络数据包的属性包括:数据链路层类型、 数据链路层包头长度、网络层协议类型、网络层包头长度、源IP地址、目的IP地址、传输层协 议、传输层包头长度、源端口、目的端口、会话协议、会话中的包序列、应用层数据报文长度、 应用层协议数据特征;W及预定属性包括:网络层协议类型、传输层协议、传输层端口。
[0010] 可选地,在根据本发明的识别方法中,第一预定数量是50000,第二预定数量为 5000000O
[0011] 可选地,在根据本发明的识别方法中,第一阔值是0.15。
[0012] 可选地,在根据本发明的识别方法中,该识别方法在应用于网络中时,先从网络中 选取第二预定数量个网络数据包用于所述根据第一规则集合构造第二规则集合的处理,并 随后在同一网络中利用所构造的第二规则集合对后续接收的网络数据包进行所述内容分 析、规则捜索和数据包识别的处理步骤。
[0013] 根据本发明的另一方面,提供了基于规则对网络数据包进行识别的装置,装置包 括:存储单元,适于分别存储第一规则集合和第二规则集合,其中第一规则集合包括一条或 者多条规则,每条规则定义了网络数据包的多个属性中的一个或者多个属性的取值W及相 对应的数据包类型,并且当网络数据包的属性值和一条规则完全匹配时,该网络数据包就 被识别为与该规则相对应的数据包类型,第二规则集合包含一条或者多条在第一规则集合 中的规则,并且根据网络数据包的预定属性进行分类;训练单元,适于根据第一规则集合构 造第二规则集合;分析单元,适于对接收的网络数据包进行内容分析,W获取该网络数据包 的属性值;识别单元,适于在第二规则集合中捜索与该网络数据包的属性值匹配的规则、还 适于在查找到与该网络数据包的属性值相匹配的规则时,将该网络数据包识别为与该规则 相对应的数据包类型。
[0014] 可选地,在根据本发明的识别装置中,存储单元还适于根据预定属性将第二规则 集合划分为多个子集;W及识别单元还适于根据预定属性和网络数据包的属性值确定要进 行捜索的第二规则集合的子集,并且在子集中捜索与该网络数据包的属性值匹配的规则。
[0015] 可选地,在根据本发明的识别装置中,训练单元包括:初步构造子单元,适于根据 预定属性,从第一规则集合中随机选择第一预定个规则进行分类构造第二规则集合;统计 子单元,适于统计处理的数据包总数、第二规则集合中每条规则的匹配次数、和数据包的识 别率,还适于当统计到所处理的数据包达到第二预定数量时通知训练子单元停止训练;W 及训练子单元,适于当所处理的数据包总数达到第一预定数量的整数倍时,如果数据包的 识别率不高于第一阔值,则从第一规则集合中另外随机选择第二预定个规则、并根据预定 属性而分类到第二规则集合中;如果数据包的识别率高于第一阔值,则从第二规则集合中 依序删除不超过第二阔值个匹配次数少的规则。
[0016] 可选地,在根据本发明的识别装置中,网络数据包的属性包括:数据链路层类型、 数据链路层包头长度、网络层协议类型、网络层包头长度、源IP地址、目的IP地址、传输层协 议、传输层包头长度、源端口、目的端口、会话协议、会话中的包序列、应用层数据报文长度、 应用层协议数据特征;W及预定属性包括:网络层协议类型、传输层协议、传输层端口。
[0017] 可选地,在根据本发明的识别装置中,第一预定数量是50000,第二预定数量为 5000000O
[0018] 可选地,在根据本发明的识别装置中,第一阔值是0.15。
[0019] 可选地,在根据本发明的识别装置中,该识别装置在应用于网络中时,训练单元适 于从网络中选取第二预定数量个网络数据包用于根据第一规则集合构造第二规则集合的 处理;分析单元和识别单元适于在同一网络中利用所构造的第二规则集合对后续接收的网 络数据包分别进行内容分析、规则捜索和数据包识别的处理。
[0020] 基于上文描述,本方案中设计了 2个规则集合,规则集合中的每条规则都定义了网 络数据包的多个属性中的一个或者多个属性的取值W及相对应的数据包类型。其中,第一 规则集合可W包含所有的规则,通过从第一规则集合中选取第一预定个规则构建第二规则 集合,并根据网络数据包的预定属性对第二规则集合分类。在正常的网络数据包识别过程 中,统计计算处理过的数据包总数、第二规则集合中每条规则的匹配率、数据包的识别率等 数据,并基于一定的增减规律将匹配概率低的规则剔除,经过反复的训练提取出最优的匹 配规则集合,也就是通过不断的训练将第二规则集合优化。运样,就能显著提高数据包识别 的效率。
【附图说明】<
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1