非平衡网络流量识别方法

2018-03-20 00:46燕昺昊韩国栋黄雅静王孝龙
计算机应用 2018年1期
关键词:数据流数据包分类器

燕昺昊,韩国栋,黄雅静,王孝龙

(国家数字交换系统工程技术研究中心,郑州 450002)(*通信作者电子邮箱ndscybh@qq.com)

0 引言

随着互联网技术的飞速发展,涌现出了各式各样的新型网络应用。这些应用在满足人们需求的同时也带来了许多的问题,如网络拥塞[1]、违法信息传播[2]等。而且由于文件共享、视频直播、网络游戏等对等网络(Peer-to-Peer, P2P)应用的迅猛发展,网络带宽愈加不堪重负。P2P应用已经远远超过传统应用流量(如Email、Web),占据了60%~80%的网络带宽[3],成为互联网流量的主流。甚至在某些情况下,P2P流量泛滥,占用带宽过多,造成其他非P2P流量受到严重影响[4],因此,如何快速、准确地识别各类流量,消除P2P流量泛滥带来的影响至关重要。

早期的流量识别方式主要以默认端口为主,具有简单、快捷等优点,但是随着随机端口和伪装技术的出现,此方法已经不再适用[5]。为解决这些问题,出现了基于负载检测的识别方式。虽然此方法精确度很高,但需要消耗大量的计算资源,并且受限于协议加密技术等问题,同样难以满足实际要求[6]。近年来,基于统计特征和机器学习的识别方式(如贝叶斯网络[7]、决策树[8]、支持向量机[9]、神经网络[10]等),以其实时性和高准确性,且不受上述问题限制,成为国内外研究的热点。

但研究发现,实际网络中P2P流量占据大多数,非P2P只占少数,这种情况会显著降低非P2P流量识别准确率,导致整体识别率降低。而现有识别方式都只在特定情况下进行流量识别,并没有考虑实际中存在的流量非平衡问题。

在研究以往流量识别的基础上,本文将非平衡数据分类思想应用于已知流量识别问题,通过引入合成少数类过采样技术(Synthetic Minority Over-sampling Technique, SMOTE)并进行改进,实现了流量的平衡化处理,并将处理后的流量数据应用于不同类型分类器模型。实验结果表明,提出的方法可以有效提高非P2P流量识别准确率及流量整体识别率。本文提出的方法仅用于已知流量识别,而对于未知流量,由于其协议规范一般不公开或经过加密处理,且识别过程需要一定的先验知识(如协议的逆向解析),不在文章研究范围之内。

1 非平衡数据

非平衡数据是指不同类的数据之间数量上的差异,即某一类的数据明显少于另一类或明显少于其他几类。通常将数量占优的一类称为多数类或正类,数量稀少的一类数据成为少数类或负类。

由非平衡数据引出的非平衡数据分类问题,广泛存在于实际应用中,特别是在网络入侵检测[11]、医疗诊断[12]、数据挖掘[13]等方面具有极其重要的研究价值。以网络入侵检测为例,如何快速、有效地在海量正常数据中识别分类出恶意信息是入侵检测的关键。本文中解决的流量失衡问题,也具有非平衡数据的特征。

2 相关分类器及存在缺陷

分类器性能的优劣以及对于非平衡数据的敏感程度,很大程度上决定了非平衡数据的分类效果。本章分析了3种不同类型的分类器及其在非平衡分类方面存在的缺陷。

2.1 随机森林

随机森林(Random Forest, RF)作为一种典型的组合分类器,通过同时生成多棵决策树并运用投票机制(vote mechanism)来进行决策。已有研究表明,随机森林可以很好地解决多分类问题,且不会产生明显的过拟合现象,且分类精度高于单独的决策树分类器。

但随机森林算法也存在缺点:由于随机森林决策树生成采用Bootstrap重抽样方式从原始样本中抽取样本,当某一类或某几类样本明显多于其他样本时,抽取出的多数类样本也必然明显多于少数类样本,从而使分类结果偏向于多数类,造成少数类样本分类精度不高。故随机森林算法无法克服非平衡数据集的影响。

2.2 支持向量机

支持向量机(Support Vector Machine, SVM)是一种采用统计学理论来实现分类的机器学习算法。最初的SVM仅针对两类分类问题,通过在高维空间中寻找一个最优超平面(Optimal Hyperplane)作为两类的分割,以保证最小的总分类错误率。随后针对多分类问题提出了多分类支持向量机(Multi-Class Support Vector Machine, MCSVM),通常采用一对一(One-Vs-One, OVO)或一对多(One-Vs-Rest, OVR)原则将多分类问题映射为二分类问题,但无论哪种分类问题,最终目的都是使总分类错误率最小,故当数据集为非平衡数据集时,分类结果总会倾向于多数类样本,无法很好地处理少数类样本。

2.3 反向传播神经网络

反向传播神经网络(Back Propagation Neural Network,BPNN)也是一种典型的多分类模型,基于人工神经网络发展而来,是采用误差反向传播的一种多层前馈神经网络。BP网络结构简单易于调整,除模式识别、图像处理、数据分类等传统领域外,在网络流量识别方面也有广泛的应用,但当样本数少时,存在明显的过拟合现象,对分类效果影响很大,故同样无法有效地对非平衡流量进行处理。

虽然上述3种常用的分类器在流量识别方面都有不错的效果,但由于自身固有缺陷,均无法很好地解决非平衡流量的识别问题。

3 算法分析及改进

已有研究中对于非平衡数据的分类主要集中在改进分类算法和改善数据集两个方面。例如Apandi等[14]曾提出一种整体加权线性算法来处理视频中的非平衡数据;Liang等[15]提出一种多点聚类算法来分类非平衡数据。本文从数据层面来解决分类问题,引入SMOTE算法[16]。

3.1 SMOTE算法

非平衡数据的传统处理方法包括过采样和减采样,无论哪种方法,都只是机械对原始数据进行简单复制,造成新生成的样本缺乏多样性。而SMOTE算法可看作是传统过采样方法的一种改进,通过在原始样本与最近邻同类样本之间随机线性插入新样本,有效地保持了新生样本的多样性,在提高分类器效果的同时抑制了由样本单一性造成的过拟合现象。

算法过程如下。

1)对于每个少数类样本Xi,从其N个最近邻同类样本中随机选取K个,记为Xk。

2)按照式(1)生成新样本XNew,u(0,1)为(0,1)区间服从均匀分布的随机数:

XNew=Xi+u(0,1)(Xk-Xi)

(1)

3)将生成的样本插入少数类样本集中。

3.2 均值SMOTE算法

均值SMOTE(Mean SMOTE, M-SMOTE)算法也存在某些缺陷,如N值选取需要靠经验来决定,存在盲目性;且当少数类样本边缘化趋势较重时,新生成的样本会加重边缘化趋势。

针对流量分类过程,需要生成的新样本在具有多样性的同时更集中于样本集中心以具有更丰富的特征属性,同时避免N值的盲目选取,提出了M-SMOTE算法,即使用样本平均值点Xmean来代替Xk,在Xmean和Xi之间进行插值。

M-SMOTE算法如下。

设少数类原始样本为:

(2)

平均值表示为:

(3)

(4)

C表示少数类样本个数。新样本生成公式可更新为:

XM-New=Xi+u(0,1)(Xmean-Xi)

(5)

3.3 相似性分析

由于每个样本可看作特征空间的一个N维向量,故采用向量内积形式,将SMOTE算法及M-SMOTE算法中新生成样本,分别与负类样本聚类中心点进行相似性分析。内积作为线性代数中一种计算方法,可有效地度量向量间的相似性程度。如式(6)所示:

(6)

其中n为向量特征维数。

由向量内积概念可知,两组向量间相似性程度越大,内积越大。对于聚类样本,可将Xmean视为样本聚类中心点。故定义样本均值向量Y=Xmean本身内积为标准内积Innerstd:

(7)

将SMOTE算法与M-SMOTE算法新生成样本XNew和XM-New分别与Xmean作内积,并于标准内积比较,来度量两种算法中新生成样本与聚类中心的相似性。过程如下:

(8)

(9)

(10)

同理可得:

(11)

对比式(10)~(11)消去相同项,同时由于为(0,1)上服从均匀分布的任意随机数,可假设式(10)~(11)中取值相同。故化简得:

(12)

(13)

计算Inner1、Inner2与Innerstd之间绝对差值,可得:

|Inner1-Innerstd|>0

(14)

|Inner2-Innerstd|=0

(15)

故有结论:

|Inner1-Innerstd|>|Inner2-Innerstd|

(16)

由式(16)可知,M-SMOTE算法生成新样本与样本均值的内积比SMOTE算法更接近与标准内积。故在相同条件下,可认为M-SMOTE算法生成的新样本更集中于聚类中心点,因而具有更多的特征属性,适用于流量识别过程。

3.4 M-SMOTE算法时间复杂度分析

M-SMOTE算法复杂度主要集中在u(0,1)(Xmean-Xi)一项,其中样本均值Xmean时间复杂度为O(n),n为样本特征维度,因此M-SMOTE算法时间复杂度为O(n·N2),其中N为算法采样率。

由上述分析可知,本文中提出的非平衡流量处理方式其时间复杂度仅与M-SMOTE算法时间复杂度有关,不依赖于具体的分类器,且复杂度低,具有较好的可实现性。

3.5 OVR原则

网络流量通常包含多种P2P和非P2P应用流量,因此流量识别过程为一个多分类过程。而SMOTE算法只适用于二分类,所以引入OVR原则来解决多分类与二分类之间的映射关系。

定义1 当存在多个分类样本集时,只选择一个样本集作为单类样本,其余样本集共同作为同一类样本,称为OVR原则。

对于非平衡数据集,可将少数类样本作为单类样本,其余多数类样本共同作为同一类样本。本文中的SVM分类器同样使用了OVR原则来进行映射。

4 实验设计

4.1 实验数据集

为模拟实际应用中网路流量的非平衡特性,本文采用了主流的4种P2P应用、1种非P2P应用进行分类识别,协议类别包括传输控制协议(Transmission Control Protocol, TCP)和用户报文协议(User Datagram Protocol, UDP)。如表1所示。

表1 应用类型

本文采用的SVM、BP、RF分类器全部属于有监督分类器,需要采用有标签样本进行训练。为获取有标签样本集,采用网络封包分析软件Wireshark对流量数据包进行采集,即在某段时间内,数据生成端只运行一种应用,可在数据采集端获取纯净带标签的数据集。方式如图1所示。

图1 流量数据收集方式

由于实验中采集到的流量以数据包的形式存在,而单个数据包由于特征太少,携带信息量不足,无法很好地进行分类,需要将数据包按照五元组重新整合为数据流的形式,定义如下。

定义2 将{源端口,源IP地址,目的端口,目的IP地址,传输层协议}五种特征的组合称为五元组。

对于TCP协议数据流,通常有两种定义方式:第一种是将起始包(Synchronous, SYN)到终止包(Finish, FIN)之间的所有数据包定义为具有相同五元组的数据流;第二种是以时间为度量,将某段时间内具有相同五元组的数据包定义为一个数据流。

而对于UCP协议,由于属于无链接协议,通常只以时间为度量定义数据流。由于本文中分类的应用既存在TCP也存在UDP,如QQlive和PPstream。故定义如下。

定义3 将时间内具有相同五元组的数据包重新定义为一个数据流(包括TCP和UDP)。

根据定义3,将收集到的数据包重新整理为数据流的形式,并将数据流抽样组合为非平衡数据集。对每种P2P应用抽取104条数据流,非P2P应用抽取500条数据流。

4.2 分类器参数选择

限于篇幅原因,简要介绍分类器参数选取。

支持向量机作为一种映射分类器,通过将低维不可分数据映射到高维空间从而实现线性可分,核函数作为映射函数,对分类结果至关重要。本文选取映射函数为高斯核函数,如式(17)所示:

K(x,x′)=e(-γ‖x-x′‖)

(17)

其中γ取值为0.5。

典型的BP神经网络作为三层网络结构,包括输入层、输出层和隐含层。输入层节点数由输入特征维数决定,输出层节点数由类别数决定,隐含层节点数没有统一的选择方式,一般根据经验选取,如式(18)所示:

(18)

其中:m为输入层节点数,n为输出层节点数,a为[1,10]区间整数。

实验参数如表2所示。

表2 BPNN参数设置

随机森林由单决策树组合而成,通过Bootstrap抽样方式为每棵决策树抽取与原始样本大小相同的训练样本集。本文中选取分类回归树(Classification And Regression Tree, CART)树作为单棵决策树,树中每个节点分裂时选取使平方误差最小的属性进行分裂,并且每棵树的生成并不使用全部特征,而是随机选取部分特征,以降低树与树之间的相关性。文本中选取树的数量为1 000棵,每棵树使用随机变量数由lbM+1确定,其中M为总特征数,故随机变量数选择为6。

4.3 分类特征选择

特征的选择对于分类具有极其重要的意义。Moore等[17]曾统计提取出249种流特征用于流量识别,虽然取得了很高的识别率,但计算复杂度和时间消耗都很高,难以在实际中应用。基于已有的研究统计发现,当特征数维持在10到50之间时,可以在识别率和复杂度之间取得较好的平衡,故在单项识别准确率对比中暂取特征数为20。部分特征如表3所示。

4.4 准确度评价准则

为描述非平衡数据分类准确度,引入如下概念。

真阳性(True Positive, TP) 正类样本正确分类个数;

真阴性(True Negative, TN) 负类样本正确分类个数;

假阳性(False Positive, FP) 负类样本错误分类个数;

假阴性(False Negative, FN) 正类样本错误分类个数。

正、负类样本分类准确度(Accuracy, ACC)定义如下。

正类样本分类准确率=TP/(TP+FN)

负类样本分类准确率=TN/(TN+FP)

为描述非平衡数据总体分类准确率,引入几何平均值(Geometric Mean, G-mean):

(19)

式(19)表明,只有当正、负类样本分类精确度同时处于较高水平,G-mean值才会比较高。

表3 部分数据流特征

4.5 整体流程

实验整体流程如图2所示。

首先将网络数据包按照定义预处理为数据流的形式,通过随机抽样组合为非平衡数据集;然后将数据集分为训练集和测试集,对训练集采用M-SMOTE算法进行平衡化处理并训练分类器;最后用测试集来测试分类效果。

图2 实验整体流程

5 实验结果及分析

采用上述参数,本文仿真实验基于R语言编程实现。设定数据流持续时间为40 s,M-SMOTE算法抽样率为500%,SMOTE算法中K值与M-SMOTE算法抽样率相等。验证方式采用10折交叉验证,将数据平均分为10份,每次轮流取其中1份作为测试集,其余9份作为训练集,共10次实验取平均值。

5.1 单项识别准确度对比

如图3所示,分别为RF、SVM、BPNN 3种分类器识别结果,其中NSMOTE(Non-SMOTE)表示未使用SMOTE算法。可以看出,经过SMOTE算法处理,虽然多数类P2P数据流样本分类精确度略有下降,但少数类非P2P数据流样本分类精确度得到了明显的提升,平均提升了16.5个百分点。

在此基础上,使用M-SMOTE算法后的少数类样本分类精确度相比SMOTE算法仍有所提高,平均提升了3.2个百分点。证明M-SMOTE算法可以进一步改善非平衡流量的识别准确率。

多数类P2P数据流量样分类精度下降的主要原因是因为少数类样本的增多,分类器决策函数或者决策准则不再显著偏向与多数类样本,或者可以认为,SMOTE算法使分类器通过牺牲少量多数类样本,来换取少数类样本的高准确率。

图3 3种算法的实验结果对比

5.2、5.3、5.4节内容基于控制变量法,分析不同因素对M-SMOTE算法中少数类样本识别准确率的影响。

5.2 抽样率对准确度的影响

图4为抽样率对负类样本分类准确率的影响,可以看出,ACC随抽样率整体呈上升趋势,当抽样率较小时,ACC上升较快;当抽样率达到600%时,ACC上升变缓,同时计算资源和时间消耗变大。上升变缓主要是因为当抽样率为600%时,少数类样本数已经足够多,此时样本数不再是限制识别准确率的因素,如需继续提高识别率,需要引入更多的数据流特征。故600%的抽样率适用于M-SMOTE算法,后续G-mean计算采用600%采样率。

5.3 特征数对准确度的影响

图5所示为抽样率为600%条件下特征数对负类样本识别准确率的影响。由图5可知,当特征数为29时,ACC达到预期要求,3种分类器识别率均已超过95%。当特征数大于29时,虽识别率有进一步提高,但是时间开销与计算资源开销明显上升,故特征数为29时为综合最优状态。

5.4 数据流持续时间对准确度的影响

图6所示为不同数据流持续时间对少数类样本准确率的影响。由图6可知,当数据流持续时间较短时,数据包组合而成的数据流难以获得包含的统计特征,分类器无法很好地进行训练和识别,所以识别准确率处于较低水平。当持续时间大于52 s时,识别准确率达到稳定状态,当持续时间继续增大时,增加的统计特征基本为重复特征,故识别准确率无明显提升。

图4 抽样率对分类精度影响

图5 特征数对准确度的影响

图6 持续时间对分类精度影响

5.5 总体分类准确度对比

基于上述实验结果,选用各条件下综合最优值进行总体分类准确度对比。表4为不同分类器3种情况下的几何均值。经过SMOTE算法处理后的非平衡数据集总体分类准确率明显提高,平均值达到93%以上,相比NSMOTE平均提高了9.5个百分点,同时本文提出的M-SMOTE算法相比SMOTE算法,总体分类准确率平均提高了2.6个百分点,相比NSMOTE平均提高了12.1个百分点,达到95.8%。

6 结语

本文在流量识别中采用了非平衡数据模型,并且引入了基于统计学理论的SMOTE算法来处理非平衡数据。实验结果表明,基于非平衡数据模型的流量识别在少数类非P2P流量识别准确率方面有明显的提高。

基于SMOTE算法改进的M-SMOTE算法,避免了原始SMOTE算法中样本生成的盲目性,使生成的样本更集中于样本中心,具有丰富的类别特征。实验结果表明,M-SMOTE算法在少数类非P2P流量识别准确率和总体识别率方面,相比SMOTE算法和原始非平衡数据集均有明显提高,即实现了在不影响多数类P2P流量识别准确率的前提下,有效提高了网路流量的整体识别率,从数据层面改善了分类器在非平衡数据分类方面的缺陷,且本文提出的方法可应用于入侵检测和数据挖掘等领域。

表4不同分类器下3种算法的几何均值对比%

Tab. 4 G-mean comparison of three algorithms under different classifier %

本文也存在以下不足之处:提出的解决方式及算法适用于已知流量识别,而实际中存在未知应用流量,故本文提出的方法无法有效地解决未知应用的流量识别问题。下一步的工作将主要集中在解决未知应用流量的识别问题等方面。

References)

[1] VALENTI S, ROSSI D, DAINOTTI A, et al. Reviewing traffic classification [M]// Data Traffic Monitoring and Analysis. Berlin: Springer, 2013: 123-147.

[2] CHEN J, LI J. The research of peer-to-peer network security [C]// Proceedings of the 2015 International Conference on Information Computing and Automation. Singapore: World Scientific, 2015: 590-592.

[3] 翟海滨,张鸿,刘欣然,等.最小化出口流量花费的接入级P2P缓存容量设计方法[J].电子学报,2015,43(5):879-887.(ZHAI H B, ZHANG H, LIU X R, et al. A P2P cache capacity design method to minimize the total traffic cost of access ISPs [J]. Acta Electronica Sinica, 2015, 43(5): 879-887.)

[4] 张国强,唐明董,程苏琦,等.P2P流量优化[J].中国科学:信息科学,2012,42(1):1-19.(ZHANG G Q, TANG M D, CHENG S Q, et al. P2P traffic optimization [J]. Science in China: Series F, 2012, 42(1): 1-19.)

[5] KARIM A, SALLEH R B, SHIRAZ M, et al. Botnet detection techniques: review, future trends, and issues [J]. Frontiers of Information Technology & Electronic Engineering, 2014, 15(11): 943-983.

[6] CAO Z, XIONG G, ZHAO Y, et al. A survey on encrypted traffic classification [C]// Proceedings of the 2014 International Conference on Applications and Techniques in Information Security. Berlin: Springer, 2014: 73-81.

[7] GU R, WANG H, JI Y. Early traffic identification using Bayesian networks [C]// Proceedings of the 2010 IEEE International Conference on Network Infrastructure and Digital Content. Piscataway, NJ: IEEE, 2010: 564-568.

[8] ZHU A. A P2P network traffic classification method based on C4.5 decision tree algorithm [C]// Proceedings of the 9th International Symposium on Linear Drives for Industry Applications. Berlin: Springer, 2014: 373-379.

[9] GONG J, WANG W, WANG P, et al. P2P traffic identification method based on an improvement incremental SVM learning algorithm [C]// Proceedings of the 2015 IEEE International Symposium on Wireless Personal Multimedia Communications. Piscataway, NJ: IEEE, 2015: 174-179.

[10] MU C, ZHANG C, HUANG X, et al. The efficiency analysis of the statistical feature in network traffic identification based on BP neural network [C]// Proceedings of the 2014 IEEE International Conference on Broadband Network & Multimedia Technology. Piscataway, NJ: IEEE, 2014: 70-74.

[11] 陈虹,万广雪,肖振久.基于优化数据处理的深度信念网络模型的入侵检测方法[J].计算机应用,2017,37(6):1636-1643.(CHEN H, WAN G X, XIAO Z J. Intrusion detection method of deep belief network model based on optimization of data processing [J]. Journal of Computer Applications, 2017, 37(6): 1636-1643.)

[12] DEEBA F, MOHAMMED S K, BUI F M, et al. Learning from imbalanced data: a comprehensive comparison of classifier performance for bleeding detection in endoscopic video [C]// Proceedings of the 2016 IEEE International Conference on Informatics, Electronics and Vision. Piscataway, NJ: IEEE, 2016: 1006-1009.

[13] 高志鹏,牛琨,刘杰.面向大数据的分析技术[J].北京邮电大学学报,2015,38(3):1-12.(GAO Z P, NIU K, LIU J. Analytics towards big data [J]. Journal of Beijing University of Posts and Telecommunications, 2015, 38(3): 1-12.)

[14] APANDI Z F M, MUSTAPHA N, AFFENDEY L S. Evaluating integrated weight linear method to class imbalanced learning in video data [C]// Proceedings of the 2011 IEEE International Conference on Data Mining and Optimization. Piscataway, NJ: IEEE, 2011: 243-247.

[15] LIANG J, BAI L, DANG C, et al. TheK-means-type algorithms versus imbalanced data distributions [J]. IEEE Transactions on Fuzzy Systems, 2012, 20(4):728-745.

[16] CHAWLA N V, BOWYER K W, HALL L O, et al. SMOTE: synthetic minority over-sampling technique [J]. Journal of Artificial Intelligence Research, 2002, 16(1): 321-357.

[17] MOORE A W, ZUEV D. Internet traffic classification using Bayesian analysis techniques [C]// Proceedings of the 2005 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems. New York: ACM, 2005: 50-60.

This work is partially supported by the National Science Technology Major Project of China (2016ZX01012101), the National Natural Science Foundation of China (61572520), the National Natural Science Foundation Innovation Group Project of China (61521003).

YANBinghao, born in 1994, M. S. candidate. His research interests includes traffic identification, intrusion detection, protocol parsing.

HANGuodong, born in 1964, Ph. D., associate professor. His research interests include wide-band information processing and information safety, chip design and application.

HUANGYajing, born in 1984, Ph. D., assistant research fellow. Her research interests include chip design, signal processing.

WANGXiaolong, born in 1993, M. S. candidate. His research interests include wide-band information network, protocol parsing.

猜你喜欢
数据流数据包分类器
学贯中西(6):阐述ML分类器的工作流程
二维隐蔽时间信道构建的研究*
基于朴素Bayes组合的简易集成分类器①
汽车维修数据流基础(上)
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
汽车维修数据流基础(下)
基于XML的数据流转换在民航离港系统中应用
C#串口高效可靠的接收方案设计
AADL端对端数据流一致性验证方法
基于差异性测度的遥感自适应分类器选择