CN105827603A - 未明协议特征库建立方法、未明报文分类方法及相关装置 - Google Patents

未明协议特征库建立方法、未明报文分类方法及相关装置 Download PDF

Info

Publication number
CN105827603A
CN105827603A CN201610143883.0A CN201610143883A CN105827603A CN 105827603 A CN105827603 A CN 105827603A CN 201610143883 A CN201610143883 A CN 201610143883A CN 105827603 A CN105827603 A CN 105827603A
Authority
CN
China
Prior art keywords
message
brightest
frequent feature
feature
protocol characteristic
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.)
Pending
Application number
CN201610143883.0A
Other languages
English (en)
Inventor
张霞
李青
闫小勇
陶思宇
刘伟城
李阳
宁浩博
宁浩凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PLA Information Engineering University
Original Assignee
PLA Information Engineering University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by PLA Information Engineering University filed Critical PLA Information Engineering University
Priority to CN201610143883.0A priority Critical patent/CN105827603A/zh
Publication of CN105827603A publication Critical patent/CN105827603A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种未明协议特征库建立方法,包括:获取报文集样本,所述报文集样本中包含多种未明协议的报文;对所述报文集样本进行预处理,生成预处理后的报文集;基于改进的Kmeans算法对所述预处理后的报文集进行聚类,生成多个报文簇;基于改进的Apriori算法提取每个报文簇中的频繁特征,生成多个频繁特征;对所述多个频繁特征进行处理,确定至少一个未明协议特征字符串;根据所述至少一个未明协议特征字符串建立未明协议特征库。上述方法能够适用于多种未明协议混合的情形。相应的,本发明还公开了一种未明报文分类方法及相关装置。

Description

未明协议特征库建立方法、未明报文分类方法及相关装置
技术领域
本发明涉及信息处理技术领域,更具体的说,是涉及一种未明协议特征库建立方法、未明报文分类方法及相关装置。
背景技术
网络协议是网络中实体进行通信的规范。网络协议运行,产生与该协议对应的报文,称为网络流量。网络流量的分类是指根据产生该流量的协议和应用不同对网络流量进行的分类。网络流量分类是进行网络安全监控、入侵检测、计费和服务质量保障等网络管理操作的基础。近年来,网络中出现了大量私有、非标准协议,把这些协议称为“未明协议”,把由这些协议运行所产生的网络报文称为“未明报文”。
传统的基于报文载荷的分类方法需要预先知道协议的特征字符串。对于未明协议分类问题,为了应用基于报文载荷的分类方法,需要研究如何自动提取未明协议的特征字符串。
现有的自动提取未明协议的特征字符串的方法主要是面向纯净的未明协议报文集合,然而,在实际中往往是多种未明协议混合的情形。使用现有的自动提取未明协议的特征字符串的方法对混合了多种不同未明协议的报文进行特征字符串提取,所得结果不能作为未明协议的分类特征。而且,现有的自动提取未明协议的特征字符串的方法主要是针对频繁字符串的提取,然而,频繁字符串并不等价于未明协议的特征字符串,这将导致自动提取的未明协议的特征字符串不准确,影响未明协议的分类结果。
发明内容
有鉴于此,本发明提供了一种未明协议特征库建立方法、未明报文分类方法及相关装置,以克服采用现有技术中自动提取未明协议的特征字符串的方法对混合了多种不同未明协议的报文进行特征字符串提取导致自动提取的未明协议的特征字符串不准确,影响未明协议的分类结果的问题。
为实现上述目的,本发明提供如下技术方案:
一种未明协议特征库建立方法,包括:
获取报文集样本,所述报文集样本中包含多种未明协议的报文;
对所述报文集样本进行预处理,生成预处理后的报文集;
基于改进的Kmeans算法对所述预处理后的报文集进行聚类,生成多个报文簇;
基于改进的Apriori算法提取每个报文簇中的频繁特征,生成多个频繁特征;
对所述多个频繁特征进行处理,确定至少一个未明协议特征字符串;
根据所述至少一个未明协议特征字符串建立未明协议特征库。
优选的,所述对所述报文集样本进行预处理生成预处理后的报文集,具体包括:
删除所述报文集样本中的残报文;
提取删除残报文之后的报文集样本中每个报文的前n0个字节,n0为大于0的正整数;
将所述每个报文的前n0个字节组合生成所述预处理后的报文集。
优选的,所述基于改进的Kmeans算法对所述预处理的报文集合进行聚类生成多个报文簇,具体包括:
基于经典的Kmeans算法对所述预处理后的报文集进行预设次数的聚类,获得与所述预设次数相等数量的分簇结果;
计算每个分簇结果对应的误差平方和的值;
确定误差平方和的值最小的分簇结果中包含的报文簇作为所述多个报文簇。
优选的,所述对所述多个频繁特征进行处理确定至少一个未明协议特征字符串,具体包括:
采用如下方式中的一种或多种的组合对所述多个频繁特征进行处理确定至少一个未明协议特征字符串:
删除所述多个频繁特征中元素数少于预设门限的频繁特征;
对所述多个频繁特征中相同的频繁特征,保留一个;
对存在包含关系的频繁特征,保留长度最小的频繁特征;
对存在交叉关系的频繁特征,进行截短交叉项处理。
一种未明报文分类方法,根据上述未明协议特征库建立方法确定分类器,则所述方法包括:
获取待处理的报文集,所述报文集样本中包含多种未明协议的报文;
根据所述分类器对所述待处理的报文集进行分类,确定已分类报文;
输出所述已分类报文。
优选的,所述方法还包括:
确定未分类报文;
判断所述未分类报文的数量是否大于预设阈值;
当所述未分类报文的数量小于预设阈值时,输出未分类报文;
当所述未分类报文的数量大于预设阈值时,将所述未分类报文作为报文集样本,采用权利要求上述的未明协议特征库建立方法更新未明协议特征库。
一种未明协议特征库建立装置,包括:
报文集样本获取单元,用于获取报文集样本,所述报文集样本中包含多种未明协议的报文;
预处理单元,用于对所述报文集样本进行预处理,生成预处理后的报文集;
报文簇生成单元,用于基于改进的Kmeans算法对所述预处理后的报文集进行聚类,生成多个报文簇;
频繁特征生成单元,用于基于改进的Apriori算法提取每个报文簇中的频繁特征,生成多个频繁特征;
特征字符串确定单元,用于对所述多个频繁特征进行处理,确定至少一个未明协议特征字符串;
未明协议特征库建立单元,用于根据所述至少一个未明协议特征字符串建立未明协议特征库。
优选的,所述预处理单元具体用于:
删除所述报文集样本中的残报文;
提取删除残报文之后的报文集样本中每个报文的前n0个字节,n0为大于0的正整数;
将所述每个报文的前n0个字节组合生成所述预处理后的报文集。
优选的,所述报文簇生成单元,具体用于:
基于经典的Kmeans算法对所述预处理后的报文集进行预设次数的聚类,获得与所述预设次数相等数量的分簇结果;
计算每个分簇结果对应的误差平方和的值;
确定误差平方和的值最小的分簇结果中包含的报文簇作为所述多个报文簇。
优选的,所述特征字符串确定单元具体用于:
采用如下方式中的一种或多种的组合对所述多个频繁特征进行处理确定至少一个未明协议特征字符串:
删除所述多个频繁特征中元素数少于预设门限的频繁特征;
对所述多个频繁特征中相同的频繁特征,保留一个;
对存在包含关系的频繁特征,保留长度最小的频繁特征;
对存在交叉关系的频繁特征,进行截短交叉项处理。
一种未明报文分类装置,根据上述的未明协议特征库建立装置确定分类器,则所述未明报文分类装置包括:
报文集获取单元,用于获取待处理的报文集,所述报文集样本中包含多种未明协议的报文;
分类单元,用于根据所述分类器对所述待处理的报文集进行分类,确定已分类报文;
输出单元,用于输出所述已分类报文。
优选的,所述分类单元,还用于确定未分类报文;
则所述装置还包括:
判断单元,用于判断所述未分类报文的数量是否大于预设阈值;
处理单元,用于当所述未分类报文的数量小于预设阈值时,输出未分类报文;当所述未分类报文的数量大于预设阈值时,将所述未分类报文作为报文集样本,采用上述的未明协议特征库建立装置更新未明协议特征库。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种未明协议特征库建立方法,包括:获取报文集样本,所述报文集样本中包含多种未明协议的报文;对所述报文集样本进行预处理,生成预处理后的报文集;基于改进的Kmeans算法对所述预处理后的报文集进行聚类,生成多个报文簇;基于改进的Apriori算法提取每个报文簇中的频繁特征,生成多个频繁特征;对所述多个频繁特征进行处理,确定至少一个未明协议特征字符串;根据所述至少一个未明协议特征字符串建立未明协议特征库。上述方法能够适用于多种未明协议混合的情形。相应的,本发明还公开了一种未明报文分类方法及相关装置。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种未明协议特征库建立方法流程示意图;
图2为本发明实施例公开的一种未明报文分类方法流程示意图;
图3为本发明实施例公开的一种未明协议特征库建立装置结构示意图;
图4为本发明实施例公开的一种未明报文分类装置的结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
残报文:若报文的实际长度小于设计长度,则称该报文为残报文。例如,把报文记作d,用d.pos表示报文d的第pos个字节的取值,用d.len表示报文d的实际长度。假定报文中存在长度域Length,它的起始位置为它的长度(按字节计)是Length.len=t,则一个报文的设计长度为则,若则该报文为残报文。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本发明的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
由背景技术可知,使用现有的自动提取未明协议的特征字符串的方法对混合了多种不同未明协议的报文进行特征字符串提取,所得结果不能作为未明协议的分类特征。而且,现有的自动提取未明协议的特征字符串的方法主要是针对频繁字符串的提取,然而,频繁字符串并不等价于未明协议的特征字符串,这将导致自动提取的未明协议的特征字符串不准确,影响未明协议的分类结果。
为此,本发明公开了一种未明协议特征库建立方法,包括:获取报文集样本,所述报文集样本中包含多种未明协议的报文;对所述报文集样本进行预处理,生成预处理后的报文集;基于改进的Kmeans算法对所述预处理后的报文集进行聚类,生成多个报文簇;基于改进的Apriori算法提取每个报文簇中的频繁特征,生成多个频繁特征;对所述多个频繁特征进行处理,确定至少一个未明协议特征字符串;根据所述至少一个未明协议特征字符串建立未明协议特征库。上述方法能够适用于多种未明协议混合的情形。相应的,本发明还公开了一种未明报文分类方法及相关装置。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
在本发明中,假定所涉及的报文均按字节定义,且报文之间彼此独立,每个报文的特征字符串均在该报文所对应序列的固定位置。其中,在报文中频繁出现的,且能够识别该类协议的字符串,被定义为特征字符串。
实施例一
请参阅附图1,为本发明实施例公开的一种未明协议特征库建立方法流程示意图,该方法具体包括如下步骤:
S101:获取报文集样本,所述报文集样本中包含多种未明协议的报文;
S102:对所述报文集样本进行预处理,生成预处理后的报文集;
具体的,该步骤包括:
S1021:删除所述报文集样本中的残报文。
由于接收质量的原因,报文集样本中存在残报文,需要将其删除。
假设报文集样本为D(raw),其中包含报文d,如果则从D(raw)中删除该报文d。删除残报文之后,得到的报文集合记为D,其中包含的报文样本数N=|D|。
S1022:提取删除残报文之后的报文集样本中每个报文的前n0个字节,n0为大于0的正整数。
根据对报文格式的假定,报文中的特征字符串出现在位置靠前的地方的可能性很高,因此,对D中包含的每个报文样本,提取前n0个字节,若报文样本的长度不足n0,则补0。
S1023:将所述每个报文的前n0个字节组合生成所述预处理后的报文集。
预处理后的报文集与报文集样本相比,有所缩减。
S103:基于改进的Kmeans算法对所述预处理后的报文集进行聚类,生成多个报文簇;
具体的,该步骤包括:
S1031:基于经典的Kmeans算法对所述预处理后的报文集进行预设次数的聚类,获得与所述预设次数相等数量的分簇结果;
S1032:计算每个分簇结果对应的误差平方和的值;
S1033:确定误差平方和的值最小的分簇结果中包含的报文簇作为所述多个报文簇。
由于经典的Kmeans算法的结果受随机初始值的影响,故本实施例中对所述预处理后的报文集进行多轮聚类,得到多个分簇结果,并取误差平方和的值最小的分簇结果。经过该种方法取得的分簇结果更为精确。
基于此,本实施例公开了如下生成报文簇的示例:
首先,把D中的第i个样本记为di,看作一个n0维矢量,即对样本i和j,采用欧氏距离定义二者的距离,如下式:
d ij = ( Σ n = 1 n 0 ( d i , n - d j , n ) 2 ) 1 / 2 - - - ( 1 )
则,基于改进Kmeans算法的未明报文聚类的基本步骤如下:
1、初始化:设定如下变量的初始值。
Round,轮数,初始值为M;
δ:误差平方和,初始值为max;
Y:报文簇的簇心;
V:报文簇的数量,初始值为其中,c是常数,可以取1~5,N是预处理后的报文集中的报文样本数;
IterMax:最大迭代次数,初始值为100;
ε:相对误差最小增量,初始值为le-5;
r:轮次变量,初始值为1。
2、若r≤Round,完成如下操作:
a)随机选择V个样本点作为初始化簇心,记为Y(1)=[y1,1,...,y1,V],迭代次数t=1
b)对于第i个样本di,选择满足如下要求的簇心,
y i * = arg min v = 1 , . . . , V d ( d i , y 1 , v ) - - - ( 2 )
c)根据步骤b)中计算得到的簇心,计算本次迭代所得分簇结果的误差平方和,如式
δ ( t ) = Σ i = 1 N d 2 ( d i , y i * ) - - - ( 3 )
且t<IterMax,则记录本次迭代的簇心转步骤d);否则转步骤e)。
d)t=t+1,采用下面的方法记录分簇结果,即,
C v ( t ) = { d i | 1 ≤ i ≤ N , y i * = y t , v } - - - ( 4 )
且满足式(5)和式(6)
∪ v = 1 V C v ( t ) = D - - - ( 5 )
C v ( t ) ∩ C j ( t ) = φ , 1 ≤ v , j ≤ V , v ≠ j - - - ( 6 )
采用下面的方法计算簇心
y v ( t + 1 ) = Σ d i ∈ C v ( t ) d i | C v ( t ) | - - - ( 7 )
记录令t=t+1,转步骤b)。
e)记录本轮计算得到的簇心Y和误差平方和δ(t),若δ(t)<δ,则δ:=δ(t),Y=Y(t)
3、输出结果Y,利用(2)式为每个样本找到簇心,然后利用式(7)计算分簇结果C_result={Cv,v=1,...,V}。
S104:基于改进的Apriori算法提取每个报文簇中的频繁特征,生成多个频繁特征;
经过S103的处理,得到了相对纯净的报文簇,即,每个报文簇中包含的大多数报文样本属于同一类未明协议。本步骤中,以每个报文簇中的样本为输入,采用改进的Apriori算法提取每个报文簇中的频繁特征,生成多个频繁特征。
对此,本发明实施例公开了一种生成多个频繁特征的具体示例,如下:
首先,确定如下定义:
含位置信息的字符:由字符和字符在帧中的位置两部分构成,第n个元素用chan→posn来表示,chan是第n个元素的字符,posn代表该字符在帧中的位置,简记为cn
相等:对cn和cm,若chan=cham且posn=posm,则称cn和cm相等。
k项集:由k个字符组成的集合,记为
支持度:项集在簇内所有帧中出现的频率,假设在N帧中包含Ik的帧数为X,则支持度为:
sup(Ik)=X/N
频繁k项集:支持度大于minsupport的k项集称为频繁k项集,用l(k)来表示,
频繁项集的集合:把l(k)构成的集合称为频繁k项集的集合,用Lk表示。用|Lk|表示频繁k项集的个数。
帧向量:将频繁1项集按位置先后进行排序,定义第i帧向量为
E = { c 1 i , c 2 i , c 3 i , . . . , c | L 1 | i }
其中,若第i帧存在字符chak,且其位置为posk,则其特征对应的值为k,否则为空。
利用改进的Apriori算法对第v个报文簇进行频繁特征提取,提取结果保存在频繁特征集L(v)中.具体步骤如下:
1、提取频繁1项。构建包含位置信息的字符,并统计各元素在簇内所有帧中出现的次数,根据设定的最小支持度阈值minsupport,保留出现次数大于最小支持度阈值的项作为频繁1项。
2、构建帧向量表。将频繁1项与簇内数据帧对比,针对每条数据帧构建帧向量,然后将所有的帧向量组合生成帧特征向量表。
假设有五帧待处理的数据帧,六个频繁1项,分别由c1-c6表示,其位置关系为pos1≤pos2≤pos3≤pos4≤pos5≤pos6,则建立特征向量表如下:
五行数据分别为五帧数据对应的帧向量。
3、令k=1,将L1中的元素保存到L(v)中
4、连接:若|Lk|≥2,对Lk执行连接操作,得到Ak+1,Ak+1是候选k+1项集的集合。连接操作的具体方法如下:从Lk中任取若满足对所有m<k均有是可连接的,连接产生新的项集
5、剪枝:从集合Ak+1中删除小于最小支持度阈值的k+1项集,得到Lk+1,并将Lk+1保存到L(v)中;
6、若Lk+1不为空集,则k=k+1,转步骤4,否则转步骤7
7、对L(v)中的元素完成去冗余操作:如果存在两个频繁项集相等,则从L中删除若两个频繁项集是包含关系,即对(其中t<k),满足对任意m≤t有则从L中删除经过以上步骤,最终频繁项集合L(v)中保留下来的频繁项集即为从第v簇提取的固定位置频繁特征。
S105:对所述多个频繁特征进行处理,确定至少一个未明协议特征字符串;
具体的,可采用如下方式中的一种或多种的组合对所述多个频繁特征进行处理确定至少一个未明协议特征字符串:
删除所述多个频繁特征中元素数少于预设门限的频繁特征;
对所述多个频繁特征中相同的频繁特征,保留一个;
对存在包含关系的频繁特征,保留长度最小的频繁特征;
对存在交叉关系的频繁特征,进行截短交叉项处理。
基于此,本发明实施例给出如下示例以详细说明该步骤的具体实现,如下:
1、将L(1),...,(L)v混合,得到L。L={C1,...,CM},其中,其中|Ci|表示频繁特征Ci中包含的元素数。chaij表示第i个频繁特征中的第j个元素的取值,posij表示第i个频繁特征中第j个元素在帧中的位置。
2、删除重复频繁特征,扫描L,删除包含元素数小于频繁特征元素数量限制的频繁特征,即,若|Ci|<q,则从L中删除该项。其中q是根据实际应用设定的频繁特征的元素数下限。
3、扫描L,当频繁特征存在包含关系时,保留最短的子集作为频繁特征。即,若存在则删除Cj
4、截短交叉项。扫描L,对Ci∩Cj≠φ的频繁特征,若前P个元素对应相同,则截短原频繁特征,仅保留前P个元素,生成新的频繁特征,删除原频繁特征Ci和Cj。即,若存在Ci,Cj∈L满足cim=cjm(当m≤p时)且cim≠cjm(当m>p)时,生成新特征C=[cim,m=0,...,p]保存到L中,并删除Ci和Cj
5、排序。将L中的频繁特征按如下原则排序,并输出最终的频繁特征集。
排序按照起点位置(即posi0)由小到大的顺序进行排列,当posi0相同时,按照频繁特征的元素个数由小到大进行排序。即,对频繁特征集按如下原则排序若
S106:根据所述至少一个未明协议特征字符串建立未明协议特征库。
本实施例公开了一种未明协议特征库建立方法,包括:获取报文集样本,所述报文集样本中包含多种未明协议的报文;对所述报文集样本进行预处理,生成预处理后的报文集;基于改进的Kmeans算法对所述预处理后的报文集进行聚类,生成多个报文簇;基于改进的Apriori算法提取每个报文簇中的频繁特征,生成多个频繁特征;对所述多个频繁特征进行处理,确定至少一个未明协议特征字符串;根据所述至少一个未明协议特征字符串建立未明协议特征库。上述方法能够适用于多种未明协议混合的情形。
在上述本发明公开的实施例的基础上,本发明还公开了一种未明报文分类方法,首先根据实施例一中的未明协议特征库建立方法确定分类器,则请参阅附图2,图2为本发明实施例公开的一种未明报文分类方法流程示意图,该方法具体包括如下步骤:
S201:获取待处理的报文集,所述报文集样本中包含多种未明协议的报文;
S202:根据所述分类器对所述待处理的报文集进行分类,确定已分类报文;
S203:输出所述已分类报文。
需要说明的是,对于未分类报文,可以进行如下处理:
确定未分类报文;
判断所述未分类报文的数量是否大于预设阈值;
当所述未分类报文的数量小于预设阈值时,输出未分类报文;
当所述未分类报文的数量大于预设阈值时,将所述未分类报文作为报文集样本,采用实施例一所述的未明协议特征库建立方法更新未明协议特征库。
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种未明协议特征库建立装置,下面给出具体的实施例进行详细说明。
实施例三
请参阅附图3,为本发明实施例公开的一种未明协议特征库建立装置的具体结构示意图,该装置包括如下单元:
报文集样本获取单元11,用于获取报文集样本,所述报文集样本中包含多种未明协议的报文;
预处理单元12,用于对所述报文集样本进行预处理,生成预处理后的报文集;
报文簇生成单元13,用于基于改进的Kmeans算法对所述预处理后的报文集进行聚类,生成多个报文簇;
频繁特征生成单元14,用于基于改进的Apriori算法提取每个报文簇中的频繁特征,生成多个频繁特征;
特征字符串确定单元15,用于对所述多个频繁特征进行处理,确定至少一个未明协议特征字符串;
未明协议特征库建立单元16,用于根据所述至少一个未明协议特征字符串建立未明协议特征库。
所述预处理单元具体用于:
删除所述报文集样本中的残报文;
提取删除残报文之后的报文集样本中每个报文的前n0个字节,n0为大于0的正整数;
将所述每个报文的前n0个字节组合生成所述预处理后的报文集。
所述报文簇生成单元,具体用于:
基于经典的Kmeans算法对所述预处理后的报文集进行预设次数的聚类,获得与所述预设次数相等数量的分簇结果;
计算每个分簇结果对应的误差平方和的值;
确定误差平方和的值最小的分簇结果中包含的报文簇作为所述多个报文簇。
所述特征字符串确定单元具体用于:
采用如下方式中的一种或多种的组合对所述多个频繁特征进行处理确定至少一个未明协议特征字符串:
删除所述多个频繁特征中元素数少于预设门限的频繁特征;
对所述多个频繁特征中相同的频繁特征,保留一个;
对存在包含关系的频繁特征,保留长度最小的频繁特征;
对存在交叉关系的频繁特征,进行截短交叉项处理。
需要说明的是,上述各个单元的具体功能实现已在方法实施例一中详细描述,本实施例不再赘述。
在上述实施例的基础上,本发明还公开了一种未明报文分类装置,根据实施例三中所述的未明协议特征库建立装置确定分类器,则请参阅附图4,为本发明实施例公开的一种未明报文分类装置的结构示意图,该装置具体包括如下单元:
报文集获取单元21,用于获取待处理的报文集,所述报文集样本中包含多种未明协议的报文;
分类单元22,用于根据所述分类器对所述待处理的报文集进行分类,确定已分类报文;
输出单元23,用于输出所述已分类报文。
需要说明的是,所述分类单元,还用于确定未分类报文;
则所述装置还包括:
判断单元,用于判断所述未分类报文的数量是否大于预设阈值;
处理单元,用于当所述未分类报文的数量小于预设阈值时,输出未分类报文;当所述未分类报文的数量大于预设阈值时,将所述未分类报文作为报文集样本,采用权利要求7~10中任意一项所述的未明协议特征库建立装置更新未明协议特征库。
需要说明的是,上述各个单元的具体功能实现已在方法实施例二中详细说明,本实施例不再赘述。
综上所述:
本发明公开了一种未明协议特征库建立方法,包括:获取报文集样本,所述报文集样本中包含多种未明协议的报文;对所述报文集样本进行预处理,生成预处理后的报文集;基于改进的Kmeans算法对所述预处理后的报文集进行聚类,生成多个报文簇;基于改进的Apriori算法提取每个报文簇中的频繁特征,生成多个频繁特征;对所述多个频繁特征进行处理,确定至少一个未明协议特征字符串;根据所述至少一个未明协议特征字符串建立未明协议特征库。上述方法能够适用于多种未明协议混合的情形。相应的,本发明还公开了一种未明报文分类方法及相关装置。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种未明协议特征库建立方法,其特征在于,包括:
获取报文集样本,所述报文集样本中包含多种未明协议的报文;
对所述报文集样本进行预处理,生成预处理后的报文集;
基于改进的Kmeans算法对所述预处理后的报文集进行聚类,生成多个报文簇;
基于改进的Apriori算法提取每个报文簇中的频繁特征,生成多个频繁特征;
对所述多个频繁特征进行处理,确定至少一个未明协议特征字符串;
根据所述至少一个未明协议特征字符串建立未明协议特征库。
2.根据权利要求1所述的方法,其特征在于,所述对所述报文集样本进行预处理生成预处理后的报文集,具体包括:
删除所述报文集样本中的残报文;
提取删除残报文之后的报文集样本中每个报文的前n0个字节,n0为大于0的正整数;
将所述每个报文的前n0个字节组合生成所述预处理后的报文集。
3.根据权利要求1所述的方法,其特征在于,所述基于改进的Kmeans算法对所述预处理的报文集合进行聚类生成多个报文簇,具体包括:
基于经典的Kmeans算法对所述预处理后的报文集进行预设次数的聚类,获得与所述预设次数相等数量的分簇结果;
计算每个分簇结果对应的误差平方和的值;
确定误差平方和的值最小的分簇结果中包含的报文簇作为所述多个报文簇。
4.根据权利要求1所述的方法,其特征在于,所述对所述多个频繁特征进行处理确定至少一个未明协议特征字符串,具体包括:
采用如下方式中的一种或多种的组合对所述多个频繁特征进行处理确定至少一个未明协议特征字符串:
删除所述多个频繁特征中元素数少于预设门限的频繁特征;
对所述多个频繁特征中相同的频繁特征,保留一个;
对存在包含关系的频繁特征,保留长度最小的频繁特征;
对存在交叉关系的频繁特征,进行截短交叉项处理。
5.一种未明报文分类方法,其特征在于,根据权利要求1~4中任意一项所述的未明协议特征库建立方法确定分类器,则所述方法包括:
获取待处理的报文集,所述报文集样本中包含多种未明协议的报文;
根据所述分类器对所述待处理的报文集进行分类,确定已分类报文;
输出所述已分类报文。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
确定未分类报文;
判断所述未分类报文的数量是否大于预设阈值;
当所述未分类报文的数量小于预设阈值时,输出未分类报文;
当所述未分类报文的数量大于预设阈值时,将所述未分类报文作为报文集样本,采用权利要求1~4中任意一项所述的未明协议特征库建立方法更新未明协议特征库。
7.一种未明协议特征库建立装置,其特征在于,包括:
报文集样本获取单元,用于获取报文集样本,所述报文集样本中包含多种未明协议的报文;
预处理单元,用于对所述报文集样本进行预处理,生成预处理后的报文集;
报文簇生成单元,用于基于改进的Kmeans算法对所述预处理后的报文集进行聚类,生成多个报文簇;
频繁特征生成单元,用于基于改进的Apriori算法提取每个报文簇中的频繁特征,生成多个频繁特征;
特征字符串确定单元,用于对所述多个频繁特征进行处理,确定至少一个未明协议特征字符串;
未明协议特征库建立单元,用于根据所述至少一个未明协议特征字符串建立未明协议特征库。
8.根据权利要求7所述的装置,其特征在于,所述预处理单元具体用于:
删除所述报文集样本中的残报文;
提取删除残报文之后的报文集样本中每个报文的前n0个字节,n0为大于0的正整数;
将所述每个报文的前n0个字节组合生成所述预处理后的报文集。
9.根据权利要求7所述的装置,其特征在于,所述报文簇生成单元,具体用于:
基于经典的Kmeans算法对所述预处理后的报文集进行预设次数的聚类,获得与所述预设次数相等数量的分簇结果;
计算每个分簇结果对应的误差平方和的值;
确定误差平方和的值最小的分簇结果中包含的报文簇作为所述多个报文簇。
10.根据权利要求7所述的装置,其特征在于,所述特征字符串确定单元具体用于:
采用如下方式中的一种或多种的组合对所述多个频繁特征进行处理确定至少一个未明协议特征字符串:
删除所述多个频繁特征中元素数少于预设门限的频繁特征;
对所述多个频繁特征中相同的频繁特征,保留一个;
对存在包含关系的频繁特征,保留长度最小的频繁特征;
对存在交叉关系的频繁特征,进行截短交叉项处理。
11.一种未明报文分类装置,其特征在于,根据权利要求7~10中任意一项所述的未明协议特征库建立装置确定分类器,则所述未明报文分类装置包括:
报文集获取单元,用于获取待处理的报文集,所述报文集样本中包含多种未明协议的报文;
分类单元,用于根据所述分类器对所述待处理的报文集进行分类,确定已分类报文;
输出单元,用于输出所述已分类报文。
12.根据权利要求11所述的装置,其特征在于,所述分类单元,还用于确定未分类报文;
则所述装置还包括:
判断单元,用于判断所述未分类报文的数量是否大于预设阈值;
处理单元,用于当所述未分类报文的数量小于预设阈值时,输出未分类报文;当所述未分类报文的数量大于预设阈值时,将所述未分类报文作为报文集样本,采用权利要求7~10中任意一项所述的未明协议特征库建立装置更新未明协议特征库。
CN201610143883.0A 2016-03-14 2016-03-14 未明协议特征库建立方法、未明报文分类方法及相关装置 Pending CN105827603A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610143883.0A CN105827603A (zh) 2016-03-14 2016-03-14 未明协议特征库建立方法、未明报文分类方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610143883.0A CN105827603A (zh) 2016-03-14 2016-03-14 未明协议特征库建立方法、未明报文分类方法及相关装置

Publications (1)

Publication Number Publication Date
CN105827603A true CN105827603A (zh) 2016-08-03

Family

ID=56988013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610143883.0A Pending CN105827603A (zh) 2016-03-14 2016-03-14 未明协议特征库建立方法、未明报文分类方法及相关装置

Country Status (1)

Country Link
CN (1) CN105827603A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302436A (zh) * 2016-08-11 2017-01-04 广州华多网络科技有限公司 一种攻击报文特征的自主发现方法、装置和设备
CN107368856A (zh) * 2017-07-25 2017-11-21 深信服科技股份有限公司 恶意软件的聚类方法及装置、计算机装置及可读存储介质
CN108632252A (zh) * 2018-04-03 2018-10-09 中国人民解放军战略支援部队信息工程大学 一种私有网络协议迭代逆向分析方法、装置及服务器
CN108667839A (zh) * 2018-05-11 2018-10-16 南京天控信息技术有限公司 一种基于闭合序列模式挖掘的协议格式推断方法
CN108960307A (zh) * 2018-06-22 2018-12-07 中国人民解放军战略支援部队信息工程大学 一种私有协议字段格式提取方法、装置及服务器
CN110071845A (zh) * 2018-01-24 2019-07-30 中国移动通信有限公司研究院 一种对未知应用进行分类的方法及装置
CN111163071A (zh) * 2019-12-20 2020-05-15 杭州九略智能科技有限公司 一种未知工业协议识别引擎

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101640666A (zh) * 2008-08-01 2010-02-03 北京启明星辰信息技术股份有限公司 一种面向目标网络的流量控制装置及方法
CN101655857A (zh) * 2009-09-18 2010-02-24 西安建筑科技大学 基于关联规则挖掘技术挖掘建设法规领域数据的方法
CN101853277A (zh) * 2010-05-14 2010-10-06 南京信息工程大学 一种基于分类和关联分析的漏洞数据挖掘方法
US20100332430A1 (en) * 2009-06-30 2010-12-30 Dow Agrosciences Llc Application of machine learning methods for mining association rules in plant and animal data sets containing molecular genetic markers, followed by classification or prediction utilizing features created from these association rules
CN103020256A (zh) * 2012-12-21 2013-04-03 电子科技大学 一种大规模数据的关联规则挖掘方法
CN104579795A (zh) * 2015-01-28 2015-04-29 武汉虹信技术服务有限责任公司 一种用于网络数据流识别的协议特征库维护使用方法
CN104753934A (zh) * 2015-03-23 2015-07-01 电子科技大学 将未知协议多通信方数据流分离为点对点数据流的方法
CN104796407A (zh) * 2015-03-23 2015-07-22 电子科技大学 一种未知协议特征的提取方法
CN105320756A (zh) * 2015-10-15 2016-02-10 江苏省邮电规划设计院有限责任公司 一种基于改进Apriori算法的数据库关联规则挖掘方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101640666A (zh) * 2008-08-01 2010-02-03 北京启明星辰信息技术股份有限公司 一种面向目标网络的流量控制装置及方法
US20100332430A1 (en) * 2009-06-30 2010-12-30 Dow Agrosciences Llc Application of machine learning methods for mining association rules in plant and animal data sets containing molecular genetic markers, followed by classification or prediction utilizing features created from these association rules
CN101655857A (zh) * 2009-09-18 2010-02-24 西安建筑科技大学 基于关联规则挖掘技术挖掘建设法规领域数据的方法
CN101853277A (zh) * 2010-05-14 2010-10-06 南京信息工程大学 一种基于分类和关联分析的漏洞数据挖掘方法
CN103020256A (zh) * 2012-12-21 2013-04-03 电子科技大学 一种大规模数据的关联规则挖掘方法
CN104579795A (zh) * 2015-01-28 2015-04-29 武汉虹信技术服务有限责任公司 一种用于网络数据流识别的协议特征库维护使用方法
CN104753934A (zh) * 2015-03-23 2015-07-01 电子科技大学 将未知协议多通信方数据流分离为点对点数据流的方法
CN104796407A (zh) * 2015-03-23 2015-07-22 电子科技大学 一种未知协议特征的提取方法
CN105320756A (zh) * 2015-10-15 2016-02-10 江苏省邮电规划设计院有限责任公司 一种基于改进Apriori算法的数据库关联规则挖掘方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302436A (zh) * 2016-08-11 2017-01-04 广州华多网络科技有限公司 一种攻击报文特征的自主发现方法、装置和设备
CN106302436B (zh) * 2016-08-11 2019-11-19 广州华多网络科技有限公司 一种攻击报文特征的自主发现方法、装置和设备
CN107368856A (zh) * 2017-07-25 2017-11-21 深信服科技股份有限公司 恶意软件的聚类方法及装置、计算机装置及可读存储介质
CN107368856B (zh) * 2017-07-25 2021-10-19 深信服科技股份有限公司 恶意软件的聚类方法及装置、计算机装置及可读存储介质
CN110071845A (zh) * 2018-01-24 2019-07-30 中国移动通信有限公司研究院 一种对未知应用进行分类的方法及装置
CN110071845B (zh) * 2018-01-24 2021-09-10 中国移动通信有限公司研究院 一种对未知应用进行分类的方法及装置
CN108632252A (zh) * 2018-04-03 2018-10-09 中国人民解放军战略支援部队信息工程大学 一种私有网络协议迭代逆向分析方法、装置及服务器
CN108632252B (zh) * 2018-04-03 2021-02-02 中国人民解放军战略支援部队信息工程大学 一种私有网络协议迭代逆向分析方法、装置及服务器
CN108667839A (zh) * 2018-05-11 2018-10-16 南京天控信息技术有限公司 一种基于闭合序列模式挖掘的协议格式推断方法
CN108960307A (zh) * 2018-06-22 2018-12-07 中国人民解放军战略支援部队信息工程大学 一种私有协议字段格式提取方法、装置及服务器
CN111163071A (zh) * 2019-12-20 2020-05-15 杭州九略智能科技有限公司 一种未知工业协议识别引擎

Similar Documents

Publication Publication Date Title
CN105827603A (zh) 未明协议特征库建立方法、未明报文分类方法及相关装置
CN111565205B (zh) 网络攻击识别方法、装置、计算机设备和存储介质
AU2007336337B2 (en) System and method for optimizing changes of data sets
CN109218223B (zh) 一种基于主动学习的鲁棒性网络流量分类方法及系统
CN108418727B (zh) 一种探测网络设备的方法及系统
CN114661810B (zh) 轻量级多源异构数据融合方法及系统
EP2591421A1 (en) Data analysis using multiple systems
EP4012980A1 (en) Application identification method and apparatus, and storage medium
CN103679012A (zh) 一种可移植可执行文件的聚类方法和装置
CN110046297B (zh) 运维违规操作的识别方法、装置和存储介质
WO2022001918A1 (zh) 构建预测模型的方法、装置、计算设备和存储介质
CN113254255B (zh) 一种云平台日志的分析方法、系统、设备及介质
CN105868311A (zh) 一种数据解析的方法和装置
CN108234452B (zh) 一种网络数据包多层协议识别的系统和方法
CN106850338A (zh) 一种基于语义分析的r+1类应用层协议识别方法与装置
CN108256550A (zh) 一种木材类别更新方法和装置
CN110765329A (zh) 一种数据的聚类方法和电子设备
CN103929499A (zh) 一种物联网异构标识识别方法和系统
CN112215287B (zh) 基于距离的多节聚类方法和装置、存储介质及电子装置
CN117294497A (zh) 一种网络流量异常检测方法、装置、电子设备及存储介质
CN112087450A (zh) 一种异常ip识别方法、系统及计算机设备
Mattas et al. Agglomerative hierarchical clustering technique for partitioning patent dataset
CN116204647A (zh) 一种目标比对学习模型的建立、文本聚类方法及装置
CN109522915B (zh) 病毒文件聚类方法、装置及可读介质
CN107992590B (zh) 一种有利于信息比对的大数据系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160803

RJ01 Rejection of invention patent application after publication