第3期 f
叫玄拎嗜权
2021 年 3 月
Journal of CAEIT
doi : 10.3969/j . issn . 1673-5692.2021.03.014
王洪鹏1,李伟1,李培林1,邱泸谊2
中国电子科技集团公司第二十九研究所,四川成都610036;
2.电子科技大学,四川成都610054)
摘要:网络流量分类根据流量特征在流量数据与应用类型之间建立映射,是网络规划与运维管理 和网络安全领域的基本工作之一[1]。由于网络技术的快速发展及网络流量的急剧上升,针对网络 流量快速而精确的自动化分类是十分必要且刻不容缓的。通过MobileNetu ]、ResNet [3]、
DenseNet 〜、GoogleNet ⑴等经典卷积神经网络的研究,文中提出了一种轻量级的网络流量分类算
法,利用残差网络的短连接及嵌入与激励模块的设计思想及结构优势完成网络流量分类任务。通 过实验对比结果表明,该算法显著降低训练时间和模型大小,具有良好的网络流量分类效果。
关键词:网络流量分类;深度学习;残差SE 模块;残差短连接中图分类号:TP 183
文献标志码:A
文章编号:1673-5692(2021 )03-2974)7
Vol. 16 No. 3 Mar. 2021
Lightweight Algorithm for Network Traffic Classification
WANG Hong -peng 1 ,LI Wei 1 ,LI Pei -lin 1 ,QIU Lu -yi 2
(1. The 29,h Research Institute of China Electronic Technology Corporation, Chengdu 610036, China ;
2. University of Electronic Science and Technology of China, Chengdu 610054, China)
Abstract : Network traffic classification refers to the establishment of mapping between traffic data and
application types according to traffic characteristics , which is one of the basic tasks in the field of network operation and maintenance management and network security 1 . Due to the rapid development of network technology and the rapid increase of network traffic , rapid and accurate automatic classification of network traffic is very necessary and urgent . Through res
earch on the four classic convolutional neural networks MobileNet ~ , ResNet 3 , DenseNet 4 , and GoogleNet 5 , a lightweight network traffic classification al gorithm is proposed based on the design ideas and structural advantages of residual shortcut connection and Squeeze -and-Excitation module . The experimental results show that the algorithm proposed in this pa per performs well on the task of network traffic classification , and significantly reduces the training time and model size .
Key words : raffic classification ; deep learning ; residual SE module ; residual shortcut connection
〇引言
电动钢丝刷
2020年4月,中国网信办发布了第四十五次中 国互联网发展状况统计报告,报告显示截至2020年 我国网民数量高达9. 04亿。随着新型互联网应用
的不断涌现,网民数量和骨干网络中的流量大小均
呈现爆发式的增长态势,这不仅给网络服务质量保 障及网络安全管理都造成了巨大困难。
压缩空气过滤网络流量分类即建立监测到的网络流量数据与 应用之间的映射,不仅可以通过区分网络应用类型 给
优先级较高的应用建立快速通道,从而提高网络
收稿日期:2021<03>06 修订日期:
20214)3-16陶粒混凝土墙板
2982021年第3期
服务质量,而且可以检测分类恶意流量,实现网络安 全管理,在网络运维管理和网络安全相关工作中均 占有重要地位。然而,目前大部分网络流量分类算 法都是基于端口识别、负载匹配、机器学习的,这些 方法无法为种类繁复、数量巨大的网络流量提供精 确有效的分类结果。
深度学习的快速发展为网络流量分类提供了一 个快速准确的解决方案。本文将深度学习算法运用 于网络流量分类任务中,并针对恶性网络流量和良 性网络流量的数据特征,参考嵌人与激励模块和残 差网络结构的设计思想,提出了-种轻量级网络流量分类方法(Lightweight Algorithm for Network Traffic Classification,LANTC),实验结果表明该方法在两种 网络流量数据上的分类准确度均可以达到99%以上,同时相较于经典的卷积神经网络参数量减少了 70%以上,是一种快速有效的自动化流量分类工具。
1相关工作
流量分类是将网络流量与应用程序建立映射的 任务,这已成为网络管理中至关重要的任务。按照 工作原理的不同,网络流量分类方法可分为基于端 口识别、负载匹配、机器学习和深度学习等四种方 法。基于端口识别的网络流量分类方法利用已知的 应用端口号与标准端口号进行关联对比从而实现流 量的分类:1],例如:FTP网络应用端口号为21。基 于端口识别的网络流量分类方法运行速度快,然而 随着网络技术的快速发展,动态端口以及端口伪装 技术被大量运用,使得基于端口识别的网络流量分 类方法可用性大大降低。为了弥补端口识别的不 足,负载匹配方法应运而生。负载匹配方法检测整 个网络数据包信息,并根据不同应用具有不同指纹 特征的性质,采用匹配数据流特定字段的方法实现 网络流量分类。该方法有很高的识别率和扩展性,弥补了端口识别方法的缺陷,但它的运算开销大,无 法对网络中大量数据报文进行实时匹配。由于网络 环境R趋复杂,基于端口识别的网络流量分类方法 和负载匹配方法显得力不从心。因此,许多研究者 提出将机器学习方法应用于网络流量分类任务中。基于机器学习的网络流量分类方法将手动选取的流 量特征作为输人,经过训练的模型区分不同应用的 流量特征,从而实现网络流量分类。文献[7]将散 化的统计特征描述网络流量所提取特征信息输人到 贝叶斯分类器中实现网络流量的分类,该方法可以有效地对数据包进行分类。文献[8]提出了一种模 糊竞赛机制用于提升基于支持向量机的网络流量分 类方法的准确度。在真实网络流量的实验环境下,该方法的计算量和错误率均大幅下降,总体准确率 稳定在92%以上。然而基于机器学习的网络流量 分类往往需要人工选取流量特征,而特征的提取工 作需要专家经验,同时特征提取的合理性与网络流 量分类的准确率息息相关。
基于深度学习的网络流量分类方法能利用卷积 神经网络的隐藏层结构自动提取不同类别的网络流 量特征。诸多研究者已经将卷积神经网络成功地运 用到网络流量分类任务中:文献[1]分别利用一维 和二维卷积神经网络实现恶意流量和良性流量的分 类,实验表明该方法分类结果非常好;文献[9]在 Moore数据集上采用离差标准化的卷积神经网络实 现网络流量的分类,取得了较高的精准度;文献 [1〇]利用卷积神经网络和循环神经网络对网络流 量进行分类,更深的网络可以带来更卓越的分类效 果,但是也面临着网络退化问题及巨大的网络参数 开销。
欧米伽3榨油机
在深度学习领域中,大量的工作已经表明将优 秀的模块化组件嵌人到现有网络模型中可以有效地 提高深度学习算法的性能11_131。文献[14 ]使用分 组卷积模块来代替标准卷积操作,不仅减少了参数 计算量,还使得卷积操作可以更灵活的组合,从而学 习到更丰富的图像特征信息。注意力机制是近年来 深度学习领域热门话题之一,它可以使深度神经网 络具备专注于某一特征信息的能力,是一种高效的 资源分配方案[15_16]。注意力机制已经被大量实验 证明可以改善一系列任务的性能,从图像的分割和 分割到自然语言的处理。文献[17]在网络模型中 添加了注意力机制,获得了更精细化的图像分类结 果。相比之下,嵌入与激励模块是一种轻量级的注 意力机制,该模块可以通过关注图像特征通道之间 的动态、非线性依赖关系及全局空间关系实现图像 更精确的分类。本文参考嵌人与激劻模块的设计思 想,提出了一种轻量级网络流量分类方法,改算法使 用交叉熵函数作为模型的损失函数=其具体如公式 (I)所示,假设y为网络流量类别标签j为预测类 别为当前样本类别标签的概率;那么1 -:^则
表示预 测类别不为当前样本类别标签的概率,从极大似然 性角度将预测类别为当前类别标签的概率和不为当 前类别标签的概率整合到一起得到铲•(1 -铲),最 后将其引入至log 函数。在轻量级网络流量分类算
2021年第3期
王洪鹏等:轻M 级的网络流量分类算法299
法中,预测类别越接近真实样本标签,损失函数会越 小;预测输出是错误预测,损失函数会越小。
L =
- [ylogy + (1 - y )log ( 1 - y ) ] (1)
该方法在USTC -TFC 2016数据集可以实现精确
的分类。
2网络流量分类方法设计
首先,对原始网络流量数据进行预处理,包括网
络流量数据拆分、包头信息剔除、数据清洗、数据截 取、转换为图像数据等几个步骤。
其次,利用本文提出的轻量级网络流量分类算 法(LANTC )对网络流量数据的图像训练集进行迭 代训练。
最后,使用测试集对模型进行评估。网络流量 分类方法整体流程如图1所示。
图1网络流量分类方法流程图
2.1数据集预处理
本文采用了 USTC -TFC 2016数据集,该数据集 包括了 10类真实网络流量数据及10类恶意网络流 量数据[1],为了让网络流量数据更好的输入深度学 习模型中进行训练,本文将原始pcap 格式的网络流 量数据通过一系列预处理操作转化为idx 格式的图 像数据,并对其流量类型进行了标注工作。数据预 处理具体分为如下五个步骤:
1)
网络流量数据拆分。原始的网络流量数据
可以看作是许多网络流组成的,将原始网络流量数 据进行数据拆分,获得若干个离散的网络流;
2)
包头信息剔除。每一条网络流都是由若干
个数据包及包头构成的。网络流量特征主要都体现 在应用层的负载数据中,而包头内容一般为抓取时 间、包长度信息等,这些信息是复杂且冗余的,不仅
对网络流量分类毫无用处,而且还很有可能影响网 络流量分类的精确度;
3)
数据清洗。重复数据或者空白数据都会影
响深度学习模型的训练,从而导致模型学习特征时 产生偏差,降低分类精确度。因此,对某些数据包中 的重复内容或者空白内容进行删除;
4)
数据截取。虽然网络流量特征主要体现在
应用层的负载数据,但是其他层的负载数据也会包 含部分网络流量特征。为了尽可能全面地包含网络 流量特征信息,从而实现更准确的网络流量分类,本 文在预处理部分提取所有层的负载数据作为本文深 度学习模型的输入。同时,为了让流量数据更好地
适应深度模型,本文对负载数据进行784字节固定 长度的截取,如果文件大小大于784个字节,则将超 出部分进行删除。反之,则在末尾补充字节。其中, 每个字节有8位构成,而标注工作是在每条网络流 量数据的最后一个字节之后添加网络流量的类别 标签;
5)
转换为图像数据。将784维的pcap格式的
流量数据转化为28 x 28维的idx 格式的图像数据, 最终映射为深度学习算法的输入。将pcap 格式的 网络流量数据转化为idx 格式的图像数据可以为研 究人员提供视觉图像,方便对其进行表征方面的 分析。
图2
网络流量预处理流程
2.2嵌入与激励模块
在深度学习中,卷积神经网络通过卷积核对输 入图像进行卷积操作实现对图像特征信息的提取,
然而标准的卷积操作仅仅只关注了每个通道上特征
300f阐龙S與f嗜•》[龛汉•?杈2021年第3期
图的局部空间信息m,并没有考虑到不同通道之间 的通道关系。因此,即使通过叠加一系列非线性和
不同感受野的卷积层让深度学习模型实现可以捕获 图像全局特征信息的能力,但是也无法使得深度学 习模型捕捉图像不同通道之间的动态、非线性依赖 关系。文献[丨9]提出嵌人与激励(89116626-311(;|- Excitation module,SE)模块,该模块不仅关注了图像 的空间特征信息,同时也关注了图像的通道之间的 关系。
SE模块提取图像特征信息的整体流程如图3 所示:首先将图像特征信息通过一组标准的卷积操 作从原始大小为f x x C'的特征信息X 变换为大小为阶x //x C的特征信息F。之后,Fs q u_>#作通过全局平均池化操作将特征图F的各 个通道的特征信息压缩为若干个通道权值信息,这 些通道权值分别代表各个通道的重要性。而^x i&操作主要通过基于门控的注意力机制全面捕获通道 间的依赖性,从而实现通道权值的自适应重新校正。最后,每个通道的通道权值通过操作逐通道和先前的特征信息进行点乘运算,实现通道特征信息 和图像全局特征的融合,获得最终的图像特征信息。
图3嵌入与激励模块
SE模块主要通过Squeeze操作和Excitation操 作实现通道特征信息的学习。标准的卷积操作是使 用卷积核对局部空间信息进行矩阵运算,从而提取 局部特征信息。因此,卷积操作输出的每个特征信 息都无法利用相应局部区域以外的上下文信息。在 深度学习算法的浅层次网络上,有效地解决尺寸大 而卷积核的感受野尺寸小,这个问题变得更加严重。Squeeze操作有效地解决了这个问题,该操作将
各个 通道的全局空间信息压缩成不同的通道权值,使得 之后的卷积操作可以轻松获得全局空间信息,降低 了通道间的依赖性。
2.3轻量级网络流量分类算法
网络流量分类是网络性能评估、网络安全管理、网络流量控制与任务网络规划等工作的基础。因此,针对实时的网络流量分类算法的研究是刻不容缓的。参考残差网络的短连接及SE模块的设计思 想及结构优势,本文提出了一种轻量级网络流量分 类方法。该方法使用残差S E模块作为网络结构的 核心组件,在有效降低网络参数量的同时,保持图像 特征信息提取的有效性。
残差SE模块的具体结构如图4所示。图像数 据输人残差SE模块,首先,经过两个3x3的卷积层 实现图像特征信息的提取;然后,经过全局平均池化 操作实现图像特征信息中各个通道上的全局特征信 息的压缩,从而获得通道权值;之后,通过两个全连 接层及激活函数全面捕获通道间的依赖性,进而实 现通道权值的自适应重新校正;最后,将通道权值和 先前的特征信息进行点乘操作。此外,残差S E模 块在图像输人卷积层之前与通道权值自适应重新校 正之后建立了残差短连接,在网络加深的同时,有效 降低梯度发散的可能性。
图4残差S E模块
轻量级网络流量分类方法的整体结构如图5所 示。图像经过一个3x3的卷积操作提取图像的浅 层次特征信息,再使用批归一化将特征信息映射到 (〇J)之间,方便深度神经网络在训练过程中的梯 度传播。轻量级网络流量分类方法采用ReLU函数 作为激活函数,ReLU函数可以加快深度神经网络 的收敛,同时可以让特征更接近线性,使得网络更容 易被优化。接着使用一个多级残差S E模块将特征 图的通道关系信息更好的与全局特征信息融合。其 中,多级残差S E模块是由两个S E模块堆叠而成,并使用残差短连接对这两个S E
模块进行连接操
2021年第3期王洪鹏等:轻量级的网络流量分类算法301
作,这样的结构设计不仅使通道关系信息更加全面 地参与到深度神经网络特征的提取中,还可以让网 络加深的同时,减少梯度发散的可能性。最后通过 一个线性变换获得最终的分类结果。
图5网络整体结构图
3实验
3.1实验细节
实验中的模型均是在基于pyth〇n3.6的深度学 习框架pytorchl.4.0环境下进行搭建,并在Nvidia 1080Ti 11G的显卡上进行加速训练。其中,网络训 练的批处理大小设置为64,学习率设置为0.001,使 用Adam优化器进行优化。本文算法经过30次迭 代训练后模型收敛,并获得了最佳实验效果。
3.2实验数据
本文使用USTC-TFC2016[6:作为实验数据集,该数据集由10种恶意网络流量和10种良性网络流 量
构成,数据格式为pcap,文件大小为3.71 GB。其 中,网络流量节选自CTU-13数据集,该数据集是由 CTU研究人员从真实公共网站收集的十种恶意软件流量。十种良性网络流量则是使用IXIA公司的 IP网络仿真仪进行仿真获取的。图6和图7为恶 性流量及良性流量pcap格式数据进行预处理操作 后生成的图像数据。
Cridex Neris Nsis-ay Shifu Htbot
Geodo Zeus Miuret Virut Tinba
图6恶性流量数据集
■ ■■國 _ FTP BitTorrent Outlook Skype SMB
Wei b o World ofWarcraft Facetime Gmail MySQL
图7良性流量数据集
3.3实验评价指标与基准方法
本文采用训练时长、模型大小和平均精确率作 为评价指标。其中训练时长为网络迭代30 epoch 所需
要的时间,模型大小为网络模型所占内存空间 的大小。本文假设检测结果只有两类:正样本和负 样本,可将分类结果分为以下4种,如表1所示。
表1混淆矩阵表
密胺粉预测值/真实值实际为正样本实际为负样本
分类预测为正样本TP FN
分类预测为负样本FN TN
总计P N验证码自动输入
实验将精确率定义为被模型分类为正样本的结 果中实际为正样本的比例,具体如公式(2)所示。
为了直观地体现所设计算法的效果,设置了相应 的对比实验,除了本文提出的算法进行网络流量分类 之外,同时选择了 GoogleNet2、ResNet4、DenseNet[5、MobileNet[6]其他4
种算法进行分类实验。