基于一维残差卷积神经网络的Tor匿名网络流量识别模型设计

2022-11-25 04:38冯松松王斌君
现代计算机 2022年17期
关键词:网络流量准确率卷积

冯松松,王斌君

(中国人民公安大学信息网络安全学院,北京 100038)

0 引言

近年来,以Tor(the onion routing)为代表的匿名网络因其出色的隐蔽性、安全性得到众多用户的青睐,除Tor外,I2P(invisible internet project)、Freenet、Tribler等匿名网络也得到广泛使用。匿名网络旨在通过隐藏IP、隐藏浏览器指纹、最小化使用cookie、数据加密等技术来匿名化用户身份,从而实现保护网络安全和个人隐私的目的。匿名网络是把“双刃剑”,在带来更高安全性的同时,也滋生了一系列重大犯罪,如毒品交易、个人信息买卖、洗钱等非法行为,给社会造成巨大危害。当前,如何准确检测识别匿名网络流量和其对应的应用程序对网络运营商加强网络环境监管、打击非法行为具有重大实际意义。

匿名网络,即第二代洋葱路由系统(the second generation onion router,Tor)[1],其核心技术为洋葱路由,最早由美国海军研究实验室成员研发,旨在保护美国情报通信。使用洋葱网络进行通信时,路由节点会对数据进行多层加密,并且通信电路是不固定的,数据包会在不同路由节点间随机跳转,以此确保中继间的前向安全性。正因洋葱网络复杂的路由结构、高度的数据加密,导致通过端口号分析、特征字段匹配识别其流量见效甚微。

1 研究现状

随着学者的深入研究,SVM(support vector machine)、KNN(K-nearest neighbor)、Logistic Regression等机器学习算法已被应用于对以Tor为代表的匿名网络流量进行特征提取和识别,取得了不错的效果。2006年,Hinton等[2]正式提出深度学习(deep learning)概念,掀起深度学习研究热潮,VGG[3]、ResNet[4]等卷积神经网络模型取得重大成功,将卷积神经网络等深度学习方法用在网络流量识别上也取得了一定进展,本文按照时间线对与匿名网络流量识别相关的文章进行梳理。

2008年,Bai等[5]通过采用提取网络流量的特定字符串、数据包长度、发送时间频率等指纹特征的方式,实现对匿名工具Tor和Web-Mix流量的识别。Turkett等[6]提出将支持向量机SVM与网络流量包的频谱表示相结合,用于对暗网流量进行识别。2012年,AlSabah等[7]提出基于机器学习的DiffTor,用于对实时的Tor加密流量分类。2014年,Ling等[8]设计了一个用于发现和分类Tor上恶意流量的系统:TorWard,可以实现对P2P、恶意软件、DoS(拒绝服务)攻击、垃圾邮件等200种已知恶意软件流量的识别。He等[9]提出根据Tor加密流量推断具体应用程序类型的方法。Patel等[10]提出根据第一、第二数字证书分别包含第一网络设备的身份信息和分类信息的特性,对虚拟专用网络流量进行分类识别。

2016年,Draper-Gil等[11]提出使用基于流的流量分类方法,仅使用与时间相关的特征来表征加密流量和VPN流量。Al-Naami等[12]利用数据包序列的依赖性来提取适合分类的特征,用于端节点加密网络流量的识别。2017年,Lashkari等[13]提出了一种通过时间分析来检测和表征Tor流量的方法。Wang等[14]将特征提取、特征选择等集成在一个框架中,并使用一维卷积神经网络端到端对加密流量进行识别。2018年,Saleh等[15]对Tor的去匿名化、路径选择、分析和性能改进等研究方向进行了总结、分析、分类和量化。2019年,Sonntag等[16]对Tor网络中的恶意DNS流量进行了检测分析,提出限制或延迟Tor电路上对IP和域名的查询,减少通过Tor网络的恶意流量。Montieri等[17]用分层的方法实现对Tor、I2P等匿名流量的识别。2020年,Lotfollahi等[18]提出深度包框架(deep packet),将网络数据的特征提取和分类过程进行集成,使用堆叠自动编码器(SAE)和卷积神经网络(CNN)进行分类。Habibi等[19]提出使用二维卷积神经网络检测、识别暗网流量,取得了86%的准确率。2021年,梁晓萌等[20]提出一种基于人工蜂群算法的Tor流量在线识别方法,准确率为93%。

随着技术的进步,对匿名网络流量的识别取得了一定成功,但仍存在识别准确率低、实时性差、关键流量漏报率高等问题,尚未满足实际使用需求。为此,本文根据匿名网络数据各特征间相互独立,无内在关联的特性,采用一维卷积神经网络设计了一个全新的匿名网络流量识别模型1D-ResVGG,进一步提升了匿名网络流量识别准确率,满足了实际使用要求。

2 模型设计

卷积神经网络CNN(convolutional neural networks)的初步实现最早可追溯到1980年Fukushima模拟生物视觉皮层机制提出的“neocognitron”深度神经网络[21],可对输入信息按设计的阶层进行平移不变分类。当前,二维卷积神经网络(2D-CNN)已在图像识别、分类中取得较高准确率,鉴于图像数据是二维或三维数据,而本文处理的流量数据是一维数据,相邻数据点的数值并没有如图像数据那样表示着边缘、背景等特征的变化,故采用一维卷积神经网络(1D-CNN)进行模型设计。

2.1 1D-VGG16

一维VGG16卷积神经网络(1D-VGG16)是根据VGG网络设计的,VGG网络是由Karen等[3]提出的深度卷积神经网络,获得了2014年ILSVRC竞赛的第二名,VGG网络结构对后续深度卷积神经网络的设计具有启发性意义,由于本文处理的是一维数据,故将VGG16网络中的卷积层、池化层替换成一维卷积和一维池化,详细如图1所示。

在1D-VGG16网络结构中,卷积操作主要用来进行特征提取,并不改变特征维度,引入最大池化对卷积、激活后的特征进行筛选,保留关键特征的同时,降低了特征维度,该模型结构有利于对数据进行特征提取,但随着网络结构的加深,会增加训练难度,出现梯度消失、梯度爆炸等问题。

2.2 1D-ResNet34

一维残差卷积神经网络(1D-ResNet)是根据残差网络设计的,ResNet由何恺明等人[4]设计,夺得了2015年ILSVRC竞赛冠军,作者在网络结构中引入了跳跃连接(skip connection),用以解决神经网络中的退化问题,同时也解决了层次过深,难以训练的问题。ResNet网络结构对后续深度卷积神经网络结构上的设计具有启发性意义。鉴于本文处理的不是图像数据,而是一维网络流量特征数据,故对原始ResNet网络中的卷积层、批归一化层、池化层进行替换,使之适应处理流量数据,详细模型结构如图2所示。

在1D-ResNet34网络中,残差模块计算过程可用式(1)表示:

其中,xl表示输入数据,xl+1表示输出结果,wl表示与该层残差单元相关的权重和偏差,f()表示激活函数。对于快捷连接h(x),当x与F(x)维度一样,即图2中加粗字体的参数s=1时,采用恒等映射,即h(x)=xl,这种快捷连接通过F(x)与x相加,并没有引入额外参数,可操作性强。当x与F(x)维度不一样,即图2中加粗字体的参数s=2时,可通过参数矩阵Ws执行线性投影匹配维度,此时h(x)=Ws·xl,在模型中通过采用卷积核为1、步长为2的一维卷积和一维批归一化实现。

2.3 1D-ResVGG

ResNet与VGG网络结构已被广泛应用在图像识别、图像分割、目标检测等计算机视觉任务中,取得了较好的效果,在VGG网络中,通过卷积、池化的多层堆叠进行特征提取、筛选,加深了网络结构,提升了模型性能。在ResNet网络中,引入跳跃连接解决深层网络存在的退化问题,降低了训练难度,使得模型可进一步加深,提高了准确率。为提升对Tor匿名流量识别的准确率,本文借鉴了ResNet网络与VGG网络的优点,设计了1D-ResVGG网络。

图3(a)展示了1D-ResVGG网络中组成模块(Block)的详细结构,其计算过程见式(2):

其中xl表示输入Block的数据,xl+1表示Block的输出结果,wl表示与该层残差单元相关的权重和偏差。在Block中使用了一维卷积、一维批归一化、ReLU激活函数和一维最大池化,与图2 1D-ResNet34网络中使用核为1、步长为2的卷积实现线性投影匹配维度不同,在1D-ResVGG的跳跃连接中,使用了核为2、步长为2的非重叠卷积,在考虑更多特征的同时,能进一步解决因网络结构加深而引起的退化问题,稳定提高模型性能。此外,也没有使用核为3、步长为2的卷积将特征图大小压缩为原来的二分之一,而是采用核为2、步长为2的最大池化对卷积激活后的特征图进行筛选,有利于去除无关特征,保留关键特征,便于后续识别,提高模型准确率。

3 实验设计

为验证设计的1D-ResVGG模型是否能够提升对Tor匿名流量以及具体应用程序流量的识别准确率,便于进一步加强网络监管、打击网络犯罪、净化网络环境,本文设计了实验。

文中所有模型均是基于Pytorch 1.11.0+cu113框架和Scikit-learn 1.0.2机器学习库实现的,实验时,取数据集中70%的数据作为训练集,余下30%的数据作为测试集,Batch设置为64,使用随机梯度下降优化器(SGD),学习率(lr)设置为0.001,动量(momentum)为0.9,使用交叉熵损失函数(CrossEntropy Loss),训练过程中,当测试集的准确率在某个Epoch达到最高,且此后连续50个Epoch测试集上的准确率都不再增加时,采用该Epoch在测试集上的准确率、精确率、召回率、F1分数等作为评价指标。

3.1 CIC-Darknet2020数据集介绍

数据集的选择对匿名网络流量识别至关重要,本 文 选 择Habibi等[19]所 提 的CICDarknet2020数据集,它是将ISCXVPN2016[22]和ISCXTor2017[13]两个数据集进行组合得到的全新Tor匿名网络数据集,包含音频、视频、电子邮件、浏览器等八种类型,超二十种应用程序产生的流量,基本涵盖了互联网上的常用应用程序流量,多样性强、真实性高,满足实验要求。

本文对CIC-Darknet2020原始数据进行清洗,将存在空值的流量数据包删除,最终得到135141条可用流量数据,整体上可分为两类:一类是常规网络流量,具体由93310条Non-Tor流量和23861条Non-VPN流量组成;另一类是与匿名网络应用服务相关的目标流量,它由1392条Tor流量和16578条VPN流量组成。其中17970条匿名网络流量中又可细分为P2P、Chat、VOIP等八种类型、二十余种应用程序产生的流量,详细组成见图4。

在CIC-Darknet2020数据集中,作者提出了83个流量特征。根据实验需要,本文对原文所提的83个特征进行筛选,首先将Flow ID、Src IP、Dst IP等特征删除,这类特征大多为非数值特征,无法将其编码转换成数值,且与流量所属类别无直接关联。接着对余下特征的重要性进行排序,将Bwd PSH Flags、Active Mean、Active Std等数值一样、不具有区分度以及区分度低的特征删除,最后得到64个目标特征。

3.2 Tor匿名流量与非匿名流量识别

在本节实验中,为验证设计的1D-ResVGG模型是否能够准确识别匿名流量与非匿名流量,满足实际应用需要,将数据集整体分为两类:一类是正常的网络流量,另一类是与Tor匿名网络服务相关的网络流量。实验中除1D-VGG16、1D-ResNet34模型外,还选择了流量识别中常用的支持向量机(SVM)[23]、最邻近算法(KNN)[24]、逻辑回归(LR)[25]等机器学习算法作为对比。此外,因本文所使用的流量数据与文本数据具有一定相似性,故还选择了文本分类中常用的循环神经网络(RNN)[26]、长短期记忆网络(LSTM)[27]、深度金字塔卷积神经网络(DPCNN)[28]作为对比模型。

在流量识别领域中,还有学者将流量特征数据转换为灰度图像,并采用二维卷积神经网络对其进行识别,本文也尝试将流量特征数据转换成灰度图像,将64个特征转换成分辨率为8×8的灰度图像,采用VGG、ResNet34两个经典图像分类网络进行分类识别。

实验一共选择了十二种模型,使用同一数据集,为降低训练中出现梯度消失、梯度爆炸的风险,提升识别准确率,对每个特征的所有数据进行归一化预处理,采用测试集上的准确率、精确率、召回率、F1-Score的宏平均值,以及非匿名流量、匿名流量的F1-Score值作为评价指标,具体实验结果见表1。

表1 各模型对匿名流量与非匿名流量二分类识别结果 %

分析实验结果可得,1D-ResVGG模型在各个评价指标上均优于其他模型,取得了98.55%的准确率。此外,还可以发现1D-VGG16、1DResNet34模型的准确率略低于1D-ResVGG,但都高于2D-VGG、2D-ResNet34模型。用于文本分类的RNN、LSTM、DPCNN模型也取得了较好的结果,但都低于一维和二维卷积神经网络。SVM、KNN、LR、MLP模型之间的性能差异较大,整体上低于深度学习模型。除上述的准确率、F1-Score等评价指标之外,还采用了二分类任务中常用的Roc值、Roc曲线来证实采用一维卷积神经网络识别网络流量数据的可行性,对所用十二种流量分类模型绘制了Roc曲线,具体见图5。

从图5可以看出,采用一维卷积神经网络设计 的1D-VGG16、1D-ResNet34、1D-ResVGG模型的Auc值接近,整体上优于其余模型,进一步证实了采用一维卷积神经网络处理流量数据的可行性。

3.3 Tor、Non-Tor、VPN、Non-VPN流量分类

进入匿名网络的方式整体上可分为两种:一是通过VPN代理,使用Tor等专用浏览器间接访问匿名网络;二是主机作为匿名网络中的路由、中继等与匿名网络直接相连。本文使用的CIC-Darknet2020数据集中包含这两种流量,其整体可分为匿名流量与非匿名流量,详细又可分为与匿名网络服务相关的Tor流量、VPN流量,以及常规的Non-Tor、Non-VPN流量。本实验尝试对Tor、Non-Tor、VPN、Non-VPN四种流量进行分类,采用的实验模型为支持向量机、最邻近等12个模型,采用准确率、F1-Score宏平均和Tor、Non-Tor、VPN、Non-VPN四个类别的F1-Score作为评价指标,具体实验结果参照表2和图6。

表2 各模型对Tor、VPN、Non-Tor、Non-VPN流量四分类准确率

分析实验结果可得,1D-ResVGG模型对Tor、VPN等流量的识别准确率为98.87%,优于图中的常用经典模型,在Tor、VPN、Non-Tor、Non-VPN四个类别上的精确率、召回率、F1-Score值也均优于其余所有模型。

3.4 应用程序识别

在实际网络监管、预防犯罪等任务中,仅识别该数据包是否为匿名流量并不能满足实际需要,还需对具体应用类型进行精准识别,如通常被非法分子用来传输重要信息的网络电话、电子邮件等应用程序,这类应用流量中通常包含用户身份等重要信息,准确识别该类流量,对预防犯罪、加强网络监管等有重大实际意义。本实验仍采用3.2节实验中所用到的12种模型,对Tor匿名网络流量中八种应用类型的流量数据进行识别,采用识别的准确率、以及P2P、Browsing、Chat等八种应用类型的F1分数作为评价指标,实验结果见表3和图7。

表3 各模型对匿名流量中八种应用类型识别准确率

图7中横坐标表示实验中采用的十二种模型,纵坐标表示F1分数、Accuracy值,从表3可以看出,所有模型中1D-ResVGG模型取得的最高识别准确率为96.14%,其余8条折线为十二种模型对八种应用程序流量分类的F1-Score值。分析可得,1D-ResVGG模型对八种应用程序流量分类的效果均优于其余十一种模型,其中对Audio、P2P、Chat的分类效果最好。

为进一步分析1D-ResVGG模型对每种应用程序的分类效果,绘制了该模型对八种应用类型分类的混淆矩阵,结果见图8。根据混淆矩阵分析可得,1D-ResVGG对P2P、Chat、Audio、Email四种类型应用的分类效果较好,满足实际应用需求;对Video、Browsing两种应用类型识别效果较差,还有较大提升空间。

4 结语

匿名网络的出现旨在造福互联网用户,保护个人隐私,但随着时代的进步,匿名网络在向万千网民提供安全性服务的同时,也成为了非法分子逃避罪责的帮凶,凭借着匿名网络的隐蔽性、安全性,犯罪分子在这里肆意进行着毒品、枪支、个人信息买卖等众多犯罪行为。本文设计了一种全新的基于一维残差卷积神经网络的匿名网络流量识别模型:1D-ResVGG,实验表明,该模型对匿名网络流量识别的准确率达到了98.87%,对匿名网络上的具体应用程序识别准确率达到了96.14%,优于现有匿名网络流量识别模型,达到了实际使用标准,满足使用需求。

猜你喜欢
网络流量准确率卷积
大数据驱动和分析的舰船通信网络流量智能估计
基于双向长短期记忆循环神经网络的网络流量预测
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法