CN104079450B - 特征模式集生成方法及装置 - Google Patents
特征模式集生成方法及装置 Download PDFInfo
- Publication number
- CN104079450B CN104079450B CN201410284711.6A CN201410284711A CN104079450B CN 104079450 B CN104079450 B CN 104079450B CN 201410284711 A CN201410284711 A CN 201410284711A CN 104079450 B CN104079450 B CN 104079450B
- Authority
- CN
- China
- Prior art keywords
- byte
- byte elements
- packet
- high frequency
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种特征模式集生成方法及装置,属于协议识别技术领域。所述方法包括:从信令数据流中获取待分析的多个数据包,所述多个数据包的类型相同且等长度;对所述多个数据包进行特征分析,得到所述多个数据包的高频字节串;确定所述高频字节串的位置特征信息;根据所述位置特征信息,生成与所述多个数据包的类型相匹配的特征模式集。由于基于高频字节串的位置特征信息生成特征模式集,所以根据该特征模式集可有效对信令数据进行协议识别和分类。且在进行协议识别时对协议的版本号不敏感,即便采集到的数据的包头信息不完整或有误,也可对数据的协议类型进行识别,所以大大地增强了对数据包的解码能力,提高了协议识别率。
Description
技术领域
本发明涉及协议识别技术领域,特别涉及一种特征模式集生成方法及装置。
背景技术
随着互联网技术的迅速发展,网络服务质量、网络安全及网络流量控制等问题日益突出。而准确地对网络链路中流量所使用的协议进行识别,对提高网络服务质量、进行入侵检测及网络流量管理有着重要的意义。因此,协议识别成为了当下的一个研究热点。在对协议进行识别之前,需生成协议的特征模式集,通过生成的特征模式集便可对网络链路中的各种流量所使用的协议进行识别。
现有技术在生成特征模式集时,采用基于应用载荷的分析方法。也即,针对存在标准文档的协议,对标准文档中明确规定的交互过程中必定出现的特征进行提取或归纳总结,得到协议的特征字符串;之后,根据该协议的特征字符串生成该协议的正则表达式,得到该协议的特征模式。以FTP(File Transfer Protocol,文本传输协议)为例,由于相互通信的两台FTP服务器在准备就绪时,通常会先发送字符串“220”,且在后续通信的过程中,发送的字符中通常包括字符串“FTP”,所以FTP的特征模式可利用正则表达式^220[\x09-\x0d-~]*ftp进行表示。其中,\x09-\x0d-指代所有的ASCII可打印字符。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
利用上述生成方法生成的特征模式对协议名称或版本等关键字敏感。当协议名称发生变更或版本更新时,可能会无法识别采集到的信令数据的协议类型;且当采集到的信令数据的包头信息不完整或有误时,也可能会无法识别该数据的协议类型;此外,在3G(3rd-generation,第三代移动通信技术)信令网PS(Packet Switch,分组交换)域中,存在大量的非运营商OTT业务数据,该类业务的信令数据均采用私有协议类型,所以采用该种生成方式生成的特征模式不能对该类数据进行协议识别。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种特征模式集生成方法及装置。所述技术方案如下:
一方面,提供了一种特征模式集生成方法,所述方法包括:
从信令数据流中获取待分析的多个数据包,所述多个数据包的类型相同且等长度;
对所述多个数据包进行特征分析,得到所述多个数据包的高频字节串;
确定所述高频字节串的位置特征信息;
根据所述位置特征信息,生成与所述多个数据包的类型相匹配的特征模式集。
可选地,所述对所述多个数据包进行特征分析,得到所述多个数据包的高频字节串,包括:
对于所述多个数据包中的一个数据包,对所述数据包中的每一个字节元素进行字符转换,得到所述每一个字节元素对应的字符类型标识;
确定所述每一个字节元素的字节值及所述每一个字节元素在所述数据包中的相对位置偏移;
判断所述多个数据包中同一相对位置偏移上的字节元素的字节值是否一致;
如果所述多个数据包中同一相对位置偏移上的字节元素的字节值一致,则所述字节元素为第一高频字节元素。
可选地,所述确定所述每一个字节元素的字节值及所述每一个字节元素在所述数据包中的相对位置偏移之后,所述方法还包括:
判断所述多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识是否为同一类型;
如果所述多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识为同一类型,则所述字节元素为第二高频字节元素。
可选地,所述确定所述高频字节串的位置特征信息之前,所述方法还包括:
生成所述每一个字节元素的参数项,所述参数项中包括所述每一个字节元素的字节值、所述每一个字节元素对应的字符类型标识及所述每一个字节元素在所述数据包中的相对位置偏移;
所述确定所述高频字节串的位置特征信息,包括:
获取所述第一高频字节元素的参数项,将所述第一高频字节元素的参数项作为第一位置特征信息;
获取所述第二高频字节元素的参数项,将所述第二高频字节元素的参数项作为第二位置特征信息。
可选地,所述根据所述位置特征信息,生成与所述多个数据包的类型相匹配的特征模式集,包括:
对于所述第一位置特征信息,确定所述第一位置特征信息中具有相同参数项的完全相等项集合,每一个完全相等项中至少包括两个参数项;
确定所述完全相等项集合中,每一个完全相等项的支持度;
如果所述完全相等项集合中存在支持度小于预设阈值的完全相等项,则将所述完全相等项在所述完全相等项集合中删除,得到新的完全相等项集合;
至少根据所述新的完全相等项集合,生成所述特征模式集。
可选地,所述根据所述位置特征信息,生成与所述多个数据包的类型相匹配的特征模式集,包括:
对于所述第二位置特征信息,确定所述第二位置特征信息中具有相同字符类型标识和相同相对位置偏移的同类相等项集合,每一个同类相等项中至少包括两个参数项;
确定所述同类相等项集合中,每一个同类相等项的支持度;
如果所述同类相等项集合中存在支持度小于预设阈值的同类相等项,则将所述同类相等项在所述同类相等项集合中删除,得到新的同类相等项集合;
至少根据所述新的同类相等项集合,生成所述特征模式集。
可选地,所述根据所述位置特征信息,生成与所述多个数据包的类型相匹配的特征模式集,包括:
根据所述新的完全相等项集合和所述新的同类相等项集合,生成与所述多个数据包的类型相匹配的特征模式集。
另一方面,提供了一种特征模式集生成装置,所述装置包括:
数据包获取模块,用于从信令数据流中获取待分析的多个数据包,所述多个数据包的类型相同且等长度;
特征分析模块,用于对所述多个数据包进行特征分析,得到所述多个数据包的高频字节串;
特征信息确定模块,用于确定所述高频字节串的位置特征信息;
特征模式集生成模块,用于根据所述位置特征信息,生成与所述多个数据包的类型相匹配的特征模式集。
可选地,所述特征分析模块,包括:
字符转换单元,用于对于所述多个数据包中的一个数据包,对所述数据包中的每一个字节元素进行字符转换,得到所述每一个字节元素对应的字符类型标识;
位置偏移确定单元,用于确定所述每一个字节元素的字节值及所述每一个字节元素在所述数据包中的相对位置偏移;
字节元素判断单元,用于判断所述多个数据包中同一相对位置偏移上的字节元素的字节值是否一致;
高频字节元素确定单元,用于当所述多个数据包中同一相对位置偏移上的字节元素的字节值一致时,确定所述字节元素为第一高频字节元素。
可选地,所述字节元素判断单元,还用于判断所述多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识是否为同一类型;
所述高频字节元素确定单元,还用于当所述多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识为同一类型时,确定所述字节元素为第二高频字节元素。
可选地,所述装置还包括:
参数项生成模块,用于生成所述每一个字节元素的参数项,所述参数项中包括所述每一个字节元素的字节值、所述每一个字节元素对应的字符类型标识及所述每一个字节元素在所述数据包中的相对位置偏移;
所述特征信息确定模块,用于获取所述第一高频字节元素的参数项,将所述第一高频字节元素的参数项作为第一位置特征信息;获取所述第二高频字节元素的参数项,将所述第二高频字节元素的参数项作为第二位置特征信息。
可选地,所述特征模式集生成模块,用于对于所述第一位置特征信息,确定所述第一位置特征信息中具有相同参数项的完全相等项集合,每一个完全相等项中至少包括两个参数项;确定所述完全相等项集合中,每一个完全相等项的支持度;如果所述完全相等项集合中存在支持度小于预设阈值的完全相等项,则将所述完全相等项在所述完全相等项集合中删除,得到新的完全相等项集合;至少根据所述新的完全相等项集合,生成所述特征模式集。
可选地,所述特征模式集生成模块,用于对于所述第二位置特征信息,确定所述第二位置特征信息中具有相同字符类型标识和相同相对位置偏移的同类相等项集合,每一个同类相等项中至少包括两个参数项;确定所述同类相等项集合中,每一个同类相等项的支持度;如果所述同类相等项集合中存在支持度小于预设阈值的同类相等项,则将所述同类相等项在所述同类相等项集合中删除,得到新的同类相等项集合;至少根据所述新的同类相等项集合,生成所述特征模式集。
可选地,所述特征模式集生成模块,用于根据所述新的完全相等项集合和所述新的同类相等项集合,生成与所述多个数据包的类型相匹配的特征模式集。
本发明实施例提供的技术方案带来的有益效果是:
在从信令数据流中获取待分析的多个数据包后,对多个数据包进行特征分析,得到多个数据包的高频字节串;之后,确定高频字节串的位置特征信息;根据位置特征信息,生成与多个数据包的类型相匹配的特征模式集。由于基于高频字节串的位置特征信息生成特征模式集,所以根据该特征模式集可有效对信令数据进行协议识别和分类。且在进行协议识别时对协议的版本号不敏感,即便采集到的数据的包头信息不完整或有误,也可对数据的协议类型进行识别,所以大大地增强了对数据包的解码能力,提高了协议识别率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种特征模式集的生成方法流程图;
图2是本发明实施例提供的一种特征模式集的生成方法流程图;
图3是本发明实施例提供的一种特征模式集生成装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例做详细地解释说明之前,先对后续实施例中出现的名词作一下解释。
偏移:任意非空字符串α、β且α在β中的首次出现位置称为α相对于β的偏移,简称偏移。
支持度:特定字节串在已知字节串集合中出现次数占字节串总数的概率。
高频字节串:已知字节串集合中,支持度不小于最小支持度阈值的字节串。
位置特征信息:在应用层消息中有固定偏移约束的高频字节串的位置信息。位置特征信息包括字节串和相应的偏移标识。反映在应用协议消息中,可表现为某个或某几个特定偏移上固定出现的字节或字节串信息。
参数项:特征模式集合中的一个字节元素,记作一个三元组:分别表示该字节相对于数据包的偏移;该字节的值;该字节所属字符集的类型标识。
完全相等项:任意两个参数项,如果其对应的偏移、值和类型均相同,则称该两项为完全相等项。
同类相等项:任意两个参数项,如果其对应的偏移、类型均相同,但值不相同,则称该两项为同类相等项。
相等项的支持度:完全相等项的支持度为该项的值在候选集合中相应位置上出现的概率;同类相等项的支持度为该项的类型在候选集合中相应位置上出现的概率。
图1是本发明实施例提供的一种特征模式集的生成方法流程图。参见图1,本发明实施例提供的方法流程包括:
101、从信令数据流中获取待分析的多个数据包,多个数据包的类型相同且等长度。
102、对多个数据包进行特征分析,得到多个数据包的高频字节串。
103、确定高频字节串的位置特征信息。
104、根据位置特征信息,生成与多个数据包的类型相匹配的特征模式集。
本发明实施例提供的方法,在从信令数据流中获取待分析的多个数据包后,对多个数据包进行特征分析,得到多个数据包的高频字节串;之后,确定高频字节串的位置特征信息;根据位置特征信息,生成与多个数据包的类型相匹配的特征模式集。由于基于高频字节串的位置特征信息生成特征模式集,所以根据该特征模式集可有效对信令数据进行协议识别和分类。且在进行协议识别时对协议的版本号不敏感,即便采集到的数据的包头信息不完整或有误,也可对数据的协议类型进行识别,所以大大地增强了对数据包的解码能力,提高了协议识别率。
可选地,对多个数据包进行特征分析,得到多个数据包的高频字节串,包括:
对于多个数据包中的一个数据包,对数据包中的每一个字节元素进行字符转换,得到每一个字节元素对应的字符类型标识;
确定每一个字节元素的字节值及每一个字节元素在数据包中的相对位置偏移;
判断多个数据包中同一相对位置偏移上的字节元素的字节值是否一致;
如果多个数据包中同一相对位置偏移上的字节元素的字节值一致,则字节元素为第一高频字节元素。
可选地,确定每一个字节元素的字节值及每一个字节元素在数据包中的相对位置偏移之后,该方法还包括:
判断多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识是否为同一类型;
如果多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识为同一类型,则字节元素为第二高频字节元素。
可选地,确定高频字节串的位置特征信息之前,该方法还包括:
生成每一个字节元素的参数项,参数项中包括每一个字节元素的字节值、每一个字节元素对应的字符类型标识及每一个字节元素在数据包中的相对位置偏移;
确定高频字节串的位置特征信息,包括:
获取第一高频字节元素的参数项,将第一高频字节元素的参数项作为第一位置特征信息;
获取第二高频字节元素的参数项,将第二高频字节元素的参数项作为第二位置特征信息。
可选地,根据位置特征信息,生成与多个数据包的类型相匹配的特征模式集,包括:
对于第一位置特征信息,确定第一位置特征信息中具有相同参数项的完全相等项集合,每一个完全相等项中至少包括两个参数项;
确定完全相等项集合中,每一个完全相等项的支持度;
如果完全相等项集合中存在支持度小于预设阈值的完全相等项,则将完全相等项在完全相等项集合中删除,得到新的完全相等项集合;
至少根据新的完全相等项集合,生成特征模式集。
可选地,根据位置特征信息,生成与多个数据包的类型相匹配的特征模式集,包括:
对于第二位置特征信息,确定第二位置特征信息中具有相同字符类型标识和相同相对位置偏移的同类相等项集合,每一个同类相等项中至少包括两个参数项;
确定同类相等项集合中,每一个同类相等项的支持度;
如果同类相等项集合中存在支持度小于预设阈值的同类相等项,则将同类相等项在同类相等项集合中删除,得到新的同类相等项集合;
至少根据新的同类相等项集合,生成特征模式集。
可选地,根据位置特征信息,生成与多个数据包的类型相匹配的特征模式集,包括:
根据新的完全相等项集合和新的同类相等项集合,生成与多个数据包的类型相匹配的特征模式集。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图2是本发明实施例提供的一种特征模式集的生成方法流程图。参见图2,本发明实施例提供的方法流程包括:
201、从信令数据流中获取待分析的多个数据包,多个数据包的类型相同且等长度。
在本发明实施例中,对于某一协议来说,其协议特征一般都蕴含在其信令数据中,也即协议消息中。所以在分析某一协议的协议特征时,需获取信令网络中以该协议类型进行数据传输的多个数据包。以该多个数据包作为候选统计数据包集合,通过对该多个数据包进行特征分析,得到该协议的协议特征。
在信令监测采集数据环境下,保存信令数据的数据库中常常会存储多种协议类型的信令数据。所以在对某一个协议的协议特征进行分析时,还需在存储的涵盖多种协议类型的数据中,获取待分析的多个数据包。在本发明实施例中,在获取待分析的多个数据包时,具体可采取下述方式实现:
在数据库中选取长度相同的多个数据包,利用协议解码工具对多个数据包进行解析。由于协议标准规定数据包的头部存放数据包的协议类型,所以提取解析后的数据包的头部数据。根据该头部数据确定该数据包的协议类型。如果该数据包的协议类型为待分析协议的协议类型,则将该数据包作为待分析的数据包。
以数据包012000F0为例,则根据协议标准固定的封装形式,从数据包的头部至尾部依次代表:01指代协议类型;20指代数据包的源端口号/目的端口号;00指代数据内容;F0指代结束标识。所以在对数据包进行解析时,根据其头部数据便可其对应的协议类型。此外,对于每一个协议来说,为了对协议类型进行简便区分,通常为每个协议分配一个字符形式的协议类型标识。比如,以01代表FTP类型标识,以02代表HTTP(Hypertext TransferProtocol,超文本传输协议)类型标识,以03代表TCP(Transmission Control Protocol,传输控制协议)类型标识等等。
202、对多个数据包进行特征分析,得到多个数据包的高频字节串。
在本发明实施例中提出了高频位置特征的概念。其中,高频位置特征是指通过对大量的协议数据包进行分析,统计各个数据包上的特定位置上是否具有相似性;如果各个数据包的同一位置上的字节串相同或具有相似性,则其出现频率较高,可称其为协议数据包的高频位置特征。本发明基于高频位置特征的思想生成协议的特征模式集,通过协议的高频位置特征可对信令网中的数据进行准确识别和分类。且对协议的版本号不敏感,即便版本号所在位置的字符发生改变,也可通过协议的高频位置特征对数据进行有效识别。
在本发明实施例中,在对多个数据包进行特征分析得到多个数据包的高频字节串时,具体可采取下述方式实现:
202a、对于多个数据包中的一个数据包,对数据包中的每一个字节元素进行字符转换,得到每一个字节元素对应的字符类型标识。
其中,字节元素指代单个字节。对数据包中每一个字节元素进行字符转换,也即对数据包中每一个字节进行ACSII码转换,可得到每一个字节对应的字符。字节值不同,对应的字符也不同。所以对于一个数据包来说,根据字节值的不同,可得到若干相互独立的字符子集。由于字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符类型标识可分为ASCII字符类型标识、GB2312字符类型标识、BIG5字符类型标识、GB18030字符类型标识、Unicode字符类型标识等等。
202b、确定每一个字节元素的字节值及每一个字节元素在数据包中的相对位置偏移。
其中,对于一个字节元素来说,由于其由8位二进制数组成。所以字节元素的字节值也即指代8位二进制数的数值。字节元素在数据包中的相对位置偏移指代字节元素在数据包中的所在位置。对于一个数据包来说,在利用协议解码工具对数据包进行解析后,从数据包的头部遍历至尾部,便可确定该数据包中每一个字节元素的字节值和每一个字节元素在该数据包中的相对位置偏移。
202c、判断多个数据包中同一相对位置偏移上的字节元素的字节值是否一致;如果多个数据包中同一相对位置偏移上的字节元素的字节值一致,则字节元素为第一高频字节元素。
在本发明实施例中,多个数据包的同一相对位置偏移指代多个数据包中的同一位置。比如,以数据包的包头所在位置为地址0为例,则多个数据包中同一相对位置偏移可为相对于包头所在位置地址0而言,地址偏移同为1、同为2的位置。
对于多个数据包来说,如果同一相对位置偏移上的字节元素的字节值趋于同一数据(比如,同为00001101),则说明该相对位置偏移上的字节值一致。也即多个数据包的同一位置上的字节元素相同,说明该字节元素为待分析的多个数据包的高频字节元素。
需要说明的是,在确定高频字节元素时,除可根据字节元素的字节值进行确定外,还可根据字节元素对应的字符类型标识进行确定。详见下述步骤202d。
202d、判断多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识是否为同一类型;如果多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识为同一类型,则字节元素为第二高频字节元素。
对于多个数据包来说,如果同一相对位置偏移上的字节元素对应的字符类型标识为同一类型,(比如,同为ACSII类型标识),则说明该相对位置偏移上的字符类型趋于同一类型。也即多个数据包的同一位置上的字节元素对应的字符类型标识相同,说明该字节元素为待分析的多个数据包的高频字节元素。
需要说明的是,上述步骤202d既可在步骤202c之前执行,也可在步骤202c之后执行,本发明实施例对此不作具体限定。
203、生成高频字节串中每一个字节元素的参数项,参数项中包括每一个字节元素的字节值、每一个字节元素对应的字符类型标识及每一个字节元素在数据包中的相对位置偏移。
在本发明实施例中,在确定高频字节串后,为了后续根据高频字节串的位置特征信息生成协议的特征模式集。对于高频字节串中的每一个高频字节元素的参数项。其中,该参数项为一个三元组,记录了固定位置上字节元素的参数信息。该参数项中包括字节元素的字节值、字节元素对应的字符类型标识及字节元素在数据包中的相对位置偏移。当然,参数项中参数信息除字节值、字符类型标识和相对位置偏移外,还可存在其他类型的参数信息,本发明实施例对此不作具体限定。
204、确定高频字节串的位置特征信息。
其中,在确定高频字节串的位置特征信息时,具体可采取下述方式实现:
获取第一高频字节元素的参数项,将第一高频字节元素的参数项作为第一位置特征信息;获取第二高频字节元素的参数项,将第二高频字节元素的参数项作为第二位置特征信息。
在本发明实施例中,在得到第一位置特征信息后,该第一位置特征信息构成完全相等项训练集。也即,在该完全相等项训练集中存在完全相等项。在得到第二位置特征信息后,该第一位置特征信息构成同类相等项训练集。也即,在该同类相等项训练集中存在同类相等项。其中,完全相等项训练集中参数项对应的字符作为协议的主要特征字符,同类相等项训练集中参数项对应的字符作为协议的辅助特征字符。
205、根据位置特征信息,生成与多个数据包的类型相匹配的特征模式集。
在本发明实施例中,在生成与多个数据包的类型相匹配的特征模式集时,采取基于完全相等项训练集合同类相等项训练集一同生成的方式。在生成特征模式集时,首先可根据完全相等项训练集生成完全相等项集合。具体的生成过程如下:
对于第一位置特征信息,确定第一位置特征信息中具有相同参数项的完全相等项集合,每一个完全相等项中至少包括两个参数项;确定完全相等项集合中,每一个完全相等项的支持度;如果完全相等项集合中存在支持度小于预设阈值的完全相等项,则将完全相等项在完全相等项集合中删除,得到新的完全相等项集合,也即完全位置特征库。
其中,完全相等项指代字节值、字符类型标识和相对位置偏移均一致的参数项。预设阈值的大小可为0.3或0.4等等,本发明实施例对预设阈值的大小不进行具体限定。当然,除上述生成完全相等项集合的方式外,还可采取其他生成方式,本发明实施例对此不作具体限定。
需要说明的是,本步骤之所以将支持度小于预设阈值的完全相等项进行删除,是为了保证后续生成的特征模式集能够更加精确,以便能够更好地对信令网中的数据进行协议识别和分类。
此外,在得到完全相等项集合后,可根据同类相等项训练集生成同类相等项训练集。具体生成过程如下:
对于第二位置特征信息,确定第二位置特征信息中具有相同字符类型标识和相同相对位置偏移的同类相等项集合,每一个同类相等项中至少包括两个参数项;确定同类相等项集合中,每一个同类相等项的支持度;如果同类相等项集合中存在支持度小于预设阈值的同类相等项,则将同类相等项在同类相等项集合中删除,得到新的同类相等项集合,也即辅助位置特征库。
其中,同类相等项指代字节值不同,但是字符类型标识和相对位置偏移相同的参数项。预设阈值的大小可为0.3或0.4等等,本发明实施例对预设阈值的大小不进行具体限定。当然,除上述生成同类相等项集合的方式外,还可采取其他生成方式,本发明实施例对此不作具体限定。
需要说明的是,本步骤之所以将支持度小于预设阈值的同类相等项进行删除,是为了保证后续生成的特征模式集能够更加精确,以便能够更好地对信令网中的数据进行协议识别和分类。此外,在生成完全相等项集合和同类相等项集合后,还可按照字节元素在数据包中相对位置偏移递增的顺序,对完全相等项集合中的完全相等项建立关联,生成关系连接表。对同类相等项集合中的同类相等项建立关联,生成关系连接表。
在本发明实施例中,在得到完全相等项集合和同类相等项集合后,便可根据完全相等项集合和同类相等项集合,生成与多个数据包的类型相匹配的特征模式集。具体生成过程如下:
将新的完全相等项集合和新的同类相等项集合通过正则表达式进行合并表示。即,首先将得到的完全位置特征库和辅助位置特征库中的字符分别转换成正则表达式;之后,根据字符出现的先后顺序,依次编写正则表达式匹配验证语句;最后,判断完成特征库所有条件后,形成完整的正则表达式语句,也即生成与多个数据包的类型相匹配的特征模式集。
当然,除上述生成特征模式集的方式外,还可采取其他生成方式,本发明实施例对此不作具体限定。在信令监测过程中,从通信网络接口采集到的数据包信息不完整或者有误时,采用本发明实施例的提供的方法,可增强对该类型数据包的解码能力,提高协议识别率,降低丢包概率。此外,在信令监测过程中,若从通信网络接口采集到原系统无法识别的数据包,则也可通过本发明实施例的方法,快速、准确地建立针对该新型协议类型数据的特征库,从而实现对该类数据包的协议识别,达到对信令监测系统协议分析能力的完善和扩展。
本发明实施例提供的方法,在从信令数据流中获取待分析的多个数据包后,对多个数据包进行特征分析,得到多个数据包的高频字节串;之后,确定高频字节串的位置特征信息;根据位置特征信息,生成与多个数据包的类型相匹配的特征模式集。由于基于高频字节串的位置特征信息生成特征模式集,所以根据该特征模式集可有效对信令数据进行协议识别和分类。且在进行协议识别时对协议的版本号不敏感,即便采集到的数据的包头信息不完整或有误,也可对数据的协议类型进行识别,所以大大地增强了对数据包的解码能力,提高了协议识别率。
图3是本发明实施例提供的一种特征模式集生成装置的结构示意图。参见图3,该装置包括:数据包获取模块301、特征分析模块302、特征信息确定模块303、特征模式集生成模块304。
其中,数据包获取模块301,用于从信令数据流中获取待分析的多个数据包,多个数据包的类型相同且等长度;特征分析模块302与数据包获取模块301连接,用于对多个数据包进行特征分析,得到多个数据包的高频字节串;特征信息确定模块303与特征分析模块302连接,用于确定高频字节串的位置特征信息;特征模式集生成模块304与特征信息确定模块303连接,用于根据位置特征信息,生成与多个数据包的类型相匹配的特征模式集。
可选地,特征分析模块,包括:
字符转换单元,用于对于多个数据包中的一个数据包,对数据包中的每一个字节元素进行字符转换,得到每一个字节元素对应的字符类型标识;
位置偏移确定单元,用于确定每一个字节元素的字节值及每一个字节元素在数据包中的相对位置偏移;
字节元素判断单元,用于判断多个数据包中同一相对位置偏移上的字节元素的字节值是否一致;
高频字节元素确定单元,用于当多个数据包中同一相对位置偏移上的字节元素的字节值一致时,确定字节元素为第一高频字节元素。
可选地,字节元素判断单元,还用于判断多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识是否为同一类型;
高频字节元素确定单元,还用于当多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识为同一类型时,确定字节元素为第二高频字节元素。
可选地,该装置还包括:
参数项生成模块,用于生成每一个字节元素的参数项,参数项中包括每一个字节元素的字节值、每一个字节元素对应的字符类型标识及每一个字节元素在数据包中的相对位置偏移;
特征信息确定模块,用于获取第一高频字节元素的参数项,将第一高频字节元素的参数项作为第一位置特征信息;获取第二高频字节元素的参数项,将第二高频字节元素的参数项作为第二位置特征信息。
可选地,特征模式集生成模块,用于对于第一位置特征信息,确定第一位置特征信息中具有相同参数项的完全相等项集合,每一个完全相等项中至少包括两个参数项;确定完全相等项集合中,每一个完全相等项的支持度;如果完全相等项集合中存在支持度小于预设阈值的完全相等项,则将完全相等项在完全相等项集合中删除,得到新的完全相等项集合;至少根据新的完全相等项集合,生成特征模式集。
可选地,特征模式集生成模块,用于对于第二位置特征信息,确定第二位置特征信息中具有相同字符类型标识和相同相对位置偏移的同类相等项集合,每一个同类相等项中至少包括两个参数项;确定同类相等项集合中,每一个同类相等项的支持度;如果同类相等项集合中存在支持度小于预设阈值的同类相等项,则将同类相等项在同类相等项集合中删除,得到新的同类相等项集合;至少根据新的同类相等项集合,生成特征模式集。
可选地,特征模式集生成模块,用于根据新的完全相等项集合和新的同类相等项集合,生成与多个数据包的类型相匹配的特征模式集。
本发明实施例提供的装置,在从信令数据流中获取待分析的多个数据包后,对多个数据包进行特征分析,得到多个数据包的高频字节串;之后,确定高频字节串的位置特征信息;根据位置特征信息,生成与多个数据包的类型相匹配的特征模式集。由于基于高频字节串的位置特征信息生成特征模式集,所以根据该特征模式集可有效对信令数据进行协议识别和分类。且在进行协议识别时对协议的版本号不敏感,即便采集到的数据的包头信息不完整或有误,也可对数据的协议类型进行识别,所以大大地增强了对数据包的解码能力,提高了协议识别率。
需要说明的是:上述实施例提供的特征模式集生成装置在生成特征模式集时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的特征模式集生成装置与特征模式集生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种特征模式集生成方法,其特征在于,所述方法包括:
从信令数据流中获取待分析的多个数据包,所述多个数据包的类型相同且等长度;
对所述多个数据包进行特征分析,得到所述多个数据包的高频字节串;
确定所述高频字节串的位置特征信息;
根据所述位置特征信息,生成与所述多个数据包的类型相匹配的特征模式集;
其中,所述对所述多个数据包进行特征分析,得到所述多个数据包的高频字节串,包括:
对于所述多个数据包中的一个数据包,对所述数据包中的每一个字节元素进行字符转换,得到所述每一个字节元素对应的字符类型标识;
确定所述每一个字节元素的字节值及所述每一个字节元素在所述数据包中的相对位置偏移;
判断所述多个数据包中同一相对位置偏移上的字节元素的字节值是否一致;
如果所述多个数据包中同一相对位置偏移上的字节元素的字节值一致,则所述字节元素为第一高频字节元素。
2.根据权利要求1所述的方法,其特征在于,所述确定所述每一个字节元素的字节值及所述每一个字节元素在所述数据包中的相对位置偏移之后,所述方法还包括:
判断所述多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识是否为同一类型;
如果所述多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识为同一类型,则所述字节元素为第二高频字节元素。
3.根据权利要求2所述的方法,其特征在于,所述确定所述高频字节串的位置特征信息之前,所述方法还包括:
生成所述每一个字节元素的参数项,所述参数项中包括所述每一个字节元素的字节值、所述每一个字节元素对应的字符类型标识及所述每一个字节元素在所述数据包中的相对位置偏移;
所述确定所述高频字节串的位置特征信息,包括:
获取所述第一高频字节元素的参数项,将所述第一高频字节元素的参数项作为第一位置特征信息;
获取所述第二高频字节元素的参数项,将所述第二高频字节元素的参数项作为第二位置特征信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述位置特征信息,生成与所述多个数据包的类型相匹配的特征模式集,包括:
对于所述第一位置特征信息,确定所述第一位置特征信息中具有相同参数项的完全相等项集合,每一个完全相等项中至少包括两个参数项;
确定所述完全相等项集合中,每一个完全相等项的支持度;
如果所述完全相等项集合中存在支持度小于预设阈值的完全相等项,则将所述完全相等项在所述完全相等项集合中删除,得到新的完全相等项集合;
至少根据所述新的完全相等项集合,生成所述特征模式集。
5.根据权利要求3所述的方法,其特征在于,所述根据所述位置特征信息,生成与所述多个数据包的类型相匹配的特征模式集,包括:
对于所述第二位置特征信息,确定所述第二位置特征信息中具有相同字符类型标识和相同相对位置偏移的同类相等项集合,每一个同类相等项中至少包括两个参数项;
确定所述同类相等项集合中,每一个同类相等项的支持度;
如果所述同类相等项集合中存在支持度小于预设阈值的同类相等项,则将所述同类相等项在所述同类相等项集合中删除,得到新的同类相等项集合;
至少根据所述新的同类相等项集合,生成所述特征模式集。
6.根据权利要求4或5所述的方法,其特征在于,所述根据所述位置特征信息,生成与所述多个数据包的类型相匹配的特征模式集,包括:
根据所述新的完全相等项集合和所述新的同类相等项集合,生成与所述多个数据包的类型相匹配的特征模式集。
7.一种特征模式集生成装置,其特征在于,所述装置包括:
数据包获取模块,用于从信令数据流中获取待分析的多个数据包,所述多个数据包的类型相同且等长度;
特征分析模块,用于对所述多个数据包进行特征分析,得到所述多个数据包的高频字节串;
特征信息确定模块,用于确定所述高频字节串的位置特征信息;
特征模式集生成模块,用于根据所述位置特征信息,生成与所述多个数据包的类型相匹配的特征模式集;
其中,所述特征分析模块,包括:
字符转换单元,用于对于所述多个数据包中的一个数据包,对所述数据包中的每一个字节元素进行字符转换,得到所述每一个字节元素对应的字符类型标识;
位置偏移确定单元,用于确定所述每一个字节元素的字节值及所述每一个字节元素在所述数据包中的相对位置偏移;
字节元素判断单元,用于判断所述多个数据包中同一相对位置偏移上的字节元素的字节值是否一致;
高频字节元素确定单元,用于当所述多个数据包中同一相对位置偏移上的字节元素的字节值一致时,确定所述字节元素为第一高频字节元素。
8.根据权利要求7所述的装置,其特征在于,所述字节元素判断单元,还用于判断所述多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识是否为同一类型;
所述高频字节元素确定单元,还用于当所述多个数据包中同一相对位置偏移上的字节元素对应的字符类型标识为同一类型时,确定所述字节元素为第二高频字节元素。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
参数项生成模块,用于生成所述每一个字节元素的参数项,所述参数项中包括所述每一个字节元素的字节值、所述每一个字节元素对应的字符类型标识及所述每一个字节元素在所述数据包中的相对位置偏移;
所述特征信息确定模块,用于获取所述第一高频字节元素的参数项,将所述第一高频字节元素的参数项作为第一位置特征信息;获取所述第二高频字节元素的参数项,将所述第二高频字节元素的参数项作为第二位置特征信息。
10.根据权利要求9所述的装置,其特征在于,所述特征模式集生成模块,用于对于所述第一位置特征信息,确定所述第一位置特征信息中具有相同参数项的完全相等项集合,每一个完全相等项中至少包括两个参数项;确定所述完全相等项集合中,每一个完全相等项的支持度;如果所述完全相等项集合中存在支持度小于预设阈值的完全相等项,则将所述完全相等项在所述完全相等项集合中删除,得到新的完全相等项集合;至少根据所述新的完全相等项集合,生成所述特征模式集。
11.根据权利要求9所述的装置,其特征在于,所述特征模式集生成模块,用于对于所述第二位置特征信息,确定所述第二位置特征信息中具有相同字符类型标识和相同相对位置偏移的同类相等项集合,每一个同类相等项中至少包括两个参数项;确定所述同类相等项集合中,每一个同类相等项的支持度;如果所述同类相等项集合中存在支持度小于预设阈值的同类相等项,则将所述同类相等项在所述同类相等项集合中删除,得到新的同类相等项集合;至少根据所述新的同类相等项集合,生成所述特征模式集。
12.根据权利要求10或11所述的装置,其特征在于,所述特征模式集生成模块,用于根据所述新的完全相等项集合和所述新的同类相等项集合,生成与所述多个数据包的类型相匹配的特征模式集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410284711.6A CN104079450B (zh) | 2014-06-23 | 2014-06-23 | 特征模式集生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410284711.6A CN104079450B (zh) | 2014-06-23 | 2014-06-23 | 特征模式集生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104079450A CN104079450A (zh) | 2014-10-01 |
CN104079450B true CN104079450B (zh) | 2017-10-17 |
Family
ID=51600505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410284711.6A Active CN104079450B (zh) | 2014-06-23 | 2014-06-23 | 特征模式集生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104079450B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740292B (zh) * | 2014-12-12 | 2019-06-28 | 深圳市中兴微电子技术有限公司 | 一种解码方法及装置 |
CN105703953B (zh) * | 2016-03-08 | 2019-02-15 | 中国联合网络通信集团有限公司 | 一种ott业务资源消耗确定方法和系统 |
CN107070600B (zh) * | 2017-04-13 | 2020-04-17 | 李卫群 | 一种基于大数据的信令监控系统及方法 |
US20210377215A1 (en) * | 2020-06-01 | 2021-12-02 | Palo Alto Networks, Inc. | Automating iot device identification using statistical payload fingerprints |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195977A (zh) * | 2011-04-13 | 2011-09-21 | 北京恒光创新科技股份有限公司 | 一种网络协议识别方法及装置 |
CN102546625A (zh) * | 2011-12-31 | 2012-07-04 | 深圳市永达电子股份有限公司 | 半监督聚类集成的协议识别系统 |
CN103095718A (zh) * | 2013-01-29 | 2013-05-08 | 电子科技大学 | 一种基于Hadoop的应用层协议特征提取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4314204B2 (ja) * | 2005-03-11 | 2009-08-12 | 株式会社東芝 | 文書管理方法、システム及びプログラム |
-
2014
- 2014-06-23 CN CN201410284711.6A patent/CN104079450B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195977A (zh) * | 2011-04-13 | 2011-09-21 | 北京恒光创新科技股份有限公司 | 一种网络协议识别方法及装置 |
CN102546625A (zh) * | 2011-12-31 | 2012-07-04 | 深圳市永达电子股份有限公司 | 半监督聚类集成的协议识别系统 |
CN103095718A (zh) * | 2013-01-29 | 2013-05-08 | 电子科技大学 | 一种基于Hadoop的应用层协议特征提取方法 |
Non-Patent Citations (2)
Title |
---|
You Wang et.al.Mobility support in the internet using identifiers.《CFI"12》.2012,第37-41页. * |
刘兴彬等.基于Apriori算法的流量识别特征自动提取方法.《通信学报》.2008,第29卷(第12期),第51-59页. * |
Also Published As
Publication number | Publication date |
---|---|
CN104079450A (zh) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9870502B2 (en) | Apparatus for, a method of, and a network server for detecting data patterns in a data stream | |
CN102647414B (zh) | 协议解析方法、设备及系统 | |
CN104079450B (zh) | 特征模式集生成方法及装置 | |
US20140164442A1 (en) | Rule parser | |
CN103281213A (zh) | 一种网络流量内容提取和分析检索方法 | |
CN106330584A (zh) | 一种业务流的识别方法及识别装置 | |
US20220237220A1 (en) | Template generation using directed acyclic word graphs | |
CN103514238A (zh) | 基于分类查找的敏感词识别处理方法 | |
CN108289093A (zh) | App应用特征码库的构建方法及构建系统 | |
CN102938764A (zh) | 应用识别处理方法及装置 | |
CN111935081A (zh) | 一种数据包脱敏方法和装置 | |
CN103036848B (zh) | 协议的逆向工程方法及系统 | |
CN107451473A (zh) | 基于特征模式识别的sql注入检测方法 | |
CN112054992B (zh) | 恶意流量识别方法、装置、电子设备及存储介质 | |
US11507742B1 (en) | Log parsing using language processing | |
CN105100246A (zh) | 一种基于下载资源名称的网络流量管控方法 | |
CN106789358A (zh) | 基于dpi的业务识别方法及系统 | |
CN116599720A (zh) | 一种基于GraphSAGE的恶意DoH流量检测方法、系统 | |
CN108572948B (zh) | 门牌信息的处理方法及装置 | |
CN101771697A (zh) | 基于模式匹配方式的网络数据流识别方法 | |
CN104038391B (zh) | 一种垃圾邮件检测的方法和设备 | |
CN113536762A (zh) | Json文本的比对方法及装置 | |
Ládi et al. | GrAMeFFSI: Graph Analysis Based Message Format and Field Semantics Inference For Binary Protocols, Using Recorded Network Traffic | |
CN106817297B (zh) | 一种通过html标签识别垃圾邮件的方法 | |
Khalid et al. | Si-dfa: Sub-expression integrated deterministic finite automata for deep packet inspection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |