by慢雾安全团队当我们谈论区块链时,总是离不开这些技术:分布式存储、P2P网络和共识机制,本次我们要谈的问题就是出现在P2P对等网络协议上。异形攻击实际上是一个所有公链都可能面临的问题,我们用以太坊为例子说明。以太坊的P2P网络主要采用了Kademlia(简称Kad)算法实现,Kad是一种分布式哈希表(DHT)技术,使用该技术,可以实现在分布式环境下快速而又准确地路由、定位数据的问题。什么是异形攻击?
首先,我们先定义一个同类链的概念,是指使用了和其它区块链相同或兼容协议的区块链系统。异形攻击又称地址池污染,是指诱使同类链的节点互相侵入和污染的一种攻击手法,漏洞的主要原因是同类链系统在通信协议上没有对非同类节点做识别。以太坊异形攻击是指,以太坊同类链由于使用了兼容的握手协议,无法区分节点是否属于同个链,导致地址池互相污染,节点通信性能下降,最终造成节点阻塞的一种攻击方式。正常的节点发现过程
普京:俄罗斯准备与乌克兰和外国伙伴进行对话以解决冲突:3月6日,俄罗斯总统普京在与土耳其总统埃尔多安的通话中确认俄罗斯准备与乌克兰当局和外国伙伴进行对话以解决冲突,同时强调乌克兰基辅拖延谈判进程的任何企图都是徒劳的。(金十)[2022/3/6 13:40:43]
以太坊同类链节点间通过4个UDP通信协议来完成节点发现,消息结构如下:ping:探测一个节点是否在线
pong:响应Ping命令
findnode:查找与Target节点异或距离最近的其他节点
BitMEX创始人Arthur Hayes:冲突将使通货膨胀成为新常态,谨慎看多比特币:3月2日消息,BitMEX 创始人 Arthur Hayes 发文《Annihilation》,称当前复杂的地缘形势将为未来的金融市场带来深远的影响。Arthur Hayes 表示,冲突将使通货膨胀成为新常态,出于交易的考虑,他谨慎看多比特币,并持有了一些比特币和以太坊的看涨期权。但同时他强调,一旦美联储做出高于市场预期中 3 月加息 0.25%-0.5% 的决策,金融去杠杆将会发生,并将直接导致加密市场再次下行。[2022/3/2 13:32:52]
neighbors:响应FindNode命令,会返回一或多个节点
声音 | 量子经济学创始人:比特币是抵御通胀、地缘冲突的安全港:量子经济学创始人Mati Greenspan在给投资者的一封信中指出,从目前的模式来看,比特币可能继续受到日益增长的健康担忧的负面影响。他补充道,“比特币是避险资产还是风险资产?答案完全取决于你的观点。如果你是华尔街的交易员,甚至是散户投机者,这显然是一种风险资产。如果你是一个货币迅速贬值的国家的公民,它无疑是一个避风港。”他接着指出,比特币不是抵御利润下降的避风港,而是抵御通胀、地缘冲突和央行的避风港。“到目前为止,这些股票似乎没有意识到这些威胁。”(AMBCrypto)[2020/2/28]
攻击过程
准备工作:收集以太坊节点地址我们找到了社区制作的一个地址库:https://github.com/smartheye/EthStaticNodesTool/blob/master/MainNet/static-nodes.txt第一步:发起恶意握手。攻击者A模拟整个握手过程,主动发起ping操作,并利用协议的第4步neighbors,将返回的邻居表修改成我们收集到的以太坊节点地址,推送给受害节点B。由于单次通信只能推送16个地址,我们需要多次推送以达到攻击效果。第二步:污染地址池。B收到大量A返回的邻居表,尝试跟这些节点握手,并将这些节点加入了自己的地址池。第三步:污染自动扩散。让人意外的是,不同链的节点居然互相握手成功了,更为可怕的是,它们把各自地址池里已知的节点推送给了对方,导致更多的节点互相污染,最终扩散致整个网络。漏洞危害
受异形攻击的同类链节点无法找到真正可用的节点,无法建立TCP数据同步通道,导致节点被攻击离线。对于矿池或者出块节点,异形攻击可能导致广播延迟甚至失败,造成收益损失。异形攻击可以使所有以太坊同类链地址池相互污染,导致节点通信效率全面下降,对整个区块链系统造成长久的伤害。影响范围
我们对知名公链QuarkChain进行安全审计时发现,QuarkChain的节点在遭受异形攻击后,节点性能严重下降,外部节点需要很长时间才能与受害节点建立连接。QuarkChain团队随后修复了该问题。理论上所有使用了以太坊discv4协议的区块链都可能受此漏洞影响,在发起测试后的一段时间,我们观测到EtherNode的监测节点也已经被污染了,污染的扩散速度似乎比想象中的要快。
也许,以太坊需要来一次清洗。后记
1、此漏洞对以太坊是否有影响?以太坊的节点数量远大于其它同类链节点,并且节点间已经建立了稳定的连接,影响不明显。但对于其它的同类链节点,却会受到来自以太坊节点的强势侵入,导致通信阻塞。2、很多朋友关心除了以太坊之外,其它的公链是否有此问题,比如比特币和它的山寨币,比如使用了libp2p协议的公链,这些问题我们将在后续文章中披露。十分感谢QuarkChain团队大力协助本次测试。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。