CN114866485A - 一种基于聚合熵的网络流量分类方法及分类系统 - Google Patents

一种基于聚合熵的网络流量分类方法及分类系统 Download PDF

Info

Publication number
CN114866485A
CN114866485A CN202210236676.5A CN202210236676A CN114866485A CN 114866485 A CN114866485 A CN 114866485A CN 202210236676 A CN202210236676 A CN 202210236676A CN 114866485 A CN114866485 A CN 114866485A
Authority
CN
China
Prior art keywords
entropy
stream
flow
character
cluster
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
CN202210236676.5A
Other languages
English (en)
Other versions
CN114866485B (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.)
Nanjing Huafei Data Technology Co ltd
Original Assignee
Nanjing Huafei Data Technology Co ltd
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 Nanjing Huafei Data Technology Co ltd filed Critical Nanjing Huafei Data Technology Co ltd
Priority to CN202210236676.5A priority Critical patent/CN114866485B/zh
Publication of CN114866485A publication Critical patent/CN114866485A/zh
Application granted granted Critical
Publication of CN114866485B publication Critical patent/CN114866485B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种基于聚合熵的网络流量分类方法,该方法包括:步骤1、捕获网络出口处流量,经过数据清洗后使用五元组信息将其分割为不同流;步骤2、遍历每条流中数据包的包头部分与数据部分字节流,分别计算每个大小‑端口号二元组和聚合字节出现的次数;步骤3、结合二元组计数矩阵和字符计数器计算流的二元属性熵和字符熵,融合二元属性熵和字符熵为聚合熵;步骤4、使用聚合熵结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别。一种基于聚合熵的网络流量分类系统,该系统包括流量获取子系统,流量簇分类子系统,聚合熵提取子系统,识别子系统。本发明能有效和实时区分数据包是否加密。

Description

一种基于聚合熵的网络流量分类方法及分类系统
技术领域
本发明涉及一种基于聚合熵的网络流量分类方法及分类系统,属于网络安全技术领域。
背景技术
随着现代网络通信技术的快速发展以及新型协议的不断出现,网络流量变得愈加复杂和多样,大多数通信使用强加密算法来保证安全与隐私,但依然存在部分通信使用明文来传递敏感信息,这可能会受到中间人攻击、虚假数据注入等攻击,导致数据被修改和泄露,此外,攻击者在窃取内部数据时,为了掩盖他的行为,可能会采用压缩的方式进行数据转移,因为加密连接的建立需要双方服务器的握手确认。
因此,有效分类网络中的加密和未加密流量是非常有必要的;加密分类是指使用分类模型对收集到的网络流量进行分类,分类的结果是某种应用程序类型或应用层协议,高效的网络流量分类是实现网络管理,提供适当的服务质量(QoS)以及异常检测的重要环节;传统的流量分类技术,如基于有效载荷的技术(即深度包检测DPI),通过对比数据包数据部分中包含的信息与数据库中已有的签名来对流量进行分类,然而随着加密协议如TLS/SSL的广泛使用,TLS/SSL通过证书授权中心CA交换通信双方数字证书获取双方公钥,使用非对称加密算法交换用于对称加密的密钥,使用对称加密秘钥加密正常网络通信,使得DPI技术无法处理加密流量;但加密的同时带来了数据包的伪随机性,故相关研究通过分析数据包数据部分的熵值高低判断流量是否被加密,进而分析加密流量的具体类型;然而,数据包熵值高并不总是意味着加密,如压缩文件由于高度结构化会导致熵值偏高,明文经过十六进制编码后原始字符串长度变长增加了随机性也会导致熵值变高,因此单独通过数据包数据部分熵值无法有效判断出流量是否被加密,需要一个更加有效的综合判断数据包包头以及数据部分熵值的网络流量分类方法。
发明内容
本发明提出的是一种基于聚合熵的网络流量分类方法及分类系统,其目的旨在解决现有网络流量分类方法无法实时处理和有效分类流量数据包的问题。
本发明的技术解决方案:一种基于聚合熵的网络流量分类方法,该方法包括:
步骤1、捕获网络出口处流量,经过数据清洗后使用五元组信息将其分割为不同流;
步骤2、遍历每条流中数据包的包头部分与数据部分字节流,分别计算每个大小-端口号二元组和聚合字节出现的次数;
步骤3、结合二元组计数矩阵和字符计数器计算流的二元属性熵和字符熵,融合二元属性熵和字符熵为聚合熵;
步骤4、使用聚合熵结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别。
进一步地,所述步骤1中捕获网络出口处流量具体为采集网络出口区域产生的流量;
所述步骤1中数据清洗,具体为:去除所捕获网络出口处流量中的问题数据包;
所述步骤1中使用五元组信息将其分割为不同流,具体为:使用五元组信息将经过数据清洗后的所捕获网络出口处流量分割为不同流;
所述步骤2中分别计算每个大小-端口号二元组和聚合字节出现的次数,具体为:分别遍历每条流中数据包的包头部分与数据部分字节流,计算包头部分数据包大小-端口号二元组属性值出现的次数,结合多编码匹配算法计算数据部分字节流中每个聚合字节出现的次数;
所述步骤3中结合二元组计数矩阵和字符计数器计算流的二元属性熵和字符熵,融合二元属性熵和字符熵为聚合熵,具体为:根据流的二元组计数矩阵和字符计数器计算包头部分的二元属性熵与数据部分归一化字符Tsallis熵,并进行加权求和得出聚合熵;
所述步骤4使用聚合熵值结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别;具体为:使用聚合熵值结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,获取识别结果,并结合已有数据集更新机器学习模型;
所述问题数据包包括由于网络延迟导致的重传数据包、服务器错误导致的请求失败数据包;所述问题数据包还包括其它受损或非人为产生的数据包;
所述步骤4中随机性检测特征包括累加和检验值、块内频数检测值。
一种基于聚合熵的网络流量分类系统,该系统包括流量获取子系统,流量簇分类子系统,聚合熵提取子系统,识别子系统;
所述流量获取子系统在网络流量的出口区域或核心区部署分流设备,汇聚不同光纤中的流量,经过数据清洗后更新流表并通过负载均衡技术转发到流量簇分类子系统的I/O接口上;
所述流量簇分类子系统计算每条流的五元组hash值,并判断流表中是否存在对应记录,若存在则直接为该条流分配流标签形成已标记流,若不存在对应记录,则结合已标记数据集训练若干个聚类模型,使用动态加权概率组合策略为该条流分配流标签形成已标记流;
所述聚合熵提取子系统提取已标记流的数据包大小-端口号二元组序列,结合计数法计算二元属性熵;并截取流的前ηKB字节,结合多编码匹配算法计算字符熵;最后融合二元属性熵和字符熵为聚合熵;
所述识别子系统使用已标记流的聚合熵值结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,获取识别结果。
进一步地,所述流量获取子系统在网络流量的出口区域或核心区部署分流设备,汇聚不同光纤中的流量,经过数据清洗后更新流表并通过负载均衡技术转发到流量簇分类子系统的I/O接口上,具体过程包括:
首先利用汇聚分流设备将若干条光纤中的流量进行汇聚,去除其中的问题数据包;所述问题数据包包括由于网络延迟导致的重传数据包、服务器错误导致的请求失败数据包;所述问题数据包还包括其它受损或非人为产生的数据包;
接着根据剩余数据包是否使用加密协议,向流表TC={hash1:label1,..,hashτ:labelτ}中插入加密数据包对应的流记录,其中hashi=CRC(srcipi,srcporti,dstipi,dstporti,protoi),表示流表中的第i条记录对应的流hash,labeli表示流表中的第i条记录对应的标签值,最后将所有数据包转发到流量簇分类子系统的I/O接口上。
进一步地,所述流量簇分类子系统计算每条流的五元组hash值,并判断流表中是否存在对应记录,若存在则直接为该条流分配流标签形成已标记流,若不存在对应记录,则结合已标记数据集训练若干个聚类模型,使用动态加权概率组合策略为该条流分配流标签形成已标记流,具体过程包括:
对于新收集到的包含ρ个数据包的数据包序列P={p1,p2,..,pρ},首先根据五元组将新收集到的数据包序列拆分为双向流T={p1,p2,..,pδ},计算五元组hash值hashi,接着判断流表TC是否存在hashi对应的记录,若存在则直接为该条流分配流标签labeli,若不存在则跳过,δ表示双向流中数据包的个数,δ≤ρ;
随后使用不同的聚类算法将包含已标记流与未标记流的数据集划分为不同簇;对于每个聚类算法聚类出的簇,使用簇中占比最大的已标记流的标签做为该簇标签,并计算每条未标记流f属于不同簇Cm的概率pf,m∈[0,1],f=1,…,F;m=1,…,M,其中F和M分别表示未标记流样本与簇的总数量;随后计算每个簇Cm的权重wm,即:
Figure BDA0003542518490000051
其中M表示簇的个数,Cm表示第m个簇,Iv:Cm→[0,1]表示第v种映射关系,V为映射关系可选择的映射空间,包括簇Cm的大小占总大小的比例、簇Cm簇内距离的归一化值,H表示熵,对于任意的概率分布:
O={O1,O2,..,O|o|},
Figure BDA0003542518490000052
最后根据pf,m和wm计算每个聚类算法的动态加权概率组合矩阵,即:
Figure BDA0003542518490000061
并根据最大值策略为流样本中未标记流分配标签,即
Figure BDA0003542518490000062
其中A代表所使用的聚类算法个数,mfa代表第a个聚类算法计算出的最大加权概率标签。
进一步地,所述不同的聚类算法包括K-means聚类算法、DBSCAN聚类算法;
所述K-means聚类算法计算簇的步骤包括:
首先选择B个流样本{e1,e2,..,eB}作为初始聚类中心(即质心),分别计算其它流样本f到各个质心eb的距离||f-eb||2并将相应流样本分到距离最小的质心所属的簇中;
接着重新计算每个簇Cm的质心
Figure BDA0003542518490000063
重复上述距离计算操作,直至每个流样本到其质心的平方误差
Figure BDA0003542518490000064
不再下降或达到100次迭代次数,提取此时的聚类结果中的簇;
所述DBSCAN聚类算法计算簇的步骤包括:
首先给定原始流样本集D,定义领域参数与核心对象集合Ω={e1,e2,..,eB},对于每个核心对象eb,其ε领域Nbε(f)中包含的样本个数不小于MinPts,即:
Nbε(f)={f∈D|||f-eb||2≤ε},|Nbε(f)|≤MinPts;
接着从Ω中随机选取一个核心对象eb作为种子,找出eb密度可达的所有样本,构成第一个簇C1,并将C1中包含的核心对象从Ω中删除,再从更新后的集合Ω=Ω\C1中随机选取一个核心对象作为新种子来生成下一个簇,上述过程不断重复直至Ω为空,提取此时的聚类结果中的簇。
进一步地,所述聚合熵提取子系统提取已标记流的数据包大小-端口号二元组序列,结合计数法计算二元属性熵;并截取流的前ηKB字节,结合多编码匹配算法计算字符熵;最后融合二元属性熵和字符熵为聚合熵;具体步骤包括如下:
步骤(1)、根据应用层协议的不同将流中每个数据包拆分为包头部分与数据部分,提取包头部分中包含的数据包大小与端口号二元组序列直至流结束,同时截取流除去数据包包头部分后的前ηKB字节流;
步骤(2)、将数据包大小与端口号二元组序列中的每个属性值对视为一个元素更新属性值对计数器,将前ηKB字节流的每k个字节视为一个元素,结合多编码匹配算法更新字符计数器;
步骤(3)、分别计算包头部分的二元属性熵与数据部分字符Tsallis熵并聚合为聚合熵。
进一步地,所述结合多编码匹配算法更新字符计数器,具体过程包括:依据编码表最大字节数限制,将字节数k初始为4,首先将每k个连续字节视为一个独立元素,并根据服务器IP地址所在区域的不同计算编码表优先级,按优先级从上到下的顺序查找编码表,判断该k个连续字节是否存在对应字符,若存在则将该字符c对应的字符计数器计数fc加1,并在字节流上向后滑动k个字节继续上述判断,若不存在则将k-1个连续字节视为一个独立元素继续顺序匹配,直至k为1。
进一步地,所述分别计算包头部分的二元属性熵与数据部分字符Tsallis熵并聚合为聚合熵,具体过程包括:
首先通过计算具有相同属性值的数据包的数量,为<数据包大小、端口号>二元属性对生成计数矩阵,即:
Figure BDA0003542518490000081
其中δ表示流包含的数据包总个数,xδ,yδ分别表示第δ个数据包的大小与端口号信息,
Figure BDA0003542518490000082
表示二元属性对,即
Figure BDA0003542518490000083
表示该二元属性对在该条流中出现的次数,接着根据计数矩阵计算每条流的数据包包头部分的二元属性熵Teb,即:
Figure BDA0003542518490000084
随后根据步骤(2)中更新后的字符计数器计算每条流的数据包数据部分的归一化字符Tsallis熵Tec,即:
Figure BDA0003542518490000085
其中,fch表示每个字符ch出现的次数,Lch表示所有字符出现的次数和,Nch表示字符取值空间的总大小,α趋向于1;
最后融合二元属性熵和字符熵为聚合熵Te=ζTeb+ψTec,其中参数ζ与ψ由粒子群算法优化得到。
进一步地,所述识别子系统使用已标记流的聚合熵值结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,获取识别结果,具体过程包括:
使用随机性检测工具NIST SP 800-22或GM/T 0005-2021获取前ηKB字节流的累加和检验值、块内频数检测值,结合聚合熵值、累加和检验值、块内频数检测值等随机性检测特征,创建特征向量训练机器学习分类模型;
接着使用该机器学习分类模型对新收集的未标记流进行识别,使用投票法计算2小时内指向该服务器的流属于加密流的比例γ,并与模型准确率
Figure BDA0003542518490000091
进行对比,若γ或1-γ大于
Figure BDA0003542518490000092
则选择投票结果作为分类标签,否则使用机器学习分类模型识别的结果作为分类标签;
最后结合流hash值,向流表TC中新增一条记录或使用当前时间timei更新原有第i条流记录{hashi:labeli},当第i条流记录非活跃时间timei-timeold大于非活跃阈值Δ,timeold表示第i条流记录的最近一次更新时间,或接收到流终止标志位时,删除该条流记录,继续等待接收下一条流。
本发明的有益效果:
1)本发明针对现有网络流量分类方法无法实时处理和有效分类流量数据包的问题,通过对文本流熵最低,加密流熵最高,二进制流介于二者之间的观察,结合聚合熵特征提取方法与动态流表更新技术,提出了一种基于聚合熵的网络流量分类系统及分类方法;根据应用层协议不同的剥离握手阶段数据包,接着使用聚合熵特征提取方法计算流聚合熵,结合流的累加和检验值、块内频数检测值等随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,最后使用分类结果动态更新流表,可以达到实时区分流量数据包是否被加密的效果;
2)本发明能有效和实时区分数据包是否加密。
附图说明
附图1为本发明系统的整体示意图。
附图2为本发明方法的整体流程示意图。
附图3为实施例中聚合熵提取子系统的工作流程图。
附图4为实施例中识别子系统的工作流程图。
附图中100是流量获取子系统,200是流量簇分类子系统,300是聚合熵提取子系统,400是识别子系统。
具体实施方式
一种基于聚合熵的网络流量分类方法,该方法包括:
步骤1、捕获网络出口处流量,经过数据清洗后使用五元组信息将其分割为不同流;
步骤2、遍历每条流中数据包的包头部分与数据部分字节流,分别计算每个大小-端口号二元组和聚合字节出现的次数;
步骤3、结合二元组计数矩阵和字符计数器计算流的二元属性熵和字符熵,融合二元属性熵和字符熵为聚合熵;
步骤4、使用聚合熵结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别。
所述步骤1中捕获网络出口处流量具体为采集网络出口区域产生的流量。
所述步骤1中数据清洗,具体为:去除所捕获网络出口处流量中的问题数据包。
所述步骤1中使用五元组信息将其分割为不同流,具体为:使用五元组信息将经过数据清洗后的所捕获网络出口处流量分割为不同流。
所述问题数据包包括由于网络延迟导致的重传数据包、服务器错误导致的请求失败数据包;所述问题数据包还包括其它受损或非人为产生的数据包。
所述步骤2中分别计算每个大小-端口号二元组和聚合字节出现的次数,具体为:分别遍历每条流中数据包的包头部分与数据部分字节流,计算包头部分数据包大小-端口号二元组属性值出现的次数,结合多编码匹配算法计算数据部分字节流中每个聚合字节出现的次数。
所述步骤3中结合二元组计数矩阵和字符计数器计算流的二元属性熵和字符熵,融合二元属性熵和字符熵为聚合熵,具体为:根据流的二元组计数矩阵和字符计数器计算包头部分的二元属性熵与数据部分归一化字符Tsallis熵,并进行加权求和得出聚合熵。
所述步骤4中随机性检测特征包括累加和检验值、块内频数检测值。
所述步骤4、使用聚合熵值结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别;具体为:使用聚合熵值结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,获取识别结果,并结合已有数据集更新机器学习模型。
一种基于聚合熵的网络流量分类系统,该系统包括流量获取子系统,流量簇分类子系统,聚合熵提取子系统,识别子系统;
所述流量获取子系统在网络流量的出口区域或核心区部署分流设备,汇聚不同光纤中的流量,经过数据清洗后更新流表并通过负载均衡技术转发到流量簇分类子系统的I/O接口上;
所述流量簇分类子系统计算每条流的五元组hash值,并判断流表中是否存在对应记录,若存在则直接为该条流分配流标签形成已标记流,若不存在对应记录,则结合已标记数据集训练若干个聚类模型,使用动态加权概率组合策略为该条流分配流标签形成已标记流;
所述聚合熵提取子系统提取已标记流的数据包大小-端口号二元组序列,结合计数法计算二元属性熵;并截取流的前ηKB字节,结合多编码匹配算法计算字符熵;最后融合二元属性熵和字符熵为聚合熵;
所述识别子系统使用已标记流的聚合熵值结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,获取识别结果。
所述若干个聚类模型包括K-means聚类模型和DBSCAN聚类模型;所述若干个聚类模型还可以包括除K-means聚类模型和DBSCAN聚类模型之外的其它聚类模型。
所述流量获取子系统在网络流量的出口区域或核心区部署分流设备,汇聚不同光纤中的流量,经过数据清洗后更新流表并通过负载均衡技术转发到流量簇分类子系统的I/O接口上,具体过程包括:
首先利用汇聚分流设备将若干条光纤中的流量进行汇聚,去除其中的问题数据包;所述问题数据包包括由于网络延迟导致的重传数据包、服务器错误导致的请求失败数据包;所述问题数据包还包括其它受损或非人为产生的数据包;
接着根据剩余数据包是否使用加密协议,向流表TC={has1:label1,..,hashτ:labelτ}中插入加密数据包对应的流记录,其中hashi=CRC(srcipi,srcporti,dstipi,dstporti,protoi),表示流表中的第i条记录对应的流hash,labeli表示流表中的第i条记录对应的标签值,最后将所有数据包转发到流量簇分类子系统的I/O接口上。
所述将所有数据包转发到流量簇分类子系统的I/O接口上,优选通过负载均衡技术将所有数据包转发到流量簇分类子系统的I/O接口上。
所述流量簇分类子系统计算每条流的五元组hash值,并判断流表中是否存在对应记录,若存在则直接为该条流分配流标签形成已标记流,若不存在对应记录,则结合已标记数据集训练若干个聚类模型,使用动态加权概率组合策略为该条流分配流标签形成已标记流,具体过程包括:
对于新收集到的包含ρ个数据包的数据包序列P={p1,p2,..,pρ},首先根据五元组将新收集到的数据包序列拆分为双向流T={p1,p2,..,pδ},计算五元组hash值hashi,接着判断流表TC是否存在hashi对应的记录,若存在则直接为该条流分配流标签labeli,若不存在则跳过,δ表示双向流中数据包的个数,δ≤ρ;
随后使用不同的聚类算法将包含已标记流与未标记流的数据集划分为不同簇;对于每个聚类算法聚类出的簇,使用簇中占比最大的已标记流的标签做为该簇标签,并计算每条未标记流f属于不同簇Cm的概率pf,m∈[0,1],f=1,…,F;m=1,…,M,其中F和M分别表示未标记流样本与簇的总数量;随后计算每个簇Cm的权重wm,即:
Figure BDA0003542518490000131
其中M表示簇的个数,Cm表示第m个簇,Iv:Cm→[0,1]表示第v种映射关系,V为映射关系可选择的映射空间,包括簇Cm的大小占总大小的比例、簇Cm簇内距离的归一化值,H表示熵,对于任意的概率分布:
O={O1,O2,..,O|o|},
Figure BDA0003542518490000132
最后根据pf,m和wm计算每个聚类算法的动态加权概率组合矩阵,即:
Figure BDA0003542518490000141
并根据最大值策略为流样本中未标记流分配标签,即
Figure BDA0003542518490000142
其中A代表所使用的聚类算法个数,mfa代表第a个聚类算法计算出的最大加权概率标签。
所述不同的聚类算法包括K-means聚类算法、DBSCAN聚类算法。
所述K-means聚类算法计算簇的步骤包括:
首先选择B个流样本{e1,e2,..,eB}作为初始聚类中心(即质心),分别计算其它流样本f到各个质心eb的距离||f-eb||2并将相应流样本分到距离最小的质心所属的簇中:
接着重新计算每个簇Cm的质心
Figure BDA0003542518490000143
重复上述距离计算操作,直至每个流样本到其质心的平方误差
Figure BDA0003542518490000144
不再下降或达到100次迭代次数,提取此时的聚类结果中的簇。
所述DBSCAN聚类算法计算簇的步骤包括:
首先给定原始流样本集D,定义领域参数(ε=0.5,MinPts=5)与核心对象集合Ω={e1,e2,..,eB},对于每个核心对象eb,其ε领域Nbε(f)中包含的样本个数不小于MinPts,即:
Nbε(f)={f∈D|||f-eb||2≤ε},|Nbε(f)|≤MinPts;
接着从Ω中随机选取一个核心对象eb作为种子,找出eb密度可达的所有样本,构成第一个簇C1,并将C1中包含的核心对象从Ω中删除,再从更新后的集合Ω=Ω\C1中随机选取一个核心对象作为新种子来生成下一个簇,上述过程不断重复直至Ω为空,提取此时的聚类结果中的簇。
所述聚合熵提取子系统提取已标记流的数据包大小-端口号二元组序列,结合计数法计算二元属性熵;并截取流的前ηKB字节,结合多编码匹配算法计算字符熵;最后融合二元属性熵和字符熵为聚合熵;具体步骤包括如下:
步骤(1)、根据应用层协议的不同将流中每个数据包拆分为包头部分与数据部分,提取包头部分中包含的数据包大小与端口号二元组序列直至流结束,同时截取流除去数据包包头部分后的前ηKB字节流;
步骤(2)、将数据包大小与端口号二元组序列中的每个属性值对视为一个元素更新属性值对计数器,将前ηKB字节流的每k个字节视为一个元素,结合多编码匹配算法更新字符计数器;
步骤(3)、分别计算包头部分的二元属性熵与数据部分字符Tsallis熵并聚合为聚合熵。
所述步骤(2)结合多编码匹配算法更新字符计数器,具体过程包括:依据编码表最大字节数限制,将字节数k初始为4,首先将每k个连续字节视为一个独立元素,并根据服务器IP地址所在区域的不同计算编码表优先级,按优先级从上到下的顺序查找编码表,判断该k个连续字节是否存在对应字符,若存在则将该字符c对应的字符计数器计数fc加1,并在字节流上向后滑动k个字节继续上述判断,若不存在则将k-1个连续字节视为一个独立元素继续顺序匹配,直至k为1。
所述步骤(3)分别计算包头部分的二元属性熵与数据部分字符Tsallis熵并聚合为聚合熵,具体过程包括:
首先通过计算具有相同属性值的数据包的数量,为<数据包大小、端口号>二元属性对生成计数矩阵,即:
Figure BDA0003542518490000161
其中δ表示流包含的数据包总个数,xδ,yδ分别表示第δ个数据包的大小与端口号信息,
Figure BDA0003542518490000162
表示二元属性对,即
Figure BDA0003542518490000163
表示该二元属性对在该条流中出现的次数,接着根据计数矩阵计算每条流的数据包包头部分的二元属性熵Teb,即:
Figure BDA0003542518490000164
随后根据步骤(2)中更新后的字符计数器计算每条流的数据包数据部分的归一化字符Tsallis熵Tec,即:
Figure BDA0003542518490000165
其中,fch表示每个字符ch出现的次数,Lch表示所有字符出现的次数和,Nch表示字符取值空间的总大小,α趋向于1;
最后融合二元属性熵和字符熵为聚合熵Te=ζTeb+ψTec,其中参数ζ与ψ由粒子群算法优化得到。
所述识别子系统使用已标记流的聚合熵值结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,获取识别结果,具体过程包括:
使用随机性检测工具NIST SP 800-22或GM/T 0005-2021获取前ηKB字节流的累加和检验值、块内频数检测值,结合聚合熵值、累加和检验值、块内频数检测值等随机性检测特征,创建特征向量训练机器学习分类模型;
接着使用该机器学习分类模型对新收集的未标记流进行识别,使用投票法计算2小时内指向该服务器的流属于加密流的比例γ,并与模型准确率
Figure BDA0003542518490000171
进行对比,若γ或1-γ大于
Figure BDA0003542518490000172
则选择投票结果作为分类标签,否则使用机器学习分类模型识别的结果作为分类标签;
最后结合流hash值,向流表TC中新增一条记录或使用当前时间timei更新原有第i条流记录{hashi:labeli},当第i条流记录非活跃时间timei-timeold大于非活跃阈值Δ,timeold表示第i条流记录的最近一次更新时间,或接收到流终止标志位时,删除该条流记录,继续等待接收下一条流。
所述一种基于聚合熵的网络流量分类方系统存储在计算机存储介质中,工作时,通过基于聚合熵的网络流量分类系统实现基于聚合熵的网络流量分类方法。
本发明通过对文本流熵最低,加密流熵最高,二进制流介于二者之间的观察,结合聚合熵特征提取方法与动态流表更新技术,对网络流量进行实时分类;首先根据应用层协议不同拆分数据包并分别遍历两部分,更新包头部分二元组属性值对计数器与数据部分字符计数器,接着使用聚合熵特征提取方法计算聚合熵,使用流的聚合熵值结合累加和检验值、块内频数检测值等随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,最后使用分类结果动态更新流表;本发明能够提取有效区分数据包是否加密的聚合熵特征,并通过查找在线流表的方式对数据包进行实时分类。
下面结合实施例对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例1
如图1所示,本发明的一种用于实现基于聚合熵的网络流量分类方法的系统,该系统包括流量获取子系统100、流量簇分类子系统200、聚合熵提取子系统300、识别子系统400。
流量获取子系统100在网络流量的出口区域或核心区部署分流设备,汇聚不同光纤中的流量,经过数据清洗后更新流表并通过负载均衡技术转发到流量簇分类子系统的I/O接口上,具体如下:
首先利用汇聚分流设备将多条光纤中的流量进行汇聚,去除其中由于网络延迟导致的重传数据包、服务器错误导致的请求失败数据包以及其他受损或非人为产生的数据包,接着根据剩余数据包是否使用加密协议,向流表TC={hash1:label1,..,hashτ:labelτ}中插入加密数据包对应的流记录,其中hashi=CRC(srcipi,srcporti,dstipi,dstporti,protoi),表示流表中的第i条记录对应的流hash,labeli表示流表中的第i条记录对应的标签值,最后通过负载均衡技术将所有数据包转发到流量簇分类子系统100的I/O接口上。
流量簇分类子系统200计算每条流五元组hash值,并判断流表中是否存在对应记录,若存在则直接分配流标签,若不存在则结合已标记数据集训练若干个聚类模型,若干个聚类模型包括K-means聚类模型、DBSCAN聚类模型,使用动态加权概率组合策略为其分配流标签,具体如下:
对于新收集到的包含ρ个数据包的数据包序列P={p1,p2,..,pρ},首先根据五元组将其拆分为双向流T={p1,p2,..,pδ},计算五元组hash值hashi,接着判断TC中是否存在hashi对应的记录,若存在则直接为该条流分配流标签labeli,若不存在则跳过,δ表示双向流中数据包的个数,δ≤ρ;
随后使用不同聚类算法将包含已标记流与未标记流的数据集划分为不同簇;对于每个聚类算法聚类出的簇,使用簇中占比最大的已标记流的标签做为该簇标签,并计算每条未标记流f属于不同簇Cm的概率pf,m∈[0,1],f=1,…,F;m=1,…,M,其中F和M分别表示未标记流样本与簇的总数量;随后计算每个簇Cm的权重wm,即:
Figure BDA0003542518490000191
其中M表示簇的个数,Cm表示第m个簇,Iv:Cm→[0,1]表示第v种映射关系,V为映射关系可选择的映射空间,包括簇Cm的大小占总大小的比例、簇Cm簇内距离的归一化值,H表示熵,对于任意的概率分布:
O={O1,O2,..,O|O|},
Figure BDA0003542518490000192
最后根据pf,m和wm计算每个聚类算法的动态加权概率组合矩阵,即:
Figure BDA0003542518490000193
并根据最大值策略为流样本中未标记流分配标签,即
Figure BDA0003542518490000194
其中A代表所使用的聚类算法个数,mfa代表第a个聚类算法计算出的最大加权概率标签。
聚合熵提取子系统300提取已标记流的数据包大小-端口号二元组序列,结合计数法计算二元属性熵,截取流的前ηKB字节,结合多编码匹配算法计算字符熵,最后融合二元属性熵和字符熵为聚合熵,具体包含以下步骤:
步骤(1)、根据应用层协议的不同将流中每个数据包拆分为包头部分与数据部分,提取包头中包含的数据包大小与端口号二元组序列直至流结束,同时截取流除去数据包包头后的前ηKB字节流;
步骤(2)、将数据包大小与端口号二元组序列中的每个属性值对视为一个元素更新属性值对计数器,将前ηKB字节流的每k个字节视为一个元素,结合多编码匹配算法更新字符计数器,具体如下:
依据编码表最大字节数限制,将字节数k初始为4,首先将每k个连续字节视为一个独立元素,并根据服务器IP地址所在区域的不同计算编码表优先级,按优先级从上到下的顺序查找编码表,判断该k个连续字节是否存在对应字符,若存在则将该字符c对应的字符计数器计数fc加1,并在字节流上向后滑动k个字节继续上述判断,若不存在则将k-1个连续字节视为一个独立元素继续顺序匹配,直至k为1。
步骤(3)、根据步骤(2)中属性值对计数器为二元组生成计数矩阵,并根据该矩阵计算每条流的数据包包头部分的二元属性熵,根据字符计数器计算每条流的数据包数据部分的归一化字符Tsallis熵,融合两种熵为聚合熵,具体如下:
首先通过计算具有相同属性值的数据包的数量,为<数据包大小、端口号>二元属性对生成计数矩阵,即:
Figure BDA0003542518490000211
其中δ表示流包含的数据包总个数,xδ,yδ分别表示第δ个数据包的大小与端口号信息,
Figure BDA0003542518490000212
表示二元属性对,即
Figure BDA0003542518490000213
表示该二元属性对在该条流中出现的次数,接着根据计数矩阵计算每条流的数据包包头部分的二元属性熵Teb,即:
Figure BDA0003542518490000214
随后根据步骤(2)中字符计数器计算每条流的数据包数据部分的归一化字符Tsallis熵Tec,即:
Figure BDA0003542518490000215
其中,fch表示每个字符ch出现的次数,Lch表示所有字符出现的次数和,Nch表示字符取值空间的总大小,α趋向于1;
最后融合二元属性熵和字符熵为聚合熵Te=ζTeb+ψTec,其中参数ζ与ψ由粒子群算法优化得到。
识别子系统400使用已标记流的聚合熵值结合累加和检验值以及块内频数检测值等随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,获取识别结果,具体如下:
首先使用已标记流的聚合熵值结合累加和检验值以及块内频数检测值等随机性检测特征,创建特征向量训练机器学习分类模型;
接着使用该模型对新收集的未标记流进行识别,使用投票法计算2小时内指向该服务器的流属于加密流的比例γ,并与模型准确率
Figure BDA0003542518490000216
进行对比,若γ或1-γ大于
Figure BDA0003542518490000221
则选择投票结果作为分类标签,否则使用模型识别的结果作为分类标签;
最后结合流hash值,向流表TC中新增一条记录或使用当前时间timei更新原有第i条流记录{hashi:labeli},当第i条流记录非活跃时间timei-timeold大于非活跃阈值Δ,timeold表示第i条流记录的最近一次更新时间,或接收到流终止标志位时,删除该条流记录,继续等待接收下一条流。
其中聚合熵特征提取算法的详细过程为:
Figure BDA0003542518490000222
实施例2
如图2所示,本实施例的基于聚合熵的网络流量分类方法的具体步骤为:
S101:采集网络出口区域产生的流量,去除其中由于网络延迟导致的重传数据包、服务器错误导致的请求失败数据包以及其他受损或非人为产生的数据包,使用五元组信息将其分割为不同的流;
S102:分别遍历每条流中数据包的包头部分与数据部分字节流,计算包头部分数据包大小-端口号二元组属性值出现的次数,结合多编码匹配算法计算数据部分字节流中每个聚合字节出现的次数;
S103:根据流的二元组计数矩阵和字符计数器计算包头部分的二元属性熵与数据部分归一化字符Tsallis熵,并进行加权求和得出聚合熵;
S104、使用流的聚合熵值结合累加和检验值、块内频数检测值等随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,获取识别结果,并结合已有数据集更新机器学习模型。
实施例3
在实施例1的基础上,如图3所示,本实施例的聚合熵提取子系统300,分别遍历每条流中的每个数据包包头部分与数据部分的字节流,首先包将头部分数据包大小-端口号二元组视为一个元素并为其分配一个属性值对计数器,遇到相同二元组时在相应的计数器位置处加1,接着遍历数据部分字节流,将每4个字节视为一个元素,根据服务器地址为编码表分配优先级,相同流中的数据包使用同一优先级编码表队列,并优先选择与服务器所在地区相近的编码表查询该元素是否存在,若检测到元素对应字符则在相应字符计数器位置处加1并在字节流上向后滑动一个字节继续上述判断,若所有编码表都不存在该字符则将k减1,将每3个字节视为一个元素重复以上过程,直至k为1;当遍历到流的第η个字节时终止遍历,最后分别计算二元属性熵和字符熵,加权求和得聚合熵。
实施例4
在实施例1的基础上,如图4所示,本实施例的识别子系统400,使用聚合熵提取子系统300提取出的聚合熵结合流的累加和检验值、块内频数检测值等随机性检测特征创建特征向量作为输入训练机器学习分类模型,当收集到新的数据包时,首先计算其五元组hash值并查找流表中是否存在对应记录,若存在则精确匹配流标签,匹配成功则使用当前时间timei更新原有记录,并给出实时分类结果labeli,若不存在则使用训练好的机器学习分类模型预测所属类别,结合待测流量归属服务器加密流量占比判断流标签,并向流表TC中新增一条记录{hashi:labeli};当某条流记录非活跃时间timei-timeold大于非活跃阈值Δ,或接收到流终止标志位如TCP流的Fin标志时,删除该条流记录,继续等待接收下条流。

Claims (10)

1.一种基于聚合熵的网络流量分类方法,其特征是包括:
步骤1、捕获网络出口处流量,经过数据清洗后使用五元组信息将其分割为不同流;
步骤2、遍历每条流中数据包的包头部分与数据部分字节流,分别计算每个大小-端口号二元组和聚合字节出现的次数;
步骤3、结合二元组计数矩阵和字符计数器计算流的二元属性熵和字符熵,融合二元属性熵和字符熵为聚合熵;
步骤4、使用聚合熵结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别。
2.根据权利要求1所述的一种基于聚合熵的网络流量分类方法,其特征是所述步骤1中捕获网络出口处流量具体为采集网络出口区域产生的流量;
所述步骤1中数据清洗,具体为:去除所捕获网络出口处流量中的问题数据包;
所述步骤1中使用五元组信息将其分割为不同流,具体为:使用五元组信息将经过数据清洗后的所捕获网络出口处流量分割为不同流;
所述步骤2中分别计算每个大小-端口号二元组和聚合字节出现的次数,具体为:分别遍历每条流中数据包的包头部分与数据部分字节流,计算包头部分数据包大小-端口号二元组属性值出现的次数,结合多编码匹配算法计算数据部分字节流中每个聚合字节出现的次数;
所述步骤3中结合二元组计数矩阵和字符计数器计算流的二元属性熵和字符熵,融合二元属性熵和字符熵为聚合熵,具体为:根据流的二元组计数矩阵和字符计数器计算包头部分的二元属性熵与数据部分归一化字符Tsallis熵,并进行加权求和得出聚合熵;
所述步骤4使用聚合熵值结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别;具体为:使用聚合熵值结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,获取识别结果,并结合已有数据集更新机器学习模型;
所述问题数据包包括由于网络延迟导致的重传数据包、服务器错误导致的请求失败数据包;所述问题数据包还包括其它受损或非人为产生的数据包;
所述步骤4中随机性检测特征包括累加和检验值、块内频数检测值。
3.一种基于聚合熵的网络流量分类系统,其特征是包括流量获取子系统,流量簇分类子系统,聚合熵提取子系统,识别子系统;
所述流量获取子系统在网络流量的出口区域或核心区部署分流设备,汇聚不同光纤中的流量,经过数据清洗后更新流表并通过负载均衡技术转发到流量簇分类子系统的I/O接口上;
所述流量簇分类子系统计算每条流的五元组hash值,并判断流表中是否存在对应记录,若存在则直接为该条流分配流标签形成已标记流,若不存在对应记录,则结合已标记数据集训练若干个聚类模型,使用动态加权概率组合策略为该条流分配流标签形成已标记流;
所述聚合熵提取子系统提取已标记流的数据包大小-端口号二元组序列,结合计数法计算二元属性熵;并截取流的前ηKB字节,结合多编码匹配算法计算字符熵;最后融合二元属性熵和字符熵为聚合熵;
所述识别子系统使用已标记流的聚合熵值结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,获取识别结果。
4.根据权利要求3所述的一种基于聚合熵的网络流量分类系统,其特征是所述流量获取子系统在网络流量的出口区域或核心区部署分流设备,汇聚不同光纤中的流量,经过数据清洗后更新流表并通过负载均衡技术转发到流量簇分类子系统的I/O接口上,具体过程包括:
首先利用汇聚分流设备将若干条光纤中的流量进行汇聚,去除其中的问题数据包;所述问题数据包包括由于网络延迟导致的重传数据包、服务器错误导致的请求失败数据包;所述问题数据包还包括其它受损或非人为产生的数据包;
接着根据剩余数据包是否使用加密协议,向流表TC={hash1:label1,...,hashτ:labelτ}中插入加密数据包对应的流记录,其中hashi=CRC(srcipi,srcporti,dstipi,dstporti,protoi),表示流表中的第i条记录对应的流hash,labeli表示流表中的第i条记录对应的标签值,最后将所有数据包转发到流量簇分类子系统的I/O接口上。
5.根据权利要求3所述的一种基于聚合熵的网络流量分类系统,其特征是所述流量簇分类子系统计算每条流的五元组hash值,并判断流表中是否存在对应记录,若存在则直接为该条流分配流标签形成已标记流,若不存在对应记录,则结合已标记数据集训练若干个聚类模型,使用动态加权概率组合策略为该条流分配流标签形成已标记流,具体过程包括:
对于新收集到的包含ρ个数据包的数据包序列P={p1,p2,...,pρ},首先根据五元组将新收集到的数据包序列拆分为双向流T={p1,p2,...,pδ},计算五元组hash值hashi,接着判断流表TC是否存在hashi对应的记录,若存在则直接为该条流分配流标签labeli,若不存在则跳过,δ表示双向流中数据包的个数,δ≤ρ;
随后使用不同的聚类算法将包含已标记流与未标记流的数据集划分为不同簇;对于每个聚类算法聚类出的簇,使用簇中占比最大的已标记流的标签做为该簇标签,并计算每条未标记流f属于不同簇Cm的概率pf,m∈[0,1],f=1,…,F;m=1,…,M,其中F和M分别表示未标记流样本与簇的总数量;随后计算每个簇Cm的权重wm,即:
Figure FDA0003542518480000041
其中M表示簇的个数,Cm表示第m个簇,Iv:Cm→[0,1]表示第v种映射关系,V为映射关系可选择的映射空间,包括簇Cm的大小占总大小的比例、簇Cm簇内距离的归一化值,H表示熵,对于任意的概率分布:
O={O1,O2,...,O|O|},
Figure FDA0003542518480000042
最后根据pf,m和wm计算每个聚类算法的动态加权概率组合矩阵,即:
Figure FDA0003542518480000043
并根据最大值策略为流样本中未标记流分配标签,即
Figure FDA0003542518480000044
其中A代表所使用的聚类算法个数,mfa代表第a个聚类算法计算出的最大加权概率标签。
6.根据权利要求5所述的一种基于聚合熵的网络流量分类系统,其特征是所述不同的聚类算法包括K-means聚类算法、DBSCAN聚类算法;
所述K-means聚类算法计算簇的步骤包括:
首先选择B个流样本{e1,e2,...,eB}作为初始聚类中心(即质心),分别计算其它流样本f到各个质心eb的距离||f-eb||2并将相应流样本分到距离最小的质心所属的簇中;
接着重新计算每个簇Cm的质心
Figure FDA0003542518480000051
重复上述距离计算操作,直至每个流样本到其质心的平方误差
Figure FDA0003542518480000052
不再下降或达到100次迭代次数,提取此时的聚类结果中的簇;
所述DBSCAN聚类算法计算簇的步骤包括:
首先给定原始流样本集D,定义领域参数与核心对象集合Ω={e1,e2,...,eB},对于每个核心对象eb,其ε领域Nbε(f)中包含的样本个数不小于MinPts,即:
Nbε(f)={f∈D|||f-eb||2≤ε},|Nbε(f)|≤MinPts;
接着从Ω中随机选取一个核心对象eb作为种子,找出eb密度可达的所有样本,构成第一个簇C1,并将C1中包含的核心对象从Ω中删除,再从更新后的集合Ω=Ω\C1中随机选取一个核心对象作为新种子来生成下一个簇,上述过程不断重复直至Ω为空,提取此时的聚类结果中的簇。
7.根据权利要求3所述的一种基于聚合熵的网络流量分类系统,其特征是所述聚合熵提取子系统提取已标记流的数据包大小-端口号二元组序列,结合计数法计算二元属性熵;并截取流的前ηKB字节,结合多编码匹配算法计算字符熵;最后融合二元属性熵和字符熵为聚合熵;具体步骤包括如下:
步骤(1)、根据应用层协议的不同将流中每个数据包拆分为包头部分与数据部分,提取包头部分中包含的数据包大小与端口号二元组序列直至流结束,同时截取流除去数据包包头部分后的前ηKB字节流;
步骤(2)、将数据包大小与端口号二元组序列中的每个属性值对视为一个元素更新属性值对计数器,将前ηKB字节流的每k个字节视为一个元素,结合多编码匹配算法更新字符计数器;
步骤(3)、分别计算包头部分的二元属性熵与数据部分字符Tsallis熵并聚合为聚合熵。
8.根据权利要求7所述的一种基于聚合熵的网络流量分类系统,其特征是所述结合多编码匹配算法更新字符计数器,具体过程包括:依据编码表最大字节数限制,将字节数k初始为4,首先将每k个连续字节视为一个独立元素,并根据服务器IP地址所在区域的不同计算编码表优先级,按优先级从上到下的顺序查找编码表,判断该k个连续字节是否存在对应字符,若存在则将该字符c对应的字符计数器计数fc加1,并在字节流上向后滑动k个字节继续上述判断,若不存在则将k-1个连续字节视为一个独立元素继续顺序匹配,直至k为1。
9.根据权利要求7所述的一种基于聚合熵的网络流量分类系统,其特征是所述分别计算包头部分的二元属性熵与数据部分字符Tsallis熵并聚合为聚合熵,具体过程包括:
首先通过计算具有相同属性值的数据包的数量,为<数据包大小、端口号>二元属性对生成计数矩阵,即:
Figure FDA0003542518480000071
其中δ表示流包含的数据包总个数,xδ,yδ分别表示第δ个数据包的大小与端口号信息,
Figure FDA0003542518480000072
表示二元属性对,即
Figure FDA0003542518480000073
Figure FDA0003542518480000074
表示该二元属性对在该条流中出现的次数,接着根据计数矩阵计算每条流的数据包包头部分的二元属性熵Teb,即:
Figure FDA0003542518480000075
随后根据步骤(2)中更新后的字符计数器计算每条流的数据包数据部分的归一化字符Tsallis熵Tec,即:
Figure FDA0003542518480000076
其中,fch表示每个字符ch出现的次数,Lch表示所有字符出现的次数和,Nch表示字符取值空间的总大小,α趋向于1;
最后融合二元属性熵和字符熵为聚合熵Te=ζTeb+ψTec,其中参数ζ与ψ由粒子群算法优化得到。
10.根据权利要求3所述的一种基于聚合熵的网络流量分类系统,其特征是所述识别子系统使用已标记流的聚合熵值结合随机性检测特征,创建特征向量训练机器学习分类模型,对新收集的未标记流进行识别,获取识别结果,具体过程包括:
使用随机性检测工具NIST SP 800-22或GM/T 0005-2021获取前ηKB字节流的累加和检验值、块内频数检测值,结合聚合熵值、累加和检验值、块内频数检测值等随机性检测特征,创建特征向量训练机器学习分类模型;
接着使用该机器学习分类模型对新收集的未标记流进行识别,使用投票法计算2小时内指向该服务器的流属于加密流的比例γ,并与模型准确率
Figure FDA0003542518480000081
进行对比,若γ或1-γ大于
Figure FDA0003542518480000082
则选择投票结果作为分类标签,否则使用机器学习分类模型识别的结果作为分类标签;
最后结合流hash值,向流表TC中新增一条记录或使用当前时间timei更新原有第i条流记录{hashi:labeli},当第i条流记录非活跃时间timei-timeold大于非活跃阈值Δ,timeold表示第i条流记录的最近一次更新时间,或接收到流终止标志位时,删除该条流记录,继续等待接收下一条流。
CN202210236676.5A 2022-03-11 2022-03-11 一种基于聚合熵的网络流量分类方法及分类系统 Active CN114866485B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210236676.5A CN114866485B (zh) 2022-03-11 2022-03-11 一种基于聚合熵的网络流量分类方法及分类系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210236676.5A CN114866485B (zh) 2022-03-11 2022-03-11 一种基于聚合熵的网络流量分类方法及分类系统

Publications (2)

Publication Number Publication Date
CN114866485A true CN114866485A (zh) 2022-08-05
CN114866485B CN114866485B (zh) 2023-09-29

Family

ID=82627817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210236676.5A Active CN114866485B (zh) 2022-03-11 2022-03-11 一种基于聚合熵的网络流量分类方法及分类系统

Country Status (1)

Country Link
CN (1) CN114866485B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115589327A (zh) * 2022-10-26 2023-01-10 新华三信息安全技术有限公司 一种流量识别方法及装置
CN116112289A (zh) * 2023-04-10 2023-05-12 北京长亭未来科技有限公司 一种恶意加密流量检测方法以及装置
CN117349087A (zh) * 2023-12-05 2024-01-05 聊城市洛溪信息科技有限公司 一种互联网信息数据备份方法
CN117614747A (zh) * 2024-01-24 2024-02-27 青岛风飏智能科技有限公司 基于包头与载荷分离的多模型融合的流量分类方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847283A (zh) * 2016-05-13 2016-08-10 深圳市傲天科技股份有限公司 一种基于信息熵方差分析的异常流量检测方法
CN107231348A (zh) * 2017-05-17 2017-10-03 桂林电子科技大学 一种基于相对熵理论的网络流量异常检测方法
CN107819698A (zh) * 2017-11-10 2018-03-20 北京邮电大学 一种基于半监督学习的网络流量分类方法、计算机设备
CN108650194A (zh) * 2018-05-14 2018-10-12 南开大学 基于K_means和KNN融合算法的网络流量分类方法
CN109726735A (zh) * 2018-11-27 2019-05-07 南京邮电大学 一种基于K-means聚类和随机森林算法的移动应用程序识别方法
CN109981474A (zh) * 2019-03-26 2019-07-05 中国科学院信息工程研究所 一种面向应用软件的网络流量细粒度分类系统及方法
CN110012029A (zh) * 2019-04-22 2019-07-12 中国科学院声学研究所 一种区分加密和非加密压缩流量的方法和系统
CN111723846A (zh) * 2020-05-20 2020-09-29 中国人民解放军战略支援部队信息工程大学 基于随机性特征的加密和压缩流量识别方法及装置
CN113542259A (zh) * 2021-07-12 2021-10-22 中山大学 基于多模态深度学习的加密恶意流量检测方法及系统
WO2022041394A1 (zh) * 2020-08-28 2022-03-03 南京邮电大学 一种网络加密流量识别方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847283A (zh) * 2016-05-13 2016-08-10 深圳市傲天科技股份有限公司 一种基于信息熵方差分析的异常流量检测方法
CN107231348A (zh) * 2017-05-17 2017-10-03 桂林电子科技大学 一种基于相对熵理论的网络流量异常检测方法
CN107819698A (zh) * 2017-11-10 2018-03-20 北京邮电大学 一种基于半监督学习的网络流量分类方法、计算机设备
CN108650194A (zh) * 2018-05-14 2018-10-12 南开大学 基于K_means和KNN融合算法的网络流量分类方法
CN109726735A (zh) * 2018-11-27 2019-05-07 南京邮电大学 一种基于K-means聚类和随机森林算法的移动应用程序识别方法
CN109981474A (zh) * 2019-03-26 2019-07-05 中国科学院信息工程研究所 一种面向应用软件的网络流量细粒度分类系统及方法
CN110012029A (zh) * 2019-04-22 2019-07-12 中国科学院声学研究所 一种区分加密和非加密压缩流量的方法和系统
CN111723846A (zh) * 2020-05-20 2020-09-29 中国人民解放军战略支援部队信息工程大学 基于随机性特征的加密和压缩流量识别方法及装置
WO2022041394A1 (zh) * 2020-08-28 2022-03-03 南京邮电大学 一种网络加密流量识别方法及装置
CN113542259A (zh) * 2021-07-12 2021-10-22 中山大学 基于多模态深度学习的加密恶意流量检测方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张剑: "在线聚类的网络流量识别", 《北京邮电大学学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115589327A (zh) * 2022-10-26 2023-01-10 新华三信息安全技术有限公司 一种流量识别方法及装置
CN116112289A (zh) * 2023-04-10 2023-05-12 北京长亭未来科技有限公司 一种恶意加密流量检测方法以及装置
CN116112289B (zh) * 2023-04-10 2023-06-16 北京长亭未来科技有限公司 一种恶意加密流量检测方法以及装置
CN117349087A (zh) * 2023-12-05 2024-01-05 聊城市洛溪信息科技有限公司 一种互联网信息数据备份方法
CN117349087B (zh) * 2023-12-05 2024-02-09 聊城市洛溪信息科技有限公司 一种互联网信息数据备份方法
CN117614747A (zh) * 2024-01-24 2024-02-27 青岛风飏智能科技有限公司 基于包头与载荷分离的多模型融合的流量分类方法及系统

Also Published As

Publication number Publication date
CN114866485B (zh) 2023-09-29

Similar Documents

Publication Publication Date Title
CN114866485B (zh) 一种基于聚合熵的网络流量分类方法及分类系统
CN107231384B (zh) 一种面向5g网络切片的DDoS攻击检测防御方法及系统
Janarthanan et al. Feature selection in UNSW-NB15 and KDDCUP'99 datasets
EP1764951B1 (en) Statistical trace-based method, apparatus, node and system for real-time traffic classification
Este et al. Support vector machines for TCP traffic classification
Gogoi et al. MLH-IDS: a multi-level hybrid intrusion detection method
Da Silva et al. Identification and selection of flow features for accurate traffic classification in SDN
KR101295708B1 (ko) 트래픽 수집장치, 트래픽 분석장치, 시스템 및 그 분석방법
CN111277570A (zh) 数据的安全监测方法和装置、电子设备、可读介质
CN111817982A (zh) 一种面向类别不平衡下的加密流量识别方法
CN111064678A (zh) 基于轻量级卷积神经网络的网络流量分类方法
CN107370752B (zh) 一种高效的远控木马检测方法
CN111147394B (zh) 一种远程桌面协议流量行为的多级分类检测方法
JP2006279930A (ja) 不正アクセス検出方法及び装置、並びに不正アクセス遮断方法及び装置
CN108632269A (zh) 基于c4.5决策树算法的分布式拒绝服务攻击检测方法
CN111953552B (zh) 数据流的分类方法和报文转发设备
CN111224994A (zh) 一种基于特征选择的僵尸网络检测方法
Kong et al. Identification of abnormal network traffic using support vector machine
CN108667804B (zh) 一种基于SDN架构的DDoS攻击检测及防护方法和系统
CN113872962B (zh) 一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法
CN114666273A (zh) 一种面向应用层未知网络协议的流量分类方法
CN113612657A (zh) 一种异常http连接的检测方法
An et al. Traffic Identification Based on Applications using Statistical Signature Free from Abnormal TCP Behavior.
Shomura et al. Analyzing the number of varieties in frequently found flows
Li et al. Composite lightweight traffic classification system for network management

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
GR01 Patent grant
GR01 Patent grant