CN112348084A - 改进k-means的未知协议数据帧分类方法 - Google Patents

改进k-means的未知协议数据帧分类方法 Download PDF

Info

Publication number
CN112348084A
CN112348084A CN202011234930.5A CN202011234930A CN112348084A CN 112348084 A CN112348084 A CN 112348084A CN 202011234930 A CN202011234930 A CN 202011234930A CN 112348084 A CN112348084 A CN 112348084A
Authority
CN
China
Prior art keywords
data frame
cluster
data
protocol
clustering
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
CN202011234930.5A
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.)
Dalian University
Original Assignee
Dalian 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 Dalian University filed Critical Dalian University
Priority to CN202011234930.5A priority Critical patent/CN112348084A/zh
Publication of CN112348084A publication Critical patent/CN112348084A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种改进k‑means的未知协议数据帧分类方法,属于未知协议识别技术领域,包括:对获取到的比特流数据帧的长度进行对齐处理;将数据帧中每个字节作为一个属性,计算各属性的信息熵来确定其权重,用于加权欧式距离;计算各个数据帧的密度,基于高密度数据集中通过最大最小距离准则确定聚类中心;基于簇内簇间加权欧式距离确定最佳聚类个数k,并输出最佳k值下的聚类结果;可以对未知比特流形式协议的数据帧进行快速准确的聚类,效率、准确率高。

Description

改进k-means的未知协议数据帧分类方法
技术领域
本发明属于未知协议识别技术领域,具体说是针对未知网络环境下多种未知协议数据帧分类中效率不高、准确率低的问题,提出的一种改进k-means的未知协议数据帧分类方法。
背景技术
无线通信在作战环境中占据主要位置,交战双方大量的指挥、控制、情报信息通过无线通信传递。因此,成功截取敌方指挥信息并解析,甚至反向入侵干扰地方的指挥命令,对战场信息对抗有着重要的意义。未知协议识别往往会以协议的分层为基础,对于协议未知的网络数据,当前主要的研究内容为对协议的特征进行提取,而处理的对象则为具有相同协议属性的比特流数据帧,基于比特流数据帧的未知数据链路协议的识别则是一项重要的研究。如何将多数据链路层协议进行聚类以获得相同协议属性的数据帧是该研究中的首要问题,因此对比特流数据帧的处理分析成为协议识别与分析的首要工作。
针对多种未知协议数据帧分类的问题,国内外展开了很多研究,但由于比特流协议数据帧具有字段长度灵活,控制开销小,结构紧凑等特点,使得现有的研究中存在一些不足。如基于距离累加和的初始聚类中心选择算法,采用K-means算法对预处理后的数据帧进行聚类,提高了算法的稳定性和效率,但该算法的局限性在于处理数据段较长或存在可扩展字段的协议数据帧时效果不佳;基于主成分分析(PCA)和密度峰聚类的无监督聚类算法通过信息增益来确定主成分分析的维数,能有效去除未知协议数据帧中的冗余信息,同时基于距离指数加权改进密度峰聚类算法可以自动确定聚类中心,完成对未知协议数据帧有效的分类,但该方法中的信息增益阈值难以确定;基于改进K-means的比特流未知协议分类模型根据二进制流的特点对大量的比特流协议数据帧进行分析,以此来确定值和初始聚类中心,最后将聚类好的协议簇使用基于信息熵的混杂度评价方法进行评价,对未知协议识别进行分类具有较高的准确率,但是该方法需要分析大量的协议数据帧才能获得近似值,时间复杂度较高;利用K-means和DBSCAN算法相结合的方式进行未知多协议数据帧的分类方法虽然实现未知协议条件下数据帧的聚类得到满意的聚类结果,但是该方法在进行初始聚类时的聚类中心个数是指定的,在未知协议条件下,后续的聚类算法往往得不到满意的结果。
发明内容
为解决现有技术中存在的不足,本发明提供一种改进k-means的未知协议数据帧分类方法,可以对未知比特流形式协议的数据帧进行快速准确的聚类,效率、准确率高。
本发明为解决其技术问题所采用的技术方案是:一种改进k-means的未知协议数据帧分类方法,包括:
对获取到的比特流数据帧的长度进行对齐处理;
将数据帧中每个字节作为一个属性,计算各属性的信息熵来确定其权重,用于加权欧式距离;
计算各个数据帧的密度,基于高密度数据集中通过最大最小距离准则确定聚类中心;
基于簇内簇间加权欧式距离确定最佳聚类个数k,并输出最佳k值下的聚类结果。
进一步的,对获取到的比特流数据帧的长度进行对齐处理,具体为:将64B作为对齐处理后数据帧的长度,大于此长度的数据帧部分舍去,不足此长度的数据帧通过0补齐。
进一步的,计算各属性的信息熵来确定其权重,具体为:假设对齐处理后的数据帧集合为X={X1,X2,…,Xn},其中Xi={xi1,xi2,…,xim},xij(1≤i≤n,1≤j≤m)表示第i条数据帧的第j个属性,根据属性值集合构造属性值矩阵X:
Figure BDA0002766479540000021
计算第i条数据帧的第j个属性值的比重Mij
Figure BDA0002766479540000022
Mij(1≤i≤n,1≤j≤m)表示属性值比重;
计算第j个属性的熵值Hj
Figure BDA0002766479540000031
Hj表示数据帧第j个属性的熵值;
根据第j个属性的熵值计算其权值ωj,第j个属性的权值ωj为:
Figure BDA0002766479540000032
其中:0≤ωj≤1,
Figure BDA0002766479540000033
进一步的,基于高密度数据集中通过最大最小距离准则确定聚类中心,具体为:计算数据帧Xp和Xq在m个属性下的加权欧式距离dω(Xp,Xq):
Figure BDA0002766479540000034
计算高密度数据集中所有数据帧之间的平均加权欧式距离avgdω
Figure BDA0002766479540000035
求出平均加权欧式距离avgdω后,以任意数据帧Xi为圆点,R=avgdω为半径构造圆形,统计圆内,包括边缘数据帧的数目ρi作为该数据帧的密度,将各个数据帧的密度按照从大到小的顺序排列,取前
Figure BDA0002766479540000036
包括
Figure BDA0002766479540000037
数据帧作为拟聚类中心点集合U,U={X1,X2,…,Xγ,…XD},其中
Figure BDA0002766479540000038
根据最大最小距离准则,确定聚类中心:
1)在拟聚类中心点集合U中选取密度最大的数据帧X1作为第一个聚类中心点c1加入聚类中心点集合C中,C={c1,c2,…,cκ,…ck},其中1≤κ≤k;
2)在拟聚类中心点集合U中选择距离X1加权欧式距离最远的点Xγ作为第二个聚类中心点c2并加入聚类中心点集合C中;
3)在确定剩余的k-2个聚类中心点时,分别计算拟聚类中心点集合U中剩余的每个数据帧到已确定的聚类中心点的加权欧式距离,并将距离最小值放入最小值集合,待所有的数据帧计算完成时,将集合中的最大值dmax所对应的数据帧作为下一个聚类中心点,如公式(6)所示:
Figure BDA0002766479540000039
其中,T表示已经确定的聚类中心点的个数,d表示拟聚类中心点集合U中剩余任意数据帧i到已确定的第κ个聚类中心点加权欧式距离,
Figure BDA0002766479540000041
表示拟聚类中心点集合U中剩余的各个数据帧分别到已确定的κ个聚类中心点的加权欧式距离最小值集合,dmax表示加权欧式距离最小值集合中的最大值;
4)通过公式(6)确定到已经确定的κ-1个聚类中心点加权欧式距离最大的数据帧Xγ,并将Xγ做为第κ个聚类中心点cκ存入聚类中心点集合C中,直到确定k个聚类中心点为止。
进一步的,基于簇内簇间加权欧式距离确定最佳聚类个数k,具体为:
定义第α种协议类簇的第β个数据帧的簇内数据帧距离b(α,β)为该数据帧到同簇其它数据帧加权欧式距离的平均值,如公式(7)所示:
Figure BDA0002766479540000042
其中,nα表示第α个协议类簇中数据帧的个数,
Figure BDA0002766479540000043
表示第α个协议类簇中的第β个数据帧的第j属性;
Figure BDA0002766479540000044
表示第α个协议类簇中的第z个数据帧的第j属性,
Figure BDA0002766479540000045
表示同一协议类簇内数据帧β到数据帧z的加权欧式距离;
定义第α种协议类簇的第β个数据帧的簇间数据帧距离v(α,β)为该数据帧到其余种协议类簇中数据帧之间的加权欧式距离平均值的最小值,如公式(8)所示:
Figure BDA0002766479540000046
其中,nc表示第c个协议类簇中数据帧的个数,
Figure BDA0002766479540000047
表示第c个协议类簇中的第z个数据帧的第j属性;
Figure BDA0002766479540000048
表示第α个协议类簇中的第β个数据帧的第j属性;
Figure BDA0002766479540000049
表示不同的协议类簇间的数据帧z到数据帧β的加权欧式距离;
定义第α种协议类簇的第β个数据帧的聚类有效指标为簇内数据帧距离与簇间数据帧距离的比值H,如公式(9)所示:
Figure BDA00027664795400000410
聚类结果要求同一协议类簇内数据帧之间距离越小越好,不同协议类簇内数据帧之间距离越大越好,即b(α,β)越小,v(α,β)越大,H(α,β)的值越小时聚类效果越好;
假设有n条未知协议类簇的数据帧集合进行分类时,利用公式(10)计算n条数据帧簇内数据帧距离与簇间数据帧距离的比值H的平均值avgH(k),当avgH(k)取得最小值时所对应的协议种类数,即为最佳的k值;
Figure BDA0002766479540000051
本发明的有益效果是:提高了未知网络环境下多种未知协议数据帧分类的效率和准确率低,首先根据比特流形式协议数据帧的特点,利用信息熵加权数据帧之间的欧式距离,接着通过统计各个数据帧的密度确定高密度数据帧集合,并采用最大最小距离准则在该集合中确定聚类中心点,最后利用协议簇内距离与簇间距离的比值确定未知协议的种类数量,、可以对未知比特流形式协议的数据帧进行快速准确的聚类。
附图说明
附图1为本发明的实施过程流程图;
附图2为本发明的未知比特流协议数据帧分类流程图;
附图3为本发明的数据帧长度对齐处理操作示例图;
附图4为本发明的实验数据采集信息;
附图5为本发明的算法迭代次数对比图;
附图6为本发明的算法准确率对比图;
附图7位本发明的不同数据集在不同k值下的H值对比图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
实施例1
本发明按照附图2技术路线展开研究,通过计算数据帧中各属性的信息熵来确定其权重,用于加权欧式距离,再计算各个数据帧的密度,在高密度数据集中通过最大最小距离准则确定聚类中心,最后通过簇内簇间加权欧式距离来确定最佳聚类个数k,并将最佳k值下的聚类结果输出。主要包括以下步骤:1)数据帧预处理,2)基于信息熵的权值计算,3)基于密度和最大最小距离准则确定聚类中心点,4)基于簇内簇间距离比值确定k值。
一种改进k-means的未知协议数据帧分类方法,包括如下步骤:
S1:对获取到的比特流数据帧的长度进行对齐处理
由于不同的设计目标和应用背景,不同二进制协议的数据帧通常具有不同的长度。就相同的二进制协议而言,由于不同的功能,还存在不同长度的各种数据帧。即使相同类型的数据帧仍然会出现可变长度的扩展字段。为了使不同长度的数据帧适用于本方法,需要将获取到的比特流数据帧的长度进行对齐处理。
对数据帧进行预处理的操作,既要使数据集适用于聚类算法,又要避免对数据帧引入更多的干扰。通过对Ethernet、802.11a、ARP和ppp等协议数据帧的分析,发现几乎全部的协议特征序列出现在数据帧的前64B,不同协议的特征序列各不相同,按照特征序列对多种协议数据帧进行聚类并不需要将各个协议的全部特征进行比对,因此本发明将64B作为对齐处理后数据帧的长度,大于此长度的数据帧部分舍去,不足此长度的数据帧通过0补齐,如附图3所示。
S2:将数据帧中每个字节作为一个属性,计算各属性的信息熵来确定其权重,用于加权欧式距离
数据帧在经过长度对齐的数据预处理后,若其在某个属性的值越相似、数据越平稳,则该属性的信息熵越大,进一步的,说明该属性更有可能代表协议的特征序列,认为其权重越大;相反,若某个属性上的值越杂乱,则该属性的信息熵越小,其权重也就越小。由于协议内的特征序列都是成段出现,并且特征字段一般为字节的整数倍,本发明把数据帧中每字节作为一个属性,通过计算各属性的熵值,来确定各个属性的权重。
S2.1.假设对齐处理后的数据帧集合为X={X1,X2,…,Xn},其中Xi={xi1,xi2,…,xim},xij(1≤i≤n,1≤j≤m)表示第i条数据帧的第j个属性,根据属性值集合构造属性值矩阵X:
Figure BDA0002766479540000061
S2.2.利用公式(1)计算第i条数据帧的第j个属性值的比重Mij
Figure BDA0002766479540000071
Mij(1≤i≤n,1≤j≤m)表示属性值比重;
S2.3.利用公式(2)计算第j个属性的熵值Hj
Figure BDA0002766479540000072
Hj表示数据帧第j个属性的熵值;对于给定的数据帧属性j,熵值越大,表示数据帧的属性值相差越小,认为该属性对聚类的影响越大;熵值越小,表示数据帧的属性值相差越大,认为该属性对聚类的影响越小。当属性值全部相等时,即Hj=Hmax=1,此时属性的聚类作为最大。
S2.4.根据第j个属性的熵值利用公式(3)计算其权值ωj,第j个属性的权值ωj为:
Figure BDA0002766479540000073
其中:0≤ωj≤1,
Figure BDA0002766479540000074
S3:计算各个数据帧的密度,基于高密度数据集中通过最大最小距离准则确定聚类中心
S3.1为了减少在聚类过程中噪声点或边缘点对聚类结果造成的影响,通过平均加权欧式距离计算所有样本点的密度,通过公式(4)计算数据帧Xp和Xq在m个属性下的加权欧式距离dω(Xp,Xq):
Figure BDA0002766479540000075
S3.2通过公式(5)计算高密度数据集中所有数据帧之间的平均加权欧式距离avgdω
Figure BDA0002766479540000076
avgdω表示数据集中所有数据帧之间加权欧式距离的平均值,假设数据集中有n条数据帧,任取两条数据帧计算他们的加权欧式距离,则有c(n,2)种取值情况,求出所有数据帧之间距离的和与c(n,2)的比值即为n条数据帧之间的平均加权欧氏距离。
S3.3求出平均加权欧式距离avgdω后,以任意数据帧Xi为圆点,R=avgdω为半径构造圆形,统计圆内,包括边缘数据帧的数目ρi作为该数据帧的密度,将各个数据帧的密度按照从大到小的顺序排列,取前
Figure BDA0002766479540000081
包括
Figure BDA0002766479540000082
数据帧作为拟聚类中心点集合U,U={X1,X2,…,Xγ,…XD},其中
Figure BDA0002766479540000083
S3.4根据最大最小距离准则,确定聚类中心,过程如下:设聚类中心点集合为C,C={c1,c2,…,cκ,…ck},其中1≤κ≤k;
1)在拟聚类中心点集合U中选取密度最大的数据帧X1作为第一个聚类中心点c1加入聚类中心点集合C中;
2)在拟聚类中心点集合U中选择距离X1加权欧式距离最远的点Xγ作为第二个聚类中心点c2并加入聚类中心点集合C中;
3)在确定剩余的k-2个聚类中心点时,分别计算拟聚类中心点集合U中剩余的每个数据帧到已确定的聚类中心点的加权欧式距离,并将距离最小值放入最小值集合,待所有的数据帧计算完成时,将集合中的最大值dmax所对应的数据帧作为下一个聚类中心点,如公式(6)所示:
Figure BDA0002766479540000084
其中,T表示已经确定的聚类中心点的个数,d表示拟聚类中心点集合U中剩余任意数据帧i到已确定的第κ个聚类中心点加权欧式距离,
Figure BDA0002766479540000085
表示拟聚类中心点集合U中剩余的各个数据帧分别到已确定的κ个聚类中心点的加权欧式距离最小值集合,dmax表示加权欧式距离最小值集合中的最大值;
4)通过公式(6)确定到已经确定的κ-1个聚类中心点加权欧式距离最大的数据帧Xγ,并将Xγ做为第κ个聚类中心点cκ存入聚类中心点集合C中,直到确定k个聚类中心点为止。
S4:基于簇内簇间加权欧式距离确定最佳聚类个数k,并输出最佳k值下的聚类结果
针对零先验知识下如何确定未知协议种类数量k的问题,采用簇内数据帧与簇间数据帧的距离之比作为k值确定的依据,假设有n条未知协议数据帧的集合G,被分为k种协议的类簇,相关定义如下:
S4.1定义第α种协议类簇的第β个数据帧的簇内数据帧距离b(α,β)为该数据帧到同簇其它数据帧加权欧式距离的平均值,如公式(7)所示:
Figure BDA0002766479540000091
其中,nα表示第α个协议类簇中数据帧的个数,
Figure BDA0002766479540000092
表示第α个协议类簇中的第β个数据帧的第j属性;
Figure BDA0002766479540000093
表示第α个协议类簇中的第z个数据帧的第j属性,
Figure BDA0002766479540000094
表示同一协议类簇内数据帧β到数据帧z的加权欧式距离;
S4.2定义第α种协议类簇的第β个数据帧的簇间数据帧距离v(α,β)为该数据帧到其余种协议类簇中数据帧之间的加权欧式距离平均值的最小值,如公式(8)所示:
Figure BDA0002766479540000095
其中,nc表示第c个协议类簇中数据帧的个数,
Figure BDA0002766479540000096
表示第c个协议类簇中的第z个数据帧的第j属性;
Figure BDA0002766479540000097
表示第α个协议类簇中的第β个数据帧的第j属性;
Figure BDA0002766479540000098
表示不同的协议类簇间的数据帧z到数据帧β的加权欧式距离;
S4.3定义第α种协议类簇的第β个数据帧的聚类有效指标为簇内数据帧距离与簇间数据帧距离的比值H,如公式(9)所示:
Figure BDA0002766479540000099
聚类结果要求同一协议类簇内数据帧之间距离越小越好,不同协议类簇内数据帧之间距离越大越好,即b(α,β)越小,v(α,β)越大,H(α,β)的值越小时聚类效果越好;
S4.4假设有n条未知协议类簇的数据帧集合进行分类时,利用公式(10)计算n条数据帧簇内数据帧距离与簇间数据帧距离的比值H的平均值avgH(k),当avgH(k)取得最小值时所对应的协议种类数,即为最佳的k值;
Figure BDA00027664795400000910
附图4为本发明的实验数据采集信息图,附图5为本发明的算法迭代次数对比图,为验证本发明中IEWDK算法的迭代效率,如附图4所示,本发明采用不同规模的数据集进行仿真实验。为使仿真结果不失一般性,将IEWDK算法在每一个数据集下分别运行100次,并与传统K-means算法和基于最大最小距离准则的K-means算法对比。在执行对比算法时,为保证算法的执行效率,将单一数据集下的实际协议种类个数k手动输入,只比对算法执行时的迭代次数。
由附图4可知,数据集D1、D2及D3中各含两种协议,附图5中的(5a)、(5b)以及(5c)为三种算法在上述三种数据集下运行100次得到的迭代次数,从附图5中可以看出,无论在哪个数据集下,传统K-means算法的迭代次数波动最为明显,基于最大最小距离准则K-means算法次之,IEWDK算法最稳定。数据集D4及D5中各含三种协议,附图5中的(5d)是在数据集D4下三种算法分别运行100次得到的迭代次数,(5e)是在数据集D5下三种算法分别运行100次得到的迭代次数。无论是在数据集D4还是D5下,IEWDK算法都要比另外两种算法稳定。总得来说,随着协议种类和数据帧数量的增多,IEWDK算法都要比传统K-means算法和基于最大最小距离准则的K-means算法的迭代次数少。
为了更直观的显示对比结果,将IEWDK算法在每个数据集分别运行100次获取的迭代次数求取平均值,并与传统K-means算法和基于最大最小距离准则的K-means算法对比,如附图5的(5f)所示。
通过(5f)可以看出,在相同规模数据集下,传统K-means算法平均迭代次数最多,基于最大最小距离准则K-means算法次之,IEWDK算法最低;随着数据集规模的增加,三种算法的平均迭代次数均增加,但IEWDK算法明显低于其余两种算法。这是因为传统K-means算法的初始聚类中心点具有较大的随机性,算法迭代次数稳定性差;基于最大最小距离准则的K-means算法克服随机性,因此迭代次数稳定性较好,但可能会选择边缘点作为聚类中心点,增加算法的迭代次数。与上述算法相比,IEWDK算法通过密度集合排除了边缘数据帧作为聚类中心点的可能,因此迭代次数稳定性最好,从算法运行效率方面来看,本发明所提出的算法收敛速度更快。
附图6为本发明的算法准确率对比图,为验证IEWDK算法对不同比特流协议数据帧的分类能力,采用附图4所示数据集进行实验,并利用公式(11)作为评价单协议聚类结果的指标。将IEWDK算法运行的结果与传统K-means算法、基于最大最小距离准则的K-means算法以及EM算法进行对比。在运行上述三种对比法算时,由于算法本身无法对协议种类个数自动确定,所以将单一数据集的实际协议种类个数k手动输入,只比对最后分类的结果。如附图6所示。
Figure BDA0002766479540000111
其中,Nc表示在某一数据集下第c种协议数据帧的实际数量,nc表示该数据集下第c种协议数据帧被正确聚类的数量,Rc表示该数据集下第c种协议的聚类准确率。
图(6a)-(6e)为四种算法分别在每个数据集下的运行结果,由附图4可以对比看出D1、D2和D3是同数量数据帧,不同协议类型的数据集,D4和D5是同协议类型,不同数量数据帧的数据集。无论在哪一个数据集下,利用IEWDK算法对其进行聚类都能得到一个较好的效果。进一步的,随着协议种类和数据帧数量的增加,IEWDK算法都能保持较高的准确率,从图可以看出在ARP协议和Ethernet协议下其聚类准确率高于其它算法,但在802.11a协议下,聚类准确率低于EM算法。这是因为802.11a协议的数据帧长度灵活,不同的数据帧由于功能不同,长度也就不同,这样的数据帧在通过信息熵加权之后,特征序列的权重没有被增加,甚至可能减少,所以IEWDK算法的准确率略低于EM算法,但仍然高于其它两种算法。
为进一步对IEWDK算法的准确率进行分析,采用附图4所示数据集进行实验,并利用公式(12)作为评价聚类结果的指标,将IEWDK算法运行的结果与传统K-means算法、基于最大最小距离准则的K-means算法以及EM算法进行对比。在运行上述三种对比法算时,由于算法本身无法对协议种类个数自动确定,所以将单一数据集的实际协议种类个数k手动输入,只比对最后分类的准确率,如附图6的(6f)所示:
Figure BDA0002766479540000112
n表示单个数据集中协议数据帧的总数,k表示协议种类个数,nc表示第c个类簇中正确聚类的协议数据帧个数,A表示单个数据集整体聚类准确率。
从附图6中的(6f)可以看出,在实验设置的数据集下,传统K-means算法的准确率最低,基于最大最小距离准则的K-means算法次之,EM算法较高,IEWDK算法最高。在数据集D4和D5下,传统K-means算法、基于最大最小距离准则的K-means算法和EM算法的准确率都所下降,IEWDK算法准确度也有所下降,但仍高于其余算法,原因在于传统K-means算法和基于最大最小距离准则的K-means算法的相似性度量都没有考虑协议数据帧数据段对聚类结果的影响;随着数据集协议种类数量和数据帧数量的增加,EM算法的极大似然估计更容易陷入局部最优值,因此准确率下降。综上,IEWDK算法通过信息熵加权欧氏距离作为相似性度量比传统K-means算法和基于最大最小准则的K-means算法更适用于比特流形式的协议数据帧集合,聚类效果优于其他三种算法。
附图7位本发明的不同数据集在不同k值下的H值对比图。采用数据集D1,D4,D5进行实验。在各个数据集下,对不同k值下的H值进行统计,结果如附图7所示。在k=1时,由公式(9)知,H趋近于无穷大,结合图5可以看出,在单一数据集下,随着k值的不断增加,H值先减小后增加。数据集D1中有两种协议,H值取得最小值时,k值为2,通过观察附图6的图(6f)可得此时D1中的数据帧被分为两个协议簇;数据集D4,D5中,分别有三种协议,H值取得最小值时,k值为3,通过附图6的(6f)可得此时D4,D5中的数据帧都被分类三个协议簇,且随着数据帧数量的增加,该算法同样有效符合之前的实验结论。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (5)

1.一种改进k-means的未知协议数据帧分类方法,其特征在于,包括:
对获取到的比特流数据帧的长度进行对齐处理;
将数据帧中每个字节作为一个属性,计算各属性的信息熵来确定其权重,用于加权欧式距离;
计算各个数据帧的密度,基于高密度数据集中通过最大最小距离准则确定聚类中心;
基于簇内簇间加权欧式距离确定最佳聚类个数k,并输出最佳k值下的聚类结果。
2.根据权利要求1所述的改进k-means的未知协议数据帧分类方法,其特征在于,对获取到的比特流数据帧的长度进行对齐处理,具体为:将64B作为对齐处理后数据帧的长度,大于此长度的数据帧部分舍去,不足此长度的数据帧通过0补齐。
3.根据权利要求1所述的改进k-means的未知协议数据帧分类方法,其特征在于,计算各属性的信息熵来确定其权重,具体为:假设对齐处理后的数据帧集合为X={X1,X2,…,Xn},其中Xi={xi1,xi2,…,xim},xij(1≤i≤n,1≤j≤m)表示第i条数据帧的第j个属性,根据属性值集合构造属性值矩阵X:
Figure FDA0002766479530000011
计算第i条数据帧的第j个属性值的比重Mij
Figure FDA0002766479530000012
Mij(1≤i≤n,1≤j≤m)表示属性值比重;
计算第j个属性的熵值Hj
Figure FDA0002766479530000013
Hj表示数据帧第j个属性的熵值;
根据第j个属性的熵值计算其权值ωj,第j个属性的权值ωj为:
Figure FDA0002766479530000021
其中:0≤ωj≤1,
Figure FDA0002766479530000022
4.根据权利要求1所述的改进k-means的未知协议数据帧分类方法,其特征在于,基于高密度数据集中通过最大最小距离准则确定聚类中心,具体为:计算数据帧Xp和Xq在m个属性下的加权欧式距离dω(Xp,Xq):
Figure FDA0002766479530000023
计算高密度数据集中所有数据帧之间的平均加权欧式距离avgdω
Figure FDA0002766479530000024
求出平均加权欧式距离avgdω后,以任意数据帧Xi为圆点,R=avgdω为半径构造圆形,统计圆内,包括边缘数据帧的数目ρi作为该数据帧的密度,将各个数据帧的密度按照从大到小的顺序排列,取前
Figure FDA0002766479530000025
包括
Figure FDA0002766479530000026
数据帧作为拟聚类中心点集合U,U={X1,X2,…,Xγ,…XD},其中
Figure FDA0002766479530000027
根据最大最小距离准则,确定聚类中心:
1)在拟聚类中心点集合U中选取密度最大的数据帧X1作为第一个聚类中心点c1加入聚类中心点集合C中,C={c1,c2,…,cκ,…ck},其中1≤κ≤k;
2)在拟聚类中心点集合U中选择距离X1加权欧式距离最远的点Xγ作为第二个聚类中心点c2并加入聚类中心点集合C中;
3)在确定剩余的k-2个聚类中心点时,分别计算拟聚类中心点集合U中剩余的每个数据帧到已确定的聚类中心点的加权欧式距离,并将距离最小值放入最小值集合,待所有的数据帧计算完成时,将集合中的最大值dmax所对应的数据帧作为下一个聚类中心点,如公式(6)所示:
Figure FDA0002766479530000028
其中,T表示已经确定的聚类中心点的个数,d表示拟聚类中心点集合U中剩余任意数据帧i到已确定的第κ个聚类中心点加权欧式距离,
Figure FDA0002766479530000031
表示拟聚类中心点集合U中剩余的各个数据帧分别到已确定的κ个聚类中心点的加权欧式距离最小值集合,dmax表示加权欧式距离最小值集合中的最大值;
4)通过公式(6)确定到已经确定的κ-1个聚类中心点加权欧式距离最大的数据帧Xγ,并将Xγ做为第κ个聚类中心点cκ存入聚类中心点集合C中,直到确定k个聚类中心点为止。
5.根据权利要求1所述的改进k-means的未知协议数据帧分类方法,其特征在于,基于簇内簇间加权欧式距离确定最佳聚类个数k,具体为:
定义第α种协议类簇的第β个数据帧的簇内数据帧距离b(α,β)为该数据帧到同簇其它数据帧加权欧式距离的平均值,如公式(7)所示:
Figure FDA0002766479530000032
其中,nα表示第α个协议类簇中数据帧的个数,
Figure FDA0002766479530000033
表示第α个协议类簇中的第β个数据帧的第j属性;
Figure FDA0002766479530000034
表示第α个协议类簇中的第z个数据帧的第j属性,
Figure FDA0002766479530000035
表示同一协议类簇内数据帧β到数据帧z的加权欧式距离;
定义第α种协议类簇的第β个数据帧的簇间数据帧距离v(α,β)为该数据帧到其余种协议类簇中数据帧之间的加权欧式距离平均值的最小值,如公式(8)所示:
Figure FDA0002766479530000036
其中,nc表示第c个协议类簇中数据帧的个数,
Figure FDA0002766479530000037
表示第c个协议类簇中的第z个数据帧的第j属性;
Figure FDA0002766479530000038
表示第α个协议类簇中的第β个数据帧的第j属性;
Figure FDA0002766479530000039
表示不同的协议类簇间的数据帧z到数据帧β的加权欧式距离;
定义第α种协议类簇的第β个数据帧的聚类有效指标为簇内数据帧距离与簇间数据帧距离的比值H,如公式(9)所示:
Figure FDA00027664795300000310
聚类结果要求同一协议类簇内数据帧之间距离越小越好,不同协议类簇内数据帧之间距离越大越好,即b(α,β)越小,v(α,β)越大,H(α,β)的值越小时聚类效果越好;
假设有n条未知协议类簇的数据帧集合进行分类时,利用公式(10)计算n条数据帧簇内数据帧距离与簇间数据帧距离的比值H的平均值avgH(k),当avgH(k)取得最小值时所对应的协议种类数,即为最佳的k值;
Figure FDA0002766479530000041
CN202011234930.5A 2020-11-08 2020-11-08 改进k-means的未知协议数据帧分类方法 Pending CN112348084A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011234930.5A CN112348084A (zh) 2020-11-08 2020-11-08 改进k-means的未知协议数据帧分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011234930.5A CN112348084A (zh) 2020-11-08 2020-11-08 改进k-means的未知协议数据帧分类方法

Publications (1)

Publication Number Publication Date
CN112348084A true CN112348084A (zh) 2021-02-09

Family

ID=74429980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011234930.5A Pending CN112348084A (zh) 2020-11-08 2020-11-08 改进k-means的未知协议数据帧分类方法

Country Status (1)

Country Link
CN (1) CN112348084A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112990612A (zh) * 2021-05-17 2021-06-18 湖南三湘银行股份有限公司 一种基于联邦学习的预测系统及方法
CN113792754A (zh) * 2021-08-12 2021-12-14 国网江西省电力有限公司电力科学研究院 一种先除异后修复的换流变dga在线监测数据处理方法
CN113938410A (zh) * 2021-10-14 2022-01-14 广东电网有限责任公司 一种终端协议的识别方法及装置
CN114220016A (zh) * 2022-02-22 2022-03-22 山东融瓴科技集团有限公司 面向开放场景下的无人机航拍图像的域自适应识别方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112990612A (zh) * 2021-05-17 2021-06-18 湖南三湘银行股份有限公司 一种基于联邦学习的预测系统及方法
CN113792754A (zh) * 2021-08-12 2021-12-14 国网江西省电力有限公司电力科学研究院 一种先除异后修复的换流变dga在线监测数据处理方法
CN113938410A (zh) * 2021-10-14 2022-01-14 广东电网有限责任公司 一种终端协议的识别方法及装置
CN114220016A (zh) * 2022-02-22 2022-03-22 山东融瓴科技集团有限公司 面向开放场景下的无人机航拍图像的域自适应识别方法

Similar Documents

Publication Publication Date Title
CN112348084A (zh) 改进k-means的未知协议数据帧分类方法
WO2021189730A1 (zh) 检测异常高密子图的方法、装置、设备及存储介质
WO2020155755A1 (zh) 基于谱聚类的异常点比例优化方法、装置及计算机设备
CN107682319B (zh) 一种基于增强型角度异常因子的数据流异常检测及多重验证的方法
CN107291847A (zh) 一种基于MapReduce的大规模数据分布式聚类处理方法
CN111275132A (zh) 一种基于sa-pfcm++算法的目标分群方法
CN108280236A (zh) 一种基于LargeVis的随机森林可视化数据分析方法
CN114861788A (zh) 一种基于dbscan聚类的负荷异常检测方法及系统
CN113542241A (zh) 一种基于CNN-BiGRU混合模型的入侵检测方法及装置
CN111291824A (zh) 时间序列的处理方法、装置、电子设备和计算机可读介质
CN110458094B (zh) 基于指纹相似度的设备分类方法
CN115952067A (zh) 一种数据库操作异常行为检测方法及可读存储介质
CN117131449A (zh) 面向数据治理的具有传播学习能力的异常识别方法及系统
CN109389172B (zh) 一种基于无参数网格的无线电信号数据聚类方法
CN117478390A (zh) 一种基于改进密度峰值聚类算法的网络入侵检测方法
CN112215490A (zh) 一种基于相关性系数改进K-means的电力负荷聚类分析方法
Cai et al. Weighted message passing and minimum energy flow for heterogeneous stochastic block models with side information
Hore et al. Creating streaming iterative soft clustering algorithms
CN110457465B (zh) 一种针对未知比特流协议的分类方法
Cao et al. Meta-sketch: A neural data structure for estimating item frequencies of data streams
Liu et al. Unknown Protocol Data Frame Classification Algorithm based on Improved K-Means
CN115473688A (zh) 面向软件定义网络的异常检测方法、装置及设备
CN115017988A (zh) 一种用于状态异常诊断的竞争聚类方法
CN110942089B (zh) 一种基于多级决策的击键识别方法
Feng et al. An effective clustering algorithm using adaptive neighborhood and border peeling method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination