一种实时识别网络协议的方法技术

技术编号:15706449 阅读:62 留言:0更新日期:2017-06-26 19:48
本发明专利技术公开了一种网络协议识别方法,涉及网络安全技术领域。将同一会话开始时的多个数据包构造成网络协议模型,首先与已知网络协议库中用同样方法构造的协议模型匹配,匹配成功则所述网络协议模型为已知网络协议,匹配失败,则再与未知网络协议库中用同样方法构造的协议模型匹配,并采用更新策略对未知网络协议库进行动态更新。本方法能够同时识别已知网络协议以及未知网络协议,并且能够自适应的去更新协议库,提高未知网络协议的识别率和识别速度。

Method for real-time identification of network protocol

The invention discloses a network protocol identification method, relating to the technical field of network security. A plurality of data to the same session at the beginning of the packet structure caused by network protocol model, and the first known network protocol library using the same method to construct the protocol model, to match the success of the network protocol model known as network protocol, the matching fails, then with unknown network protocol library using the same method to construct the protocol model matching, and using the update strategy for dynamic updates to the unknown network protocol library. This method can identify known network protocols and unknown network protocols simultaneously, and can update the protocol library adaptively, and improve the recognition rate and recognition speed of the unknown network protocols.

【技术实现步骤摘要】
一种实时识别网络协议的方法
本专利技术涉及网络安全
,具体而言,涉及一种网络协议识别方法。
技术介绍
随着网络技术的不断发展,网络流量激增,这些流量中不仅包含了已知网络协议,还包含了大量的未知网络协议流量,面对这些大量的数据流量时,需要分别进行识别。现有的针对已知网络协议的识别方法,大多分为两类:一类是是基于端口进行的,但是端口识别法会出现大量误报漏报的情况;另一类是基于单个数据包进行字符串匹配的方式,这种方式需要人为不断收集样本和不断更新协议库,工作量很大。而现有针对未知网络协议识别的方法,大多基于机器学习的,这些方法或者采用了非监督机器学习,或者采用了监督机器学习,要么无法准确分类,要么依赖大量标定数据集,另一方面,这些方法大多是基于整个流的协议匹配,这种误报比较少,但是识别速度无法满足未知网络协议实时识别的要求。综上所述,现有技术中对采用同一种方式来识别现有网络协议以及未知网络协议的研究较少,且现有技术都需要人为的进行收集大量样本和分析,并更新协议库。因此我们需要一种技术能够同时识别已知网络协议以及未知网络协议,并且能够自适应的去更新协议库,提高未知网络协议的识别率和识别速度,做到对网络协议的实时识别。
技术实现思路
本专利技术的目的在于提供一种网络协议识别方法,能够同时识别已知网络协议以及未知网络协议,并且能够自适应的去更新协议库,提高未知网络协议的识别率和识别速度。为了实现上述目的,本专利技术实施例采用的技术方案如下:一种网络协议识别方法,所述方法包括:获取在传输网络数据时同一会话开始时的多个数据包作为待识别网络数据包;将所述待识别网络数据包构造成网络协议模型;将所述网络协议模型与已知网络协议模型库中模型进行匹配,其中已知网络协议模型库中模型是由已知网络协议的网络数据包构造的;如果与已知网络协议模型库中模型匹配成功,则所述网络协议模型为已知网络协议模型;如果与已知网络协议模型库中所有模型匹配失败,则所述网络协议模型为未知网络协议模型,将所述网络协议模型与未知网络协议模型库中已有模型进行匹配,并采用未知网络协议更新策略对未知网络协议模型库进行更新,其中未知网络协议模型库中模型是由未知网络协议的网络数据包构造的。本专利技术提供的网络协议识别方法,采用同一套网络协议识别算法,能够同时识别已知网络协议以及未知网络协议,并通过独特的网络协议模型构造方法和更新策略能够自适应的去更新网络协议模型库,提高未知网络协议的识别率和识别速度,做到对网络协议的实时识别。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。通过附图所示,本专利技术的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本专利技术的主旨。图1示出了本专利技术实施例提供的一种网络协议识别方法的流程图;图2示出了本专利技术实施例提供的一种网络协议模型构造方法的流程图;图3示出了本专利技术实施例提供的一种将所述网络协议模型与已知网络协议模型库中模型匹配方法的流程图;图4示出了本专利技术实施例提供的一种将所述网络协议模型与未知网络协议模型库中模型匹配并更新未知网络协议模型库方法的流程图;图5示出了本专利技术实施例提供的另一种将所述网络协议模型与未知网络协议模型库中模型匹配并更新未知网络协议模型库方法的流程图;图6示出了本专利技术实施例提供的另一种网络协议识别方法的流程图。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参阅图1,本专利技术实施例提供的一种网络协议识别的方法,所述方法包括:步骤S101,获取在传输网络数据时的同一会话开始时的多个数据包作为待识别网络数据包;步骤S102,将所述待识别网络数据包构造成网络协议模型;步骤S103,将所述网络协议模型与已知网络协议模型库中模型进行匹配,其中已知网络协议模型库中模型是由已知网络协议的网络数据包构造的;步骤S104,判断将所述网络协议模型与已知网络协议模型库中已有模型是否匹配成功;步骤S105,如果与已知网络协议模型库中模型匹配成功,则所述网络协议模型为已知网络协议模型;步骤S106,如果与已知网络协议模型库中所有模型匹配失败,则所述网络协议模型为未知网络协议模型,将所述网络协议模型与未知网络协议模型库中已有模型进行匹配,并采用未知网络协议更新策略对未知网络协议模型库进行更新,其中未知网络协议模型库中模型是由未知网络协议的网络数据包构造的。本实施例提供的网络协议识别方法中,通过采用相同的网络协议模型构造方法对已知网络协议和未知网络协议进行模型构造,能够在同一机制下统一识别已知网络协议以及未知网络协议,并且通过不断的匹配和更新协议模型,能够自适应的去更新协议库,提高未知网络协议的识别率和识别速度。参阅图2,本专利技术实施例提供的一种网络协议模型构造的方法,所述方法包括:步骤S201,人工指定至少一个构造所述网络协议模型所需的模型属性参数;步骤S202,根据所述待识别网络数据包,计算所述网络协议模型的各个属性参数对应的频率分布,各个频率分布共同构成了所述网络协议模型。例如,假设指定的网络协议模型所需的模型属性参数为以下两个参数:(1)一个TCP链接的前8个包的前四次变化时的每个方向发送的字节数;(2)一个TCP链接的前5个包的字符出现频率。首先计算第一个模型参数的频率分布,即一个TCP链接的前8个包的前四次变化时的每个方向发送的字节数的频率分布。需要注意的是,如果此TCP链接中前8个包中不止包含四次方向的变化,则只记录前四次方向变化的的统计值;如果此TCP链接中前8个包中不足包含四次方向的变化,则记录实际方向变化的情况的统计值。假设前8个包中有四次方向的变化,每次方向改变时,前一个传输方向上的传输的总字节,记做NumOfByte,假设分别为:65,128,257,300。将第每次变化时所对应的总字节数除以64,即NNumOfByte/64,得出结果记为ChunkNum。此时求出前四次变化所对应的ChunkNum分别为1,2,4,4。将前四次方向变化的索引记为IndexDirection,IndexDirection的取值为00,01,10,11,表示四次变化。将ChunkNum与IndexDirection组成一个8比特无符号整数,记为IndexADB,作为对应的输出,其中低六位表示ChunkNum,高2位表示其对应的变化索引IndexDirecti本文档来自技高网...
一种实时识别网络协议的方法

【技术保护点】
一种网络协议识别方法,其特征在于,所述方法包括:获取在传输网络数据时同一会话开始时的多个数据包作为待识别网络数据包;将所述待识别网络数据包构造成网络协议模型;将所述网络协议模型与已知网络协议模型库中模型进行匹配,其中已知网络协议模型库中模型是由已知网络协议的网络数据包构造的;如果与已知网络协议模型库中模型匹配成功,则所述网络协议模型为已知网络协议模型;如果与已知网络协议模型库中所有模型匹配失败,则所述网络协议模型为未知网络协议模型,将所述网络协议模型与未知网络协议模型库中已有模型进行匹配,并采用未知网络协议更新策略对未知网络协议模型库进行更新,其中未知网络协议模型库中模型是由未知网络协议的网络数据包构造的。

【技术特征摘要】
1.一种网络协议识别方法,其特征在于,所述方法包括:获取在传输网络数据时同一会话开始时的多个数据包作为待识别网络数据包;将所述待识别网络数据包构造成网络协议模型;将所述网络协议模型与已知网络协议模型库中模型进行匹配,其中已知网络协议模型库中模型是由已知网络协议的网络数据包构造的;如果与已知网络协议模型库中模型匹配成功,则所述网络协议模型为已知网络协议模型;如果与已知网络协议模型库中所有模型匹配失败,则所述网络协议模型为未知网络协议模型,将所述网络协议模型与未知网络协议模型库中已有模型进行匹配,并采用未知网络协议更新策略对未知网络协议模型库进行更新,其中未知网络协议模型库中模型是由未知网络协议的网络数据包构造的。2.根据权利要求1所述的方法,其特征在于,将所述待识别网络数据包构造成网络协议模型,具体为:人工指定至少一个构造所述网络协议模型所需的模型属性参数;根据所述待识别网络数据包,计算所述网络协议模型的各个属性参数对应的频率分布,各个频率分布共同构成了所述网络协议模型。3.根据权利要求1所述的方法,其特征在于,将所述网络协议模型与已知网络协议模型库中模型进行匹配,具体为:将所述网络协议模型与已知网络协议模型库中的模型按照从头到尾的顺序逐一进行匹配;将所述网络协议模型的各个属性参数的频率分布逐一与已知网络协议模型库中取出的模型对应的各个属性参数的频率分布计算KL距离,并对所有KL距离求和;如果所述KL距离之和小于预设的第一距离阈值,则认为匹配成功,即认为该待识别网络数据包为已知网络协议;如果所述KL距离之和大于等于预设的第一距离阈值,则认为匹配失败,如果匹配失败,判断是否匹配到已知网络协议模型库中的最后一个模型;如果是已知网络协议模型库中的最后一个模型,则结束匹配,所...

【专利技术属性】
技术研发人员:钟云朱永强黄筱聪
申请(专利权)人:成都网安科技发展有限公司
类型:发明
国别省市:四川,51

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

1