Academic Research

Homogeneous traffic identification method for encrypted mobile applications based on graph attention mechanism

  • SUN Zepei ,
  • WANG Zihao ,
  • PAN Wei , *
Expand
  • School of Computer Science, Northwestern Polytechnical University, Xi’ an 710072, China

Online published: 2024-07-23

Supported by

The Joint Funds of the National Natural Science Foundation of China(No. U22B2025)

Copyright

Copyright ©2024 Journal of Aeronautical Materials. All rights reserved.

Abstract

For the purpose of traffic identification and management of encrypted mobile applications, a homogeneous traffic identification method for encrypted mobile applications based on graph attention mechanism was proposed to solve the problem of traffic homogeneity caused by the use of similar third-party libraries in encrypted mobile applications. Firstly, the traffic correlation graphs were constructed by multiple streams in traffic bursts, and packet features were embedded in the graph nodes. Then, the gated recurrent units were used to learn internal features of traffic correlation graph nodes. Meanwhile, the graph attention neural network was used to model the importance of the contextual traffic features of neighbor nodes of each graph node, so as to enhance the attention and learning of the contextual traffic in the homogeneous traffic. The proposed method can achieve the purpose of identifying the homogeneous traffic. Considering the coexistence of background traffic and mobile application traffic in the real scenario, the stochastic perturbation of graph nodes and the regularization loss of consistency were introduced to the proposed traffic identification model to enhance the robustness of the model. Experiments were conducted based on the public traffic dataset. The experimental comparison and analysis demonstrat that the proposed method can identify the homogeneous traffic identification of encrypted mobile applications, and provide better performance optimization compared to other approaches.

Cite this article

SUN Zepei , WANG Zihao , PAN Wei . Homogeneous traffic identification method for encrypted mobile applications based on graph attention mechanism[J]. Journal of Cybersecurity, 2024 , 2(2) : 97 -106 . DOI: 10.20172/j.issn.2097-3136.240210

0 引言

随着网络通信技术的快速发展和智能手机的广泛普及,移动应用的数量快速增加,丰富多样的移动应用满足了人们聊天社交、在线购物、游戏、路线导航、听音乐以及看视频等多种应用需求,随之产生的加密移动应用流量已成为互联网中的主要网络流量[1-2]。出于对用户隐私和数据安全保护的目的,越来越多的移动应用采用加密协议保障网络通信中数据传输的安全。网络流量走向全面加密时代已经是大势所趋,加密移动应用流量的爆炸式增长对移动应用流量的识别和管理带来了巨大挑战。相较于传统计算机端和其他网络设备产生的网络流量识别,移动应用种类繁多,产生的加密流量数据更加复杂,难以学习到有效、健壮的特征,而且移动应用中存在一定数量的同质流量,导致不同应用产生的流量可能具有相似甚至相同的特征[3-4]。加密移动应用流量的准确分析与识别是移动互联网网络管理的基础,对实现流量精细化管理、提升网络服务质量、保障网络空间安全以及加强网络信息监督管理具有十分重要的意义[5-6]
加密移动应用流量的同质特性是指不同移动应用产生的流量具有相似甚至相同的特征。许多应用程序在开发过程中会使用成熟第三方库(认证库、广告库和分析库),这些第三方库本身会产生网络流量。跨应用程序的公共库生成的网络流量是相似的,这会对网络流量的识别造成干扰,导致相同的流量数据可能出现不同的分类标签[7-8],严重影响了加密移动应用同质流量类型识别的准确性。对此,本文提出了一种针对加密移动应用同质流量问题的识别方法,将加密移动应用的每条流量和其伴随的上下文流量构建为流量相关图,使用图注意力机制对上下文流量的重要性进行建模,利用上下文流对同质流量进行增强,达到识别加密移动应用同质流量的所属应用类别的目的。考虑到存在背景流量以及多应用同时执行等情况会造成上下文流量中存在噪声,在流量识别模型构建过程中增加图节点随机扰动和一致性正则化损失的方法提高模型的鲁棒性。

1 相关工作

在网络流量分析技术中,传统的基于端口匹配的[9-10]、规则的[11-12],以及数据包深度检测的方法[13]在应对加密移动应用同质流量时面临失效,而基于经典的机器学习方法[14-15]在处理加密移动应用同质流量时也面临分析识别精度下降的问题。相较于传统方法,深度学习技术[16-17]具有更高的学习能力和更强的拟合能力,有助于学习加密网络流量数据之间的复杂关系和深层特征[18],为加密移动应用同质流量的分析与识别问题提供了解决的技术途径。
Taylor等[7]指出了同质流量的问题,提出了一种增强分类器的解决方案:首先使用初始分类器找出同质流量并标记,其次使用标记后的数据对增强分类器进行训练。他们还提出了一个轻量级框架AppScanner[19],用于安卓应用加密流量的指纹创建和识别。该框架利用到达时间和五元组将数据包划分为突发,使用支持向量分类(Support Vector Classification)和随机森林(Random Forest)利用包长序列特征对流量进行突发粒度的识别。文献[20]提出了一种为加密移动应用流量创建指纹的半监督方法FlowPrint。该方法利用IP、端口和TLS证书3个特征进行聚类,并利用时间相关性构建聚簇节点之间的关联关系,利用聚簇节点之间的相关性生成应用程序指纹。文献[21]提出了一种Fs-Net流量识别模型。该模型是一个端到端流序列网络,将堆叠的双向门控循环单元网络与自动编码器相结合,从原始传输层安全(Transport Layer Security)加密协议流中的数据包序列中学习特征。文献[22]提出了一种App-Net移动应用加密流量识别方法。该方法将长短期记忆网络(Long Short-Term Memory,LSTM)和卷积神经网络(Convolutional Neural Network,CNN)并行结合,使用LSTM提取包长序列中的时序特征,使用CNN学习包负载中的应用程序签名。文献[23]提出了一种基于联邦学习的第三方库流量识别方法。该方法基于动态插桩技术与第三方库检测技术设计了自动生成第三方库(Third-party Library)加密流量数据集,并且构建了基于卷积神经网络的联邦学习模型,用于识别第三方库流量。文献[24]提出了一种加密流量识别方法GraphDApp。该方法利用加密移动应用流量中的数据包序列建图,图中节点表示一个数据包,图中保存了流量中数据包交互的结构特征,并使用图卷积神经网络对图进行分类。文献[25]提出了一种基于图的流量识别算法——GCNA(Graph Convolutional Network and Autoencoder),构造了一个K-最近邻(K-Nearest Neighbor,KNN)流量图,图中包含了流量的相似性信息,图节点嵌入了从流中提取的特征。通过利用两层图卷积网络(Graph Convolution Network,GCN)进行流特征提取,进一步使用自动编码器学习流数据本身的表示,并将学习结果集成到GCN学习的表示中,以形成一个更完整的特征表示。基于流量图结构的学习方法将应用流量序列转化为图结构,使用图结构表示流量的交互过程,图节点表示数据包信息或流信息。图结构能够结合上下文流量信息分析中心流量,有助于加密移动应用加密流量的分类识别。

2 流量相关图的构建

2.1 流量相关图构造

本文基于加密移动应用流量的时间相关性构建了流量相关图。加密移动应用流量的时间相关性是指某一移动设备在较短时间间隔内产生的流量(即突发)很大可能由同一应用产生[26-27]。尽管单条流量可能不会呈现任何独特的特征表征,但由单个应用程序生成的一组连续流会呈现独特的特征表征模式。使用中心流量的上下文流量来进行流量特征增强,有助于提高加密移动应用流量识别的准确率。
本文将突发中的一组流相互连接,构造流量相关图,使用图注意力网络对图节点进行表征学习。首先,突发中每一条流作为图中的一个节点,将每条流的流量特征作为该节点的节点嵌入;其次,将节点之间互相连接。将捕获的原始流量文件构造成一组流量相关图的过程如图1所示。具体步骤如下。
图 1 由Burst构造流量相关图过程

Fig.1 The process of building a traffic correlation graph from burst

步骤1:将原始流量文件按照时间阈值划分为多个突发:$ \mathrm{p}\mathrm{c}\mathrm{a}\mathrm{p}\to [{\mathrm{B}\mathrm{u}\mathrm{r}\mathrm{s}\mathrm{t}}_{1},{\mathrm{B}\mathrm{u}\mathrm{r}\mathrm{s}\mathrm{t}}_{2},\cdots ,{\mathrm{B}\mathrm{u}\mathrm{r}\mathrm{s}\mathrm{t}}_{{n}}] $
步骤2:将划分的突发按五元组(IP、端口、协议)划分成流:$ {\mathrm{B}\mathrm{u}\mathrm{r}\mathrm{s}\mathrm{t}}_{{i}}\to [{\mathrm{F}\mathrm{l}\mathrm{o}\mathrm{w}}_{1},{\mathrm{F}\mathrm{l}\mathrm{o}\mathrm{w}}_{2},\cdots ,{\mathrm{F}\mathrm{l}\mathrm{o}\mathrm{w}}_{{m}}] $;从m个流中提取所选特征构造m个图节点,将m个图节点之间相互连接,得到此Brust的流量相关图。
步骤3:对划分的n个Brust依次执行步骤2的操作,得到一组流量相关图。

2.2 图节点嵌入

在构建流量相关图的过程中需要构建图节点,提取合适的特征嵌入图节点中,该过程如图2所示,选择使用数据包长序列和数据包方向两个特征。
图 2 图节点嵌入流特征的过程

Fig.2 The process of embedding flow features in graph node

构造图节点的具体步骤如下。
步骤1:将Burst中的数据包按照五元组(源IP,目的IP,源端口,目的端口,协议)划分成流,此过程使用WireShark自带的Tshark工具完成;
步骤2:使用Tshark对流进行初步清洗,删除其中的超时重传包、重复确认包和RESET包;
步骤3:使用PyShark包从流中提取前N个数据包的前256字节,不足N个数据包的流或负载长度不足256字节的包使用0补足。将每个字节转为十进制数(0~255)。

3 基于图注意力网络的加密移动应用同质化流量识别模型

3.1 随机扰动

在流量相关图构建过程中,一般情况下移动设备在突发内的多条流由同一应用产生。但是经过对大量真实流量进行观察发现,在某些情况下会存在一些干扰,如出现背景流量或者多应用同时执行的情况。当存在以上流量时,流量相关图中的某些边成为了噪声数据。为了解决噪声节点关系(边),本文设计了一种随机扰动的方法,在计算过程中随机屏蔽某些边,即随机删除某些邻居噪声节点,如图3所示。通过这种方式在使用上下文流对同质流量进行特征增强时,减少某些不相干流量的干扰。
图 3 随机扰动过程

Fig.3 The process of random perturbation

随机扰动使注意力运算过程中随机关注部分邻居,对上下文流量重要性的建模具有更好的鲁棒性。采取退出策略[28]来生成扰动邻接矩阵$ {\boldsymbol{A}} $。具体来说,在训练过程中通过将A的一些元素随机设置为0来扰动特征矩阵。在给定一个具有邻接矩阵$ {\boldsymbol{A}} $和特征矩阵$ {\boldsymbol{X}} $的输入图$ {{G}} $后,首先生成一个随机二进制掩码矩阵$ {\boldsymbol{M}} $,其次将$ {\boldsymbol{M}} $$ {\boldsymbol{A}} $相乘生成扰动邻接矩阵$ \tilde{{\boldsymbol{A}}} $,后续的图注意力运算使用$ \tilde{{\boldsymbol{A}}} $进行,如式1所示。
$ \tilde{{\boldsymbol{A}}}={\boldsymbol{A}}\cdot {\boldsymbol{M}} $
式中,$ {\boldsymbol{M}}={[\epsilon}_{1},{\epsilon}_{2},\cdots ,{\epsilon}_{n}] $$ {\epsilon}_{i}~\mathrm{B}\mathrm{e}\mathrm{r}\mathrm{n}\mathrm{o}\mathrm{u}\mathrm{l}\mathrm{l}\mathrm{i}(1-\delta ) $$ \delta $为扰动因子,可以控制被屏蔽的边的比例。
扰动邻接矩阵能够让每个节点忽略不相邻节点的特征,只收集来自它们相邻子集的信息,因此能够减小对特殊邻居的依赖性,进而提升模型的稳健性和鲁棒性。

3.2 一致性正则化损失

为了提高流量识别模型对流量相关图中关联关系噪声的鲁棒性,本文优化了不同随机扰动之间的预测一致性。即在不同的随机扰动之下,节点特征提取结果尽可能相近,使中心节点关注到上下文具有泛化性的邻居节点。通过加入一致性正则化损失来达到此目的。假设扰动次数T设置为2时,一致性正则化损失可以通过计算两次标签输出之间的$ {L}_{2} $距离的平方得出,如式(2)所示。
$ {L}_{2}=\mathrm{m}\mathrm{i}\mathrm{n}{\sum }_{i=0}^{n-1}{\left|\right|{\tilde{{Z}_{i}}}^{\left(1\right)}-{\tilde{{Z}_{i}}}^{\left(2\right)}\left|\right|}_{2}^{2} $
式中,n为图中节点个数;$ {\tilde{{Z}_{i}}}^{\left(1\right)} $${\tilde{{Z}_{i}}}^{\left(2\right)} $分别为第一次和第二次随机扰动得到的扰动图经图注意力网络进行表征学习后第i个节点的输出。
为了将这一过程扩充到多次扰动的情况,取多次扰动输出的平均值作为标签分布中心,即$ \bar{{Z}_{i}}=\dfrac{1}{T}{\displaystyle\sum }_{{i}=1}^{{T}}{\tilde{{Z}_{i}}}^{\left(t\right)} $,然后最小化$ \bar{{Z}_{i}} $$ {\tilde{{Z}_{i}}}^{\left(t\right)} $之间的$ {L}_{2} $距离,如式(3)所示。
$ {L}_{{\mathrm{con}}}=\frac{1}{T}\sum\nolimits _{t=1}^{T}\sum\nolimits _{i=0}^{n-1}{\left|\right|\bar{{Z}_{i}}-{\tilde{{Z}_{i}}}^{\left(t\right)}\left|\right|}_{2}^{2} $
一致性正则化损失计算过程如图4所示。图G经过T次扰动之后生成T个扰动图,在计算图t的节点i的一致性正则化损失时,首先计算T个扰动图的i节点的平均值$ \bar{{Z}_{i}} $,其次计算图t的节点i与该平均值的$ {L}_{2} $距离,即为该节点的一致性正则化损失。
图 4 一致性正则化损失的计算过程

Fig.4 The calculation process of consistency regularization loss

3.3 基于图注意力网络的同质流量识别

在随机扰动和一致性正则化损失设计的基础上,本文提出一种基于图注意力机制的加密移动应用同质流量识别模型(EHT-GAT),如图5所示。该模型首先输入流量相关图$ G $进行随机扰动,生成扰动图$ {G}_{1}\sim{G}_{T} $;其次使用门控循环单元(Gated Recurrent Unit,GRU)对图节点进行时序特征的学习,由于使用图注意力网络(Graph Attention Network,GAT)更多的是对邻居节点的重要性建模,不能有效学习图节点内部的特征,所以需要使用GRU提前对图节点进行一次特征学习,再次使用图注意力神经网络GAT对每个节点的邻居节点进行关注度建模,根据权重分布聚合邻居节点;最后对每个邻居节点的聚合结果分别进行监督损失和一致性正则化损失计算。
图 5 基于图注意力机制的加密移动应用同质流量识别模型

Fig.5 Homogeneous traffic identification model for encrypted mobile applications based on graph attention mechanism

加密移动应用同质流量识别模型的详细步骤如下。
步骤1:对输入的流量相关图$ G= < \boldsymbol{A},\boldsymbol{X} > $进行随机扰动,得到T个扰动图$ {G}_{1},{G}_{2},\cdots ,{G}_{T} $。其中$ {G}_{t} $=<$ {\tilde{{\boldsymbol{A}}}}^{\left(t\right)},{\boldsymbol{X}} $>$ {\tilde{{\boldsymbol{A}}}}^{\left(t\right)}={\boldsymbol{A}}\cdot {\boldsymbol{M}} $,(t=1,2,···,T)。
步骤2:使用GRU对$ {{G}}_{1} $的各个图节点进行时序特征的提取:
$ {\tilde{{\boldsymbol{X}}}}^{\left(1\right)}={f}_{\mathrm{G}\mathrm{R}\mathrm{U}}\left({{\boldsymbol{X}}}^{\left(1\right)}\right) $
步骤3:使用利用$ {\tilde{{\boldsymbol{X}}}}^{\left(1\right)} $$ {\tilde{{\boldsymbol{A}}}}^{\left(1\right)} $$ {{G}}_{1} $进行图注意力运算,得到聚合邻居节点之后的特征矩阵$ {F}^{\left(1\right)} $
$ {{\boldsymbol{F}}}^{\left(1\right)}={f}_{\mathrm{G}\mathrm{A}\mathrm{T}}({\tilde{{\boldsymbol{X}}}}^{\left(1\right)},{\tilde{{\boldsymbol{A}}}}^{\left(1\right)} ) $
步骤4:使用全连接和softmax输出$ {{G}}_{1} $所有节点的标签预测张量:
$ {Z}^{\left(1\right)}=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left[\mathrm{l}\mathrm{i}\mathrm{n}\mathrm{e}\mathrm{a}\mathrm{r}\right({{\boldsymbol{F}}}^{\left(1\right)}\left)\right] $
步骤5:对$ {{G}}_{2},\cdots ,{{G}}_{\mathrm{T}} $重复执行步骤2~步骤4,依次得到$ {Z}^{\left(2\right)}-{Z}^{\left(T\right)} $
步骤6:对$ {Z}^{\left(1\right)}\sim{Z}^{\left(T\right)} $计算监督损失:
$ {L}_{\mathrm{s}\mathrm{u}\mathrm{p}}=\frac{1}{T}\sum\nolimits _{t=1}^{T}\sum\nolimits _{i=0}^{n-1}\mathrm{c}\mathrm{r}\mathrm{o}\mathrm{s}\mathrm{s}\mathrm{E}\mathrm{n}\mathrm{t}\mathrm{r}\mathrm{o}\mathrm{p}\mathrm{y}({\tilde{{Z}_{i}}}^{\left(t\right)},{Y}_{i}^{\left(t\right)}) $
式中,$ \mathrm{c}\mathrm{r}\mathrm{o}\mathrm{s}\mathrm{s}\mathrm{E}\mathrm{n}\mathrm{t}\mathrm{r}\mathrm{o}\mathrm{p}\mathrm{y} $为交叉损失函数;$ {\tilde{{Z}_{i}}}^{\left(t\right)} $$ {G}_{t} $的第i个节点的预测结果;$ {Y}_{i}^{\left(t\right)} $$ {G}_{t} $的第i个节点的实际标签。
步骤7:通过式(3)计算$ {Z}^{\left(1\right)}\sim{Z}^{\left(T\right)} $的一致性正则化损失。
步骤8:通过梯度下降更新模型参数,$ \theta = \theta - \eta{\nabla }_{\theta }({L}_{\mathrm{s}\mathrm{u}\mathrm{p}}+\lambda {L}_{\mathrm{c}\mathrm{o}\mathrm{n}}) $
步骤9:重复步骤1~8,直至模型收敛。
EHT-GAT模型的算法如表1所示。
表 1 EHT-GAT模型的算法

Table 1 The algorithm of EHT-GAT

算法:基于图注意力机制的加密移动应用同质流量识别算法
输入:
 邻接矩阵$ {\boldsymbol{A}} $,特征矩阵$ {\boldsymbol{X}} $,扰动次数$ T $,掩码矩阵参数$ \delta $,学习率η
输出:
 预测结果Z
   While epoch in epochs do
    for t = 1:T do
   生成扰动邻接矩阵$ {\tilde{{\boldsymbol{A}}}}^{\left(t\right)} $$ {\tilde{{\boldsymbol{A}}}}^{\left(t\right)}={\boldsymbol{A}}\bullet {\boldsymbol{M}} $
    使用GRU对所有图节点分别进行时序特征学习:
    $ {\tilde{{\boldsymbol{X}}}}^{\left(t\right)}={f}_{\mathrm{G}\mathrm{R}\mathrm{U}}\left({{\boldsymbol{X}}}^{\left(t\right)}\right) $
   对$ \tilde{{{\boldsymbol{X}}}} $$ \tilde{{\boldsymbol{A}}} $进行图注意力运算:$ {{\boldsymbol{F}}}^{\left(t\right)}={f}_{\mathrm{G}\mathrm{A}\mathrm{T}} $($ {\tilde{{\boldsymbol{X}}}}^{\left(t\right)} $,$ {\tilde{{\boldsymbol{A}}}}^{\left(t\right)} $)
   使用全连接和softmax输出输出所有节点的标签预测张量:
    $ {Z}^{\left(t\right)}=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left(\mathrm{l}\mathrm{i}\mathrm{n}\mathrm{e}\mathrm{a}\mathrm{r}\right({{\boldsymbol{F}}}^{\left(t\right)}\left)\right) $
   end for
  使用交叉熵损失函数计算监督分类损失$ {L}_{\mathrm{s}\mathrm{u}\mathrm{p}} $,通过式(3)计算一致性正则化损失
  通过梯度下降更新模型参数:$ \theta =\theta -\eta{\nabla }_{\theta }({L}_{\mathrm{s}\mathrm{u}\mathrm{p}}+{\lambda L}_{\mathrm{c}\mathrm{o}\mathrm{n}}) $
  end while
 输出预测$ Z $$ Z={f}_{\mathrm{G}\mathrm{A}\mathrm{T}}\left({f}_{\mathrm{G}\mathrm{R}\mathrm{U}}\right({\boldsymbol{X}}),\tilde{{\boldsymbol{A}}}) $

4 实验与结果分析

4.1 评价指标

在流量识别领域常用的评价指标包括准确率(Accuracy)、查准率(Precision)、召回率(Recall)和F1-Measure 值(以下简称F1值)等。其中准确率反映的是对数据集整体的识别效果,查准率和召回率反映的是对某个应用流量的识别情况,F1是对查准率和召回率的综合评价。一般情况下,Precision高,Recall则低;Recall高,Precision则低。以上4个指标的计算公式如下:
$ {\mathrm{accuracy}}=\frac{{\mathrm{TP+TN}}}{{\mathrm{TP+FP+TN+FN}}} $
$ {\mathrm{precision}}=\frac{{\mathrm{TP}}}{{\mathrm{TP+FP}}} $
$ {\mathrm{recall}}=\frac{{\mathrm{TP}}}{{\mathrm{TP+FN}}} $
$ F1=\frac{2*{\mathrm{precision}}*{\mathrm{recall}}}{{\mathrm{precision+recall}}} $
式中,TP表示True Positive,即被识别为正数据,但实际为正数据;FP表示False Positive,即被识别为正数据,但实际为负数据;TN表示True Negative,即被识别为负数据,但实际为负数据;FN表示False Negative,即被识别为负数据,但实际为正数据。

4.2 实验数据集

本文采用移动应用公共流量数据集CrossPlatform[29-30]进行实验验证。该数据集由215个安卓应用程序和196个iOS应用程序产生的加密流量数据组成。iOS应用程序是从美国、中国和印度应用商店排名前100的应用中收集而来的。安卓应用程序选取的是来自美国和印度Google Play商店的前100名应用,以及腾讯应用市场和360应用助手中前100名的应用。每个应用程序每次执行3~10 min,接收真实的用户输入,并采集移动应用产生的流量数据。

4.3 实验设置

4.3.1 实验环境

实验使用Pytorch深度学习框架实现,将Epoch设置为1000,使用Adam优化器并将学习率设置为0.001,为了避免过拟合将DropOut设置为0.3。采用十折交叉验证进行测试并取平均结果。实验平台使用8核CPU、NVIDIA 3090 GPU、32GB内存和Ubuntu 20.04的操作系统。

4.3.2 模型详细参数

本文提出的基于图注意力神经网络的加密移动应用同质流量识别算法的详细参数如表2所示。其中M表示图中节点的个数,N表示使用的数据包个数。GAT一层包含两个输入、图节点特征以及邻接矩阵。
表 2 EHT-GAT模型详细参数

Table 2 Detailed parameters of the EHT-GAT

层数 结构 输入尺寸 模型参数
1 LayerNorm (M, N, 256) normalized_shape = (N, 256)
2 GRU (M, N, 256) hidden_size = 256
3 GRU (M, N, 256) hidden_size = 256
4 Flatten (M, N, 256) start_dim = 1
5 DropOut (M, N×256) rate = 0.3
6 GAT (M, N×256), (M, M) head =8, dropout = 0.3
7 DropOut (M, N×256) rate = 0.3
8 Dense (M, N×256) out_features = ClassNum

4.3.3 对比算法

本文选用了相关研究工作中的Fs-Net、App-Net、GraphDApp、GCNA和FlowPrint方法进行对比实验分析。

4.4 实验结果分析

4.4.1 对比实验

将Cross-Platform数据集分为Android和iOS两个子数据集分别进行实验,得到的结果如表3表4所示。相较于Fs-Net和App-Net两个基线算法,EHT-GAT模型效果有较大提升。在Android数据集上EHT-GAT模型的准确率达到了87.14%,在iOS数据集上的准确率达到了88.86%。而GraphDApp和GCNA两个算法在此数据集的效果不太理想,与本文提出的算法有较大差距。相较于FlowPrint,本文所提出的算法提升效果并不明显,在Android和iOS数据集上的准确率分别提高了0.93%和1.86%。但是FlowPrint在利用时间相关性计算聚簇节点相关性时设定的最优时间窗口为30 s。该方法假定时间窗口内只有一种应用流量产生,这与真实环境的移动应用使用情况不符,因此本文认为FlowPrint得出的是理想化的实验结果。
表 3 在Cross-Platform(安卓)上的实验结果

Table 3 The results of the experiment on Cross-Platform (Android)

算法 准确率 查准率 召回率 F1值
Fs-Net 0.6257 0.7494 0.6257 0.6579
App-Net 0.7550 0.7955 0.7550 0.7603
GraphDApp 0.4500 0.6993 0.4500 0.5213
GCNA 0.6450 0.7426 0.6450 0.6643
FlowPrint 0.8621 0.8747 0.8621 0.8633
EHT-GAT(本文) 0.8714 0.8854 0.8714 0.8721
表 4 在Cross -Platform(iOS)上的实验结果

Table 4 The results of the experiment on Cross-Platform (iOS)

算法 准确率 查准率 召回率 F1值
Fs-Net 0.6450 0.7426 0.6450 0.6643
App-Net 0.7407 0.7968 0.7407 0.7547
GraphDApp 0.4729 0.7046 0.4729 0.5474
GCNA 0.6257 0.7494 0.6257 0.6579
FlowPrint 0.8700 0.8798 0.8700 0.8694
EHT-GAT(本文) 0.8886 0.8999 0.8886 0.8892
为了验证所提出的算法对同质流量的识别发挥了作用,本文在去除同质流量的数据集上对各个算法进行验证,实验结果如表5所示。从表中可以看到Fs-Net、App-Net、GraphDApp和GCNA的准确率都有了较大提升,尤其是GCNA,其准确率提高了9.57%,表明同质流量对流量识别造成较大干扰。其中GCNA的准确率提高尤为明显,这与该算法的设计有很大关系。GCNA首先使用KNN算法寻找相似的流节点并相互连接构造流量图,其次使用图神经网络对图节点分类,这无疑会加重同质流量的负面影响,因为很多相似流量实际上属于不同的类别,将这些节点相互连接会进一步增强干扰。相较于其他算法,本文提出的算法对同质流量具有较强的鲁棒性。
表 5 去除Cross-Platform同质流量的实验结果

Table 5 The results on Cross-Platform without homogeneous flows

算法 准确率 查准率 召回率 F1值
Fs-Net 0.6793 0.7826 0.6793 0.7057
App-Net 0.8079 0.8387 0.8079 0.8133
GraphDApp 0.4741 0.7112 0.4737 0.5503
GCNA 0.7407 0.7968 0.7407 0.7547
FlowPrint 0.8705 0.8751 0.8705 0.8679
EHT-GAT(本文) 0.8736 0.8845 0.8736 0.8733

4.4.2 消融实验

为了验证本文提出的随机扰动方法发挥的作用,本节将随机扰动中的扰动因子作为变量在Cross-Platform数据集上进行实验,验证了不同扰动因子对模型准确率的影响。将扰动因子设置为1时,表示所有的边都将被屏蔽;将扰动因子设置为0时,表示没有边被屏蔽。图6为准确率随扰动因子变化曲线,当扰动因子设定为0即不扰动时,准确率为84%,当扰动因子设定为0.3时,准确率提高至87.3%,提升了2.3%,证明随机扰动过程发挥了作用。当扰动因子大于0.6时,准确率快速下降,这可能是因为扰动比例过大,节点的邻居节点过少,不能利用上下文流量辅助建模,造成时间相关性失效。
图 6 随机扰动因子对准确率的影响

Fig.6 Effect of stochastic perturbation factor on accuracy

为了检验引入的一致性正则化损失是否有效,本文进行了消融实验,以一致性正则化损失的影响因子$ \lambda $作为变量。当$ \lambda $为0时,表明未将一致性正则化损失纳入最终的损失计算,当$ \lambda $为1时,表明已经将一致性正则化损失纳入了最终的损失计算。实验结果如图7所示,当$ \lambda $为0.2时,模型准确率最高,相较于$ \lambda $为0时准确率提高了2%,表明添加一致性正则化损失是有效的。
图 7 一致性正则化损失对准确率的影响

Fig.7 Effect of consistency regularization loss on accuracy

4.4.3 训练损失和准确率变化曲线

图8展示了在Cross-Platform数据集上进行训练时训练集和验证集的损失变化曲线,图9展示了准确率变化曲线,从图中可以看出模型在第250次迭代以后逐渐收敛。
图 8 损失变化曲线

Fig.8 Curve of loss change

图 9 准确率变化曲线

Fig.9 Curve of accuracy change

通过上述实验分析发现,在所构建的加密移动应用同质流量识别模型加入图节点随机扰动和一致性正则化损失后对其抗干扰能力和鲁棒性提升起到了积极作用。基于图注意力机制的加密移动应用同质流量识别模型可用在移动设备的端侧或同网络域的边缘侧对移动应用流量类型进行识别。需要重视的是,如何从复杂混合网络环境下的高相似性、相关性的多流中准确识别流量的类型仍是难题。本文实验选择的数据集是在相对封闭的实验室测试场景下采集的,实验使用的移动应用流量的数据占比多于背景噪声流量。在移动应用流量混合性比较强的公共网络场景下,随着互联网环境和移动应用程序数量的不断增长,流量的同质化问题变得更加复杂,大量的加密移动应用流量从移动设备中并发产生,待识别的移动应用流量与第三方应用流量、其他背景流量混淆在一起,待识别的移动应用流量的数据体量甚至远小于背景流量,数据分布不平衡,这些问题都会影响该识别模型的实际准确性。对此,为了应对层出不穷的新应用与复杂多变的网络环境特征,还需继续优化该流量识别模型对同质流量的深层次表征学习能力,增强模型的抗干扰能力,提升开放场景下的加密移动应用流量识别精度以及模型稳定性。

5 结束语

本文对加密移动应用同质流量的识别进行了积极探索与实践,提出了一种基于图卷积神经网络的加密移动应用同质流量识别模型。首先利用加密移动应用流量存在的时间相关性构建流量相关图,其次利用GRU对图节点进行初步的表征学习,最后利用图注意力机制对流量相关图进行建模,通过关联上下文邻居节点进行分类。为了解决流量相关图中存在的噪声边,本文设计了结合随机扰动和一致性正则化损失的方案,并基于CrossPlatform移动应用流量数据集进行了实验验证。实验结果表明,与其他相关研究方法对比,本文的方法有效识别加密移动应用同质流量并具有较强的鲁棒性。但在混合性比较强的公共网络场景,更多不同应用的流量同时产生,流量突发特征不明显,一个突发中也可能混合了多种应用的流量,因此在下一步研究工作中,还需从特征工程角度挖掘和提取更具有健壮性的流量特征,优化同质流量识别模型的深层次学习能力,以提升对同质流量的识别精度和开放场景下的模型稳定性。
1
WANG Y,AN J,HUANG W. Using CNN-based representation learning method for malicious traffic identification[C]//2018 IEEE/ACIS 17th International Conference on Computer and Information Science (ICIS),Singapore:IEEE,2018:400-404.

2
LI J,YUN X C,TIAN M,et al. A method of HTTP malicious traffic detection on mobile networks[C]//2019 IEEE Wireless Communications and Networking Conference (WCNC),Marrakesh,Morocco:IEEE,2019:1-8.

3
KARA I,AYDOS M. Cyber Fraud:Detection and analysis of the crypto-ransomware[C]//2020 11th IEEE Annual Ubiquitous Computing,Electronics & Mobile Communication Conference (UEMCON),New York,NY,USA:IEEE,2020:0764-0769.

4
KATARIA S,NAFIS M T. Internet banking fraud detection using deep learning based on decision tree and multilayer perceptron[C]//2019 6th International Conference on Computing for Sustainable Global Development (INDIACom),New Delhi,India:IEEE,2019:1298-1302.

5
WANG P, CHEN X, YE F, et al. A survey of techniques for mobile service encrypted traffic classification using deep learning[J]. IEEE Access, 2019, (7): 54024- 54033.

6
SHEN M, WEI M, ZHU L, et al. Classification of encrypted traffic with second-order markov chains and application attribute bigrams[J]. IEEE Transactions on Information Forensics and Security, 2017, 12 (8): 1830- 1843.

DOI

7
TAYLOR V F, SPOLAOR R, CONTI M, et al. Robust smartphone App identification via encrypted network traffic analysis[J]. IEEE Transactions on Information Forensics and Security, 2017, 13 (1): 63- 78.

8
BACKES M,BUGIELl S,DERR E. Reliable third-party library detection in android and its security applications[C]//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security,2016:356-367.

9
DOROUD H,ALASWAD A,DRESSLER F. Encrypted traffic detection:Beyond the port number era[C]//2022 IEEE 47th Conference on Local Computer Networks (LCN),Edmonton,AB,Canada:IEEE,2022:198-204.

10
YE K, SHEN H, WANG Y, et al. Multi-tier workload consolidations in the cloud: Profiling modeling and optimization[J]. IEEE Trans. Cloud Comput., 2022, 10 (2): 899- 912.

DOI

11
EL-MAGHRABY R T,ELAZIM N M A,BAHAA-ELDIN A M. A survey on deep packet inspection[C]//2017 12th International Conference on Computer Engineering and Systems (ICCES),Cairo,Egypt:IEEE,2017:188-197.

12
KHANDAIT P,HUBBALLI N,MAZUMDAR B. Efficient keyword matching for deep packet inspection based network traffic classification[C]//2020 International Conference on COMmunication Systems & NETworkS (COMSNETS),Bengaluru,India:IEEE,2020:567-570.

13
陈子涵, 程光, 徐子恒, 等. 互联网加密流量检测、分类与识别研究综述[J]. 计算机学报, 2023, 46 (5): 1060- 1085.

DOI

CHEN Z H, CHENG G, XU Z H, et al. A survey on internet encrypted traffic detection, classification and identification[J]. Chinese Journal of Computers, 2023, 46 (5): 1060- 1085.

DOI

14
BARUT O,ZHU R,LUO Y,et al. TLS encrypted application classification using machine learning with flow feature engineering[C]//ICCNS 2020:2020 the 10th International Conference on Communication and Network Security,New York,USA:Association for Computing Machinery,2020:32-41.

15
RAMIRES M,GOMES A S,RITO LIMA S,et al. Network traffic classification using ML:A comparative analysis[C]//2022 17th Iberian Conference on Information Systems and Technologies (CISTI),Madrid,Spain,2022:1-6.

16
WANG W ,ZHU M ,WANG J ,et al. End-to-end encrypted traffic classification with one-dimensional convolution neural networks[C]//2017 IEEE International Conference on Intelligence and Security Informatics (ISI),Beijing,China:IEEE,2017:43-48.

17
HE H Y,GUO Y Z,CHEN X N. PERT:Payload encoding representation from transformer for encrypted traffic classification[C]//2020 ITU Kaleidoscope:Industry-Driven Digital Transformation (ITU K),Ha Noi,Vietnam:IEEE,2020:1-8.

18
REZAEI S, LIU X. Deep learning for encrypted traffic classification: An overview[J]. IEEE Communications Magazine, 2019, 57 (5): 76- 81.

DOI

19
TAYLOR V F,SPOLAOR R,CONTI M,et al. Appscanner:Automatic fingerprinting of smartphone Apps from encrypted network traffic[C]//2016 IEEE European Symposium on Security and Privacy (EuroS&P),Saarbruecken,Germany:IEEE,2016:439-454.

20
VAN E T,BORTOLAMEOTTI R,CONTINELLA A,et al. Flowprint:Semi-supervised mobile-app fingerprinting on encrypted network traffic[C]//In Proceedings of the ISOC Network and Distributed Systems Security Symposium (NDSS),2020:1-18.

21
LIU C,HE L,XIONG G,et al. Fs-Net:A flow sequence network for encrypted traffic classification[C]//IEEE INFOCOM 2019-IEEE Conference on Computer Communications,Paris,France:IEEE,2019:1171-1179.

22
WANG X,CHEN S,SU J. App-Net:A hybrid neural network for encrypted mobile traffic classification[C]//IEEE INFOCOM 2020-IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS),Toronto,ON,Canada:IEEE,2020:424-429.

23
崔华俊, 孟国柱, 李玥琦, 等. 基于联邦学习的第三方库流量识别[J]. 信息安全学报, 2023, 8 (3): 128- 145.

CUI H J, MENG G Z, LI Y Q et al. A third-party library traffic identification framework using federated learning[J]. Journal of Cyber Security, 2023, 8 (3): 128- 145.

24
SHEN M, ZHANG J, ZHU L, et al. Accurate decentralized application identification via encrypted traffic analysis using graph neural networks[J]. IEEE Transactions on Information Forensics and Security, 2021, 16, 2367- 2380.

DOI

25
SUN B,YANG W,YAN M,et al. An encrypted traffic classification method combining graph convolutional network and autoencoder[C]//2020 IEEE 39th International Performance Computing and Communications Conference (IPCCC),Austin,TX,USA:IEEE,2020:1-8.

26
CHEN Y,ZANG T,ZHANG Y,et al. Rethinking encrypted traffic classification:A multi-attribute associated fingerprint approach[C] //2019 IEEE 27th International Conference on Network Protocols (ICNP),Chicago,IL,USA:IEEE,2019:1-11.

27
MISKOVIC S,LEE G M,LIAO Y,et al. Appprint:Automatic fingerprinting of mobile applications in network traffic[C]//Proceedings of the 16th International Conference on Passive and Active Measurement,PAM 2015,New York City,USA,2015:57-69.

28
VELICKOVIC P,CUCURULLl G,CASANOVA A,et al. Graph attention networks[C]//Proceedings of the 6th International Conference on Learning Representations. Vancouver:ICLR,2018:1-12.

29
WANG Y, YUN X, ZHANG Y, et al. A multi-scale feature attention approach to network traffic classification and its model explanation[J]. IEEE Transactions on Network and Service Management, 2022, 19 (2): 875- 889.

30
REN J,DUBOIS D J,CHOFFNES D. An international view of privacy risks for mobile Apps[EB/OL]. [2023-09-03]. https://recon.meddle.mobi/papers/ cross-market.pdf,2019.

Outlines

/