Accurate Decentralized Application Identification via Encrypted Traffic Analysis Using Graph Neural Networks--论文解读
利用图神经生成去中心化软件的指纹----一个应用创新,话说要不要了解区块链是个啥(
为啥区块链能提供用户匿名性,为啥了有了指纹就能解匿名性
Abstract
通过对用户与去中心化程序交互的流量的识别,可以识别出应用程序特定的‘指纹’。借此得出的识别模型可以识别用户对外发出的流量访问的是哪个去中心化程序,造成信息泄露。并且在同一个平台上的DApps有相似的交流接口和相似的流量加密。
如今的方法要么需要手工或者微调的特征,要么准确率比较低。
作者提出了一个GNN进行解决,将应用指纹识别变成图的分类问题进行解决。
Introduction
与部署在集中式服务器上的普通移动或网络应用程序不同,DApps在一个分散的点对点(P2P)网络上运行其后端代码,不受单一实体控制。没有单一实体的控制。
一旦DApp中的一条信息被添加到底层区块链中,它就会被永久地储存起来,因此不能被删除或修改。此外,区块链技术自然为每个参与者提供了匿名性,因此可以潜在地保护DApp用户的身份 DApp用户的隐私。
但一些被动攻击(监听流量)的攻击者可以获得这些流量来尝试DApps指纹。通过用户产生了流量来推测用户使用的软件,并且判断用户的信息,eg,使用赌博软件次数对经济实力进行判断。
治理者也可以进行DApp指纹识别,以消除DApp用户的匿名性,甚至阻止对某些DApp的访问尝试,而不影响对同一平台上其他DApp的访问。
所以 从用户访问产生的流量中可以在多大程度上识别出DApps?
- 因为采用了SSL/TLS,传统鉴别方法如深度包检测则失去了作用(咱也不知道深度包检测是啥)
- 效率,存在的方法聚焦于手工计算和计算力需求
一条流中的包们可以组成一个图,同时构成的图可以很好的保留大部分信息并且不需要手动筛选特征。
Contribution
- 使用Graph进行流量的表达
- 提出了一个GNNs(MLP+FC)模型
- 数据集贡献者
PROBLEM DESCRIPTION AND RELATED WORK
Problem Description
主要记录一下那个区块链平台的行为。
首先假设攻击者已经在一个局域网中进行被动攻击。
为了初始化访问,DApp客户端(简称客户端)向配备有相应智能合约的服务器发送请求,其IP地址可以通过DNS查询获得。(智能合约是决定客户在DApp中进行的每个操作结果的功能。
然后,这些操作和结果的所有数据记录被底层区块链平台上的矿工以区块的形式打包并存储在分布式账本上。
客户端从只能合约服务器中获得一系列区块链服务器,从这些服务器中,可以从账本中获得数据来渲染前端。
不同于传统应用,在以太坊的DApps使用相同的前端接口并且将数据存储在相同的去中心化区块链网路中,使得不同DApps的许多特征相同。
Related Work
作者提出的模型的优点(他自己说的
- 高准确率
- 计算速度快
- 可以泛化到其他应用上
GRAPH STRUCTURE ABSTRACTION FOR DAPP FLOWS
总的来说分为以下几个步骤
- 将一系列包中的相同的五元组(源ip,port,目标ip,port,protocol)的包分为一个flow,这些个包根据之后的规则建立成一个图
- 同一个流中的每个包是一个顶点
- 同方向的连续的包化为一个burst,按照时间顺序线性连接
- 每个burst之间将两端端点进行连接
- 点的属性有包的长度,正负号代表包发送的方向
如图
作者提及,该图考虑了Packet direction information、Packet length information、Packet burst information、Packet ordering information。
同时作者证明了改该图的建立很好了反应了不同DApps中的图的结构的不同,具体量化比较用的一个一个edit distance,出自一个15年论文[5]。
THE PROPOSED GRAPHDAPP
模型就是个GIN,并且使用了一个skip connection进行优化。
PERFORMANCE EVALUATION
首先介绍了实验设计和参数,然后介绍了实验数据的收集,再和现有方法的进行比较,最后泛化到传统的移动应用分类中。
DISCUSSION
我们的方法主要有两个限制。第一个限制是GraphDApp需要一个相对较长的时间来标记一个未知的流。这可以通过适当减少TIG中的数据包数量来缩短特征提取时间,以及采用较少的MLP层和隐藏单元来加快预测速度来解决。第二个限制是,作为一个指纹解决方案,当一个应用的指纹发生变化时,准确率会相应降低。为了解决这个问题,我们可以定期更新应用程序的TIG,并对分类器中的参数进行微调。在未来的工作中,我们将进一步研究技术,使GraphDApp更适应流量变化。
CONCLUSION
在本文中,我们提出了GraphDApp,它可以使用GNN来识别DApp的加密流量。我们根据数据包的长度和数据包的方向构建了加密流量的TIG,并将DApp的识别变成一个图分类问题。然后,我们采用多层感知来建立一个基于GNN的分类器。实验中,我们对从以太坊上的DApps收集的真实流量数据集进行了评估,包括40个受监控的DApps和1260个未受监控的DApps。实验结果表明,GraphDApp可以比最先进的方法提高至少10%的准确性。我们还证明了GraphDApp在移动应用指纹识别上的有效性。
标签:via,Neural,--,DApps,用户,流量,DApp,指纹,区块 From: https://www.cnblogs.com/iridescense/p/16803852.html