APP下载

基于卷积神经网络的复杂网络加密流量识别研究

2018-12-10董浩李烨

软件导刊 2018年9期
关键词:字节数据包加密

董浩 李烨

摘要 通信中的流量识别工作将直接影响网络管理整体效率。针对复杂网络中的加密流量识别问题,结合网络流量与文本结构相似性,提出一种基于卷积神经网络的优化识别模型。综合考虑数据包的多样性,对原始网络数据进行预处理,以保证算法输入数据结构的一致性。同时,算法增加卷积操作,以提高模型特征提取效率。仿真结果表明,提出的卷积神经网络模型在复杂网络环境中,加密流量的服务识别与应用识别都有较高准确率。

关键词

流量识别;复杂网络;加密;卷积神经网络;预处理;特征提取

DOIDOI:10.11907/rjdk.182192

中图分类号:TP309.7

文献标识码:A文章编号文章编号:16727800(2018)009020305

英文标题Encrypted Traffic Classification in Complex Network

Based on Convolution Neural Network

——副标题

英文作者DONG Hao,LI Ye

英文作者单位(School of Opticalelectrical Information and Computer Engineering, University of Shanghai

for Science and Technology, Shanghai 200093, China)

英文摘要Abstract:In network communication, the traffic classification directly affects the overall efficiency of network management. To solve the problem of encrypted traffic classification in complex network, a classification model based on convolution neural network is proposed according to the structure similarity of network traffic and text. In order to avoid the influence of packets diversity, data preprocessing is carried out in original network data to ensure the consistency of the algorithm input data. And the algorithm model adds convolution operation to increase the efficiency of feature extraction. Simulation results show that the classification model with high accuracy could be achieved through convolution neural network algorithm in both service classification and application classification of encrypted traffic in complex network environment.

英文关键词Key Words:traffic classification;complex network;encryption;convolution neural network;preprocessing;feature extraction

0引言

随着通信技术的发展与用户需求的不断提升,网络流量及相关业务服务持续增加,网络规模也逐渐扩大,并且从提供单一功能的简单网络转变为能够同时提供多种功能的复杂网络[12]。同时,加密技术的进步与人们加密意识的增强导致网络中的加密流量比例快速增长,从而使网络管理工作日益困难[34]。流量识别作为网络管理的关键技术之一,是提升网络管理水平、改善服务质量(QoS)的基础,如何在复杂网络中识别加密流量是网络发展过程中一个亟待解决的问题。

目前,网络中的加密流量识别技术研究已取得了不少成果。不同于未加密流量识别,加密流量识别的研究对象不再是流量内容的有效信息。文献[5]通过分析数据分组得到的有效负载识别加密流量,但因为需要解析数据分组负载,可能涉及触犯隐私等问题,实际应用性很差;文献[6]通过分析数组分组大小分布,从而识别出加密流量中的不同业务类型;文献[7]利用加密流量的随机性对负载进行累计与检验,并根据报文长度进行加权综合,最终实现在线识别。由于加密技术只对载荷信息进行加密,而不对流统计特征进行处理,文献[8]-[10]提出基于流统计特征的機器学习识别方法,该方法准确率高,可以较好地适用于不同网络环境,但其对流的统计特征工作提出了很高要求;文献[11]、[12]从主机角度分析不同业务行为特征,对加密流量进行粗粒度识别;此外,文献[13]、[14]集成了多种方法,高效实现了加密流量识别。

上述加密流量识别方法实际是在通信过程中对各种类型的加密流量特征进行识别,如行为特征、统计特征等。特征选取质量对识别方法的准确率影响很大。目前,深度学习发展迅速,其中卷积神经网络算法能自动提取原始数据中的特征,从而有效解决了识别率依赖于人为特征选择的不足[1516]。

1相关工作

1.1卷积神经网络

卷积神经网络(Convolutional Neural Network, CNN)是基于深度学习理论的人工神经网络,提供了一种端到端的学习模型,模型中的参数可通过传统梯度下降方法进行训练。经过训练的卷积神经网络能够学习原始数据中的特征,并且完成对数据特征的提取与分类[1718]。作为神经网络领域的一个重要研究分支,卷积神经网络的特点在于其每一层特征都由上一层局部区域通过共享权值的卷积核激励得到[1920]。该特点使卷积神经网络相比于其它神经网络方法,更适合应用于数据特征学习中。

1.2复杂网络

复杂网络中整合了多种不同网络功能与服务业务,广泛采用分布式技术与负载均衡技术,以提高服务效率,并采用多种网络协议,从而保证数据传输的高效性与安全性。然而,复杂网络的应用在提高用户使用便捷性的同时,也为网络运营商带来了很多管理问题。其中面对多源、异构、海量的网络流量数据,现有流量分类技术面临数据结构不一致、不能共享及重用现有分类知识效率低等问题,造成流量分类为决策分析提供的资源信息受限[2122]。因此,迫切需要一种高效、可扩展的网络流量数据描述及管理方法,以支持更深层次的流量分类,并适应高速发展的大规模复杂网络环境。

1.3加密流量

加密流量是由加密算法生成的流量,其与未加密流量识别的本质区别在于,其因加密使得用于区分的特征发生改变,如明文变为密文,统计特性与特征发生改变等。目前,虚拟专用网(VPN)、安全套接字层(SSL)、安全外壳协议(SSH)以及匿名通信(Tor)[23]等加密技术逐渐发展成熟,并且加密协议由于具有良好的兼容性与可扩张性[24],使加密流量在网络中的应用越来越广,从而使传统识别方法如基于端口与应用层负载的方法很难或根本无法适用于加密流量识别[8]。考虑到复杂网络中业务流种类的多样性与加密流量的复杂度,兼容性更广、稳健性更好的识别模型才能满足当前的网络管理要求。

2卷积神经网络加密流量识别算法

2.1模型构造

考虑到网络通信中产生的网络流量本质上是连续数据,网络流的层次结构定义了其数据格式是一维字节流。相比于网络流中的字节,数据包与业务流的结构非常类似于字、句子与文章。近年来,由于CNN在文本分类等自然语言处理领域的成功应用,本文综合考虑采用一维度CNN进行复杂网络的加密流量识别模型训练。

2.2数据预处理

预处理作用是将网络中捕获的数据包转换成结构一致的CNN模型输入格式。考虑到加密字节信息、传输协议选择、数据包捕获位置与数据包大小的影响,数据预处理包括4个步骤:

(1)加密干扰消除。删除地址信息字节(如IP地址、端口号)。加密数据包的地址信息是随机产生的,且同一网络发送的数据包即使不加密也会有相同地址信息,这都会对模型识别产生干扰。

(2)路径干扰消除。删除网络头部信息字节,如数据链路层捕获的数据包包含了以太网头部,其中的媒体访问控制(MAC)地址用来转发网络中的帧。这些字节信息描述的是网络而不是数据特征,需要删除。

(3)传输协议统一。传输层协议TCP与UDP的报头字节长度不同,则会破坏数据结构。本文通过在UDP报头后增加空白字节,以保证数据内容中传输层不同协议占有的字节数一致。

(4)模型输入统一。网络中捕获的数据包大小不一,考虑到CNN模型需要固定大小的数据输入,因此需修剪数据包。本文CNN模型的输入为784字节(28*28),数据包经过前3步预处理后,若多于784字节,则删除784字节之后的内容,若少于784字节,则用空白字节填补。

2.3卷积神经网络

CNN分为5部分:输入层、卷积层、池化层、全连接层与输出层。

(1)输入层。本文选取经过预处理的数据组成一幅1@28×28的灰度图像,“1”表示图像通道数,由矩阵Rqn×n表示,其中q∈[0,m],m为模型输入个数,n×n表示矩阵结构与大小。

(2)卷积层。卷积层通过指定不同窗口值提取数据矩阵Rqn×n的不同特征信息,并通過不同卷积核提取数据中的不同特征Hi。

Hi=f(Hi-1Wi+bi) (1)

其中,Hi表示第i层的特征图(H0=Rn×n),Wi表示第i层卷积核的权值向量,运算符号“”表示卷积核与第i-1层图像或特征图进行卷积操作,bi为偏移向量,f(x)是非线性激励函数。

(3)池化层。为了对特征图进行降维,在一定程度上保持特征的尺度不变特性,池化层依据一定池化规则对特征图Hi进行池化操作,提取特征映射中的重要特征Hi+1。

Hi+1=pooling(Hi) (2)

其中,pooling(x)表示池化规则,主要分为最大池化与均值池化两种。

(4)全连接层。全连接层中每个神经元与其前一层的所有神经元进行全连接,其可以整合卷积层或池化层中具有类别区分性的局部信息。

yl=g(yl-1·(wldl)+bl)(3)

其中,yl表示第l层全连接层的神经元向量,y0是由最后一个池化层所得特征图Hn平铺得到的,wl表示第l层全连接层的权值向量,dl是屏蔽向量,运算符号“”表示元素相乘,bl为偏移向量,g(x)是神经元激励函数。(wldl)表示采用正则化方法——丢失数据(dropout)技术,通过一定概率屏蔽神经网络单元,从而避免过拟合。

(5)输出层。CNN依靠全连接网络对提取特征进行分类。最后一层全连接层的输出值yζ被传递给输出层,可以采用softmax逻辑回归进行分类。

Y=softmax(yζ) (4)

其中,Y表示每个分类标签的概率分布。

CNN本质上是使输入矩阵Rn×n经过多层的数据变换与降维,映射到一个新的特征表达P的数学模型。

Y(j)=P(X=Lj∣Rn×n;(W,b);(w,b,d)) (5)

其中,X表示输入矩阵Rn×n被预测的标签类别,Lj表示第j个标签类别。

本文选取经过预处理的数据组成一幅1@28*28的灰度图像。通过结合前期模型结构不断实验尝试,本文改进了经典卷积神经网络结构,通过在卷积层之后增加一层卷积层,以更有效地提取数据包特征。模型参数设置见表1。

2.4模型训练

本文模型属于有监督模型,模型根据输出结果计算残差并更新模型参数,最小化模型的损失函数为L(θ)。训练采用均方误差(Mean Squared Error, MSE)函数,并引入权重衰减 (weight decay)对参数进行正则化。

L(θ)=1m∑mk(P(Xk∣Rkn×n,θ)-P)2+λ2∑mk∑qsθ2 (6)

其中,P(Xk∣Rkn×n,θ)为预测概率值;P为输入数据Rkn×n的正确标签;θ表示当前网络权值构成的向量空间,包括(Wi,bi,wl,bl);q表示θ的数量;λ为正则化系数,可控制过拟合作用强度。

训练过程中采用梯度下降法,即残差通过梯度下降进行方向传播,更新可训练参数θ。

θs=θs-ηL(θ)θs (7)

其中,η表示学习速率,用于控制残差方向传播强度。

3实验

3.1实验环境

本文实验环境及其配置如表2所示。

3.2实验数据集

本文模型处理复杂网络中加密流量的业务识别,属于有监督的深度学习模型,需要较多高质量且类型多样的训练数据才能保证模型有效性。本文采用UNB大学公开的ISCX数据集[25],标签中主要包括2种加密状态、7个服务种类与17种应用类型。然而,数据集中存在标签模糊(如“Facebook_video.pcap”既属于网页流量又属于视频流量)、样本数量过少(如应用类型中的 “ICQ”,样本数量不足其它类型的110)及缺少加密与未加密对照数据(如应用类型中的“TOR”没有加密数据)等问题。结合复杂网络的实际流量情况,本文实验分为两个层次:流量的服务识别与应用识别。采用的实验数据内容包括2种加密状态、6种服务种类与13种应用类型。其中各数据比例如表3、表4所示。

3.3实验结果分析

在机器学习、模型分类问题中,评估是一个重要环节,评价指标通常采用查准率(Pc)、查全率(Rc)与综合评价指标(F1),分别定义为:

Pc=TPtTPt+FPt(8)

Rc=TPtTPt+FNt (9)

F1=2Pc·RcPc+Rc (10)

其中,t是样本类型,TP是实际类型为t的样本中被正确标记的样本数,FP是实际类型为非t样本中被误标记为t的样本数,TN是实际类型为t的样本中被误标识为其它类型样本数,TN是实际类型为非t样本中被标识为非t的样本数。查准率与查全率体现了识别模型在每个单独类型上的识别效果,特别是当样本类别分布不均匀时,能够准确获知每个类别分类情况。综合评价指标越高,表明算法对各类型的分类性能越好。

为了比较本文提出算法模型的有效性与数据预处理的可靠性,服务识别实验分为两组。第一组使用随机森林(RF),数据使用ISCX数据集中与数据包数据对应的流特征数据,第二组使用改进卷积神经网络。实验各类别的样本比例相同,如表 3所示。服务识别检测结果如表5所示。

由表 5可以看出,本文算法以经过预处理的原始网络数据作为输入,通过卷积神经网络提取特征,对复杂网络环境中的加密流量具有较好的服务分类效果。相比于传统机器学习算法RF,网络流量服务识别的查准率、查全率及综合评价指标明显提高,且每种服务类型都具有很好的识别效果,各项指标都超过了95%,整体的服务识别准确率为98.5%,相比RF提高了14.1%。该结果证明了卷积神经网络在加密流量识别中的实用性与有效性。

表6是本文改进卷积神经网络(CNN1)与经典卷积神经网络(CNN2)的應用识别结果对比。在复杂网络加密流量应用识别中,机器学习算法效率较低,部分类型识别准确率低于50%,无法满足网络管理需求,而本文改进的卷积神经网络算法识别率依然很高,对13种流量应用类型的识别率都超过86%,整体准确率达到93.4%,相比经典卷积神经网络提高了3.5%,有效证明了本文算法对特征提取的改进能提高识别准确率,并能很好地完成对复杂网络中加密流量的识别任务。

3.4模型效果分析

在算法模型上,考虑到将经过预处理的原始数据作为输入,本文改进了传统的卷积神经网络模型。为了验证改进模型效率,本文在相同的两个层面实验上分别增加卷积神经网络模型训练迭代过程对比。

由图1可以看出,本文改进的卷积神经网络模型(CNN1)在处理复杂网络加密业务流识别问题上,因为有特征的二次提取,相比于经典卷积神经网络(CNN2)具有更快的收敛速度,且在识别加密流应用类型方面提高了准确率,说明本文算法模型能更有效地处理复杂网络业务流识别任务。

4结语

针对复杂网络管理中加密业务流识别问题,本文根据自然语言处理中字、单词、句子、文章与流量识别中字节、数据包、业务流及网络流量的结构相似性,以及网络通信中加密技术只对负载信息进行加密的特点,提出基于卷积神经网络的加密流量识别方法。对输入的原数据进行预处理以减少加密信息干扰,且改进了经典卷积神经网络模型,以增强算法对输入数据的特征提取能力。实验中调整了原数据集,以适应复杂网络中流量大、种类杂的特点。实验结果显示,本文提出的识别模型能很好地适应复杂网络环境,且提高了加密业务流的识别率与识别效率,为下一步复杂网络中加密业务流的在线识别奠定了基础。

参考文献参考文献:

[1]张洛什,王大伟,薛一波. 基于流感知的复杂网络应用识别模型[J]. 通信学报,2015(3):188196.

[2]马佳艳,王萍,夏伟,等.复杂网络下的网络流量预测和预警研究[J]. 计算机与现代化,2018(1):102106.

[3]PARK B,HONG W K,WON Y J. Toward finegrained traffic classification[J]. Communications Magazine IEEE,2011,49(7):104111.

[4]BERNAILLE L,TEIXEIRA R,AKODKENOU I,et al. Traffic classification on the fly[J]. Acm Sigcomm Computer Communication Review,2006,36(2):2326.

[5]FINSTERBUSCH M,RICHTER C,ROCHA E,et al. A survey of payloadbased traffic classification approaches[J]. IEEE Communications Surveys & Tutorials,2014,16(2):11351156.

[6]QIN T,WANG L,LIU Z,et al. Robust application identification methods for P2P and VoIP traffic classification in backbone networks[J]. KnowledgeBased Systems,2015,82(C):152162.

[7]赵博,郭虹,刘勤让,等. 基于加权累积和检验的加密流量盲识别算法[J]. 软件学报,2013(6):13341345.

[8]ALSHAMMARI R,ZINCIRHEYWOOD A N. Can encrypted traffic be identified without port numbers,IP addresses and payload inspection[J]. Computer Networks,2011,55(6):13261350.

[9]OKADA Y,ATA S,NAKAMURA N,et al. Comparisons of machine learning algorithms for application identification of encrypted traffic[C].International Conference on Machine Learning and Applications and Workshops. IEEE Computer Society,2011:358361.

[10]HE G,YANG M,LUO J,et al. A novel application classification attack against Tor[J]. Concurrency & Computation Practice & Experience,2015,27(18):56405661.

[11]LI B,MA M,JIN Z. A VoIP traffic identification scheme based on host and flow behavior analysis[J]. Journal of Network & Systems Management,2011,19(1):111129.

[12]HURLEY J,GARCIAPALACIOS E,SEZER S. Hostbased P2P flow identification and use in realtime[M]. ACM,2011.

[13]SUN G L,XUE Y,DONG Y,et al. An novel hybrid method for effectively classifying encrypted traffic[C].Global Telecommunications Conference. IEEE,2010:15.

[14]CALLADO A,KELNER J,SADOK D,et al. Better network traffic identification through the independent combination of techniques[J]. Journal of Network & Computer Applications,2010,33(4):433446.

[15]周飞燕,金林鹏,董军.卷积神经网络研究综述[J].计算机学报,2017,40(6):12291251.

[16]GAO L,CHEN P Y,YU S. Demonstration of convolution kernel operation on resistive crosspoint array[J]. IEEE Electron Device Letters,2016,37(7):870873.

[17]赵志宏,杨绍普,马增强. 基于卷积神经网络LeNet5的车牌字符识别研究[J]. 系统仿真学报,2010,22(3):638641.

[18]HE K,ZHANG X,REN S,et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2015,37(9):19041916.

[19]GU J,WANG Z,KUEN J,et al. Recent advances in convolutional neural networks[J]. Computer Science,2015.

[20]HUANG G B,LEE H,LEARNEDMILLER E G. Learning hierarchical representations for face verification[C]. IEEE Conference on Computer Vision and Pattern Recognition,2012:25182525.

[21]潘吴斌,程光,郭晓军,等. 网络加密流量识别研究综述及展望[J]. 通信学报,2016,37(9):154167.

[22]JOO V GOMES,PEREIRA M,MONTEIRO P P. Detection and classification of peertopeer traffic: a survey[J]. Acm Computing Surveys,2013,45(3):140.

[23]DINGLEDINE R,MATHEWSON N,SYVERSON P. Tor: the secondgeneration onion router[J]. Journal of the Franklin Institute,2004,239(2):135139.

[24]ZHANG X B,LAM S S,LEE D Y,et al. Protocol design for scalable and reliable group rekeying[J]. IEEE/ACM Transactions on Networking,2003,11(6):908922.

[25]Canadian Institute for Cybersecurity[EB/OL].http://unb.ca/cic/research/datasets/CICIDS2017.html.

責任编辑(责任编辑:黄健)

猜你喜欢

字节数据包加密
No.8 字节跳动将推出独立出口电商APP
一种基于熵的混沌加密小波变换水印算法
No.10 “字节跳动手机”要来了?
SmartSniff
简谈MC7字节码
认证加密的研究进展
基于ECC加密的电子商务系统
基于格的公钥加密与证书基加密
视觉注意的数据包优先级排序策略研究
移动IPV6在改进数据包发送路径模型下性能分析