深层卷积神经网络的暗网流量检测比较与改进

2022-03-25 04:45崔见泉周延森刘博宇郝嘉琪
软件导刊 2022年3期
关键词:暗网准确率卷积

崔见泉,周延森,刘博宇,郝嘉琪

(1.国际关系学院研究生部;2.国际关系学院 网络空间安全学院,北京 100091)

0 引言

随着网络技术的高速发展,人们的信息保护意识逐渐增强,匿名通信系统使得网络中的加密流量快速增长。然而,匿名通信系统在保护用户隐私的同时,也带来了新的安全隐患。一些不法分子基于洋葱路由(The Onion Router,Tor)、虚拟专用网(Virtual Private Network,VPN)等匿名通信技术,架设需要通过特殊软件才能访问的网络服务,形成了无法用常用搜索引擎直接检索的暗网。暗网中充斥着各种非法活动,给社会带来了巨大危害[1]。因此,分析暗网流量有助于针对性地监视恶意软件,及时检测攻击行为,对于维护网络安全有着重要意义。

1 相关研究

国内外学者对暗网流量检测进行了不少研究。如文献[2]提出基于决策树的Tor 流量检测方法与基于Tri-Training的分类方法,能够较准确地对Tor 流量进行识别与分类;文献[3]利用现有的入侵检测系统,针对暗网流量中的探测活动(probing activities)制定检测策略。随着深度学习的迅速发展,一些学者将深度学习算法应用于加密流量检测中[4]。如文献[5]提出一种基于人工蜂群算法的Tor 流量识别方法,该方法通过搭建深度神经网络,使用人工蜂群机制代替常见的迭代算法,提高了识别准确率;文献[6-7]通过分析基于时序的特征,提出基于神经网络的分类模型对不同类别的加密网络流量进行识别与分类;文献[8]提出一种基于卷积神经网络、长短期记忆人工神经网络与注意力机制的分类模型,综合考虑了加密流量的空间与时序特征,提高了对VPN 流量与非VPN 流量的分类准确率。然而,大多数研究仅对使用单一加密技术的流量进行分类[9-13],而暗网中存在多种类型的加密流量,现有方法在复杂环境下的分类准确率与效率有待验证。

近年来,大型深层卷积神经网络在图像领域的分类准确率不断提升,将其拓展应用于其他领域具有一定研究价值。因此,本文使用较为成熟的Resnet、Densenet 与Xception 卷积神经网络模型,分别应用于暗网流量检测中,对Tor 流量与非Tor(Non-Tor)流量、VPN 流量与非VPN(Non-VPN)流量进行分类,并对不同网络模型的实验结果进行对比分析,选择分类效果最优的模型进行改进,加入GRU 网络提取时序特征,从而提升了大型深层卷积神经网络模型对暗网流量分类检测的准确率。

2 卷积神经网络模型

2.1 Resnet

Resnet 网络的全称是残差网络(Residual Network),由He 等[14]提出。通过引入残差块(residual block),Resnet 网络解决了网络层数过高后误差反而增大的问题。其主要思想是在标准的前馈卷积网络上加上一个跳跃层,以绕过一些层的连接[15]。残差块结构如图1 所示。

Fig.1 Structure of residual block图1 残差块结构

Residual block 结构实现了将输入信息直接传到输出的功能,降低了学习难度,解决了增加网络深度时导致的退化问题。Resnet 网络根据残差块与网络层数的不同衍生为多种模型,本文使用ResNet-50 网络模型进行实验。

2.2 Densenet

Densenet 网络由Huang 等[16]提出,通过稠密块(dense block)结构高效地利用特征(feature),在使用较少参数的情况下取得了更好效果。在dense block 结构中,每一层的输入来自前面所有层的输出。稠密块结构如图2 所示。

Fig.2 Structure of dense block图2 稠密块结构

该结构能够减轻梯度消失现象,并加强特征传递,使每个层的特征都能被高效利用,提升了信息与梯度在网络中的传输效率,减少了参数数量[17]。本文选取Densenet-

201 网络模型进行实验。

2.3 Xception

Xception 网络由Chollet[18]提出,该网络是对Inception网络的一种改进。Chollet 认为,通道之间的相关性与空间相关性需要分开处理,因此采用深度可分离卷积(Depthwise Separable Convolution)的思路替换Inception-v3 中的卷积操作。Xception 中的卷积操作分为两步,先进行普通1×1卷积,再对1×1 卷积结果的每个channel 分别进行3×3 卷积操作,如图3 所示。

Fig.3 Convolution operation of Xception图3 Xception 卷积操作

该操作中3×3的卷积用于学习空间相关性,1×1的卷积用于学习通道间的相关性,最终使Xception 模型收敛速度更快,准确率更高。

3 实验与比较分析

3.1 实验环境

在进行分类实验时,设备配置如下:中央处理器(CPU)为Inter Core i5-6400,4 核,主频为2.7GHz;内存为8GB;图形处理器(GPU)为NVIDIA GeForce GTX 960M;深度学习框架使用TensorFlow,版本为2.1.0;编程语言使用Python,版本为3.7.3。

3.2 实验数据集

本文采用文献[19]中的CICDarknet2020 数据集,该数据集覆盖了多种应用中的Tor 与VPN 加密流量,包括浏览器、音视频、聊天及电子邮件等,较为真实地体现了暗网流量特征。

原始数据集中包含少量不可用的数据,经筛选后共得到Non-Tor 数据93 303 条,Non-VPN 数据23 861 条,Tor 数据1 392 条,VPN 数据22 919 条。原数据集共有85 维特征,在实验中删除了流量序号、源IP 地址、目的IP 地址、时间戳及属性值全部为0的特征后,得到的数据含标签在内共65维。抽取数据集中80%的数据作为训练集,剩余20%的数据作为测试集。

3.3 数据预处理

由于数据集中不同特征的取值范围差别很大,为避免影响模型的收敛速度及训练效果,需要对数据进行归一化处理。本文使用MinMaxScaler 函数对原始数据作线性变换,归一化到[0,1]区间,转换函数如式(1)所示。归一化后的数据可便于后续转换为图像数据。

本文采用卷积神经网络的输入为三维图像,因此需要对实验数据进行格式调整,使其能适用于神经网络训练。将实验数据标签取出后得到64 维的一维数据,之后将其转换成8×8的二维数据。由于Resnet-50 网络与Densenet-201 网络的最小长宽输入是32×32,Xception 网络的最小输入是72×72,所以将其统一复制填充为72×72的二维数据。最后复制为3 个图层,得到72×72×3的三维图像数据作为3种神经网络的输入。

3.4 结果与分析

在训练参数设置中,训练批次大小为200,训练总轮数为10,验证集比例为20%。优化器选择Adam,该优化器具有自动调整学习率、内存占用较小等优点,适用于较大规模的数据处理。

在模型训练中共有Resnet 参数2 380 万个、Densenet 参数1 852 万个、Xception 参数2 107 万个。由于需要训练的参数过多,训练集数据远小于参数数量,直接进行训练难以取得满意的效果,因此使用上述模型的预训练参数,并对模型顶部作适当修改,使其适用于暗网流量分类检测。经过调整后,Resnet 需要训练的参数约为21 万个,Xception约为21 万个,Densenet 约为20 万个,测试集中每轮用于训练的样本约为24 万个。此时需要训练的参数与样本数较为接近,能够避免过拟合现象,有利于模型快速收敛,取得较好的训练效果。

经过10 轮训练,得到3 种模型的损失值(loss)比较曲线如图4 所示,准确率(accuracy)对比曲线如图5 所示(彩图扫OSID 码可见)。

Fig.4 Comparison of the loss values of three models图4 3 种模型损失值比较

Fig.5 Comparison of the accuracy of three models图5 3 种模型准确率比较

观察图4、图5 可知,3 种模型的损失值起初呈快速下降趋势,之后逐渐趋于平稳,准确率总体呈上升趋势,说明模型能够快速收敛,没有出现梯度消失等异常现象。Resnet 网络与Densenet 网络在损失值及准确率方面的性能类似,最终损失值稳定在0.662,准确率稳定在0.736,两个模型的性能均优于Xception 网络。

测试集评价指标选取精确率(precision)、召回率(recall)和F1 值。3种模型对Tor、VPN、Non-Tor 与Non-VPN流量的检测性能对比如表1 所示。

Table 1 Comparison of classification evaluation indicators of three models表1 3种模型分类评价指标比较

由表1可知,3 种卷积神经网络对Tor 与Non-Tor 流量的分类性能均较好,但对VPN 与Non-VPN 流量的分类效果有待提高。模型在测试集上的结果与其在训练集中损失值及准确率的表现较为一致。其中,Densenet 模型对4 种流量的分类性能均优于其他两种模型,总体精确率为83.0%,召回率为81.5%。Resnet 模型的分类性能略差,而Xception 模型的分类性能最不理想。

4 改进模型与结果

4.1 基于Densenet 与GRU的暗网流量检测模型

由于Densenet 网络模型在上述3 种模型中分类效果最佳,因此选择其作进一步改进。卷积神经网络善于提取数据空间特征,但忽略了时序特征。将循环神经网络与卷积神经网络相融合,可同时学习数据的时空特征,从而建立更高效的检测模型[20]。

循环神经网络选择GRU 网络,该网络对传统循环神经网络的门机制作出改进,引入更新门和重置门替换了传统网络的遗忘门、输入门及输出门。两种网络在学习效果相当时,GRU 网络具有训练参数少、速度快等优势[21]。加入GRU 网络对Densenet 网络进行改进,使该模型可全面学习暗网流量的空间与时间特征,提高了分类效果。

4.2 改进模型实验结果

加入GRU 网络后,模型的待训练参数约为24.15 万个,与训练样本数量大致相同,能避免训练不充分或过拟合现象。经过10 轮迭代,训练集的损失值收敛于0.628,准确率为80.2%。在测试集上分类结果的混淆矩阵如表2 所示。实验结果表明,改进模型总体具有较高的分类准确率,其中Tor 与Non-Tor的分类精确率均超过90%,F1 值分别为0.91 和0.89,但VPN 与Non-VPN的分类效果 欠佳,F1 值分别为0.63 和0.65。

Table 2 Confusion matrix of the improved model on the test set表2 改进模型在测试集上的混淆矩阵

改进模型与其他模型的性能比较如表3 所示。由于现有研究大多针对单一类型的加密流量,因此将模型对应的流量加密类型标注在模型后。经过对比,改进模型的分类评价指标均高于Densenet 原始模型,精确率提高了0.4%,召回率提高了0.7%。相比其他模型,改进模型的分类任务更加复杂,导致精确率略低于SVM,但召回率仍优于其他模型,总体分类性能较好[13]。

Table 3 Performance comparison of improved model and other models表3 改进模型与其他模型性能比较 单位:%

5 结语

暗网流量检测研究对于预防与发现网络攻击具有重要意义。本文选取3 种典型的大型深层卷积神经网络Resnet、Densenet 与Xception 模型,对较为真实的暗网流量数据集进行分类对比。实验结果表明,Resnet 与Densenet更适合对暗网流量进行分类检测。之后选择分类效果最好的Densenet 进行改进,加入GRU 网络学习时序特征后,改进模型的分类性能进一步提高。改进模型总体精确率与召回率分别为83.4%和82.2%,其中Tor 与Non-Tor的分类精确率均超过90%,但VPN 与Non-VPN的分类效果仍具有提升空间。

猜你喜欢
暗网准确率卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
暗网
被“暗网”盯上的年轻人
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
一种基于卷积神经网络的性别识别方法