当前位置:首页>区块链文章>区块链引流>冲突的公链!来自 P2P 协议的异形攻击漏洞

冲突的公链!来自 P2P 协议的异形攻击漏洞

[db:标签]们谈论区块链时,总是离不开这些技术:分布式存储、P2P 网络和共识机制,本次我们要谈的问题就是出现在 P2P 对等网络协议上。

异形攻击实际上是一个所有公链都可能面临的问题,我们用以太坊为例子说明。以太坊的 P2P 网络主要采用了 Kademlia (简称 Kad ) 算法实现,Kad 是一种分布式哈希表( DHT )技术,使用该技术,可以实现在分布式环境下快速而又准确地路由、定位数据的问题。

 

什么是异形攻击?

 

首先,我们先定义一个同类链的概念,是指使用了和其它区块链相同或兼容协议的区块链系统。

异形攻击又称地址池污染,是指诱使同类链的节点互相侵入和污染的一种攻击手法,漏洞的主要原因是同类链系统在通信协议上没有对非同类节点做识别。

以太坊异形攻击是指,以太坊同类链(具体的说是使用以太坊 P2P discv4 节点发现协议的公链,包括以太坊、以太经典)由于使用了兼容的握手协议,无法区分节点是否属于同个链,导致地址池互相污染,节点通信性能下降,最终造成节点阻塞的一种攻击方式。

1. 正常的节点发现过程

以太坊同类链节点间通过 4 个 UDP 通信协议来完成节点发现,消息结构如下:

[1] ping: 探测一个节点是否在线

[2] pong: 响应 Ping 命令
[3] findnode: 查找与 Target 节点异或距离最近的其他节点
[4] neighbors: 响应 FindNode 命令,会返回一或多个节点
 

2. 攻击过程

准备工作:收集以太坊节点地址

我们找到了社区制作的一个地址库:https://github.com/smartheye/EthStaticNodesTool/blob/master/MainNet/static-nodes.txt

第一步:发起恶意握手。

攻击者 A 模拟整个握手过程,主动发起 ping 操作,并利用协议的第 4 步 neighbors,将返回的邻居表修改成我们收集到的以太坊节点地址,推送给受害节点 B(B 是一个以太坊同类链节点)。由于单次通信只能推送 16 个地址,我们需要多次推送以达到攻击效果。

第二步:污染地址池。

B 收到大量 A 返回的邻居表,尝试跟这些节点握手,并将这些节点加入了自己的地址池(俗称 K 桶)。

第三步:污染自动扩散。

让人意外的是,不同链的节点居然互相握手成功了,更为可怕的是,它们把各自地址池里已知的节点推送给了对方,导致更多的节点互相污染,最终扩散致整个网络。

 

漏洞危害

  • 受异形攻击的同类链节点无法找到真正可用的节点,无法建立 TCP 数据同步通道,导致节点被攻击离线。
  • 对于矿池或者出块节点,异形攻击可能导致广播延迟甚至失败,造成收益损失。
  • 异形攻击可以使所有以太坊同类链地址池相互污染,导致节点通信效率全面下降,对整个区块链系统造成长久的伤害。

 

影响范围

我们对某知名公链进行安全审计时发现,该公链的节点在遭受异形攻击后,节点性能严重下降,外部节点需要很长时间才能与受害节点建立连接。该公链团队随后修复了该问题。

理论上所有使用了以太坊 discv4 协议的区块链都可能受此漏洞影响,在发起测试后的一段时间,我们观测到 EtherNode 的监测节点也已经被污染了,污染的扩散速度似乎比想象中的要快。

也许,以太坊需要来一次清洗。

后记

1、 此漏洞对以太坊是否有影响?以太坊的节点数量远大于其它同类链节点,并且节点间已经建立了稳定的连接,影响不明显。但对于其它的同类链节点,却会受到来自以太坊节点的强势侵入,导致通信阻塞。

2、 很多朋友关心除了以太坊之外,其它的公链是否有此问题,比如比特币和它的山寨币,比如使用了 libp2p 协议的公链,这些问题我们将在后续文章中披露!

 

 

来源:慢雾安全团队

 

编者注:本文作了不改变原意的删减。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
区块链引流

行业洞察 | VentureBeat:区块链助力企业改进多云网络管理

2021-11-12 23:18:23

区块链引流

区块链入门 | 视觉中国“摊上大事”,区块链能彻底解决版权问题吗?

2021-11-12 23:18:25

重要说明

本站资源大多来自网络,如有侵犯你的权益请联系管理员 区块链Bi站  或给邮箱发送邮件834379394@qq.com 我们会第一时间进行审核删除。 站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果你遇到支付完成,找不到下载链接,或者不能下载,或者解压失败,先不要忙,加客服主的QQ:834379394 (客服有可能有事情或者在睡觉不能及时的回复您,QQ留言后,请耐心等待即可!)

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索