掌桥专利:专业的专利平台
掌桥专利
首页

基于多模式匹配和关联约束的协议识别方法与系统

文献发布时间:2024-04-18 19:58:53


基于多模式匹配和关联约束的协议识别方法与系统

技术领域

本发明属于协议识别技术领域,尤其涉及一种基于多模式匹配和关联约束的协议识别方法与系统。

背景技术

网络协议是通信实体在网络环境中进行数据交互的基础,是计算机网络及数据通信不可缺少的组成成分。网络协议描述了特定网络环境下通信设备之间的通信过程,规定了通信报文的格式、处理方式和交互时序,其质量关乎网络通信的安全性、可靠性和稳定性。网络协议识别技术是管理和优化网络资源的重要基础,能够对网络流量的组成进行精确分析,保障网络正常运转,为网络管理与维护、网络内容监管、网络安全防御等研究领域提供技术支撑。

多模式匹配算法是基于报文内容实时分析的一种算法,具有匹配速度快、占用CPU少、适合海量数据的网络环境等优点,在协议识别中得到广泛的应用。而由于网络的复杂性,特征字段偶然触发时有发生,这使得这种方法只能粗略的对流量进行分类,在实际应用指准确率难以保证。改进的多模式匹配算法的研究已经有很多,当前的研究主要为基于正则表达式匹配的方法,该方法可以实现复杂规则的匹配,灵活高效,但是处理速度慢、空间开销大、误识别率仍较高。

发明内容

本发明主要解决网络协议识别中误识别率较高的问题,提出一种基于多模式匹配和关联约束的协议识别方案,该方案既可以快速匹配协议的报文格式,又可以减小协议识别的误识别率,提高了协议识别的准确性。

本发明第一方面提出一种基于多模式匹配和关联约束的协议识别方法。所述方法包括:

步骤S1、从一个标准协议中提取出多个标准协议特征序列,并将所述多个标准协议特征序列存储至标准协议库;

步骤S2、提取所述多个标准协议特征序列之间的关联关系,作为所述标准协议的识别规则,并将所述关联关系存入所述标准协议库;

步骤S3、对其他标准协议执行步骤S1-S2,以构建包含若干标准协议的标准协议特征序列和所述标准协议特征序列的关联关系的标准协议库;

步骤S4、获取待识别的协议数据比特流,将所述协议数据比特流与所述标准协议库中的标准协议特征序列进行比对,命中后进一步比对已命中的标准协议特征序列之间的关联关系,再次命中后则确定所述协议数据比特流的协议类型。

根据本发明第一方面的方法,在所述步骤S1中,根据协议类型提取出所述标准协议特征序列;具体包括:

根据协议的类型,基于协议分层结构来构建标准协议字典树,所述标准协议字典树包括根节点以及基于所述协议分层结构延展出的其他节点;

由所述标准协议字典树生成多个所述标准协议特征序列,将所述标准协议特征序列表示成二进制模式字符串的形式,并将所述二进制模式字符串进一步表征为有限状态机。

根据本发明第一方面的方法,在所述步骤S2中,提取各个二进制模式字符串之间的关联关系,作为所述多个标准协议特征序列之间的关联关系,所述关联关系包括距离关系、引用关系、层级关系、函数关系。

根据本发明第一方面的方法,在所述步骤S4中:

将所述协议数据比特流与以所述有限状态机表征的所述二进制模式字符串进行比对,命中若干个二进制模式字符串后,获取命中的若干个二进制模式字符串之间的关联关系;

进一步判断所述协议数据比特流是否符合所述命中的若干个二进制模式字符串之间的关联关系,再次命中后,提取出所述命中的若干个二进制模式字符串对应的标准协议特征序列以确定命中的标准协议特征序列所属的协议类型,作为所述待识别的协议数据比特流的协议识别结果。

本发明第二方面提出一种基于多模式匹配和关联约束的协议识别系统。所述系统包括处理单元,所述处理单元被配置为执行以下步骤:

步骤S1、从一个标准协议中提取出多个标准协议特征序列,并将所述多个标准协议特征序列存储至标准协议库;

步骤S2、提取所述多个标准协议特征序列之间的关联关系,作为所述标准协议的识别规则,并将所述关联关系存入所述标准协议库;

步骤S3、对其他标准协议执行步骤S1-S2,以构建包含若干标准协议的标准协议特征序列和所述标准协议特征序列的关联关系的标准协议库;

步骤S4、获取待识别的协议数据比特流,将所述协议数据比特流与所述标准协议库中的标准协议特征序列进行比对,命中后进一步比对已命中的标准协议特征序列之间的关联关系,再次命中后则确定所述协议数据比特流的协议类型。

根据本发明第二方面的系统,在所述步骤S1中,所述处理单元根据协议类型提取出所述标准协议特征序列;具体包括:

根据协议的类型,基于协议分层结构来构建标准协议字典树,所述标准协议字典树包括根节点以及基于所述协议分层结构延展出的其他节点;

由所述标准协议字典树生成多个所述标准协议特征序列,将所述标准协议特征序列表示成二进制模式字符串的形式,并将所述二进制模式字符串进一步表征为有限状态机。

根据本发明第二方面的系统,在所述步骤S2中,所述处理单元被配置为:提取各个二进制模式字符串之间的关联关系,作为所述多个标准协议特征序列之间的关联关系,所述关联关系包括距离关系、引用关系、层级关系、函数关系。

根据本发明第二方面的系统,在所述步骤S4中,所述处理单元被配置为:

将所述协议数据比特流与以所述有限状态机表征的所述二进制模式字符串进行比对,命中若干个二进制模式字符串后,获取命中的若干个二进制模式字符串之间的关联关系;

进一步判断所述协议数据比特流是否符合所述命中的若干个二进制模式字符串之间的关联关系,再次命中后,提取出所述命中的若干个二进制模式字符串对应的标准协议特征序列以确定命中的标准协议特征序列所属的协议类型,作为所述待识别的协议数据比特流的协议识别结果。

本发明第三方面公开了一种电子设备。电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本公开第一方面的一种基于多模式匹配和关联约束的协议识别方法中的步骤。

本发明第四方面公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本公开第一方面的一种基于多模式匹配和关联约束的协议识别方法中的步骤。

综上,本发明的技术方案通过提取协议特征序列,并写入模式特征库;写入特征序列之间的关联关系;输入目标比特流,进行多模式特征匹配;关联分析与协议识别,得到协议类型。本发明的技术方案既可以快速匹配协议的报文格式,又可以减小协议识别的误识别率,提高了协议识别的准确性。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明实施例的基于多模式匹配和关联约束的协议识别方法的流程图。

图2为根据本发明实施例的以太网常用协议格式标示字段关系图。

图3为根据本发明实施例的TCP协议多模式特征匹配的有限状态机的示意图。

图4为根据本发明实施例的一种电子设备的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明以减少协议识别中的误码率为优化目标,提出基于多模式匹配和关联约束的协议识别方法的技术方案。首先对协议的特征字段建立关联关系,然后采用多模式匹配的方法对协议进行识别,既保证了协议识别的实时性,又减小了协议识别的误识别率,提高了准确性。

本发明第一方面提出一种基于多模式匹配和关联约束的协议识别方法。所述方法包括:

步骤S1、从一个标准协议中提取出多个标准协议特征序列,并将所述多个标准协议特征序列存储至标准协议库;

步骤S2、提取所述多个标准协议特征序列之间的关联关系,作为所述标准协议的识别规则,并将所述关联关系存入所述标准协议库;

步骤S3、对其他标准协议执行步骤S1-S2,以构建包含若干标准协议的标准协议特征序列和所述标准协议特征序列的关联关系的标准协议库;

步骤S4、获取待识别的协议数据比特流,将所述协议数据比特流与所述标准协议库中的标准协议特征序列进行比对,命中后进一步比对已命中的标准协议特征序列之间的关联关系,再次命中后则确定所述协议数据比特流的协议类型。

根据本发明第一方面的方法,在所述步骤S1中,根据协议类型提取出所述标准协议特征序列;具体包括:

根据协议的类型,基于协议分层结构来构建标准协议字典树,所述标准协议字典树包括根节点以及基于所述协议分层结构延展出的其他节点;

由所述标准协议字典树生成多个所述标准协议特征序列,将所述标准协议特征序列表示成二进制模式字符串的形式,并将所述二进制模式字符串进一步表征为有限状态机。

根据本发明第一方面的方法,在所述步骤S2中,提取各个二进制模式字符串之间的关联关系,作为所述多个标准协议特征序列之间的关联关系,所述关联关系包括距离关系、引用关系、层级关系、函数关系。

根据本发明第一方面的方法,在所述步骤S4中:

将所述协议数据比特流与以所述有限状态机表征的所述二进制模式字符串进行比对,命中若干个二进制模式字符串后,获取命中的若干个二进制模式字符串之间的关联关系;

进一步判断所述协议数据比特流是否符合所述命中的若干个二进制模式字符串之间的关联关系,再次命中后,提取出所述命中的若干个二进制模式字符串对应的标准协议特征序列以确定命中的标准协议特征序列所属的协议类型,作为所述待识别的协议数据比特流的协议识别结果。

具体示例1

提取协议特征序列,并写入模式特征库。对协议的格式进行分析,得出其数据特征,并从中提取出表征协议类型的特征序列及其典型值,并写入模式特征库。

写入特征序列之间的关联关系。所提取的特征字段往往具有多个,字段之间具有一定的关联关系,写入特征序列之间的关联关系,得出协议的识别规则。

输入目标比特流,进行多模式特征匹配。利用模式串集合构造一个符合字典树性质的有限状态机M。有限状态机M包括转向函数g、失效函数f以及输出函数output。转向函数g(n,x)=m代表状态n可以通过边x到达状态m;如果转向函数失效,则自动机转入失效函数处理流程;output输出函数的作用是将输出关键字符。

根据有限状态机,按如下方式构建字典树:从根节点开始,添加一条从根节点出发的路径,该路径与字符一一对应,即从根节点出发到任意节点时经过的路径,就是该节点对应的字符串,其中,每个节点与子节点包含的字符均不同。

从根节点开始对字典树进行查找,首先找到第一个字符在字典树树中出现的节点,再把该节点作为新子树的根,从新的子树中开始查找模式串中第二个字符所对应的节点,以此类推,直到模式串的字符查找完成。

关联分析与协议识别。根据上述的多模式匹配的结果,利用特征之间的位置进行关联分析,对协议进行识别。

具体示例2

如图1所示,以识别TCP协议为例,介绍本发明的具体实现步骤和具体操作过程:

100:提取协议特征序列,并写入模式特征库。

以太网网络协议在设计时通常采用分层的思想,上一层协议的报文格式往往是下层协议报文中的格式标示字段来决定,以常用的标准协议为例,可分析得到其层次关系,如图2所示。其中,Ethernet_type和ip_type就分别是以太网格式和IP协议报文中的格式标示字段,决定着上一层的协议类型。可以将Ethernet_type和ip_type作为上述网络协议的特征字段。

200:写入特征序列之间的关联关系。

特征字段的偶然触发会降低协议识别的正确率,为了减少这种影响,在特征序列之间施加关联关系。施加关联关系后TCP等协议的识别规则可以表示如下:

TCP:

其中

300:输入目标比特流,进行多模式特征匹配。

以TCP协议为例,描述多模式特征匹配的过程。根据步骤200的分析,TCP协议包含的特征串为“0000100000000000”和“00000110”。构建TCP协议识别的有限状态机,如图3所示。该自动机总计20个状态,从状态0至20,表1表示失效函数,表2表示输出函数:

表1:失效函数表

表2:输出函数表

根据图3所示的状态机,从根节点开始网络协议按照每一个比特进行搜索,若转移到节点16则判定“0000100000000000”匹配成功,并记录此时匹配成功的位置;若转移到节点20则判定“00000110”匹配成功,并记录此时匹配成功的位置。

400:关联分析与协议识别。

分析“0000100000000000”和“00000110”的匹配情况和关联关系,若“0000100000000000”和“00000110”都匹配成功,并且位置相差90,则识别为TCP协议,否则不是TCP协议。

本发明第二方面提出一种基于多模式匹配和关联约束的协议识别系统。所述系统包括处理单元,所述处理单元被配置为执行以下步骤:

步骤S1、从一个标准协议中提取出多个标准协议特征序列,并将所述多个标准协议特征序列存储至标准协议库;

步骤S2、提取所述多个标准协议特征序列之间的关联关系,作为所述标准协议的识别规则,并将所述关联关系存入所述标准协议库;

步骤S3、对其他标准协议执行步骤S1-S2,以构建包含若干标准协议的标准协议特征序列和所述标准协议特征序列的关联关系的标准协议库;

步骤S4、获取待识别的协议数据比特流,将所述协议数据比特流与所述标准协议库中的标准协议特征序列进行比对,命中后进一步比对已命中的标准协议特征序列之间的关联关系,再次命中后则确定所述协议数据比特流的协议类型。

根据本发明第二方面的系统,在所述步骤S1中,所述处理单元根据协议类型提取出所述标准协议特征序列;具体包括:

根据协议的类型,基于协议分层结构来构建标准协议字典树,所述标准协议字典树包括根节点以及基于所述协议分层结构延展出的其他节点;

由所述标准协议字典树生成多个所述标准协议特征序列,将所述标准协议特征序列表示成二进制模式字符串的形式,并将所述二进制模式字符串进一步表征为有限状态机。

根据本发明第二方面的系统,在所述步骤S2中,所述处理单元被配置为:提取各个二进制模式字符串之间的关联关系,作为所述多个标准协议特征序列之间的关联关系,所述关联关系包括距离关系、引用关系、层级关系、函数关系。

根据本发明第二方面的系统,在所述步骤S4中,所述处理单元被配置为:

将所述协议数据比特流与以所述有限状态机表征的所述二进制模式字符串进行比对,命中若干个二进制模式字符串后,获取命中的若干个二进制模式字符串之间的关联关系;

进一步判断所述协议数据比特流是否符合所述命中的若干个二进制模式字符串之间的关联关系,再次命中后,提取出所述命中的若干个二进制模式字符串对应的标准协议特征序列以确定命中的标准协议特征序列所属的协议类型,作为所述待识别的协议数据比特流的协议识别结果。

本发明第三方面公开了一种电子设备。电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本公开第一方面的一种基于多模式匹配和关联约束的协议识别方法中的步骤。

图4为根据本发明实施例的一种电子设备的结构图,如图4所示,电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、近场通信(NFC)或其他技术实现。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本公开的技术方案相关的部分的结构图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本发明第四方面公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本公开第一方面的一种基于多模式匹配和关联约束的协议识别方法中的步骤。

综上,本发明的技术方案通过提取协议特征序列,并写入模式特征库;写入特征序列之间的关联关系;输入目标比特流,进行多模式特征匹配;关联分析与协议识别,得到协议类型。本发明的技术方案既可以快速匹配协议的报文格式,又可以减小协议识别的误识别率,提高了协议识别的准确性。

请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 基于多特征模式匹配和模式分类的刀闸分合状态识别方法
  • 用于在车辆内运行基于互联网协议的功能系统的方法和关联的基于互联网协议的功能系统
  • 一种基于编码关联的多模式匹配算法及系统
技术分类

06120116514370