首页 > 其他分享 >Accurate Decentralized Application Identification via Encrypted Traffic Analysis Using Graph Neural

Accurate Decentralized Application Identification via Encrypted Traffic Analysis Using Graph Neural

时间:2022-10-18 23:22:48浏览次数:52  
标签:via Neural -- DApps 用户 流量 DApp 指纹 区块

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

主要记录一下那个区块链平台的行为。

首先假设攻击者已经在一个局域网中进行被动攻击。

为了初始化访问,DApp客户端(简称客户端)向配备有相应智能合约的服务器发送请求,其IP地址可以通过DNS查询获得。(智能合约是决定客户在DApp中进行的每个操作结果的功能。

然后,这些操作和结果的所有数据记录被底层区块链平台上的矿工以区块的形式打包并存储在分布式账本上。

客户端从只能合约服务器中获得一系列区块链服务器,从这些服务器中,可以从账本中获得数据来渲染前端。

不同于传统应用,在以太坊的DApps使用相同的前端接口并且将数据存储在相同的去中心化区块链网路中,使得不同DApps的许多特征相同。

image

image

作者提出的模型的优点(他自己说的

  • 高准确率
  • 计算速度快
  • 可以泛化到其他应用上

GRAPH STRUCTURE ABSTRACTION FOR DAPP FLOWS

总的来说分为以下几个步骤

  • 将一系列包中的相同的五元组(源ip,port,目标ip,port,protocol)的包分为一个flow,这些个包根据之后的规则建立成一个图
  • 同一个流中的每个包是一个顶点
  • 同方向的连续的包化为一个burst,按照时间顺序线性连接
  • 每个burst之间将两端端点进行连接
  • 点的属性有包的长度,正负号代表包发送的方向

如图

image

作者提及,该图考虑了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

相关文章

  • 登录(cookie,session)
    cookie和登录校验cookie:存储在浏览器的一段字符串,最大5kb,每个域都有一个cookie,跨域不共享,格式如k1=v1;k2=v2(可结构化)cookie会随http请求传递给服务端每次http请求,coo......
  • C源代码程序如何转换为可执行文件
    #gcc生成intel风格的汇编gcc-S-masm=intelsample.c-osample.s一、C源代码文件如何成为可执行文件以helloworld.c为例,说明C语言源代码文件如何变成可执行文件的,经......
  • 继承和多态
    动手实验:继承条件下的构造方法调用运行TestInherits.java示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个......
  • aaaa
    704.二分查找1.题目给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输......
  • C语言实例3
    题目:在100内,一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:在100以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如......
  • tomcat中mime type配置说明
    在一些场景下tomcat下的一些文件在浏览器中访问的时候浏览器会直接打开这个文件内容而不是下载该文件 反之亦然.这时候需要设置tomcat下的配置打开tomcat目录下的c......
  • mui组件导致ios设备无法让input获取焦点
    问题页面使用了mui组件,其中有个input标签。在IOS,macOS设备上无法通过点击让input框获得焦点,导致无法输入。原因mui.css中有个样式,让页面内容无法被选中,影响了input获取......
  • Oracle最高可用性架构(MAA)|青铜级(BRONZE)
    提到数据库高可用,Oracle作为先行者,其体系全面,值得参考和学习1、什么是MAA先下个定义MAA即最高可用性架构(MaximumAvailabilityArchitecture )Oracle最高可用性架构(MAA......
  • Elasticsearch SpringBoot 整合 ES 测试保存
    一、修改Config官方文档:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.4/java-rest-low-usage-requests.html#java-rest-low-usage-request-option......
  • Vue 插件:VueRouter
    VueRouter是一个Vue插件,用于实现SPA(singlepagewebapplication)应用。SPA(singlepagewebapplication)应用,即单页面应用。整个应用只有一个.html文件,通常命名为......