CN112383488A - 一种适用于加密与非加密数据流的内容识别方法 - Google Patents
一种适用于加密与非加密数据流的内容识别方法 Download PDFInfo
- Publication number
- CN112383488A CN112383488A CN202011154562.3A CN202011154562A CN112383488A CN 112383488 A CN112383488 A CN 112383488A CN 202011154562 A CN202011154562 A CN 202011154562A CN 112383488 A CN112383488 A CN 112383488A
- Authority
- CN
- China
- Prior art keywords
- time
- frequency signal
- data
- data stream
- window
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004458 analytical method Methods 0.000 claims abstract description 43
- 238000007781 pre-processing Methods 0.000 claims abstract description 17
- 239000013598 vector Substances 0.000 claims description 120
- 238000012549 training Methods 0.000 claims description 52
- 230000009467 reduction Effects 0.000 claims description 27
- 238000000605 extraction Methods 0.000 claims description 21
- 238000007637 random forest analysis Methods 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 12
- 230000007704 transition Effects 0.000 claims description 6
- 210000001503 joint Anatomy 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 5
- 238000013145 classification model Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 abstract description 2
- 230000002452 interceptive effect Effects 0.000 abstract description 2
- 239000011159 matrix material Substances 0.000 description 21
- 238000003066 decision tree Methods 0.000 description 17
- 238000000354 decomposition reaction Methods 0.000 description 14
- 239000000203 mixture Substances 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 239000000126 substance Substances 0.000 description 7
- 238000000513 principal component analysis Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000005206 flow analysis Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012847 principal component analysis method Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
Abstract
本申请的技术方案公开了一种适用于加密与非加密数据流的内容识别方法,属于网络与数据通信技术领域。本申请的技术方案包括:用于获取流量数据的数据采集;用于提取数据流特征的信息预处理;用于评估待测数据流时频信号特征的分析模型;用于实现数据流内容识别的分类模型。本技术方案利用数据流的上下行交互行为特征作为内容识别依据,所设计的方法与协议无关、与应用无关、与数据加密无关,相对于其他方法,具有更广阔的应用范围;相比于已有方法具有更好的性能。
Description
技术领域
本发明属于网络数据流内容识别处理的技术领域,具体涉及一种加密与非加密网络的数据流的内容识别方法。
背景技术
随着互联网技术的发展,用户需求变得更加多样,流量的形式也越来越多,数据流所承载内容的异构性日益突出,主要表现有:①网络传输数据的类型、应用、内容日益增多,如多媒体、游戏、即时通信、移动端APP、以及各种IoT业务;②同一种应用或协议被用于传输不同内容类型的数据,比如Web或QQ等应用中存在着图片、视频、游戏、音乐等多种类型数据。日益复杂的数据内容给网络管理带来了新的挑战,有效识别数据流内容并实现定制化管理,对提升网络的服务质量、保障网络的稳定性与鲁棒性具有重要意义。
现有的流量分析技术主要用于协议与应用的识别,这些方法包括:基于标记式的方法和基于流统计特征的方法。
基于标记式的数据流识别方法包括基于端口号以及基于负载信息的方法。在数据流识别的早期阶段,基于端口号的识别技术曾被认为是最快、最简单的数据流分类技术,该方法利用在IANA(Internet Assigned Numbers Authority)注册的端口号来识别流量;然而,目前的很多应用或协议使用端口伪装和端口动态技术来躲避监管,基于端口号的识别技术已不能满足当前的需求。基于负载的数据流识别技术通常也被称为是深度包检测(DPI),该方法利用已知协议的签名信息等,通过匹配包的负载信息来进行数据流的识别与分类,但是该方法不能识别未知或新创建的签名对应的应用,而且基于负载信息的方法无法对加密数据流进行识别;基于负载的数据流分析技术往往需要获取IP分组的负载信息,该方法过多涉及隐私问题,并且该方法无法对加密数据流进行识别,其使用受到限制。
基于流统计特征的方法主要是根据流量的统计特征建立机器学习分类模型识别流量,该方法主要从IP分组级和数据流级提取多维的特征向量来表示流。然而,在现代网络中,网络协议或应用的设计越来越复杂,同一种协议用来传输多种内容类型的数据流,同一应用集成多种协议并实现不同的功能,这打破了以往“协议-应用-内容”一一对应的模式,仅仅对协议或应用进行识别已不能满足高效网络管理的需要。
总而言之,在现有的TCP/IP网络体系结构中,数据流内容类型识别仍面临以下的挑战:1)TCP/IP体系结构中没有用于标记传输内容属性的字段,尽管有些应用层协议定义了内容标记的方法,但是这些方法损害了用户的隐私;此外,由于存在端口滥用的问题,动态端口技术被广泛应用,基于传输层端口号的识别技术可靠性降低,基于端口号的内容识别技术不再适用;2)为了躲避网络监管,越来越多的服务提供商开始使用加密技术以及共享协议技术提供传输服务。而随着加密私有协议以及共享协议的应用,传统上“协议-应用-内容”一一对应的假设难以继续成立,同一协议或应用被用于多种内容数据的传输,端口滥用的问题进一步向协议与应用滥用的方向发展,传统上基于协议或应用的数据流分析方法也已不再适用。
发明内容
为解决前述现有技术中的一个或者多个问题,本发明提供了一种适用于加密与非加密数据流的内容识别方法,该方法利用数据流交互行为的时频信号特征实现内容识别。
本发明提供的技术方案如下:
一种适用于加密与非加密数据流的内容识别方法,包括以下步骤:
S1.数据采集,数据采集对接外界网络,用于获取数据流样本;
S2.数据预处理,数据预处理对接数据采集,用于对采集到的数据流的样本进行特征提取、特征降维,并对降维后的特征序列以小波变换处理获取数据流的时频信号;
S3.时频信号分析,时频信号分析对接数据预处理,时频信号分析首先建立描述不同类型数据流的时频信号分析模型,然后计算样本的时频信号与各个模型的匹配程度;
S4.内容分类,内容分类对接时频信号分析,根据样本时频信号相对于已知模型的匹配指标进行内容分类。
进一步地,数据采集设置在系统或/与网络边界,通过网络数据流抓取工具实现数据流的捕获及存储;数据采集用t∈{1,2,L,T}表示数据流承载数据的内容类型,T表示类型总数。
进一步地,数据流由具有相同双向目的IP地址、源IP地址、目的端口号、源端口号、协议的五元组的IP分组构成;数据采集利用IP分组的头部信息,将属于t类的一个数据流i的前R个IP分组归为同一个集合数据采集通过重复聚合IP分组的操作,获得内容类型为t的数据流样本集合其中nt代表内容类型为t的数据流样本数量。
进一步地,数据预处理包括步骤:S21IP分组特征提取、S22窗口特征提取、S23窗口特征降维、S24时频信号提取;
其中:S21IP分组特征提取用于对每一个数据流样本提取IP分组的若干个特征信息,组成特征向量;S22窗口特征提取利用宽度为W且步长为Step的重叠滑动窗口对IP分组特征向量序列进行分割处理;S23窗口特征降维对所有窗口特征矢量序列进行降维处理;S24时频信号提取用于对降维后的窗口特征矢量序列中的每一维窗口特征序列进行小波变换处理,提取相应的时频信号。
S22窗口特征提取使用表示内容类型为t的第n个数据流样本的第l个窗口的第d″维窗口特征,由第l个窗口覆盖范围内的IP分组特征计算得到;通过对窗口内的一个或多个IP分组特征进行计算,获得D维特征矢量并将窗口在IP分组特征向量序列上从左到右滑动,获得窗口特征矢量序列,其中,窗口特征矢量序列的长度为L,其数值等于(R-W)/Step的整数部分;
S23窗口特征降维使用主成分分析方法对所有内容类型为t的D维窗口特征矢量序列进行降维处理,其中t∈{1,2,L,T};t类的所有数据流样本的D维窗口特征矢量样本构成了一个矩阵其中,矩阵Ft行数为窗口特征矢量的维度D、列数为nt×L;表示内容类型为t的第n个数据流样本第l个窗口的D维窗口特征矢量,n∈{1,2,L,nt},l∈{1,2,L,L}。D维窗口特征矢量样本Ft降维处理的步骤依次如下:
S233.通过协方差矩阵Cov的对角化操作,获得它相应的正交特征向量矩阵E;由S232协方差矩阵的计算公式可知,协方差矩阵为实对称矩阵,且为方阵;对于方阵Cov,如果数ξ和D维的非零向量使得式子成立,则称ξ为特征值,是ξ对应的特征向量;通过协方差矩阵Cov的对角化,获得正交特征向量矩阵E具体步骤依次为:
S2331.求解Cov的特征方程|Cov-ξI|=0,求取Cov的所有相异特征值ξ1,ξ2,L,ξu,其中I为单位矩阵;
S2334.将上面求得的正交单位向量作为列向量,按照特征值从大到小的顺序排成一个D阶方阵E,则E即为所求的特征向量矩阵,且ETCovE=Λ为对角阵;
S241.序列补齐;判断log2L是否为整数;若log2L为整数,则对序列信号进行κ=log2L层次的小波分解,然后直接执行下一步;若log2L不是整数,则令κ=int(log2L)+1,并将信号补零到长度为2κ,即令其中int(log2L)表示log2L的整数部分,继续执行下一步;
Gn=(-1)nH1-n,0≤n≤1 (3)
S2426.令J=J+1,重复执行步骤S2424、S2425、S2426,直至分解层数J大于尺度κ;
其中:*表示为卷积操作;χ(·)表示对卷积后序列进行2倍下采样的操作;表示第J层小波分解后得到低频部分小波系数序列,表示第J层小波分解后得到高频部分小波系数序列,为的第g个小波系数,J∈{1,2,L,κ},t∈{1,2,L,T},n∈{1,2,L,nt},i∈{1,2,L,d};
进一步地,在时频信号分析中,为每一个小波系数节点引入状态,用于描述该结点小波系数矢量的生成机制;对每一个数据流样本的小波系数矢量树,都得到一个相应的状态树其中t∈{1,2,L,T},n∈{1,2,L,nt},k∈{1,2,L,2κ-1};令状态树中任意一个节点k的状态仅与其父节点p(k)的状态有关,而与其他节点无关,则父节点与子节点之间的状态跳转关系代表小波时频变换中相邻尺度间的相互作用与影响,从而得到描述小波系数矢量树及其状态树关系的模型;
在时频信号分析中,对于内容类型为t的数据流,它的模型包含参数有根节点状态概率分布、父节点与子节点状态转移概率、状态输出概率;根节点状态概率分布它表示状态树中根节点状态为m的概率,且满足其中Q表示状态的数目;父节点与子节点状态转移概率它表示在父节点状态为m的条件下子节点状态为q的概率,且满足其中m,q∈{1,2,K,Q},p(k)表示节点k的父节点的序号,且k∈{2,3,L,2κ-1},Q表示状态的数目;状态输出概率它表示给定节点k的状态m条件下小波系数矢量的输出概率分布;
在时频信号分析中,采用式(6)的高斯混合模型(GMM)对状态输出概率进行参数化:
其中,t∈{1,2,L,T}表示内容类型;n∈{1,2,L,nt}表示第n个数据流样本;k∈{1,2,L,2κ-1}表示小波系数矢量的编号,u∈{1,2,L,U}表示GMM的第u个高斯混合成分;U表示高斯混合模型具有U个高斯混合成分;表示节点k的状态m选择第u个高斯混合成分概率,且满足 分别表示节点k的状态m选择的第u个高斯混合成分的向量和协方差矩阵;
进一步地,S3时频信号分析包括步骤:S31时频信号检测、S32时频信号分析模型训练;
S31.时频信号检测包括以下三个步骤:
S3121.计算根节点状态与相应小波系数矢量的联合概率:
S3122.计算小波矢量树与其状态树的联合概率:
S313.构造时频信号匹配指标向量:已知内容类型为t的模型输出的似然概率平均值以及小波系数矢量树与状态树的联合概率其中t∈{1,2,L,T};根据式(11)构造出序号为j的待测数据流对应的时频信号匹配指标向量其中表示待测数据流的时频信号的联合概率相对于模型t的似然概率平均值的差值绝对值,
S32.时频信号分析模型训练步骤如下:
S321.模型参数初始化:
S3211.初始化状态树:使用K-means对内容类型为t的所有小波系数矢量进行聚类,聚类个数与状态数目Q一致;对于每一个数据流样本来说,获得状态树与小波系数矢量树对t∈{1,2,L,T},n∈{1,2,L,nt};
其中,U表示高斯混合模型具有U个高斯混合成分,t∈{1,2,L,T},n∈{1,2,L,nt},u∈{1,2,L,U};
S3213.初始化迭代次数初始值及最大迭代次数:令迭代次数y=1,并设置最大迭代次数。
S322.模型参数更新:
S3221.估计根节点状态概率统计内容类型为t的nt个数据流样本对应的状态树中根节点状态为m的频数令Nt表示内容类型为t的状态树总数,其中t∈{1,2,L,T},m∈{1,2,K,Q},则按照式(13)进行估计,
S3222.估计相邻父节点与子节点的状态转移概率统计内容类型为t的nt个数据流样本对应的状态树节点中父节点状态为m且子节点状态为q的频数ht(m,q),其中t∈{1,2,L,T},m,q∈{1,2,K,Q},则按照式(14)进行估计,
其中,表示生成样本的高斯混合成分,t∈{1,2,L,T},n∈{1,2,L,nt},k∈{1,2,K,2κ-1},m∈{1,2,L,Q};根据得到的联合后验概率则GMM相关参数的估计方法如式(16)、(17)和(18),
S323.迭代终止判断:若y不大于最大迭代次数,则迭代轮询次数加1,即y=y+1,并通过执行步骤S324更新状态树;所有状态树更新完毕后,则返回步骤S322继续估计模型参数;若y大于最大迭代次数,则执行步骤S325,输出参数;
S325.参数及训练样本似然概率平均值输出:内容类型为t的模型参数迭代更新终止后,输出该内容类型数据流分类模型参数以及模型输出似然概率的平均值这里使用的似然概率为其中,表示内容类型为t的第n个样本在模型参数λt下小波系数矢量树与状态树的联合概率,通过式(9)和式(10)进行计算;似然概率的平均值通过式(19)计算,
其中,nt表示内容类型为t的样本数目,t∈{1,2,L,T},n∈{1,2,L,nt}。
进一步地,S4内容分类包括步骤:S41时频信号匹配指标向量分类、S42分类器训练;时频信号匹配指标向量分类用于生成数据流的内容标签,分类器训练用于对已标记的数据流进行匹配分类。
进一步地,内容分类中的S41时频信号匹配指标向量分类具体操作为:对于待测数据流样本j的时频信号匹配指标向量在已知随机森林分类器的决策树参数集合{ri|i=1,2,K,Np}的条件下,将输入到参数已知的Np个决策树后,Np个决策树投出票数最多的类别即为序号为j的待检测样本的内容类型,其中Np表示随机森林中决策树的数目,ri表示随机森林中的第i个决策树。
进一步地,S42分类器训练步骤如下:
S421.构造用于分类器训练的时频信号匹配指标向量样本:时频信号分析模型训练完成后,得到T种内容类型数据流的时频分析模型参数λ1:T以及各个模型输出的似然概率平均值其中t∈{1,2,L,T};采用时频信号分析中状态树更新方法分别估计所有小波系数矢量树在各种模型下的最优状态树其中t′∈{1,2,L,T};根据式(9)和式(10),计算得到与的联合概率其中t′∈{1,2,L,T};通过时频信号分析,利用式(11)构造用于分类器训练的输入特征向量样本其中,t∈{1,2,L,T},n∈{1,2,L,nt};针对所有内容类型的数据流样本,得到分类器训练样本构成了随机森林分类器的原始训练集Φ,其中,t∈{1,2,L,T},n∈{1,2,L,nt};
S422.使用原始训练集Φ对随机森林分类器训练:
S4221.通过对原始训练集Φ进行有放回随机抽样,构造包含Np个子训练集的集合{Φi|1≤i≤Np},其中每个子训练集Φi的样本数目与原始训练集Φ的样本数目相同。令子训练集序号i=1;
S4222.使用子训练集Φi作为决策树根节点处的样本,生成一棵不剪枝决策树ri;从训练样本的T个似然概率平均值与联合概率差值绝对值中随机选取k个作为特征,其中1≤k<T;对于决策树的当前节点,计算第j个差值绝对值对数据集Φi进行划分的信息增益,其中j∈{1,2,K,k};
信息增益的计算,首先对第j个差值绝对值的所有n个不同取值按照从小到大进行排序,记为{j1,j2,K,jn},通过计算集合{j1,j2,K,jn}中相邻差值绝对值的平均值建立数据集划分点集合,即:
计算完信息增益后,选取k个差值绝对值中信息增益最大的作为数据集划分特征,并判断当前节点分裂时选择的差值绝对值在特征向量中的维度及划分点与其父节点分裂时选择的差值绝对值在特征向量中的维度及划分点是否相同;若两者选择的差值绝对值维度及划分点相同,则决策树停止分裂;若两者选择的差值绝对值维度及划分点不同,则决策树继续分裂,并针对子集和执行步骤S4222;
S4223.令i=i+1,并判断i是否不大于Np;若i不大于Np,则继续依次执行步骤S4222、S4223,生成下一棵决策树;若i大于Np,则输出树的集合{ri|i=1,2,K,Np}。
与现有技术相比,本申请的适用于加密与非加密数据流的内容识别方法,其有益效果在于:1)提出了一种新的数据流内容识别方法,与基于流统计特征的传统方法不同,它利用数据流的上下行交互行为特征作为内容识别依据;2)提出的方法与协议无关、与应用无关、与加密与否无关,因此,它比其他方法拥有更广的使用范围,相比于传统方法具有更好的性能。
附图说明
图1为本发明方法的流程框架示意图;
图2为本发明方法的流量数据预处理示意图;
图3为本发明方法中时间序列时频分析及统一编号示意图;
图4为本发明方法的模型参数估计流程图;
图5为本发明方法中采用的随机森林分类器训练示意图。
具体实施方式
为进一步阐述本发明的原理与工作过程,现结合说明书附图的内容对其中的一种实施方式进行具体说明。
如图1至图5所示,本实施例的方法包括依次相互对接传递数据的数据采集、数据预处理、时频信号分析、内容分类。本实施例的方法存储于计算机电子存储介质中,并被中央处理器单元或逻辑处理器件执行,运行时调用相关的数据通信接口并输出相应结果到显示装置。具体方法组成如下文。
S1.数据采集
数据采集用于获取数据流样本,它设置在系统或/与网络边界,通过网络流抓取工具实现数据流的捕获及存储。对于用于分类器训练的流量样本,需要获取流量样本的类型标签。本实施例用t∈{1,2,L,T}表示数据流承载数据的内容类型,T表示类型总数。
S2.数据预处理
数据预处理用于对数据流样本进行预处理,该部分包括:IP分组特征提取、窗口特征提取、窗口特征降维以及时频信号提取,如图1所示。
S21.IP分组特征提取
对于每一个数据流样本,提取IP分组的若干个特征信息,组成特征向量。根据数据流样本包含的R个IP分组特征向量,进一步获得数据流样本的IP分组特征向量序列。
S22.窗口特征提取
利用宽度为W且步长为Step的重叠滑动窗口对上述得到的IP分组特征向量序列进行分割处理,如图2所示,其中W和Step定义为IP分组数目。
通过对窗口内的一个或多个IP分组特征进行计算,获得内容类型为t的第n个数据流样本第l个窗口的D维特征矢量,并将窗口在IP分组特征向量序列上从左到右滑动,获得窗口特征矢量序列,其中,窗口特征矢量序列的长度为L,其数值等于(R-W)/Step的整数部分。
S23.窗口特征降维
为了提高特征的有效性,本实施例进一步使用主成分分析方法(PCA)对所有内容类型为t的D维窗口特征矢量序列进行降维处理,其中t∈{1,2,L,T}。D维窗口特征矢量序列进行PCA降维处理后,得到相应的d维窗口特征矢量序列。
S24.时频信号提取
本实施例将降维处理后的每一维窗口特征序列视为信号,并使用快速小波变换算法(Mallet算法)对信号进行小波变换处理,提取信号的时频信息。以“Haar”小波为例给出滤波器组的计算方法,“Haar”小波对应的高通滤波器Hi和低通滤波器Lo构造过程包括以下三个步骤:
Gn=(-1)nH1-n,0≤n≤1 (2)
·低频部分(轮廓):
·高频部分(细节):
其中,*表示为卷积操作;表示第1层小波分解后低频部分的第k个数值,为原始信号小波分解后的轮廓;表示原始信号的第2k个数值;表示原始信号的第2k+1个数值;表示第1层小波分解后高频部分的第k个数值,此为原始信号小波分解后的细节。若需要对序列信号进行多尺度的分解,保留信号每次小波分解后的高频部分(细节),而对信号小波分解后的低频部分(轮廓)进行更进一步分解。
对于内容类型为t的第n个数据流样本降维后窗口特征矢量序列中的每一维都进行相同的小波变换,得到如图2所示的d个结构与规模都完全一样的小波系数树(时频图)。
本实施例使用表示由d个小波系数树在相同时频坐标下小波系数值构成的矢量,作为后续建模的观测值,其中表示第J层小波分解的第g个小波系数,k表示对图2的小波系数矢量树自上而下、自左向右统一标号后的编号,i∈{1,2,L,d},J∈{1,2,L,κ},g∈{1,2,L,2J-1},k∈{1,2,L,2κ-1}且k=2κ-J+g-1。
S3.时频信号分析
基于上述数据预处理与小波变换,数据流的内容识别问题转换为相应的小波系数矢量树分类问题。如图3所示,设每一个小波系数节点都存在一个状态,该状态刻画小波系数矢量的生成机制。因此,对于每一个数据流样本的小波系数矢量树,都存在一个相应的状态树其中t∈{1,2,L,T},n∈{1,2,L,nt},k∈{1,2,L,2κ-1}。状态树与小波系数矢量树共同构成了描述数据流时频演化规律的模型。所以,数据流内容类型识别问题进一步归结为与相关模型的数学求解问题,包括:1)时频信号分析模型的参数估计以及状态估计;2)数据流样本内容类型分类。
时频信号分析包括两方面的数据处理:
S31.时频信号检测
时频信号检测包括以下三个步骤:
S313.构造时频信号匹配指标向量:
S32.时频信号分析模型的训练
对于内容类型为t的时频信号分析模型,其训练过程如图4所示,主要包括以下步骤:
S321.模型参数初始化,对模型的相关参数进行初始化;
S322.模型参数更新,更新根节点状态概率、父节点与子节点状态转移概率、状态输出概率;
S323.迭代终止判断;
S324.状态树更新,利用更新后参数对状态树进行迭代更新;
S325.参数及训练样本似然概率平均值输出;
S4.内容分类
内容分类采用随机森林的方法,包括分类和训练两部分:
S41.时频信号匹配指标向量分类:
对于待检测数据流j的时频信号匹配指标向量在已知随机森林分类器的决策树集合{ri|i=1,2,K,Np}的条件下,将输入到Np个决策树后,Np个决策树投出票数最多的类别对应的标签即为序号为j的待检测样本的内容标签,其中Np表示随机森林中决策树的数目,ri表示随机森林中的第i个决策树。
S42.分类器的训练
分类器训练方法如下:
S421.构造用于分类器训练的输入特征向量样本:
时频信号分析模型训练完成后,得到T种内容类型数据流的时频分析模型参数λ1:T以及各个模型输出的似然概率平均值其中t∈{1,2,L,T}。通过时频信号分析中的方法,针对所有内容类型的数据流样本,得到分类器训练样本它们构成了随机森林分类器的原始训练集Φ,其中,t∈{1,2,L,T},n∈{1,2,L,nt}。
S422.随机森林分类器的训练:
如图5所示,使用原始训练集Φ对随机森林分类器进行训练。
本实施例以六种常见内容类型的数据流量为例说明方案的实施技术细节,它们包括:视频类、音乐类、新闻类、购物类、图片类以及直播类。下文为本实施例的方法的工作过程。
对于数据采集,分别利用网络流量获取工具(如分光器),采集每种内容类型的数据流数据,并按照内容类型依次对流量数据进行人工标记。在流量采集过程中,本实施例设定R=105(根据滑动窗口大小、步长以及所要求的序列长度选择)。在本实施例中获得视频类、音乐类、新闻类、购物类、图片类、直播类数据包集合的数目分别为261、326、422、459、558,这些数据构成了模型的训练集与检测集,其中,每种内容类型的数据集构成为:2/3数据为训练集、1/3数据为检测集。然后,提取每个数据包集合中IP分组的特征信息,包括IP分组大小、IP分组时间戳、IP分组方向,其中,IP分组方向通过0和1进行标记,若为下行包则方向标记为0,否则方向标记为1。
对于数据预处理,利用大小为5个IP分组且步长为2个IP分组的重叠滑动窗口对同一数据包集合中的IP分组属性信息序列进行分割,如图2所示,计算得到流量数据的窗口时域特征序列。
本实施例通过初步实验验证滑动窗口在不同窗口大小和滑动步长条件下的识别性能,进而确定滑动窗口的大小为5、步长为2。根据滑动窗口的大小、步长以及IP分组特征序列的长度可知,窗口时域特征序列的长度为50。
针对不同的IP分组特征序列重复不同特征组合及窗口分割的操作,本实施例共获得16个维度的时域特征序列。建立的这16维窗口时域特征分别如下:
·窗口内平均包大小,即窗口内所有IP分组大小的总和与窗口大小的比值;
·窗口内含方向平均包大小,即平均包大小与窗口内上下行包数目比率的乘积,若窗口内没有下行包数目,则设置下行包数目为1;
·窗口内平均到达时间间隔,计算方法:首先计算窗口内最后一个包的到达时间与第一个包的到达时间的差值,再除以窗口的大小;
·窗口内最大到达时间间隔,即窗口内所有相邻包的到达时间间隔的最大值;
·窗口内最小到达时间间隔,即窗口内所有相邻包的到达时间间隔的最小值;
·窗口内到达间隔时间方差,即窗口内所有相邻包的到达时间间隔的方差;
·窗口内包个数与窗口内总时间间隔的比值,即滑动窗口大小与窗口内最后一个包的到达时间和第一个包的到达时间的差值的比值;
·上下行包数目比值,即窗口内IP分组方向标记为1的个数与方向标记为0的个数的比值,若窗口内下行包数目为零,则设置下行包数目为1;
·窗口内的IP分组持续时间与一个连接集合IP分组持续时间的比值,计算方法:窗口内最后一个包与第一个包的到达时间的差(窗口内持续时间),再除以整个连接集合的持续时间(即第100个包到达时间与第一个包到达时间的差值);
·窗口内的平均字节率,即窗口内所有IP分组大小的总和与最后一个包与第一个包的到达时间的差(窗口内持续时间)的比值;
·相邻窗口的平均到达时间间隔的差值,计算方法:首先求取窗口内所有相邻两个包的到达时间间隔,并求取到达时间间隔的均值,然后再求相邻窗口平均到达时间间隔的差值;
·窗口内相邻包间到达时间间隔的一分位数,计算方法:先对相邻包间的到达时间间隔由小到大排序,再计算一分位数;
·窗口内所有下行包的包大小总和与上行包的包大小总和的比值;
·窗口内包大小为500-1000字节的包数目与包大小为1000字节以上的包数目的比值;
·窗口内包大小500字节以下的包数目与包大小1000字节以上的包数目的比值;
·窗口内包大小为500字节以下的包数目与包大小为1000字节以上的包数目的比值。
本实施例中采用主成分分析(PCA)对获得的16维时间序列进行数据降维处理,得到5维特征矢量序列。在本实施例中,将降维后的特征维度设定为5时获得较好的识别效果。
对于时频信号分析,根据降维处理后的多维时间序列长度以及不同小波函数的性质,本实施例选择在尺度为6、小波函数为“Haar”的条件下,利用小波变换分别对每一维降维后的时间序列进行时频分析,获得五幅结构相同的时频图,如图2,将不同时频图的小波系数组成小波系数矢量之后,自上而下,自左向右对所有位置的小波系数矢量标号,最后获得内容类型为t且长度为63的小波系数矢量树样本其中t∈{1,2,3,4,5,6}。
在本实施例中,通过利用K-means聚类分析方法,初始化每个小波系数矢量与状态的匹配关系,本实施例将每种内容类型的小波系数矢量分为4类。状态初始化后,得到与数据流样本小波系数矢量树相对应的状态树。通过利用高斯混合分布对状态生成观测的概率进一步参数化,将GMM与每种内容类型的时频分析模型结合后,对该模型按照图4的步骤进行训练。各种内容类型的时频分析模型训练完成后,获得模型参数λ1:6以及每种模型对应的似然概率平均值。在模型参数更新过程中,根据经验设置最大迭代次数为30-50次。
对于内容分类,在随机森林分类器训练部分,经过初步的实验,选择设置随机森林决策树数目为Np=50,以及随机选取特征数目为k=3,并利用构造的训练集对随机森林分类器进行有监督地训练。
根据式(5),利用联合概率以及模型似然概率平均值构造序号为j检测样本的时频信号匹配指标向量,并输入到随机森林分类器,则待检测样本的内容标签为随机森林分类器投票数最多的类别对应的标签。
本实施例使用训练样本数据对整个模型框架进行训练。在训练完毕后,使用检测样本对方案进行验证,其中训练样本总数目为1746个,检测样本总数目871个。由于本实施例涉及的是多分类问题,因此,使用检测准确率Accuracy以及Kappa系数对方案的效果进行评价。其中,检测准确率为所有检测样本中被正确分类的样本比例;Kappa系数则描述了多分类问题最终分类结果的一致性,计算方法如下:
其中Ft表示内容类型为t的真实样本个数;Et表示被预测为内容类型t的样本个数。通过表1,发现本实施例选取的特征数目少,准确率以及Kappa较高,并且适用于非加密流和加密流,所以本实施例相比传统方法性能更优。
表1各方法识别效果对比
以上实施方式只是本发明的其中一种方案,用以解释本发明的技术原理,并非本发明的全部实施例。本领域技术人员应当清楚,在上述实施方式的基础上,任何没有做出突出实质性特定和显著进步的等同替换方案,均落入本发明的范围。本发明技术方案的保护范围由权利要求书界定。
Claims (5)
1.一种适用于加密与非加密数据流的内容识别方法,其特征在于,包括以下步骤:
S1.数据采集,数据采集对接外界网络,用于获取数据流样本;
S2.数据预处理,数据预处理对接数据采集,用于对采集到的数据流样本进行特征提取、特征降维,并对降维后的特征序列以小波变换处理获取数据流的时频信号;
S3.时频信号分析,时频信号分析对接数据预处理,时频信号分析首先建立描述不同类型数据流的时频信号分析模型,然后计算待测数据流时频信号与各个模型的匹配程度;
S4.内容分类,内容分类对接时频信号分析,根据时频信号分析的匹配程度得到匹配指标进行内容类型分类,并输出数据流内容分类结果。
2.根据权利要求1所述的适用于加密与非加密数据流的内容识别方法,其特征在于,所述步骤S2的具体包括:S21.IP分组特征提取、S22.窗口特征提取、S23.窗口特征降维、S24.时频信号提取;
所述S21 IP分组特征提取用于对每一个数据流样本提取IP分组的特征信息,组成特征向量;
所述S22窗口特征提取利用滑动窗口对窗口覆盖范围内的IP分组特征计算得到高维窗口特征矢量,并将窗口在IP分组特征向量序列上从左到右滑动,获得窗口特征矢量序列;
所述S23窗口特征降维使用降维方法对所有不同内容类型的高维窗口特征矢量序列进行降维处理;
所述S24时频信号提取用于对降维后的窗口特征矢量序列中的每一维特征序列进行小波变换处理,提取相应的时频信号,并得到若干结构和规模都一样的小波系数树。
3.根据权利要求2所述的适用于加密与非加密数据流的内容识别方法,其特征在于,在步骤S3时频信号分析中,利用状态变量描述数据流样本的小波系数矢量的统计分布关系,并使用状态间的关系描述相邻尺度间小波系数矢量间的相关关系;在所述时频信号分析中,根据每个小波系数矢量对应的状态,对不同内容类型的数据流的小波系数矢量树建立状态树模型,利用状态输出概率描述状态与小波系数矢量间的统计分布关系,并利用状态转移概率描述相邻尺度间小波系数矢量的关系;在所述时频信号分析模型中,采用混合高斯分布对状态输出概率进行参数化。
4.根据权利要求3所述的适用于加密与非加密数据流的内容识别方法,其特征在于,所述步骤S3时频信号分析具体包括:S31.时频信号检测、S32.时频信号分析模型训练;
其中,所述S31时频信号检测包括以下三个步骤:
S311.对于待检测数据流样本,在模型参数已知的条件下,首先估计它的小波系数矢量树对应的最优状态树;
S312.计算小波系数矢量树与最优状态树的联合概率;
S313.计算时频信号匹配指标,包括:样本相对模型的似然概率、及样本的小波系数矢量树与最优状态树的联合概率;
所述S32时频信号分析模型训练步骤如下:
S321.模型参数初始化,对模型的相关参数进行初始化;
S322.模型参数更新,包括:根节点状态概率、父节点与子节点状态转移概率、状态输出概率;
S323.迭代终止判断;
S324.状态树更新,利用更新后的参数对状态树进行迭代更新;
S325.参数及训练样本似然概率平均值输出。
5.根据权利要求4所述的适用于加密与非加密数据流的内容识别方法,其特征在于,所述步骤S4内容分类具体包括:S41.时频信号匹配指标分类、S42.分类器训练;
其中,所述S41时频信号匹配指标分类,采用随机森林方法对样本的时频信号匹配指标进行分类;
所述S42分类器训练包括步骤:S421.建立随机森林分类器训练样本、S422.随机森林分类器的训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011154562.3A CN112383488B (zh) | 2020-10-26 | 2020-10-26 | 一种适用于加密与非加密数据流的内容识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011154562.3A CN112383488B (zh) | 2020-10-26 | 2020-10-26 | 一种适用于加密与非加密数据流的内容识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112383488A true CN112383488A (zh) | 2021-02-19 |
CN112383488B CN112383488B (zh) | 2022-06-17 |
Family
ID=74577633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011154562.3A Active CN112383488B (zh) | 2020-10-26 | 2020-10-26 | 一种适用于加密与非加密数据流的内容识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112383488B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818808A (zh) * | 2022-04-25 | 2022-07-29 | 中国电子科技集团公司第二十九研究所 | 基于转移分析的频率信号分类方法及装置 |
CN116915504A (zh) * | 2023-09-11 | 2023-10-20 | 中国电子科技集团公司第三十研究所 | 未知协议流量数据明密态的细粒度识别方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8064722B1 (en) * | 2006-03-07 | 2011-11-22 | The United States Of America As Represented By The Secretary Of The Navy | Method and system for analyzing signal-vector data for pattern recognition from first order sensors |
CN103413142A (zh) * | 2013-07-22 | 2013-11-27 | 中国科学院遥感与数字地球研究所 | 一种基于二维小波分解及视觉词包模型的遥感图像土地利用场景分类方法 |
WO2017004880A1 (zh) * | 2015-07-08 | 2017-01-12 | 中兴通讯股份有限公司 | 行为识别方法、设备及计算机存储介质 |
US20190158522A1 (en) * | 2018-01-02 | 2019-05-23 | Maryam AMIRMAZLAGHANI | Generalized likelihood ratio test (glrt) based network intrusion detection system in wavelet domain |
CN110138849A (zh) * | 2019-05-05 | 2019-08-16 | 哈尔滨英赛克信息技术有限公司 | 基于随机森林的协议加密算法类型识别方法 |
CN111626322A (zh) * | 2020-04-08 | 2020-09-04 | 中南大学 | 一种基于小波变换的加密流量的应用活动识别方法 |
-
2020
- 2020-10-26 CN CN202011154562.3A patent/CN112383488B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8064722B1 (en) * | 2006-03-07 | 2011-11-22 | The United States Of America As Represented By The Secretary Of The Navy | Method and system for analyzing signal-vector data for pattern recognition from first order sensors |
CN103413142A (zh) * | 2013-07-22 | 2013-11-27 | 中国科学院遥感与数字地球研究所 | 一种基于二维小波分解及视觉词包模型的遥感图像土地利用场景分类方法 |
WO2017004880A1 (zh) * | 2015-07-08 | 2017-01-12 | 中兴通讯股份有限公司 | 行为识别方法、设备及计算机存储介质 |
US20190158522A1 (en) * | 2018-01-02 | 2019-05-23 | Maryam AMIRMAZLAGHANI | Generalized likelihood ratio test (glrt) based network intrusion detection system in wavelet domain |
CN110138849A (zh) * | 2019-05-05 | 2019-08-16 | 哈尔滨英赛克信息技术有限公司 | 基于随机森林的协议加密算法类型识别方法 |
CN111626322A (zh) * | 2020-04-08 | 2020-09-04 | 中南大学 | 一种基于小波变换的加密流量的应用活动识别方法 |
Non-Patent Citations (2)
Title |
---|
曾庆虎等: "小波相关特征尺度熵和隐半马尔可夫模型在设备退化状态识别中的应用", 《机械工程学报》 * |
高伟等: "基于DTCWT-DBN的配电网内部过电压类型识别", 《电力系统保护与控制》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818808A (zh) * | 2022-04-25 | 2022-07-29 | 中国电子科技集团公司第二十九研究所 | 基于转移分析的频率信号分类方法及装置 |
CN114818808B (zh) * | 2022-04-25 | 2023-04-14 | 中国电子科技集团公司第二十九研究所 | 基于转移分析的频率信号分类方法及装置 |
CN116915504A (zh) * | 2023-09-11 | 2023-10-20 | 中国电子科技集团公司第三十研究所 | 未知协议流量数据明密态的细粒度识别方法 |
CN116915504B (zh) * | 2023-09-11 | 2023-11-21 | 中国电子科技集团公司第三十研究所 | 未知协议流量数据明密态的细粒度识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112383488B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Arroyo et al. | Inference for multiple heterogeneous networks with a common invariant subspace | |
CN109309630B (zh) | 一种网络流量分类方法、系统及电子设备 | |
CN110311829B (zh) | 一种基于机器学习加速的网络流量分类方法 | |
CN111027378B (zh) | 行人重识别的方法、装置、终端及存储介质 | |
CN113037730A (zh) | 基于多特征学习的网络加密流量分类方法及系统 | |
CN114172688B (zh) | 基于gcn-dl的加密流量网络威胁关键节点自动提取方法 | |
CN112383488B (zh) | 一种适用于加密与非加密数据流的内容识别方法 | |
Wang et al. | An encrypted traffic classification framework based on convolutional neural networks and stacked autoencoders | |
Cherubin et al. | Conformal clustering and its application to botnet traffic | |
CN111310719B (zh) | 一种未知辐射源个体识别及检测的方法 | |
CN113705604A (zh) | 僵尸网络流量分类检测方法、装置、电子设备及存储介质 | |
CN116662817A (zh) | 物联网设备的资产识别方法及系统 | |
CN116150688A (zh) | 智能家居中轻量级的物联网设备识别方法与装置 | |
CN115348198B (zh) | 基于特征检索的未知加密协议识别分类方法、设备及介质 | |
CN114978593B (zh) | 基于图匹配的不同网络环境的加密流量分类方法及系统 | |
CN112291226A (zh) | 一种网络流量的异常检测方法及装置 | |
CN110071845B (zh) | 一种对未知应用进行分类的方法及装置 | |
Abdalla et al. | Impact of packet inter-arrival time features for online peer-to-peer (P2P) classification | |
CN114358177B (zh) | 一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统 | |
CN112367325B (zh) | 基于闭合频繁项挖掘的未知协议报文聚类方法和系统 | |
Jia et al. | FITIC: A few-shot learning based IoT traffic classification method | |
CN114124565A (zh) | 一种基于图嵌入的网络入侵检测方法 | |
Rieger et al. | Client adaptation improves federated learning with simulated non-iid clients | |
CN116233011B (zh) | 一种基于包长度序列和消息长度序列深度融合的物联网流量分类方法及系统 | |
Ge et al. | A dual-branch self-attention method for mobile malware detection via network traffic |
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 |