原文标题:Accurate Decentralized Application Identification via Encrypted Traffic Analysis Using Graph Neural Networks原文作者:Meng Shen, Jinpeng Zhang, Liehuang Zhu, Ke Xu and Xiaojiang Du原文链接:https://ieeexplore.ieee.org/abstract/document/9319399发表期刊: IEEE TIFS笔记作者:孙汉林@安全学术圈主编:黄诚@安全学术圈
1、引言
这篇论文提出了一种基于图神经网络(Graph Neural Networks, GNN)的去中心化应用(Decentralized Applications, DApp)识别方案——GraphDApp。传统的加密流量识别方案重度依赖人工构造和微调的特征,且由于同一平台上的 DApp 采用相似的通信接口和加密方式,这导致传统的检测方案难以生效。
GraphDApp 方案的核心是构建流量交互图(Traffic Interaction Graph, TIG),以保留 client-server 交互的多维特征,从而将 DApp 指纹识别转化为图像分类问题。实验结果表明,该方法在封闭世界和开放世界场景下均优于现有方案,且可用于传统移动应用识别问题,具有高准确率和适用性。
本文贡献如下:
-
提出用流量交互图(TIG)来表示加密流量。 -
设计了GraphDApp,一个基于GNN的分类器。 -
收集了1,300个以太坊DApp的真实流量数据。
2、威胁模型
本文聚焦于部署在以太坊(Ethereum)平台上的DApps,与传统Web应用程序连接到数据库的方式不同,DApp的前端是以太坊统一定义的用户界面,后端则是智能合约,连接到以太坊区块链网络。主要流程如下:
-
客户端发请求:DApp客户端通过DNS查询,获取智能合约服务器的IP地址,并向其发送请求。 -
智能合约执行:智能合约在服务器端决定每个DApp操作的执行结果。 -
数据存储分发:执行结果和数据记录由矿工打包成区块,存储在区块链的分布式账本上,最终分发给其他客户端。
客户端与区块链平台之间使用SSL/TLS协议加密数据,攻击者在客户端本地网络被动监听数据,不存在主动攻击、劫持篡改流量等行为。
3、GraphDApp方案
GraphDApp 通过 TIG + GNN 组合,自动提取 DApp 流量的特征,并通过 MLP、全连接层和优化策略提高分类准确率。
GraphDApp首先从加密流量中提取数据包序列,并利用 TIG 构造算法将其转换为图结构数据,然后将图结构数据送往 GNN;GNN 负责从 TIG 提取特征,其核心由 MLP(多层感知机)和全连接层组成。其中,MLP 进行邻域聚合,而全连接层用于最终分类决策。
3.1 TIG构建
本方案为每个Flow构建一个TIG,每个Flow有唯一的五元组(源IP,目的IP,源端口,目的端口,协议)。在下图(a)中的流量交互序列中,灰色部分代表SSL/TLS握手阶段,白色部分代表数据传输部分,其中数字表示包的大小,符号表示包的方向。
为了更形象的展示流量交互过程,作者构建了流量交互图TIG,其中:
-
顶点(Vertex):每个流的顶点表示流中的一个数据包。其中的数字和符号分别表示包的大小和方向。
-
边(Edges):TIG中的边分为两种类型:内突发边(Intra-burst edges),连接同一突发(即在短时间内按相同方向传输的连续数据包)中相邻的顶点;跨突发边(Inter-burst edges),连接相邻的突发(各自首尾顶点相连)。
TIG包含了数据包的方向信息、长度信息、突发信息和顺序信息,通过这四个方面的特征提取,能够更有效的支持DApp流量分类任务。
3.2 GNN构建
GraphDApp 的 GNN 由 MLP 层、全连接层、损失函数和优化器组成。
-
MLP 层(Multi-Layer Perceptrons):通过多层 MLP 提取 TIG的特征,每层执行邻域聚合,使节点特征包含其邻居的信息。
-
全连接层(Fully-Connected Layer):全连接层对 MLP 输出进行线性变换,并将其映射到一个新的潜在空间,以便进行分类预测。
-
损失函数(Loss Function):该函数通过衡量模型预测与真实标签之间的差距来指导模型优化,以便在训练过程中获得更好的收敛性。
-
优化器(Optimizer):优化器的作用是调整模型的参数,以便使模型在训练过程中不断降低损失函数的值,从而提高模型的准确性或性能。
此外,模型还需调参以达到最优效果。GraphDApp通过从一个范围内搜索超参数,并逐步调整每个超参数的值来估计其梯度,决定是否增加或减少超参数。参数范围及最终结果如下图所示:
4、实验设计与结果
为了全面评估GraphDApp的性能,采用了6种典型的比较方法,并对这些方法进行了调优,以确保它们在评估数据集上取得最佳准确率。为确保公平比较,使用了10折交叉验证法进行评估。
4.1 流量采集
本实验的流量数据是通过部署在不同大学里的路由器捕获的,路由器中启用WireShark,当用户使用Chrome访问DApp时,路由器会将数据保存到流量数据库中。
为构建封闭世界数据集,作者选择了以用户数最多的40个以太坊DApp作为受监控DApp,总共收集了155,500个流量数据;为构建开放世界数据集,作者随机选择了1,260个未受监控的DApp,并收集了14,000个流量数据,每个未受监控的DApp只访问一次。
4.2 实验结果
在封闭世界场景中,目标是识别出用户访问的哪一款受监控的DApp,通常将其视为多分类问题,实验结果如下:
在开放世界场景中,用户不仅能访问受监控的DApp,还能访问其它未受监控的DApp,该场景下的目标是识别出受监控的DApp,这通常是二分类问题,实验结果如下:
安全学术圈招募队友-ing 有兴趣加入学术圈的请联系 secdr#qq.com
专题最新征文
-
期刊征文 | 暗网抑制前沿进展 (中文核心)
-
期刊征文 | 网络攻击分析与研判 (CCF T2)
-
期刊征文 | 域名安全评估与风险预警 (CCF T2)
原文始发于微信公众号(安全学术圈):北京理工大学 | 基于图神经网络的加密流量分析精准识别去中心化应用
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论