CN108900432A - 一种基于网络流行为的内容感知方法 - Google Patents

一种基于网络流行为的内容感知方法 Download PDF

Info

Publication number
CN108900432A
CN108900432A CN201810728170.XA CN201810728170A CN108900432A CN 108900432 A CN108900432 A CN 108900432A CN 201810728170 A CN201810728170 A CN 201810728170A CN 108900432 A CN108900432 A CN 108900432A
Authority
CN
China
Prior art keywords
model
hmm
dnn
network
network flow
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
CN201810728170.XA
Other languages
English (en)
Other versions
CN108900432B (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.)
Sun Yat Sen University
National Sun Yat Sen University
Original Assignee
National Sun Yat Sen 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 National Sun Yat Sen University filed Critical National Sun Yat Sen University
Priority to CN201810728170.XA priority Critical patent/CN108900432B/zh
Publication of CN108900432A publication Critical patent/CN108900432A/zh
Application granted granted Critical
Publication of CN108900432B publication Critical patent/CN108900432B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

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

Abstract

本发明提供一种基于网络流行为的内容感知方法,它包括以下步骤:在外部网络环境采集网络流量并提取观测特征作为训练样本;利用训练样本对模型进行训练;将未知类型的网络流输入模型识别其内容;利用识别的网络流数据和历史模型参数进行增量学习,更新模型参数,保证模型分类的连续性。本发明利用了隐马尔可夫模型的动态建模能力和深度神经网络强大的非线性表示能力,实验结果表明了本方法的可行性,以及对比现有技术方案的性能优势。

Description

一种基于网络流行为的内容感知方法
技术领域
本发明属于网络技术领域,更具体地,涉及一种基于网络流行为的内容感知方法。
背景技术
网络流量的分类和识别是很多网络管理问题的基础。通过准确识别网络流量的类型,网络管理员可以根据给定的策略为不同类型的网络应用/服务提供不同的服务质量;其次,通过网络流量的识别,可以掌握当前网络资源的使用状况,为网络基础架构规划提供依据;此外,流量分类也是入侵检测系统的关键部分,通过识别异常的网络流量来阻止攻击,是网络安全领域的重要检测手段。
常用的流量分类方法主要由四种:1)基于端口的方法,2)基于分组载荷特征的方法,3)基于流的方法,4)混合特征的方法。
1)基于端口的方法
基于端口的方法是指利用网络应用在IANA(Internet Assigned NumbersAuthority)注册的端口号来识别流量对应的应用类型。例如,HTTP协议使用80端口,SMTP协议使用25端口,FTP协议使用21端口等。端口识别的方法具有简单高效的特点,不需要复杂的计算,可以部署在高速的网络链路中,实现流量的实时分类。但是端口号方法不能实现对以下几种类型流量的识别:一是使用动态端口进行通信的网络应用;二是使用熟知的端口号来伪装自身流量,以达到逃避防火墙检测的目的。
2)基于分组载荷特征的方法
基于分组载荷特征的方法又称DPI(参见论文“Tongaonkar A,Torres R,Iliofotou M,et al.Towards self adaptive network traffic classification[J].Computer Communications,2015,56:35-46.”)(Deep Packet Inspection,深度包检测),该方法通过检查应用层载荷是否包含特定的结构模式,比如关键字和字符串,该结构模式只存在于特定的应用层协议的消息中,所以该方法的识别结果非常精确。DPI方法也有其缺陷和不足:一是随着人们关于网络安全意识的提升,越来的越多的应用使用加密的协议传输数据(参见论文“Velan P,M,P,et al.A survey of methods forencrypted traffic classification and analysis[J].International Journal ofNetwork Management,2015,25(5):355-374.”),DPI对加密的流量难以处理;其次,对用户数据包解析涉及到隐私保护问题;三是无法获得有关私有协议的特征结构描述。
3)基于流的方法
基于流的方法又称DFI(deep flow inspection,深度流检测),指根据流的统计特征对流量进行识别,例如流中分组的平均长度,分组到达平均时间间隔,分组总数等;其中流被定义在一定时间内,具有相同五元组(源IP地址,目的IP地址,源端口,目的端口,传输协议)的数据分组。该方法的核心思想是流量的统计特征反映了其承载应用的独特的通信行为模式和对底层网络的使用情况。基于流的统计特征的方法克服了端口方法的缺陷,并且不涉及分组的载荷,是流量分类和识别研究的热点方向。这类方法通常结合两种技术使用:一种是利用统计分析(参见论文“Piraisoody G,Huang C,Nandy B,etal.Classification of applications in HTTP tunnels[C]//Cloud Networking(CloudNet),2013IEEE 2nd International Conference on.IEEE,2013:67-74.”)技术,通过对每一种流量的特征进行分析比较,进而得到具有区分性质的阈值条件;另一种是利用机器学习(参见论文“A,D,Dobre C.Internet traffic classificationbased on flows'statistical properties with machine learning[J].InternationalJournal of Network Management,2017,27(3).”和“Fan Z,Liu R.Investigation ofmachine learning based network traffic classification[C]//WirelessCommunication Systems(ISWCS),2017 International Symposium on.IEEE,2017:1-6.”)的技术构建分类模型,依据学习的策略不同,机器学习可以划分为三类:有监督学习(Supervised Learning),无监督学习(Unsupervised Learning)和半监督学习(Semi-supervised Learning)。
(1)有监督学习,又被称为分类方法。该方法分为训练阶段和分类阶段。在训练阶段,通过利用大量有标注训练数据对模型的参数进行学习,得到特征和类别的映射关系;在分类阶段,运用训练好的模型构建分类器,对未知类型的流量进行分类。Perera等人(参见论文“Perera P,Tian Y C,Fidge C,et al.A Comparison of Supervised MachineLearning Algorithms for Classification of Communications Network Traffic[C]//International Conference on Neural Information Processing.Springer,Cham,2017:445-454.”)将六种常见的有监督学习算法朴素贝叶斯(Bayes)、贝叶斯网络(BayesNet)、贝叶斯树(Bayes Tree)、随机森林(Random Forest)、决策树(Decision Tree)、多层感知器(Multilayer Perceptron)对流量分类的性能进行比较。专利基于GPU加速的kNN(kNearest Neighbor,k最近邻算法)算法的网络流量分类算法提出基于GPU的加速算法,实验结果表明GPU的计算速度相对于CPU有显著提升,同时能够实现高于80%的分类准确率。专利一种深度学习的网络流量分类方法,该方法统计网络流中客户端端口号、数据包平均到达时间及数据包的个数三方面的信息来确定特征,然后使用受限玻尔兹曼机(RestrictedBoltzmann machine,RBM)实现特征的自动抽取,从而避免人工选择特征的不确定性。
(2)无监督学习:又称聚类方法,该方法不需要预先标注的训练数据,它使用内在的启发式发现数据中存在的簇,同一个簇中的对象相似度高,不同簇中的对象相似度低。对于一个新对象,计算它与每一个簇中心的距离,并将其划分到距离最近的簇中。
(3)半监督学习:该方法是有监督和无监督两种方法的结合。当训练集中已知类别样本较少且包含大量未知类别的样本时,首先通过聚类算法将训练集分成不同的簇,然后通过被标记的样本实现簇与类别之间的映射,那些不包含任何标记样本的簇,则被视为未知的新协议类型。专利一种基于半监督学习的网络流量分类方法、计算机设备中提出了一种基于k-Means算法的半监督学习方法,该方法通过计算已标记数据中每个流特征的信息增益,并将其作为对应流特征的权重,从而在聚类时充分利用标记数据的信息,以提升分类器的准确率。
4)混合特征的方法
该方法是指利用前述三种方法的组合,同时利用多种特征进行流量识别。例如:Aceto等人的论文“Aceto G,Dainotti A,De Donato W,et al.PortLoad:taking the bestof two worlds in traffic classification[C]//INFOCOM IEEE Conference onComputer Communications Workshops,2010.IEEE,2010:1-5.”提出了一种端口和载荷相结合的方法,通过检测双向流中每个方向第一个分组载荷的前32个字节和端口号进行识别。Sun等人的论文“Sun G L,Xue Y,Dong Y,et al.An novel hybrid method foreffectively classifying encrypted traffic[C]//Global TelecommunicationsConference(GLOBECOM 2010),2010IEEE.IEEE,2010:1-5.”TelecommunicationsConference(GLOBECOM 2010),2010IEEE.IEEE,2010:1-5.”提出了一种混合技术用来对加密流量进行分类。专利一种分布式传输的网络流量分类系统和方法中设计了一种结合DPI和DFI技术方法,当DPI模块无法对流进行识别时,则使用DFI训练得到的分类器对流进行分类,因此该方法既能够实现对未加密的流量精确识别,又能够对应用层加密的流量进行识别。
由于现有的流量分类方法主要集中在将流量分为不同类型的应用层协议(比如HTTP,SMTP,p2p)或网络应用(比如QQ,微信,Youku)。随着网络技术的发展,网络应用的设计越来越复杂,通常一个网络应用可以集成多种协议分别实现不同的功能,一种协议也能承载多种不同类型的应用,用以传输不同类型的通信内容。例如HTTP协议可以用来传输音视频,图片,电子邮件,游戏等多种形式的内容。协议/应用正成为各种非法、恶意内容传播的管道伪装,如图1所示,显示了一种利用公开协议隧道进行伪装通信的方式。仅仅识别出流量对应的协议或者应用并不足以对网络流实施有效的监管。
发明内容
本发明为克服上述现有技术所述的至少一种缺陷(不足),提供一种基于网络流行为的内容感知方法。本方法从一个新的角度对网络流量进行分类,即识别流量承载的通信内容的类型,例如:音频、视频、图片等,从而实现更加精准的流量分类任务。另一方面,大多数机器学习算法使用流级别的特征,比如数据包的平均字节数、平均时间间隔等,没有考虑网络流中的数据包的时序关系,因此无法从网络流的交互行为特征角度来实现更好的识别性能。同时计算这些特征必须在采集一段时间的网络流数据后进行,影响流量分类的实时性。
为解决上述技术问题,本发明的技术方案如下:
一种基于网络流行为的内容感知方法,包括模型训练阶段、内容识别阶段以及模型更新阶段;
其中模型训练阶段:从外部网络采集网络流数据,并提取观测特征得到训练样本,然后使用DNN-HMM模型对网络流行为建模,再利用训练样本对模型进行训练得到模型参数;
内容识别阶段:将采集的待检测的实时网络流输入到训练后的DNN-HMM模型,模型输出该网络流的内容类别;
模型更新阶段:把识别的网络流数据反馈回DNN-HMM模型,对模型的参
优选的,获取训练样本包含两步:流量采集和观测特征提取;首先在客户端访问指定类型的内容,同时利用流量采集工具在网络出口节点采集产生的网络流量并标注其类型;然后将采集的流量依据五元组划分成单一的网络流,并提取流的观测特征。
优选的,选取网络流中数据包的字节数和到达时间作为观测值。
优选的,所述DNN-HMM模型,其HMM用来描述网络流特征的动态变化,DNN模型位于HMM之上;即在给定观测值的条件下,使用DNN的每个输出节点来估计对应状态的后验概率,DNN的每个输出节点与HMM的对应一个状态对应;
具体是:由DNN模型对给定观测值进行分类,再用HMM描述网络流特征的动态变化;其中HMM描述网络流特征的动态变化是指HMM对不同类型通信内容产生的网络流特征的时变过程描述,将该时变过程分解为两部分:
第一,用于描述网络流外部形态和特征的测量指标随时间的变化;
第二,用于描述网络流产生机制或工作模式的内部状态随时间的变化;网络流内部状态的跳转代表网络流模式随时间的变化过程,并决定网络流外部形态与特征的测量指标;在实际应用中,网络流的内部状态往往难以直接测量得到,因此只能通过外部形态特征的测量指标进行推断与估计;
考虑到相同类型的网络流往往具有相对固定的模式变化规律,因此,能够通过外部测量指标与内部状态共同描述特定类型的网络流行为特征,并作为其识别依据;具体而言,对于给定的内容类型的网络流c,用随机变量表示它在t时刻的测量指标矢量;用随机变量表示它在t时刻的内部状态;为简化定量建模的复杂度,进一步令只与有关,而与无关;而且仅与有关,与都相互独立;
由此,可以采用HMM来描述网络流外部测量指标与内部状态的相互作用与时变动态过程,其中,一阶Markov链用来描述网络流状态随时间的演变过程。
优选的,在模型训练阶段获取模型参数方式如下:
利用采集的网络样本数据,对DNN-HMM模型进行训练;为方便计算,将t时刻的观测值ot进行离散化处理,数据包长度和到达时间分别被量化到对应的区间;模型训练过程可以分成三个步骤:
1)为每一种内容类型c建立一个包含Q个状态的HMM,使用对应类型的训练数据输入到模型进行训练,得到相应的HMM的参数λc
为便于计算,首先定义以下辅助变量:
αt(i)=P(o1:t,qt=si),1≤t≤T;1≤i≤Q
α变量按以下方式迭代求解:
α1(i)=πibi(ot)
定义辅助变量:
βt(i)=P(ot+1:T|qt=si),1≤t<T;1≤i≤Q
β变量按以下方式迭代求解:
βT(i)=1
定义辅助变量:
γt(i)=P(qt=i|OT,λ)
γ变量通过变量α和β计算:
参数λ估计的具体步骤如下:
1、使用类别c对应的观测序列集合{O}作为训练数据;
2、使用K-means聚类算法对观测值进行聚类,将观测数据分类为Q个状态;
3、初始化HMM参数λ:
4、对每一个观测序列OT∈{O},迭代计算变量αt(i)、βt(i);
5、计算变量γt(i),并依据以下公式推断观测序列OT对应的最佳状态序列q1,q2,..,qT
6、依据步骤3中公式重新估计HMM参数然后判断是否满足收敛条件,若满足则停止训练,否则转至步骤4;
其中收敛条件有两个:一是迭代次数达到设定最大值;二是迭代后观测序列相对于模型似然概率的差值小于设定阈值ε,即若满足其中条件之一,则停止训练,并输出模型参数;
2)对于类别c中所有的观测序列OT=(o1,o2,...,oT),利用训练好的HMM模型,找到生成该观测序列的最佳状态序列(q1,q2,..,qT);在前述估计HMM参数的过程中,依据步骤5得到,在计算过程中保存模型收敛时对应的该变量即可;对于C个HMM模型,共有C×Q个状态,其数目等于DNN的输出层神经元数目,将其映射到DNN的输出标签;
3)使用所有类型的观测序列和对应的状态序列,训练一个统一的DNN来估计观测特征在HMM状态上的后验概率P(qt=si|ot);DNN各层之间使用全连接结构,其中DNN输入层的神经元数目等于上下文相关的观测值的维度;DNN输出层的神经元数目等于C×Q,并使用softmax作为输出层激活函数,使用BP算法对网络进行训练。
优选的,所述内容识别阶段的具体过程为:
对于实时的网络流量序列O,利用训练好的模型识别其内容类型;
模型计算该观测序列O在每一个HMM上的似然概率P(O|λc),选择输出概率最大的模型作为该流量的类别标签;具体过程如下:首先观测序列O被输入到DNN中,DNN输出观测值在每个状态上的后验概率P(qt=s|ot);然后计算序列相对于每一个模型的似然概率P(O|λc),因为计算P(O|λc)需要似然度P(ot|qt=s),所以利用贝叶斯公式做如下转化:
其中,状态s为状态集合中一个,P(s)通过统计训练样本中状态s的出现频率获得;P(ot)是与状态无关的,在计算时可以作为常量被忽略,则可使用一个经过缩放的似然度P(ot|qt=s)=P(qt=s|ot)/P(s)简化计算;
最后,观测序列O的预测类别由以下公式确定:
其中观测序列相对于给定模型的似然概率通过以下方法计算:
优选的,模型更新阶段是指利用识别的网络流数据和历史模型参数对模型进行更新,具体是:
在更新周期内,利用当前网络环境下识别的网络流数据,使用增量学习的方式对现有模型重新训练,更新模型的参数,其增量学习的步骤如下:
(1)输入当前识别的网络流序列OT和对应类别的历史HMM的参数λ;
(2)计算当前模型参数下OT对应的最佳状态序列(q1,q2,..,qT);
(3)更新模型参数
其中与{O}有关的变量均在历史模型参数估计过程中的已经得到;
(4)判断是否满足收敛条件,若满足则停止训练,否则转至步骤2;
(5)使用历史DNN的参数对网络进行初始化,将作为训练数据,使用BP算法重新训练DNN。
本发明提出一种精确的流量方法,根据网络流识别出其承载的内容类型。该发明是基于HMM(hidden Markov model,隐马尔科夫模型)和DNN(deep neural network,深度神经网络)的混合模型,其中HMM用于描述特定通信内容驱动下所产生的网络流特征的时变过程;DNN利用上下文相关的观测值对HMM状态的输出概率进行估计。本发明方法考虑了网络流随时间变化的动态过程,以及相邻观测值之间的影响关系,结合了HMM和DNN各自的优点,能实现对不同类型网络流的精准分类要求。
与现有技术相比,本发明技术方案的有益效果是:
1、结合HMM和DNN的优点,提出了一种新的网络流识别方案,该方案利用HMM刻画网络流的时变行为特征,利用DNN弥补HMM的独立性限制,并可为HMM处理高维度观测变量;
2、基于上述方式,提出一种与应用协议无关的通信内容类型识别方法,该方法仅需要网络流的常规测量信息,无需涉及应用净荷,适用于公开和私有协议、加密与非加密应用的内容识别。
附图说明
图1为一种利用隧道伪装通信的方式;
图2为本发明的总体框架示意图;
图3为网络流动态模型示意图;
图4为DNN-HMM的结构示意图;
图5为DNN结构示意图;
图6为本发明实施例与GMM-HMM方法对比结果图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。下面结合附图和实施例对本发明的技术方案做进一步的说明。
总体框架
本方法的总体框架如图2所示,包括六个部分:DNN-HMM模型、训练样本、模型训练、实时网络流、内容识别、增量学习。其中训练样本为不同类型的内容产生的网络流,用于模型的训练;DNN-HMM模型包括两部分,其中HMM用于网络流特征的时变过程建模,DNN用于估计观测特征在HMM状态上的输出概率;模型训练指利用采集的网络流样本对模型进行训练,得到模型的参数;实时网络流指待识别的未知网络流;内容识别指利用训练好的模型对实时的网络流序列进行识别,得到其对应的内容类别;增量学习指利用识别的网络流数据和历史模型参数在线更新模型的参数,增强模型的鲁棒性,以适应网络行为的迁演。
本方法按以下步骤执行:首先从外部网络采集网络流数据,并提取观测特征得到训练样本,然后使用DNN-HMM对网络流行为建模,再利用训练样本对模型进行训练;在识别阶段,将采集的待检测的实时网络流输入到DNN-HMM,模型输出该网络流的内容类别;最后把识别的网络流数据反馈回模型,对模型的参数进行更新。
下面结合图2对各个部分进行详细说明。
训练样本
本方法中获取训练样本包含两步:流量采集和观测特征提取。首先,在客户端访问指定类型的内容,同时利用流量采集工具Tcpdum在网络出口节点采集产生的网络流量并标注其类型;然后将采集的流量依据五元组划分成单一的网络流,并提取流的观测特征。本方法选取网络流中数据包的字节数和到达时间作为观测值,如图3所示。这两个观测值在数据捕获过程中可以同步提取,在模型分类阶段,可以实现未知流样本的早期识别。
DNN-HMM模型
该部分包含两方面的内容,首先介绍HMM对不同类型通信内容产生的网络流特征的时变过程描述方法,然后介绍DNN与HMM的融合方法。
本发明把网络流随时间演变的过程分解为两部分:第一,用于描述网络流外部形态和特征的测量指标随时间的变化,例如:数据包的长度和到达时间;第二,用于描述网络流产生机制或工作模式的内部状态随时间的变化。网络流内部状态的跳转代表网络流模式随时间的变化过程,并决定网络流外部形态与特征的测量指标。在实际应用中,网络流的内部状态往往难以直接测量得到,因此只能通过外部形态特征的测量指标进行推断与估计。
考虑到相同类型的网络流往往具有相对固定的模式变化规律,因此,可以通过外部测量指标与内部状态共同描述特定类型的网络流行为特征,并作为其识别依据。具体而言,对于给定的内容类型的网络流c,用随机变量表示它在t时刻的测量指标矢量;用随机变量表示它在t时刻的内部状态。为简化定量建模的复杂度,进一步令只与有关,而与无关;而且仅与有关,与都相互独立。由此,可以采用HMM来描述网络流外部测量指标与内部状态的相互作用与时变动态过程,其中,一阶Markov链用来描述网络流状态随时间的演变过程。以图3为例,展示了某种特定类型网络流随时间演变的三个状态阶段,状态S1、S2、S3分别代表网络流传输的初始阶段、中间阶段、结束阶段,状态决定了观测值(数据包的长度和到达时间)的分布,任一时刻的观测值都对应这三个状态中的一个,依据观测值变化可以推断出状态的跳转模式,从而决定该网络流所属的类型。
但是HMM存在两方面的局限性:第一是观测值的独立性假设,即在给定状态下,观测值是独立同分布的,独立性假设导致上下文关系丢失;二是对复杂的观测值处理能力不理想。而DNN在分类问题方面有较好的表现,既可以解决上下文相关的观测值问题,也可以处理高维度的复杂的观测向量,因此可以利用DNN的优点弥补HMM的不足。
本发明采用的模型架构如图4所示,在这个架构中,HMM用来描述网络流特征的动态变化,DNN模型位于HMM之上,其作用等价于一个分类器,每一个输出节点与HMM的一个状态对应。在给定观测值的条件下,使用DNN的每个输出节点来估计对应状态的后验概率。
本发明所使用的符号如表1所示:
表1
模型训练
在本发明中采用下列所述方法计算模型参数。利用采集的网络样本数据,对DNN-HMM模型进行训练。实际应用中,为方便计算,需将观测值ot进行离散化处理,数据包长度和到达时间分别被量化到对应的区间。模型训练过程可以分成三个步骤:
1)为每一种内容类型c建立一个包含Q个状态的HMM,使用对应类型的训练数据输入到模型进行训练,得到相应的HMM的参数λc
为便于计算,首先定义以下辅助变量:
αt(i)=P(o1:t,qt=si),1≤t≤T;1≤i≤Q
α变量可按以下方式迭代求解:
α1(i)=πibi(ot)
定义辅助变量:
βt(i)=P(ot+1:T|qt=si),1≤t<T;1≤i≤Q
β变量可按以下方式迭代求解:
βT(i)=1
定义辅助变量:
γt(i)=P(qt=i|OT,λ)
γ变量可通过变量α和β计算
参数λ估计的具体步骤如下:
1、使用类别c对应的观测序列集合{O}作为训练数据;
2、使用K-means聚类算法对观测值进行聚类,将观测数据分类为Q个状态;3、初始化HMM参数λ:
4、对每一个观测序列OT∈{O},迭代计算变量αt(i)、βt(i);
5、计算变量γt(i),并依据以下公式推断观测序列OT对应的最佳状态序列q1q2...qT
6、依据步骤3中公式重新估计HMM参数然后判断是否满足收敛条件,若满足则停止训练,否则转至步骤4。
其中收敛条件有两个:一是迭代次数达到设定最大值;二是迭代后观测序列相对于模型似然概率的差值小于设定阈值ε,即若满足其中条件之一,则停止训练,并输出模型参数。
2)对于类别c中所有的观测序列OT=(o1,o2,...,oT),利用训练好的HMM模型,找到生成该观测序列的最佳状态序列(q1,q2,..,qT)。在前述估计HMM参数的过程中,可以依据步骤5得到,在计算过程中保存模型收敛时对应的该变量即可。对于C个HMM模型,共有C×Q个状态,其数目等于DNN的输出层神经元数目,将其映射到DNN的输出标签。
3)使用所有类型的观测序列和对应的状态序列,训练一个统一的DNN来估计观测特征在HMM状态上的后验概率P(qt=si|ot)。DNN的结构示意图如图5所示:其各层之间使用全连接结构,其中DNN输入层的神经元数目等于上下文相关的观测值的维度;DNN输出层的神经元数目等于C×Q,并使用softmax作为输出层激活函数,例如当上下文窗口的大小N时,DNN输入样本为(ot-N:t+N,qt)。使用BP算法对网络进行训练。
识别内容
对于实时的网络流量序列O,利用训练好的模型识别其内容类型。
模型计算该观测序列O在每一个HMM上的似然概率P(O|λc),选择输出概率最大的模型作为该流量的类别标签。具体过程如下:首先观测序列O被输入到DNN中,DNN输出观测值在每个状态上的后验概率P(qt=s|ot)。然后计算序列相对于每一个模型的似然概率P(O|λc),因为计算P(O|λc)需要似然度P(ot|qt=s),所以利用贝叶斯公式做如下转化:
其中,状态s为状态集合中一个,P(s)通过统计训练样本中状态s的出现频率获得。P(ot)是与状态无关的,在计算时可以作为常量被忽略,则可使用一个经过缩放的似然度P(ot|qt=s)=P(qt=s|ot)/P(s)简化计算。
最后,观测序列O的预测类别由以下公式确定:
其中观测序列相对于给定模型的似然概率通过以下方法计算:
模型更新
模型更新指利用识别的网络流数据和历史模型参数对模型进行更新。
网络环境会随着时间的推移发生改变,造成同一通信内容产生的网络流特征的改变,使用旧的模型不能够预测新的数据,因此需要对模型定期更新以解决“概念漂移”的问题。在更新周期内,利用当前网络环境下识别的网络流数据,使用增量学习的方式对现有模型重新训练,更新模型的参数,以适应网络环境的变化,提升模型的精度。增量学习的步骤如下:
1、输入当前识别的网络流序列OT和对应类别的历史HMM的参数λ;
2、计算当前模型参数下OT对应的最佳状态序列(q1q2…qT);
3、更新模型参数
其中与{O}有关的变量均在历史模型参数估计过程中的已经得到;
4、判断是否满足收敛条件,若满足则停止训练,否则转至步骤2。
5、使用历史DNN的参数对网络进行初始化,将作为训练数据,使用BP算法重新训练DNN。
实施例
为验证本发明提出方法的可行性,设计以下实验过程:实验考虑了四种常见的内容类型,包括图片(包含JPEG格式和PNG格式)、音频(包含mp3、m4a、mp4等格式)、直播视频、点播视频。在真实的网络环境中采集了这四种内容产生的网络流量,样本分布的详细情况见表2。实验环境为PC机,Windows 10 64位系统,i7-7700主频3.6GHz,内存32G,使用Matlab作为编程语言和工具。
表2
内容类别 训练样本数量 测试样本数量
图片 2679 1148
音频 148 122
直播视频 241 210
点播视频 227 135
实验采用一个3状态的HMM为网络流建模,训练了一个包含4层隐藏层,每层20个神经元结构的DNN,使用相邻5个观测值信息作为DNN的输入。模型在测试集上得到的混淆矩阵如表3所示,四种内容类型均可达到94%以上的识别准确率,证明了本方法的可行性。
表3
图片 音频 点播视频 直播视频
图片 94.86 0.96 4.18 0
音频 0 98.36 1.64 0
直播视频 1.43 0 98.57 0
点播视频 0 0 2.96 97.04
实验对比了HMM使用混合高斯模型(Gaussian Mixture Model,GMM)作为状态的概率分布函数进行分类的结果。通过图6可知,相比GMM-HMM模型,三种类型的流量分类准确率显著提升,分别是图片、音频和直播视频。点播视频在两种模型下均具有较高的识别准确率。分析原因可知,GMM-HMM只能依据当前的观测值计算状态输出概率,而DNN-HMM模型在计算概率时引入了上下文观测值的信息,同时DNN相比具有更强的非线性表示学习能力,使得对状态的估计更加准确,因此具有更加精确的分类性能。
同时,将本方法与前文提到的一些方法进行比较,其结果如表4。从表中可以看出:首先,本发明的方法和KNN方法可以实现流量的实时分类,因为本方法只使用两个分组级别的特征,而KNN方法使用GPU实施运算加速。RBM方法和k-Means方法需要等到流结束,然后进行多个特征的计算,因而不具备实时分类的能力。其次,本发明的方法和DPI+DFI能利用识别的网络流对模型参数进行更新,增强了模型的鲁棒性,确保了分类器的精度不受时间推移的影响,因而具备连续分类的能力。然后,所有的方法都可以实现对加密流量的识别,符合当前网络流分类的要求。最后,本发明的方法依据网络流传输的内容对流量进行分类,该分类是与协议无关的,是一种更加细粒度的分类方法,能够有效解决传统的依据协议分类造成多种不同业务流量被划分为同一种类型的问题。
表4
Ours kNN-GPU RBM DPI+DFI k-Means
实时性 Yes Yes No N/A No
连续分类 Yes No No Yes No
加密流量 Yes Yes Yes Yes Yes
协议无关 Yes No N/A No No
(注:Yes表示具备,No表示不具备,N/A表示未明确)
以上所述为本发明的较佳实施例,所选模型参数并不是固定的,包括HMM状态数、DNN的结构参数,并非因此限制本发明的专利范围。依据本发明的思路,在实际应用中,还可以选取其他变量作为观测值,通过调整模型结构参数,对其他多种内容类型的流量进行分类。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (7)

1.一种基于网络流行为的内容感知方法,其特征在于,包括模型训练阶段、内容识别阶段以及模型更新阶段;
其中模型训练阶段:从外部网络采集网络流数据,并提取观测特征得到训练样本,然后使用DNN-HMM模型对网络流行为建模,再利用训练样本对模型进行训练得到模型参数;
内容识别阶段:将采集的待检测的实时网络流输入到训练后的DNN-HMM模型,模型输出该网络流的内容类别;
模型更新阶段:把识别的网络流数据反馈回DNN-HMM模型,对模型的参数进行更新得到新的DNN-HMM模型。
2.根据权利要求1所述的内容感知方法,其特征在于,获取训练样本包含两步:流量采集和观测特征提取;首先在客户端访问指定类型的内容,同时利用流量采集工具在网络出口节点采集产生的网络流量并标注其类型;然后将采集的流量依据五元组划分成单一的网络流,并提取流的观测特征。
3.根据权利要求2所述的内容感知方法,其特征在于,选取网络流中数据包的字节数和到达时间作为观测值。
4.根据权利要求1所述的内容感知方法,其特征在于,所述DNN-HMM模型,其HMM用来描述网络流特征的动态变化,DNN模型位于HMM之上;即在给定观测值的条件下,使用DNN的每个输出节点来估计对应状态的后验概率,DNN的每个输出节点与HMM的对应一个状态对应;
具体是:由DNN模型对给定观测值进行分类,再用HMM描述网络流特征的动态变化。
5.根据权利要求4所述的内容感知方法,其特征在于,在模型训练阶段获取模型参数方式如下:
利用采集的网络样本数据,对DNN-HMM模型进行训练;为方便计算,将t时刻的观测值ot进行离散化处理,数据包长度和到达时间分别被量化到对应的区间;模型训练过程可以分成三个步骤:
1)为每一种内容类型c建立一个包含Q个状态的HMM,使用对应类型的训练数据输入到模型进行训练,得到相应的HMM的参数λc
为便于计算,首先定义以下辅助变量:
αt(i)=P(o1:t,qt=si),1≤t≤T;1≤i≤Q
α变量按以下方式迭代求解:
α1(i)=πibi(ot)
定义辅助变量:
βt(i)=P(ot+1:T|qt=si),1≤t<T;1≤i≤Q
β变量按以下方式迭代求解:
βT(i)=1
定义辅助变量:
γt(i)=P(qt=i|OT,λ)
γ变量通过变量α和β计算:
参数λ估计的具体步骤如下:
1、使用类别c对应的观测序列集合{O}作为训练数据;
2、使用K-means聚类算法对观测值进行聚类,将观测数据分类为Q个状态;
3、初始化HMM参数λ:
4、对每一个观测序列OT∈{O},迭代计算变量αt(i)、βt(i);
5、计算变量γt(i),并依据以下公式推断观测序列OT对应的最佳状态序列q1,q2,..,qT
6、依据步骤3中公式重新估计HMM参数然后判断是否满足收敛条件,若满足则停止训练,否则转至步骤4;
其中收敛条件有两个:一是迭代次数达到设定最大值;二是迭代后观测序列相对于模型似然概率的差值小于设定阈值ε,即若满足其中条件之一,则停止训练,并输出模型参数;
2)对于类别c中所有的观测序列OT=(o1,o2,...,oT),利用训练好的HMM模型,找到生成该观测序列的最佳状态序列(q1,q2,..,qT);在前述估计HMM参数的过程中,依据步骤5得到,在计算过程中保存模型收敛时对应的该变量即可;对于C个HMM模型,共有C×Q个状态,其数目等于DNN的输出层神经元数目,将其映射到DNN的输出标签;
3)使用所有类型的观测序列和对应的状态序列,训练一个统一的DNN来估计观测特征在HMM状态上的后验概率P(qt=si|ot);DNN各层之间使用全连接结构,其中DNN输入层的神经元数目等于上下文相关的观测值的维度;DNN输出层的神经元数目等于C×Q,并使用softmax作为输出层激活函数,使用BP算法对网络进行训练。
6.根据权利要求4所述的内容感知方法,其特征在于,所述内容识别阶段的具体过程为:
对于实时的网络流量序列O,利用训练好的模型识别其内容类型;
模型计算该观测序列O在每一个HMM上的似然概率P(O|λc),选择输出概率最大的模型作为该流量的类别标签;具体过程如下:首先观测序列O被输入到DNN中,DNN输出观测值在每个状态上的后验概率P(qt=s|ot);然后计算序列相对于每一个模型的似然概率P(O|λc),因为计算P(O|λc)需要似然度P(ot|qt=s),所以利用贝叶斯公式做如下转化:
其中,状态s为状态集合中一个,P(s)通过统计训练样本中状态s的出现频率获得;P(ot)是与状态无关的,在计算时可以作为常量被忽略,则可使用一个经过缩放的似然度P(ot|qt=s)=P(qt=s|ot)/P(s)简化计算;
最后,观测序列O的预测类别由以下公式确定:
其中观测序列相对于给定模型的似然概率通过以下方法计算:
7.根据权利要求4所述的内容感知方法,其特征在于,模型更新阶段是指利用识别的网络流数据和历史模型参数对模型进行更新,具体是:
在更新周期内,利用当前网络环境下识别的网络流数据,使用增量学习的方式对现有模型重新训练,更新模型的参数,其增量学习的步骤如下:
(1)输入当前识别的网络流序列OT和对应类别的历史HMM的参数λ;
(2)计算当前模型参数下OT对应的最佳状态序列(q1,q2,..,qT);
(3)更新模型参数
其中与{O}有关的变量均在历史模型参数估计过程中的已经得到;
(4)判断是否满足收敛条件,若满足则停止训练,否则转至步骤2;
(5)使用历史DNN的参数对网络进行初始化,将作为训练数据,使用BP算法重新训练DNN。
CN201810728170.XA 2018-07-05 2018-07-05 一种基于网络流行为的内容感知方法 Active CN108900432B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810728170.XA CN108900432B (zh) 2018-07-05 2018-07-05 一种基于网络流行为的内容感知方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810728170.XA CN108900432B (zh) 2018-07-05 2018-07-05 一种基于网络流行为的内容感知方法

Publications (2)

Publication Number Publication Date
CN108900432A true CN108900432A (zh) 2018-11-27
CN108900432B CN108900432B (zh) 2021-10-08

Family

ID=64348205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810728170.XA Active CN108900432B (zh) 2018-07-05 2018-07-05 一种基于网络流行为的内容感知方法

Country Status (1)

Country Link
CN (1) CN108900432B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109361619A (zh) * 2018-12-27 2019-02-19 北京天融信网络安全技术有限公司 一种流量分类方法及电子设备
CN109617904A (zh) * 2018-12-29 2019-04-12 江苏天创科技有限公司 一种IPv6网络中的HTTPS应用识别方法
CN109635098A (zh) * 2018-12-20 2019-04-16 东软集团股份有限公司 一种智能问答方法、装置、设备及介质
CN109873774A (zh) * 2019-01-15 2019-06-11 北京邮电大学 一种网络流量识别方法及装置
CN109981474A (zh) * 2019-03-26 2019-07-05 中国科学院信息工程研究所 一种面向应用软件的网络流量细粒度分类系统及方法
CN109998525A (zh) * 2019-04-03 2019-07-12 哈尔滨理工大学 一种基于判别式深度置信网络的心律失常自动分类方法
CN110011932A (zh) * 2019-04-18 2019-07-12 清华大学深圳研究生院 一种可识别未知流量的网络流量分类方法和终端设备
CN110225001A (zh) * 2019-05-21 2019-09-10 清华大学深圳研究生院 一种基于主题模型的动态自更新网络流量分类方法
CN110247930A (zh) * 2019-07-01 2019-09-17 北京理工大学 一种基于深度神经网络的加密网络流量识别方法
CN110691003A (zh) * 2019-09-04 2020-01-14 北京天融信网络安全技术有限公司 一种网络流量分类方法、装置和存储介质
CN111277433A (zh) * 2020-01-15 2020-06-12 同济大学 基于属性网络表征学习的网络服务异常检测方法及装置
WO2020119481A1 (zh) * 2018-12-11 2020-06-18 深圳先进技术研究院 一种基于深度学习的网络流量分类方法、系统及电子设备
CN111310796A (zh) * 2020-01-19 2020-06-19 中山大学 一种面向加密网络流的Web用户点击识别方法
CN109412900B (zh) * 2018-12-04 2020-08-21 腾讯科技(深圳)有限公司 一种网络状态识别的方法、模型训练的方法及装置
WO2021052379A1 (zh) * 2019-09-16 2021-03-25 华为技术有限公司 一种数据流类型识别方法及相关设备
CN112994966A (zh) * 2019-12-17 2021-06-18 上海大学 基于深度学习的通用网络流量识别方法
CN113259331A (zh) * 2021-04-29 2021-08-13 上海电力大学 一种基于增量学习的未知异常流量在线检测方法及系统
CN114035935A (zh) * 2021-10-13 2022-02-11 上海交通大学 面向多阶段ai云服务的高吞吐异构资源管理方法及器件

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030076601A (ko) * 2001-01-05 2003-09-26 콸콤 인코포레이티드 분산형 음성 인식 시스템에서 음성 인식을 위한 시스템 및방법
CN103500307A (zh) * 2013-09-26 2014-01-08 北京邮电大学 一种基于行为模型的移动互联网恶意应用软件检测方法
CN106411597A (zh) * 2016-10-14 2017-02-15 广东工业大学 一种网络流量异常检测方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030076601A (ko) * 2001-01-05 2003-09-26 콸콤 인코포레이티드 분산형 음성 인식 시스템에서 음성 인식을 위한 시스템 및방법
CN103500307A (zh) * 2013-09-26 2014-01-08 北京邮电大学 一种基于行为模型的移动互联网恶意应用软件检测方法
CN106411597A (zh) * 2016-10-14 2017-02-15 广东工业大学 一种网络流量异常检测方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谢逸,余顺争: "基于Web用户浏览行为的统计异常检测", 《JOURNAL OF SOFTWARE》 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109412900B (zh) * 2018-12-04 2020-08-21 腾讯科技(深圳)有限公司 一种网络状态识别的方法、模型训练的方法及装置
WO2020119481A1 (zh) * 2018-12-11 2020-06-18 深圳先进技术研究院 一种基于深度学习的网络流量分类方法、系统及电子设备
CN109635098A (zh) * 2018-12-20 2019-04-16 东软集团股份有限公司 一种智能问答方法、装置、设备及介质
CN109635098B (zh) * 2018-12-20 2020-08-21 东软集团股份有限公司 一种智能问答方法、装置、设备及介质
CN109361619A (zh) * 2018-12-27 2019-02-19 北京天融信网络安全技术有限公司 一种流量分类方法及电子设备
CN109617904A (zh) * 2018-12-29 2019-04-12 江苏天创科技有限公司 一种IPv6网络中的HTTPS应用识别方法
CN109873774A (zh) * 2019-01-15 2019-06-11 北京邮电大学 一种网络流量识别方法及装置
CN109873774B (zh) * 2019-01-15 2021-01-01 北京邮电大学 一种网络流量识别方法及装置
CN109981474A (zh) * 2019-03-26 2019-07-05 中国科学院信息工程研究所 一种面向应用软件的网络流量细粒度分类系统及方法
CN109998525B (zh) * 2019-04-03 2022-05-20 哈尔滨理工大学 一种基于判别式深度置信网络的心律失常自动分类方法
CN109998525A (zh) * 2019-04-03 2019-07-12 哈尔滨理工大学 一种基于判别式深度置信网络的心律失常自动分类方法
CN110011932B (zh) * 2019-04-18 2022-04-05 清华大学深圳研究生院 一种可识别未知流量的网络流量分类方法和终端设备
CN110011932A (zh) * 2019-04-18 2019-07-12 清华大学深圳研究生院 一种可识别未知流量的网络流量分类方法和终端设备
CN110225001B (zh) * 2019-05-21 2021-06-04 清华大学深圳研究生院 一种基于主题模型的动态自更新网络流量分类方法
CN110225001A (zh) * 2019-05-21 2019-09-10 清华大学深圳研究生院 一种基于主题模型的动态自更新网络流量分类方法
CN110247930A (zh) * 2019-07-01 2019-09-17 北京理工大学 一种基于深度神经网络的加密网络流量识别方法
CN110691003A (zh) * 2019-09-04 2020-01-14 北京天融信网络安全技术有限公司 一种网络流量分类方法、装置和存储介质
WO2021052379A1 (zh) * 2019-09-16 2021-03-25 华为技术有限公司 一种数据流类型识别方法及相关设备
US11838215B2 (en) 2019-09-16 2023-12-05 Huawei Technologies Co., Ltd. Data stream classification method and related device
CN112994966A (zh) * 2019-12-17 2021-06-18 上海大学 基于深度学习的通用网络流量识别方法
CN111277433A (zh) * 2020-01-15 2020-06-12 同济大学 基于属性网络表征学习的网络服务异常检测方法及装置
CN111277433B (zh) * 2020-01-15 2021-02-12 同济大学 基于属性网络表征学习的网络服务异常检测方法及装置
CN111310796A (zh) * 2020-01-19 2020-06-19 中山大学 一种面向加密网络流的Web用户点击识别方法
CN111310796B (zh) * 2020-01-19 2023-05-02 中山大学 一种面向加密网络流的Web用户点击识别方法
CN113259331A (zh) * 2021-04-29 2021-08-13 上海电力大学 一种基于增量学习的未知异常流量在线检测方法及系统
CN114035935A (zh) * 2021-10-13 2022-02-11 上海交通大学 面向多阶段ai云服务的高吞吐异构资源管理方法及器件

Also Published As

Publication number Publication date
CN108900432B (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
CN108900432A (zh) 一种基于网络流行为的内容感知方法
Alshammari et al. Identification of VoIP encrypted traffic using a machine learning approach
Singh Performance analysis of unsupervised machine learning techniques for network traffic classification
CN105871832A (zh) 一种基于协议属性的网络应用加密流量识别方法及其装置
CN105516020B (zh) 一种基于本体知识推理的并行网络流量分类方法
CN105591972B (zh) 一种基于本体的网络流量分类方法
CN112822189A (zh) 一种流量识别方法及装置
CN110225001A (zh) 一种基于主题模型的动态自更新网络流量分类方法
CN109194498A (zh) 一种基于lstm的网络流量预测方法
Vinayakumar et al. Secure shell (ssh) traffic analysis with flow based features using shallow and deep networks
CN111711545A (zh) 一种软件定义网络中基于深度包检测技术的加密流量智能识别方法
Chen et al. Sequential message characterization for early classification of encrypted internet traffic
Zhai et al. Random forest based traffic classification method in SDN
Xu et al. A traffic classification method based on packet transport layer payload by ensemble learning
Tan et al. An Internet Traffic Identification Approach Based on GA and PSO-SVM.
Dong et al. Flow cluster algorithm based on improved K-means method
Dixit et al. Internet traffic detection using naïve bayes and K-Nearest neighbors (KNN) algorithm
CN104468276B (zh) 基于随机抽样多分类器的网络流量识别方法
Min et al. Online Internet traffic identification algorithm based on multistage classifier
Yang et al. Deep learning and traffic classification: Lessons learned from a commercial-grade dataset with hundreds of encrypted and zero-day applications
Tan et al. A novel internet traffic identification approach using wavelet packet decomposition and neural network
Wang et al. A two-phase approach to fast and accurate classification of encrypted traffic
Munther et al. A performance study of hidden Markov model and random forest in internet traffic classification
Wang et al. Unknown pattern extraction for statistical network protocol identification
Nascimento et al. Comparative study of a Hybrid Model for network traffic identification and its optimization using Firefly Algorithm

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