席荣康,蔡满春,芦天亮
(中国人民公安大学 信息网络安全学院,北京 100032)
暗网是信息网络空间的重要组成部分,其因具备高度匿名性的技术特点而被歪曲利用并逐步成为各类犯罪行为的高发地带。Tor 匿名通信系统作为暗网的主要技术支撑手段,通过多层加密技术和多级路由网络结构保护用户信息,对暗网犯罪侦查工作带来数据难获取、证据难固定、身份难确定等问题[1]。
Tor 匿名流量分析技术属于单端被动分析技术,网络监管者通过捕获并分析通信系统入口链路处的流量以解决流量检测的二分类和内容识别的多分类问题。流量分析技术无需对通信数据进行解密、篡改而对流量的统计特征进行数学分析,具有成本低、易部署的特点。
本文对原始Tor PACP 文件进行解析,提取Tor流量一维数据特征并转化为二维灰度图进行图像纹理可视化分析,同时改进深度卷积生成对抗网络(Deep Convolution Generative Adversarial Network,DCGAN)结构,利用多尺寸融合DCGAN 进行数据增强以提升数据质量。在此基础上,应用堆叠去噪自动编码器(Stacked Denoising Auto Encode,SDAE)进行特征约简,结合在线序列极限学习机(Online Sequence Extreme Learning Machine,OS-ELM)进行Tor 流量的在线分类。
文献[2]针对安全套接字协议加密代理Safe Web,证明了流量分析的可行性。随着隧道加密技术的发展,文献[3]针对安全外壳协议,利用数据包长度、时间信息作为网站指纹预测未知网站类别,并提出了静态模型的概念漂移问题。文献[4]提出一种改进的SSH 加密隧道匿名流量识别方法,采用机器学习朴素贝叶斯模型作为分类器,流量识别准确率达到90%。为进一步满足人们的匿名访问需求,以Tor[5]匿名网络为代表的多跳隧道网络开始兴起。Tor 匿名通信系统将用户传输的数据包分割为512 Byte 的传输单元,使监管者识别Tor 流量后无法依据传输对象的特定大小进一步判断用户所访问的网站流量类别并分析用户行为。早期Tor匿名流量分析方法利用机器学习模型(如支持向量机[6]、随机森林[7])对人工提取的流量方向、时间特征进行分类。随着深度学习在计算机视觉和自然语言处理等领域得到成功应用,研究者尝试将深度学习模型应用到通信流量分析领域。通过将数据流处理为神经网络可计算的数据序列,相继应用SDAE[8]、一维卷积神经网络[9](1D-Convolutional Neural Network,1DCNN)和长短期记忆网络(Long Short-Term Memory,LSTM)[9]模型进行网站流量分类,识别准确率最高可达96%。文献[10]先将一维的数据流量特征处理为二维图像,再利用图像分类性能较好的2DCNN 模型进行分类,分类准确率达到98%。文献[11]通过使用一维卷积神经网络对流量序列burst 级别的特征进行提取和分析,分类准确率达到99.87%。
上述研究方法基于实验室条件下的多种前提假设。文献[12]指出目前流量识别存在的多种局限性,如单标签网页浏览、概念漂移、数据集不平衡等问题,提出基于K 最近邻算法的多标签网站分割识别方法。文献[13]构造二分类器Xu-Boost,先对网页进行分割,再利用随机森林算法对分割片段进行识别,准确率可达86%。文献[14]先使用马尔可夫模型对流量进行分段分类,再利用投票机制对分类结果进行讨论以判断分割点位置,分割准确率达到88%。文献[15]通过实验证明网站流量分析的概念漂移问题,使用静态模型对10 d 后的实时流量进行分类,模型准确率下降。针对概念漂移问题,文献[16]提出基于自适应霍夫丁树的流处理模型,利用循环神经网络(Recurrent Neural Network,RNN)单元自动提取流量序列特征并输入霍夫丁树分类器进行模型增量更新,在MOA[17]工具上证明了流处理算法用于Tor 流量分析的可行性。当前围绕Tor 匿名流量分析的研究虽然取得了一定成果,但仍存在以下不足:
1)数据处理方式单一。一维数据序列导致模型只能采取计算效率偏低的递归处理方式,且数据特征因限制在一维空间而无法进行可视化分析。
2)Tor 匿名流量数据集不平衡。Tor 匿名通信数据难于收集导致数据集缺失,且已存在的部分数据集Tor 流量与非Tor 流量比例严重失衡,模型在分类问题上虽有良好表现但缺乏科学性[15]。
3)概念漂移问题突出。深度学习模型多采用基于大量数据的批训练模式,数据特征随时间发生改变,模型性能会急剧下降。
针对以上问题,本文提出融合改进DCGAN、SDAE和OS-ELM 的Tor 流量在线分析模型,充分发挥一维、二维神经网络的结构优势,提高分类识别性能。
Tor 匿名通信系统由大量运行洋葱路由协议的PC/服务器的节点组成,系统结构如图1 所示。
图1 Tor 匿名通信系统结构Fig.1 Tor anonymous communication system structure
目前针对Tor 流量数据的处理大多为提取PACP包特征并保存为一维数据,会导致模型对数据的空间特征提取不足且无法对数据进行可视化分析。本文将一维数据处理为二维灰度图来解决此问题,二维灰度图还可作为二维DCGAN 原始数据进行数据增强。数据预处理流程如图2 所示。
图2 数据预处理流程Fig.2 Data preprocessing process
数据预处理的具体步骤如下:
1)数据包解析。数据包具有五元组{源IP 地址,源端口,目的IP 地址,目的端口,协议}基本属性。本文研究对象为双向会话流,会话流由一组具有相同IP 地址的数据包组成,且目的地址和源地址可互换。因此,首先将原始PACP 包数据集依照五元组规则划分为多个会话流。
2)数据清洗。IP、MAC 地址与设备硬件等因素有关,不能作为会话流特征,为避免这些字节对分类的影响,需要将数据包IP、MAC 地址字节标准化。此外,还需要删除空数据包,避免其对模型分类的影响。
3)流长度统一。不同会话流具有不同的字节长度。为方便将一维数据转化为二维灰度图并输入模型训练,取会话流前784 Byte。若会话流不足784 Byte则填0 补齐。会话在开始之前通信双方会传输大量的连接建立控制信息,这部分字节可作为分类的重要依据。
4)灰度图转化。为方便数据可视化和二维DCGAN 处理,将784 Byte 的序列转化为28×28 的灰度图。首先将一维数组升维,然后将十六进制的数值转化为0~255 的像素点,最后利用函数进行灰度图转化。图3 为随机选取25 个Tor 数据流生成的灰度图像。可以观察到,25 张图片中有多组图片具有相似的纹理特征。
图3 流量特征灰度图Fig.3 Traffic characteristic gray images
本小节首先介绍基于多尺寸融合DCGAN 的数据增强模型,然后阐述基于SDAE 和OS-ELM 的在线Tor 流量流处理模型。
3.1 基于多尺寸融合DCGAN 的数据增强模型
数据集不平衡会影响模型的分类预测性能。Tor流量难以收集,流量样本不足也是Tor流量分析亟待解决的问题之一。以ISCX Tor 2016数据集为例,将PACP包按照五元组的规则分割,则Non-Tor样本有38 339条,Tor 样本却只有118 条。因此,本文采用多尺寸融合DCGAN 进行数据平衡以达到Tor 数据样本扩充和数据集平衡的目的。本小节首先对基于传统DCGAN 优化的多尺寸融合DCGAN 模型结构进行描述,然后对模型的训练过程进行阐述。
3.1.1 多尺寸融合DCGAN 模型结构
本文处理的数据为一维数据,基于一维序列的数据增强方法生成数据质量差且训练周期长。相较于传统GAN 网络:1)DCGAN 取消池化层,使用卷积层实现生成网络的上采样,在鉴别网络中使用带步长的卷积代替池化;
2)使用深层卷积神经网络代替全连接层提取数据高维特征;
3)将数据批归一化以稳定DCGAN 网络的学习并且有助于深度模型梯度下降优化。此外,本文对判别器结构进行改进,提出融合多视野特征的多尺寸融合判别模型,模型具有如下特点:1)多视野特征,采用不同大小的卷积核提取不同粒度的空间特征,卷积核大小为5 的CNN 能够增加卷积层感受野,卷积核大小为3 的CNN 能够实现细粒度的特征获取[18];
2)特征融合,通过融合层将特征矩阵进行拼接获得融合特征,使信息可以在不同组流转。
多尺寸融合DCGAN 模型由生成器和判别器构成,模型结构如图4 所示。
图4 多尺寸融合DCGAN 模型结构Fig.4 Multi-size fused DCGAN model structure
生成器共7 层结构,全连接层通过多个神经元计算将100 维噪声数据映射为14×14×128 的数据。Reshape 层将噪声数据转化为128 张14×14 的特征图像。第1 层卷积层利用256 个大小为5 的卷积核提取数据信息。反卷积层利用上采样学习图像的细节信息并将图像扩展为28×28 的特征图,对应784 Byte 的真实数据。之后,通过1层卷积核系数为4×256和2层5×256 的卷积层进一步提取数据高维空间特征,并采取0填充的方式保证经卷积操作后图像大小不变。最后采用单核卷积层生成单通道目标灰度图矩阵。
判别器共7 层结构。首先利用卷积核系数分别为5×128、4×128、3×128、步长为2 的卷积层按顺序提取输入数据的局部空间特征,获得128 张12×12、5×5、2×2 的特征图像。然后为同时获取多视野局部空间特征,在融合层中将3 个卷积层生成的特征图像拼接起来,其中池化层的作用是将特征图像统一尺寸以方便特征融合。之后利用核系数为2×128 的卷积层生成128 张1×1的特征图。最后利用Flatten 层将特征一维化,并通过Dense 层输出输入数据的类别概率。
3.1.2 多尺寸融合DCGAN 模型训练
多尺寸融合DCGAN 利用生成网络模拟真实数据图像以达到混淆鉴别网络的目的,鉴别网络的目的是最大化区分生成数据与真实数据。模型训练流程如图5 所示。
图5 多尺寸融合DCGAN 模型训练流程Fig.5 Multi-size fused DCGAN model training process
在图5 中,主要包含判别器训练和生成器训练2 个阶段:
1)判别器训练阶段。首先将随机噪声Z输入生成网络以生成数据,其中Z服从标准正态分布PZ(Z),生成数据为G(Z),将真实数据X批归一化,X服从真实数据分布Pr(X)。然后构造数据标签Y并通过标签平滑使Yreal∈[0.8,1]、Yfake∈[0,0.2],这样做可防止网络过拟合,提高DCGAN 的泛化能力和数据生成的质量。最后输入训练数据H={(X,Yreal),(G(Z),Yfake)}进行判别器训练,通过优化交叉熵损失函数达到模型参数更新的目的。交叉熵损失函数公式为:
其中:LD为判别器损失;
D(X)、D(G(Z))分别为真实数据和生成数据的鉴别概率。
2)生成器训练阶段。为保证该阶段只对生成器进行参数更新,先冻结判别器,再将生成数据G(Z)输入判别器进行模型训练。值得注意的是,此时数据标签应设置为Yreal以达到混淆判别器的目的。在生成器与判别器的博弈中,生成器的参数得到优化使生成的数据愈加逼近真实数据[19]。可通过观察灰度图纹理初步验证生成数据质量。生成器损失函数公式为:
其中:LG为生成器损失。最后,DCGAN 的优化目标为F(D,G),生成器与判别器通过不断博弈以提高对方鉴别数据与生成数据的能力,最终达到纳什平衡。DCGAN 优化公式为:
3.2 基于SD-OSELM 的在线流处理模型
本小节先介绍基于SDAE 模型的深度特征提取与序列编码流程,再阐述基于OS-ELM的在线流处理原理。
3.2.1 基于SDAE 的数据编码
SDAE 是由多个降噪自动编码器(Denoising Auto Encoder,DAE)堆叠在一起形成的深度架构。将原始数据X输入SDAE 编码后输出低纬度、深层次分类特征Xc。SDAE 模型结构如图6 所示。
图6 SDAE 模型结构Fig.6 SDAE model structure
模型采用逐层贪婪训练的方式逐个对单个DAE进行训练。首先,将训练数据X输入编码器输出维度更低的数据编码Xc。类似于Dropout 函数,通过随机地将编码器输入层节点置为0 以达到将训练数据加入噪声的目的,防止过拟合并提高模型泛化能力[20]。然后,将Xc输入解码器生成重构数据X’。最后,采用后馈神经网络算法调整模型参数以保证重构误差Lh(X,X′)最小。单层DAE 训练流程如图7所示。当单个DAE 训练完毕后,通过迭代的方式将第K个DAE 的输出作为第K+1 个DAE 的输入进行训练,直到SDAE 训练完毕。
图7 DAE 训练流程Fig.7 DAE training process
最后,将多层DAE 堆叠起来形成SDAE 并输入样本数据和数据标签,对整个网络进行全局优化和参数微调。经SDAE 处理后的数据能够弥补单层前馈神经网络特征提取能力不足的弊端[21],同时通过数据约简提高OS-ELM 的在线处理效率。
3.2.2 基于OS-ELM 的在线流处理
ELM 提出的目的是解决人工神经网络训练费时和高成本问题,其采用单隐层前馈神经网络结构,相较于深度神经网络具有结构简单、收敛速度快等特点。ELM 与深度神经网络一样使用批数据训练模式。若训练时间过长导致训练数据与测试数据数据分布差异大则会出现概念漂移问题。OE-ELM 继承了ELM 的速度和泛化能力并使用流数据训练模式,模型可随着新数据的到来不断更新参数[22]。
模型训练过程分初始化和在线流处理2 个阶段:
1)初始化阶段,即通过少量样本得到神经网络的权重矩阵β。假设有Ns个样本(Xj,Yj),j=1,2,…,Ns。其中:Xj=[xj1,xj2,…,xjNd]T;
Nd表示输入数据的维度。对于有Nm个神经单元的神经网络,输出为:
其中:f()为激活函数;
W为输入权重;
b为单元偏置。训练目标为求得β、W、b使得输出误差最小,即:
结合式(4)用矩阵可以表示为:
不同于梯度下降算法采取迭代的方式对所有参数进行更新,OS-ELM 算法在初始阶段的输入权重W和偏置b是随机确定的。因此,单隐层神经网络的训练问题就转化为线性系统Hβ=Y的求解问题,如式(8)所示:
其中:H+为矩阵H的广义逆。可证明解的范数最小且唯一。
2)在线流处理阶段。当有新的N1个样本进入模型时,则优化问题转化为:
其中:H1、Y1分别为新样本的输入权重矩阵和标签矩阵。则更新后的输出权重β1可表示为:
由此可以得到在线学习的递推公式:
当新样本进入模型后,模型会对输出权重矩阵进行更新。由于采用单层神经网络实时训练与分类,因此输出权重矩阵能够适应最新的流量特征[23]。
本文实验分为2 个部分,即基于多尺寸融合DCGAN 的数据增强实验和基于SD-OSELM 的在线流识别实验。
4.1 基于多尺寸融合DCGAN 的数据增强实验
4.1.1 数据集
本模块实验采取ISCX Tor 2016[24]流量有标签数据集。数据集有原始PACP 包和CSV 特征文件2 种形式,设置以下2 种实验场景。
场景A:数据分为Tor 与Non Tor 2 种流量,主要验证模型的流量检测二分类能力。
场景B:数据分为BROWSING、CHAT、AUDIO、VIDEO、EMAIL 等多种应用类型的流量,主要验证模型内容识别的多分类能力。
4.1.2 数据增强生成数据质量验证实验
首先,随机选取场景B 下5 类流量作为原始数据。图8 为生成数据的可视化灰度图。实验结果表明,同类型流量因具有较为集中的特征表示,生成图片组也具有较为明显的纹理特征。
图8 不同类型生成流量的灰度图Fig.8 Gray images of different generated traffic
然后,引入KL 散度、欧氏距离、皮尔逊相关系数、均方误差等4 个衡量分布相似度的指标对生成数据的相似度进行验证。KL 散度、欧氏距离、均方误差可视为样本距离,指标值越小则越相似。皮尔逊相关系数取值范围为[-1,1],相关系数绝对值越大,表明样本相关性越高。图9 为生成图像相似度指标变化图。
图9 生成图像相似度指标变化图Fig.9 Similarity index change diagram of generated images
实验结果表明,经过520 轮的训练,生成样本与原始样本皮尔逊相关系数值可达0.9,KL 散度和均方误差低于0.13,欧氏距离达3.74。
最后,引入1DDCGAN、标准2DDCGAN 模型进行对比实验。实验结果如表1 所示。实验结果表明,多尺寸DCGAN 通过提取多视野特征提高了判别器的判别能力,并进一步提升了模型的数据生成能力。
表1 不同网络性能对比Table 1 Performance comparison of different networks
4.1.3 数据增强对模型的性能影响实验
本文以二维图像分类性能良好的2DCNN[25]模型作为分类器,验证不同样本比例下模型的分类性能。模型参数如表2 所示。
表2 CNN 模型参数Table 2 CNN model parameters
在实验场景A 下,保持数据集总样本数为20 000,训练集与测试集比例为9∶1。验证不同样本比例下的模型性能。实验结果如表3 所示。
表3 不同样本比例下的CNN 模型性能Table 3 Performance of CNN model with different sample ratios
实验结果表明,利用DCGAN 进行数据增强生成的平衡数据集可提高模型识别准确率约2.8 个百分点,但生成样本保留了一定的噪声数据,过多的生成样本会影响模型判断能力。
4.2 基于SD-OSELM 的在线流处理实验
本小节首先对SDAE 数据编码的可行性进行分析,然后引入已有研究中Tor 一维流量分析模型进行对比实验证明模型的性能改进,最后结合DCGAN数据增强方法并进行数据降维验证平衡数据集对SD-OSELM 的性能影响。
4.2.1 数据集
本小节选择文献[9]中的Tor 网站指纹识别数据集进行实验,该数据集包含2 类实验场景:
场景A:数据分为Tor 监控网站与Non Tor 非监控网站2 种流量,主要验证模型的流量检测二分类能力。
场景B:数据包含Alexa Top 1 200 个网站流量,每个网站包含多条流量实例,主要验证模型网站内容分类多分类能力。
4.2.2 SDAE 数据编码可行性分析实验
首先,利用指标均方误差(Mean Squared Error,MSE)来衡量输入数据与重构数据的数据差异以确定序列在编码重构过程中的信息丢失。MSE 公式为:
其中:N为样本数量;
X、X’分别为输入样本和重构样本。
采用场景B 下网站内容识别数据集。本小节设计5 层DAE 网络进行数据编码。各层DAE 输入层和输出层神经元个数设置如下:DAE1 层为2 500 和1 800,DAE2 层为1 800 和1 200,DAE3 层为1 200 和800,DAE4 层为800 和400,DAE5 层为400 和100。图10 为5 层DAE 训练过程中的MSE 变化图。实验结果表明,经过10 次训练SDAE 输出的数据编码基本保留了原始数据特征,重构损失稳定在0.003 以下。
图10 DAE 训练重构误差变化图Fig.10 Variation diagram of DAE training reconstruction error
然后,为验证数据编码对OS-ELM 在线分类的影响,将2 500 维原始数据与100 维特征编码输入OS-ELM 模型。实验结果如表4 所示。
表4 数据编码对模型的性能影响Table 4 Effect of data coding on model performance
实验结果表明,SDAE 数据编码一方面能够实现数据约简,另一方面可提取数据深度特征用于分类。
4.2.3 SD-OSELM 性能分析实验
首先,为验证SD-OSELM 模型在线分类性能,向模型不断输入训练数据并记录模型随着数据输入的准确率变化。图11 为SDOS-ELM 的准确率曲线。实验结果表明,模型参数会随着新数据的输入实时优化更新,最终模型识别准确率可达95.7%。
图11 SDOS-ELM 分类准确率Fig.11 SDOS-ELM classification accuracy
然后,基于1DCNN-LSTM[9]、LSTM[9]模型、SDAE[9]分类模型进行对比实验,验证模型分类准确率、分类效率等方面的性能。实验结果如表5 所示。实验结果表明,SD-OSELM 分类准确率较LSTM、SDAE 模型有少量提高。但模型采取流处理模式摆脱了传统神经网络批训练方式的弊端,且单次训练模式使得总训练时间有较大缩减。
表5 不同模型性能对比Table 5 Comparison of different model performances
针对Tor 数据集难以收集、类别不平衡、模型抗概念漂移性能力差等问题,本文提出基于多尺寸DCGAN、SDAE 和OS-ELM 的在线Tor 流量分析模型,并通过仿真实验证明通过维度转化将一维流量序列转化为灰度图进行可视化分析和数据增强的可行性和实用性。结合SDAE 深度特征提取优势与OS-ELM 在线流处理模式的SD-OSELM 模型,能够摆脱深度神经网络批数据处理模式的固有缺陷,一定程度上缓解了概念漂移问题,模型在Tor 匿名流量检测、网站内容识别方面均有良好表现。
本文采用公开Tor 数据集进行实验,然而在实际网络流量监管过程中,流量特征更加繁杂。如何处理原始Tor 流量并提取重要数据特征用于分类是提高模型分类准确率的关键,下一步将对此进行研究。此外,连续多标签Tor 网页流量的分割与识别是提高Tor 流量分析技术实用性,这也是后续的研究方向。
猜你喜欢卷积神经网络流量冰墩墩背后的流量密码玩具世界(2022年2期)2022-06-15基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02张晓明:流量决定胜负!三大流量高地裂变无限可能!房地产导刊(2021年8期)2021-10-13寻找书业新流量出版人(2020年4期)2020-11-14神经网络抑制无线通信干扰探究电子制作(2019年19期)2019-11-23从滤波器理解卷积电子制作(2019年11期)2019-07-04基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20基于神经网络的拉矫机控制模型建立重型机械(2016年1期)2016-03-01复数神经网络在基于WiFi的室内LBS应用大连工业大学学报(2015年4期)2015-12-11基于支持向量机回归和RBF神经网络的PID整定海军航空大学学报(2015年4期)2015-02-27