CN104159232A - 二进制消息数据的协议格式识别方法 - Google Patents

二进制消息数据的协议格式识别方法 Download PDF

Info

Publication number
CN104159232A
CN104159232A CN201410440593.3A CN201410440593A CN104159232A CN 104159232 A CN104159232 A CN 104159232A CN 201410440593 A CN201410440593 A CN 201410440593A CN 104159232 A CN104159232 A CN 104159232A
Authority
CN
China
Prior art keywords
unit data
cluster
test post
post packet
frequent
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.)
Granted
Application number
CN201410440593.3A
Other languages
English (en)
Other versions
CN104159232B (zh
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.)
University of Electronic Science and Technology of China
Chongqing College of Electronic Engineering
Original Assignee
University of Electronic Science and Technology of China
Chongqing College of Electronic Engineering
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 University of Electronic Science and Technology of China, Chongqing College of Electronic Engineering filed Critical University of Electronic Science and Technology of China
Priority to CN201410440593.3A priority Critical patent/CN104159232B/zh
Publication of CN104159232A publication Critical patent/CN104159232A/zh
Application granted granted Critical
Publication of CN104159232B publication Critical patent/CN104159232B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种二进制消息数据的协议格式识别方法,它对由单位数据构成的测试消息数据包进行筛选,筛选出测试消息数据包中的频繁单位数据序列,对测试消息数据包中相邻频繁单位数据序列聚类获得多个优选聚类,处理优选聚类获得用于标识未知协议的消息数据包的特征串。本发明对未知协议识别的准确率和召回率均在80%以上,对公有协议识别的准确率和召回率均在99%以上。

Description

二进制消息数据的协议格式识别方法
技术领域
本发明涉及无线数字通信技术领域,具体涉及一种二进制消息数据的协议格式识别方法。
背景技术
无线通信网络是基于射频无线电技术发展起来的数字通信网络。由于无线通信网络具有免布线、移动接入、易于规划部署、易于故障定位、网络扩展性好等特点,其已成为当今互联网络的重要组成部分。随着基于智能手机、WiFi无线设备的普及,无线互联应用已成为人们生活中的一部分。
为了提高无线网络的扩展性,合理配置无线网络资源,无线网络采用基于注册表的MAC地址。基于注册表的MAC地址,其接入端口采用动态分配,容易造成插入攻击、漫游攻击者、无线钓鱼、无线通信被劫持和监视、网络资源被窃取等技术问题。因此,如何及时识别网络攻击,产生攻击预警,是无线网络安全运行的有力保障。
在网络通信技术领域,主要通过识别承载网络消息数据的网络通信协议来监测和预警网络入侵行为。网络通信协议包括公有协议和私有协议,公有协议有公开的协议规范文档,私有协议为专用未知协议,其没有公开的协议规范文档,要实现私有协议的分类和识别非常困难。目前基于无线网络的网络入侵或者攻击多采用专用未知协议为载体。
现有的网络入侵监测和防范技术手段,大多基于端口映射、静态特征匹配等方法进行公有协议的识别,实现网络行为预警和方法。显而易见,使用专用未知协议,通过动态分配端口进行网络入侵的无线网络攻击行为是无法通过现有的网络入侵监测和防范技术手段进行监测和预警的。
发明内容
本发明所要解决的技术问题是提供一种能对专用未知协议进行标识的二进制消息数据的协议格式识别方法。
本发明解决技术问题所采用的技术方案是:
二进制消息数据的协议格式识别方法,对由单位数据构成的测试消息数据包进行筛选,筛选出测试消息数据包中的频繁单位数据序列,对测试消息数据包中相邻频繁单位数据序列聚类获得多个优选聚类,处理优选聚类获得用于标识未知协议的消息数据包的特征串,包括以下步骤:
步骤1:制作由单位数据构成的测试消息数据包:从网络环境中抓取二进制消息数据流,将二进制消息数据流转换成以单位数据为构成单元的测试消息数据包;
步骤2:筛选出测试消息数据包中的频繁单位数据序列:将测试消息数据包的单位数据分成数组,以单位数据、单位数据出现频率建立VSM向量空间模型,在VSM向量空间模型中定义单位数据相似度;分别以多组单位数据出现频率为预选阀值对VSM向量空间模型中的每个数组的单位数据进行筛选形成新数组,计算预选阀值对应的新数组单位数据相似度,建立预选阀值和数组单位数据相似度的关系模型;通过关系模型找出单位数据相似度最大值对应的用于筛选测试消息数据包中频繁单位数据序列的筛选阀值,以筛选阀值筛选出测试消息数据包中的频繁单位数据序列;
步骤3:对测试消息数据包中的相邻频繁单位数据序列聚类获得多个优选聚类:标记测试消息数据包中的频繁单位数据序列,将相邻的两个频繁单位数据拼接成关键词,对测试消息数据包中的关键词通过聚类算法进行聚类,获得测试消息数据包中的多个优选聚类;
步骤4:处理优选聚类获得用于标识未知协议的消息数据包的特征串,通过特征串标识测试消息数据包中的未知协议消息数据:对优选聚类采用序列比对算法,提取消息数据包的特征串,获得消息数据的协议格式表达式,通过协议格式标识测试消息数据包中的未知协议消息数据。
进一步,步骤1中制作由单位数据构成的测试消息数据包具体为从网络环境中抓取二进制消息数据流,将二进制消息数据流转换成十六进制消息数据包,按照定字节长度将十六进制消息数据包切分成单位数据,形成由单位数据构成的测试消息数据包。
进一步,定字节长度为一个字节长度。
进一步,步骤2中筛选出测试消息数据包中的频繁单位数据序列,包括以下步骤:
1)、建立基于单位数据的VSM向量空间模型:将测试消息数据包的单位数据按数量进行分成数组,以单位数据和单位数据的出现频率建立VSM向量空间模型,将单位数据字符串向量转换成VSM向量;在VSM向量空间模型中定义用于表征数组单位数据相似度的Jaccard指数;
2)、通过VSM向量空间模型得出用于筛选测试消息数据包中频繁单位数据序列的筛选阀值:分别以多组单位数据出现频率为预选阀值选出数组中出现频率大于预选阀值的单位数据形成新数组,计算出新数组的单位数据Jaccard指数,建立预选阀值和单位数据Jaccard指数关系模型,通过关系模型找出单位数据Jaccard指数最大值对应的预选阀值,以此预选阀值作为筛选测试消息数据包中频繁单位数据序列的筛选阀值;
3)、采用筛选阀值筛选测试消息数据包中的频繁单位数据序列:采用筛选阀值对整个测试消息数据包进行筛选,选取出现频率大于筛选阀值的单位数据组成频繁单位数据序列。
进一步,步骤3中对测试消息数据包中相邻频繁单位数据序列聚类获得多个优选聚类,包括以下步骤:
1)、标记测试消息数据包中的频繁单位数据序列:在筛选出频繁单位数据序列之后,对测试消息数据包中的频繁单位数据序列进行标记;
2)、将相邻的两个频繁单位数据拼接成关键词:在测试消息数据包中,尽可能长地将相邻的两个频繁单位数据拼接起来作为关键词;
3)、通过聚类算法对测试消息数据包中的关键词进行聚类获得最佳聚类数目:通过关键词标记测试消息数据包的单位数据,实现测试消息数据包的消息数据的数值化,将VSM向量转化成数值化向量,对数值化向量采用K-Means聚类算法实现消息数据聚类,找出优选聚类模式及其对应的最佳聚类数目;
4)、通过最佳聚类数目获得优选聚类:以最佳聚类数目对测试消息数据包进行聚类,获得测试消息数据包的多个优选聚类。
进一步,通过聚类算法对测试消息数据包中的关键词进行聚类获得最佳聚类数目,包括以下步骤:
1)采用K-Means聚类算法对关键词进行聚类找出聚类中心,具体为:
1.1)以关键词为待聚类的点寻找聚类中心;
1.2)计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中;
1.3)计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心;
1.4)反复执行(1.1)、(1.2),直到聚类中心不再进行大范围移动或者聚类次数达到要求为止;
2)找出优选聚类模式及其对应的最佳聚类数目:定义用于选择最优的聚类数目的Dunn指数,计算Dunn指数的最大值,Dunn指数最大值对应的消息数据聚类数目为最优聚类数目;
用于选择最优的聚类数目的Dunn指数的计算公式为
D ( p ) = mi n 1 ≤ i ≤ p { mi n 1 ≤ j ≤ p { δ ( C i , C j ) } } ma x 1 ≤ i ≤ p { Δ ( C i ) }
其中,Ci、Cj分别为第i和j个聚类中心,△(Ci)为聚类Ci的直径距离,δ(Ci,Cj)为两个聚类中心Ci、Cj之间的距离,p为消息数据聚类数目;
当D(p)取得最大值时,对应的p为效果最优的消息数据聚类数目。
本发明的二进制消息数据的协议格式识别方法适用于无线网络环境对专用未知协议进行标识,当然其也可用于有线网络环境对专用未知协议进行标识。
与现有技术相比,本发明的有益效果是:
1、本发明的二进制消息数据的协议格式识别方法,对未知协议识别的准确率和召回率均在80%以上,对公有协议识别的准确率和召回率均在99%以上。
2、本发明的二进制消息数据的协议格式识别方法,采用将将二进制消息数据包转换成十六进制消息数据包,按照定字节长度将十六进制消息数据包切分成单位数据,形成由单位数据构成的测试消息数据包能够显著提高消息数据的处理效率和提高消息数据的识别率;使用VSM向量代替原本的字符串向量,可以简化消息数据间距离以及相似度的计算,有利于提升频繁单位数据序列的提取效率;通过关键词标记测试消息数据包,数值化所有消息数据,进而简化聚类过程,避免繁琐计算,有效提高聚类效率。
附图说明
图1为本发明的未知协议消息数据的协议格式提取流程图。
图2为本发明的消息数据包的关键词拼接示意图。
图3为本发明的未知协议消息数据包的预选阀值和Jaccard指数的对应关系图,本发明的ICMP协议消息数据包的预选阀值和Jaccard指数的对应关系图。
图4为本发明的未知协议消息数据包的关键词偏移量,为本发明的ICMP协议消息数据包的关键词偏移量。
图5为本发明的未知协议消息数据聚类Dunn指数和ICMP消息数据聚类Dunn指数。
图6为本发明的实施例中的未知协议格式表达和ICMP协议格式表达。
图7为本发明的未知协议识别的准确率和未知协议识别的召回率。
图8为本发明的ICMP协议识别的准确率和ICMP协议识别的召回率。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
本发明的二进制消息数据的协议格式识别方法的运行环境为无线网络环境,当然其也可以采用有线网络环境。
本发明的二进制消息数据的协议格式识别方法的具体实施过程如下:
步骤1、制作由单位数据构成的测试消息数据包:从网络环境中抓取二进制消息数据流,将二进制消息数据流转换成以单位数据为构成单元的测试消息数据包;
从网络环境中抓取二进制消息数据流,为了增加本发明的二进制消息数据的协议格式识别方法的任务难度,采用美国国防部先进研究项目局DARPA的标准数据集为操作消息数据包。通过选择合适的操作数据来模拟真实的网络环境。如选择的操作消息数据包,包括2368个ARP协议消息数据包,222个ICMP协议消息数据包,6000个未知协议消息数据包,通过ARP协议消息数据包、ICMP协议消息数据包和未知协议消息数据包的组合来模拟真实网络环境。
本发明实施中,将二进制消息数据流转换成十六进制消息数据包,按照定字节长度将十六进制消息数据包切分成单位数据,形成由单位数据构成的测试消息数据包。
综合分析公有协议,如ARP协议、ICMP协议、SMTP协议,发现采用一个字节为单位长度来将消息数据包切分成单位数据,单位数据后续处理的效率和准确率较高。因此,作为优选,选择一个字节长度为定字节长度将十六进制消息数据包切分成单位数据。
采用上述方式制作由单位数据构成的测试消息数据包,能够显著提高消息数据的处理效率和提高消息数据的识别率。
步骤2、筛选出测试消息数据包中的频繁单位数据序列:将测试消息数据包的单位数据分成数组,以单位数据、单位数据出现频率建立VSM向量空间模型,在VSM向量空间模型中定义单位数据相似度。分别以多组单位数据出现频率为预选阀值对VSM向量空间模型中的每个数组的单位数据进行筛选形成新数组,计算预选阀值对应的新数组单位数据相似度,建立预选阀值和数组单位数据相似度的关系模型,通过关系模型找出单位数据相似度最大值对应的用于筛选测试消息数据包中频繁单位数据序列的筛选阀值,以筛选阀值筛选出测试消息数据包中的频繁单位数据序列。
筛选出测试消息数据包中的频繁单位数据序列包括建立基于单位数据的VSM向量空间模型,通过VSM向量空间模型得出用于筛选测试消息数据包中频繁单位数据序列的筛选阀值,采用筛选阀值筛选测试消息数据包中的频繁单位数据序列,具体过程如下:
步骤2.1、建立基于单位数据的VSM向量空间模型:将测试消息数据包的单位数据按数量进行分成数组,以单位数据和单位数据的出现频率建立VSM向量空间模型,将单位数据字符串向量转换成VSM向量;在VSM向量空间模型中定义用于表征数组单位数据相似度的Jaccard指数。
假定将测试消息数据包的单位数据按数量进行平均分成数组A和数组B,统计单位数据在组中的出现频率,以单位数据和单位数据的出现频率建立VSM向量空间模型:
A={U1:F11,U2:F12,...,Ui:F1i,...,Un:F1n}
B={U1:F21,U2:F22,...,Ui:F2i,...,Un:F2n}
其中,U1到Un为所有单位数据,F1i为数组A中的第i个单位数据的出现频率,F2i为数组B中的第i个单位数据第的出现频率。
定义用于表征两组单位数据相似度的Jaccard指数
J ( A , B ) = Σ i = 1 n F 1 i * Σ i = 1 n F 2 i Σ i = 1 n F 1 2 i = Σ i = 1 n F 2 2 i - Σ i = 1 n F 1 i * Σ i = 1 n F 2 i
使用VSM向量代替原本的字符串向量,可以简化消息数据间距离以及相似度的计算,有利于提升频繁单位数据序列的提取效率。
步骤2.2、通过VSM向量空间模型得出用于筛选测试消息数据包中频繁单位数据序列的筛选阀值:分别以多组单位数据出现频率为预选阀值选出数组中出现频率大于预选阀值的单位数据形成新数组,计算出新数组的单位数据Jaccard指数,建立预选阀值和单位数据Jaccard指数关系模型,通过关系模型找出单位数据Jaccard指数最大值对应的预选阀值,以此预选阀值作为筛选测试消息数据包中频繁单位数据序列的筛选阀值。
上述关系模型可以采用图关系模型,也可以采用表关系模式,或者其他能表现预选阀值和Jaccard指数对应关系的关系模型。
假定将测试消息数据包的单位数据按数量进行平均分成数组A和数组B,采用出现频率设定预选阀值λ,λ取值为0和出现频率最大值之间的值。通过预选阀值λ选出数组A、B中出现频率大于λ的单位数据形成新的数组C、D,计算出对数组C、D的单位数据,Jaccard指数,该Jaccard指数即为对应预选阀值λ的Jaccard指数。计算多组以单位数据出现频率为预选阀值λ的对应Jaccard指数,即可得到预选阀值λ与对应单位数据Jaccard指数关系图,即图2。
从图2中Jaccard指数即相似度最大值对应的预选阀值λ,以此预选阀值作为筛选测试消息数据包中频繁单位数据序列的筛选阀值。
如图2所示,出现频率阀值λ=1500时,未知协议的Jaccard指数达到峰值,采用1500为筛选频繁序列的筛选阀值,将出现频率小于1500的单位数据过滤掉,出现频率大于1500的单位数据作为频繁单位数据序列进行下一步分析。
如图2所示,出现频率阀值λ=100时,ICMP协议的Jaccard指数达到峰值,采用100为筛选频繁序列的筛选阀值,将出现频率小于100的单位数据过滤掉,出现频率大于100的单位数据作为频繁单位数据序列进行下一步分析。
本步骤将原本的字符串向量转换成VSM向量,构成VSM(Vector space model)向量空间模型,可以简化消息数据间距离以及相似度的计算,显著提升频繁单位数据的提取效率。
步骤2.3、采用筛选阀值筛选测试消息数据包中的频繁单位数据序列:采用筛选阀值对整个测试消息数据包进行筛选,选取出现频率大于筛选阀值的单位数据组成频繁单位数据序列。
步骤3、对测试消息数据包中的相邻频繁单位数据序列聚类获得多个优选聚类:标记测试消息数据包中的频繁单位数据序列,将相邻的两个频繁单位数据拼接成关键词,对测试消息数据包中的关键词通过聚类算法进行聚类,获得测试消息数据包中的多个优选聚类,具体实现过程如下:
步骤3.1、标记测试消息数据包中的频繁单位数据序列:在筛选出频繁单位数据序列之后,对测试消息数据包中的频繁单位数据序列进行标记。
步骤3.2、将相邻的两个频繁单位数据拼接成关键词:在测试消息数据包中,尽可能长地将相邻的两个频繁单位数据拼接起来作为关键词。
如图4所示,在拼接关键词时,内容一致但偏移量不同的关键词视为不同的关键词。上述偏移量是用来描述关键词在测试消息数据包中的位置信息,它是以以太网的报头为基点计算出的关键词相对于基点的位置偏移数值。
尽可能长地将相邻频繁单位数据序列拼接成关键词,有利于通过关键词来辅助实现消息数据模式的提取识别。
步骤3.3、通过聚类算法对测试消息数据包中的关键词进行聚类获得最佳聚类数目:通过关键词标记测试消息数据包的单位数据,实现测试消息数据包的消息数据的数值化,将VSM向量转化成数值化向量,对数值化向量采用K-Means聚类算法实现消息数据聚类,找出优选聚类模式及其对应的最佳聚类数目
上述K-Means聚类算法采用的公式为
E = Σ i = 1 K Σ j = 1 n | dist ( x j , c i ) | 2
其中,ci为第i个聚类中心的坐标,xj为第j个关键词聚类点的坐标。
对数值化向量采用K-Means聚类算法实现消息数据聚类包括采用K-Means聚类算法对关键词进行聚类找出聚类中心,找出最佳聚类模式及其对应的最佳聚类数目,具体包括以下步骤:
步骤3.3.1、采用K-Means聚类算法对关键词进行聚类找出聚类中心,具体实现过程为:
A、以关键词为待聚类的点寻找聚类中心。
B、计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中。
C、计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心。
D、反复执行(B)、(C),直到聚类中心不再进行大范围移动或者聚类次数达到要求为止。
步骤3.3.2、找出优选聚类模式及其对应的最佳聚类数目:定义用于选择最优的聚类数目的Dunn指数,计算Dunn指数的最大值,Dunn指数最大值对应的消息数据聚类数目为最优聚类数目。
用于选择最优的聚类数目的Dunn指数的计算公式为:
D ( p ) = mi n 1 ≤ i ≤ p { mi n 1 ≤ j ≤ p { δ ( C i , C j ) } } ma x 1 ≤ i ≤ p { Δ ( C i ) }
其中,Ci、Cj分别为第i和j个聚类中心,△(Ci)为聚类Ci的直径距离,δ(Ci,Cj)为两个聚类中心Ci、Cj之间的距离,p为消息数据聚类数目。
当D(p)取得最大值时,对应的p为效果最优的消息数据聚类数目。
如图4所示,当p=4时,未知协议的Dunn指数达到最大值,即当消息数据聚集为4类时,能最大程度地提取出测试消息数据包中的消息数据模式;当p=6时时,ICMP协议的Dunn指数达到最大值,即当消息数据聚集为6类时,能最大程度地提取出测试消息数据包中的消息数据模式。
本步骤将消息数据数值化有利于简化聚类处理时间,避免繁琐计算,提高聚类效率。
步骤3.4、通过最佳聚类数目获得优选聚类:以最佳聚类数目对测试消息数据包进行聚类,获得测试消息数据包的多个优选聚类。
本步骤通过关键词标记测试消息数据包,数值化所有消息数据,进而简化聚类过程,避免繁琐计算,有效提高聚类效率。
步骤4、处理优选聚类获得用于标识未知协议的消息数据包的特征串,通过特征串标识测试消息数据包中的未知协议消息数据:对优选聚类采用序列比对算法,提取消息数据包的特征串,获得消息数据的协议格式表达式,通过协议格式标识测试消息数据包中的未知协议消息数据。
本发明的序列比对算法采用Needleman—Wunsch算法。
假设存在字符串A和字符串B,字符串A表示未知协议优选聚类中的关键词A,字符串B表示未知协议优选聚类中的关键词B。其中,字符串A的长度Len(A)=N,字符串B的长度Len(B)=M,ai表示字符串A中第i个字符,bj表示字符串B中第j个字符。每个空格以及每个字符的初始权值为1。
用LCS(A,B)表示字符串A和字符串B的最长公共子串的长度,当1≤i≤N,1≤j≤M时,存在以下公式:
若ai=bj,则LCS(i,j)=LCS(i-1,j-1)+1;
若ai≠bj,则LCS(I,j)=Max(LCS(i-1,j-1),LCS(i-1,j),LCS(I,j-1));
以下是通过Needleman—Wunsch算法提取未知协议消息数据的协议格式表达式,具体过程为:
步骤4.1、根据Needleman—Wunsch算法的定义计算出Needleman/Wunsch算法矩阵。
步骤4.2、定位Needleman/Wunsch算法矩阵的右下角。
步骤4.3、回溯单元格,至矩阵的左上角:
若ai=bj,则回溯到左上角单元格;
若ai≠bj,回溯到左上角、上边、左边中值最大的单元格,若有相同最大值的单元格,优先级按照左上角、上边、左边的顺序;
若当前单元格是在矩阵的第一行,则回溯至左边的单元格;
若当前单元格是在矩阵的第一列,则回溯至上边的单元格;
依照上面的回溯法则,回溯到矩阵的左上角
步骤4.4:根据回溯路径,写出匹配字串:
若回溯到左上角单元格,将ai添加到匹配字符串A,将bj添加到匹配字符串B;
若回溯到上边单元格,将ai添加到匹配字符串A,将_添加到匹配字符串B;
若回溯到左边单元格,将_添加到匹配字符串A,将bj添加到匹配字符串B;
搜索完整个匹配路径,匹配字符串也就完成了,匹配的结果得出未知协议消息数据包的特征串A。
序列比对算法输出的特征串A用于标识未知协议的消息数据包,从而实现在无线网络环境中进行未知协议消息数据的识别。如图5所示,图中列举出未知协议消息数据、ICMP消息数据的协议格式提取结果。
在公知的网络协议识别技术领域,通常采用识别率和误识别率来评价是网络协议识别效果,具体的评价方式如下:
假设公有协议X消息数据包共T个,未知协议X消息数据包共N个,采用算法获得识别特征串A。在公有协议X测试环境下,使用特征串A可以识别出Tr个数据包,则识别率REG(A)为:
REG ( A ) = T r T
在未知协议X测试环境下,使用特征串A错误认为存在Nr个协议X的数据包,且在公有协议X测试环境下,使用特征串A未识别出公有协议X的数据包T-Tr个,则误识别率F_REG(A)为
F _ REG ( A ) = N r N + T - T r T
在识别率和误识别率的基础上可以定义准确率和召回率来评价网络协议识别效果
采用本发明的二进制消息数据的协议格式识别方法,获得的未知协议识别的准确率和未知协议识别的召回率如图6所示,获得的ICMP协议识别的准确率和ICMP协议识别的召回率如图7所示。从图6可以看出本发明对未知协议识别的准确率和召回率均在80%以上;从图7可以看出本发明对公有协议识别的准确率和召回率均在99%以上。

Claims (6)

1.二进制消息数据的协议格式识别方法,其特征在于,对由单位数据构成的测试消息数据包进行筛选,筛选出测试消息数据包中的频繁单位数据序列,对测试消息数据包中相邻频繁单位数据序列聚类获得多个优选聚类,处理优选聚类获得用于标识未知协议的消息数据包的特征串,包括以下步骤:
步骤1:制作由单位数据构成的测试消息数据包:从网络环境中抓取二进制消息数据流,将二进制消息数据流转换成以单位数据为构成单元的测试消息数据包;
步骤2:筛选出测试消息数据包中的频繁单位数据序列:将测试消息数据包的单位数据分成数组,以单位数据、单位数据出现频率建立VSM向量空间模型,在VSM向量空间模型中定义单位数据相似度;分别以多组单位数据出现频率为预选阀值对VSM向量空间模型中的每个数组的单位数据进行筛选形成新数组,计算预选阀值对应的新数组单位数据相似度,建立预选阀值和数组单位数据相似度的关系模型;通过关系模型找出单位数据相似度最大值对应的用于筛选测试消息数据包中频繁单位数据序列的筛选阀值,以筛选阀值筛选出测试消息数据包中的频繁单位数据序列;
步骤3:对测试消息数据包中的相邻频繁单位数据序列聚类获得多个优选聚类:标记测试消息数据包中的频繁单位数据序列,将相邻的两个频繁单位数据拼接成关键词,对测试消息数据包中的关键词通过聚类算法进行聚类,获得测试消息数据包中的多个优选聚类;
步骤4:处理优选聚类获得用于标识未知协议的消息数据包的特征串,通过特征串标识测试消息数据包中的未知协议消息数据:对优选聚类采用序列比对算法,提取消息数据包的特征串,获得消息数据的协议格式表达式,通过协议格式标识测试消息数据包中的未知协议消息数据。
2.根据权利要求1所述的二进制消息数据的协议格式识别方法,其特征在于,步骤1中所述制作由单位数据构成的测试消息数据包具体为从网络环境中抓取二进制消息数据流,将二进制消息数据流转换成十六进制消息数据包,按照定字节长度将十六进制消息数据包切分成单位数据,形成由单位数据构成的测试消息数据包。
3.根据权利要求2所述的二进制消息数据的协议格式识别方法,其特征在于,所述定字节长度为一个字节长度。
4.根据权利要求1至3中任意一项权利要求所述的二进制消息数据的协议格式识别方法,其特征在于,步骤2中所述筛选出测试消息数据包中的频繁单位数据序列,包括以下步骤:
1)、建立基于单位数据的VSM向量空间模型:将测试消息数据包的单位数据按数量进行分成数组,以单位数据和单位数据的出现频率建立VSM向量空间模型,将单位数据字符串向量转换成VSM向量;在VSM向量空间模型中定义用于表征数组单位数据相似度的Jaccard指数;
2)、通过VSM向量空间模型得出用于筛选测试消息数据包中频繁单位数据序列的筛选阀值:分别以多组单位数据出现频率为预选阀值选出数组中出现频率大于预选阀值的单位数据形成新数组,计算出新数组的单位数据Jaccard指数,建立预选阀值和单位数据Jaccard指数关系模型,通过关系模型找出单位数据Jaccard指数最大值对应的预选阀值,以此预选阀值作为筛选测试消息数据包中频繁单位数据序列的筛选阀值;
3)、采用筛选阀值筛选测试消息数据包中的频繁单位数据序列:采用筛选阀值对整个测试消息数据包进行筛选,选取出现频率大于筛选阀值的单位数据组成频繁单位数据序列。
5.根据权利要求1至3中任意一项权利要求所述的二进制消息数据的协议格式识别方法,其特征在于,步骤3中所述对测试消息数据包中相邻频繁单位数据序列聚类获得多个优选聚类,包括以下步骤:
1)、标记测试消息数据包中的频繁单位数据序列:在筛选出频繁单位数据序列之后,对测试消息数据包中的频繁单位数据序列进行标记;
2)、将相邻的两个频繁单位数据拼接成关键词:在测试消息数据包中,尽可能长地将相邻的两个频繁单位数据拼接起来作为关键词;
3)、通过聚类算法对测试消息数据包中的关键词进行聚类获得最佳聚类数目:通过关键词标记测试消息数据包的单位数据,实现测试消息数据包的消息数据的数值化,将VSM向量转化成数值化向量,对数值化向量采用K-Means聚类算法实现消息数据聚类,找出优选聚类模式及其对应的最佳聚类数目;
4)、通过最佳聚类数目获得优选聚类:以最佳聚类数目对测试消息数据包进行聚类,获得测试消息数据包的多个优选聚类。
6.根据权利要求5所述的二进制消息数据的协议格式识别方法,其特征在于,所述通过聚类算法对测试消息数据包中的关键词进行聚类获得最佳聚类数目,包括以下步骤:
1)采用K-Means聚类算法对关键词进行聚类找出聚类中心,具体为:
1.1)以关键词为待聚类的点寻找聚类中心;
1.2)计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中;
1.3)计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心;
1.4)反复执行(1.1)、(1.2),直到聚类中心不再进行大范围移动或者聚类次数达到要求为止;
2)找出优选聚类模式及其对应的最佳聚类数目:定义用于选择最优的聚类数目的Dunn指数,计算Dunn指数的最大值,Dunn指数最大值对应的消息数据聚类数目为最优聚类数目;
用于选择最优的聚类数目的Dunn指数的计算公式为
D ( p ) = mi n 1 ≤ i ≤ p { mi n 1 ≤ j ≤ p { δ ( C i , C j ) } } ma x 1 ≤ i ≤ p { Δ ( C i ) }
其中,Ci、Cj分别为第i和j个聚类中心,△(Ci)为聚类Ci的直径距离,δ(Ci,Cj)为两个聚类中心Ci、Cj之间的距离,p为消息数据聚类数目;
当D(p)取得最大值时,对应的p为效果最优的消息数据聚类数目。
CN201410440593.3A 2014-09-01 2014-09-01 二进制消息数据的协议格式识别方法 Active CN104159232B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410440593.3A CN104159232B (zh) 2014-09-01 2014-09-01 二进制消息数据的协议格式识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410440593.3A CN104159232B (zh) 2014-09-01 2014-09-01 二进制消息数据的协议格式识别方法

Publications (2)

Publication Number Publication Date
CN104159232A true CN104159232A (zh) 2014-11-19
CN104159232B CN104159232B (zh) 2015-06-03

Family

ID=51884618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410440593.3A Active CN104159232B (zh) 2014-09-01 2014-09-01 二进制消息数据的协议格式识别方法

Country Status (1)

Country Link
CN (1) CN104159232B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573333A (zh) * 2014-12-22 2015-04-29 长江大学 利用聚类分析进行模型优选的方法
CN104753934A (zh) * 2015-03-23 2015-07-01 电子科技大学 将未知协议多通信方数据流分离为点对点数据流的方法
CN104767736A (zh) * 2015-03-23 2015-07-08 电子科技大学 将未知单协议数据流分离为不同类型的数据帧的方法
CN104767739A (zh) * 2015-03-23 2015-07-08 电子科技大学 将未知多协议混合数据帧分离为单协议数据帧的方法
CN104796407A (zh) * 2015-03-23 2015-07-22 电子科技大学 一种未知协议特征的提取方法
CN105656923A (zh) * 2016-02-18 2016-06-08 中国工程物理研究院计算机应用研究所 一种基于模糊加权的二进制协议格式解析方法
CN108960307A (zh) * 2018-06-22 2018-12-07 中国人民解放军战略支援部队信息工程大学 一种私有协议字段格式提取方法、装置及服务器
CN109857816A (zh) * 2019-01-11 2019-06-07 平安科技(深圳)有限公司 测试样本的选取方法及装置、存储介质、电子设备
CN110365645A (zh) * 2019-06-06 2019-10-22 国家计算机网络与信息安全管理中心 一种车联网协议关键词识别方法及装置
CN110912908A (zh) * 2019-11-28 2020-03-24 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 网络协议异常检测方法、装置、计算机设备和存储介质
CN111163071A (zh) * 2019-12-20 2020-05-15 杭州九略智能科技有限公司 一种未知工业协议识别引擎
CN113507449A (zh) * 2021-06-17 2021-10-15 北京惠而特科技有限公司 一种ge私有协议深度识别方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102891852A (zh) * 2012-10-11 2013-01-23 中国人民解放军理工大学 基于报文分析的协议格式自动推断方法
CN103281291A (zh) * 2013-02-19 2013-09-04 电子科技大学 一种基于Hadoop的应用层协议识别方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102891852A (zh) * 2012-10-11 2013-01-23 中国人民解放军理工大学 基于报文分析的协议格式自动推断方法
CN103281291A (zh) * 2013-02-19 2013-09-04 电子科技大学 一种基于Hadoop的应用层协议识别方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573333B (zh) * 2014-12-22 2017-05-10 长江大学 利用聚类分析进行模型优选的方法
CN104573333A (zh) * 2014-12-22 2015-04-29 长江大学 利用聚类分析进行模型优选的方法
CN104767739B (zh) * 2015-03-23 2018-01-30 电子科技大学 将未知多协议混合数据帧分离为单协议数据帧的方法
CN104796407B (zh) * 2015-03-23 2018-03-30 电子科技大学 一种未知协议特征的提取方法
CN104796407A (zh) * 2015-03-23 2015-07-22 电子科技大学 一种未知协议特征的提取方法
CN104767739A (zh) * 2015-03-23 2015-07-08 电子科技大学 将未知多协议混合数据帧分离为单协议数据帧的方法
CN104767736A (zh) * 2015-03-23 2015-07-08 电子科技大学 将未知单协议数据流分离为不同类型的数据帧的方法
CN104753934B (zh) * 2015-03-23 2018-01-19 电子科技大学 将未知协议多通信方数据流分离为点对点数据流的方法
CN104753934A (zh) * 2015-03-23 2015-07-01 电子科技大学 将未知协议多通信方数据流分离为点对点数据流的方法
CN105656923A (zh) * 2016-02-18 2016-06-08 中国工程物理研究院计算机应用研究所 一种基于模糊加权的二进制协议格式解析方法
CN108960307A (zh) * 2018-06-22 2018-12-07 中国人民解放军战略支援部队信息工程大学 一种私有协议字段格式提取方法、装置及服务器
CN109857816A (zh) * 2019-01-11 2019-06-07 平安科技(深圳)有限公司 测试样本的选取方法及装置、存储介质、电子设备
CN110365645A (zh) * 2019-06-06 2019-10-22 国家计算机网络与信息安全管理中心 一种车联网协议关键词识别方法及装置
CN110912908A (zh) * 2019-11-28 2020-03-24 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 网络协议异常检测方法、装置、计算机设备和存储介质
CN110912908B (zh) * 2019-11-28 2022-08-02 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 网络协议异常检测方法、装置、计算机设备和存储介质
CN111163071A (zh) * 2019-12-20 2020-05-15 杭州九略智能科技有限公司 一种未知工业协议识别引擎
CN113507449A (zh) * 2021-06-17 2021-10-15 北京惠而特科技有限公司 一种ge私有协议深度识别方法及装置

Also Published As

Publication number Publication date
CN104159232B (zh) 2015-06-03

Similar Documents

Publication Publication Date Title
CN104159232B (zh) 二进制消息数据的协议格式识别方法
CN111385297B (zh) 无线设备指纹识别方法、系统、设备及可读存储介质
CN110348526B (zh) 一种基于半监督聚类算法的设备类型识别方法和装置
WO2019175880A1 (en) Method and system for classifying data objects based on their network footprint
CN109582855B (zh) 增强反爬系统识别性能的方法、装置和存储介质
CN109218223B (zh) 一种基于主动学习的鲁棒性网络流量分类方法及系统
CN104283918A (zh) 一种无线局域网终端类型获取方法及系统
CN105530265B (zh) 一种基于频繁项集描述的移动互联网恶意应用检测方法
CN107368856A (zh) 恶意软件的聚类方法及装置、计算机装置及可读存储介质
CN104915351A (zh) 图片排序方法及终端
CN113329023A (zh) 一种加密流量恶意性检测模型建立、检测方法及系统
CN106843941B (zh) 信息处理方法、装置和计算机设备
CN109284613B (zh) 标识检测及仿冒站点检测方法、装置、设备及存储介质
CN109871686A (zh) 基于图标表示和软件行为一致性分析的恶意程序识别方法及装置
CN108319672A (zh) 基于云计算的移动终端不良信息过滤方法及系统
CN107958154A (zh) 一种恶意软件检测装置及方法
CN103324886A (zh) 一种网络攻击检测中指纹库的提取方法和系统
CN106452859A (zh) 一种固网WiFi环境下手机号码特征关键字自动提取方法
Li et al. Activetracker: Uncovering the trajectory of app activities over encrypted internet traffic streams
CN113037567A (zh) 一种用于电网企业的网络攻击行为仿真系统及其仿真方法
CN106650610A (zh) 一种人脸表情数据收集方法及装置
CN106572486B (zh) 一种基于机器学习的手持终端流量识别方法和系统
CN111866882A (zh) 一种基于生成对抗网络的移动应用流量生成方法
CN112087450B (zh) 一种异常ip识别方法、系统及计算机设备
WO2017000817A1 (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
C14 Grant of patent or utility model
GR01 Patent grant