作者:慢雾安全团队
当我们谈论区块链时,总是离不开这些技术:分布式存储、P2P网络和共识机制,本次我们要谈的问题就是出现在P2P对等网络协议上。
异形攻击实际上是一个所有公链都可能面临的问题,我们用以太坊为例子说明。以太坊的P2P网络主要采用了Kademlia(简称Kad)算法实现,Kad是一种分布式哈希表(DHT)技术,使用该技术,可以实现在分布式环境下快速而又准确地路由、定位数据的问题。
什么是异形攻击?
首先,我们先定义一个同类链的概念,是指使用了和其它区块链相同或兼容协议的区块链系统。
异形攻击又称地址池污染,是指诱使同类链的节点互相侵入和污染的一种攻击手法,漏洞的主要原因是同类链系统在通信协议上没有对非同类节点做识别。
彭博社:监管机构与加密的冲突“是这个行业有史以来发生的最好事情”:5月2日消息,彭博社发表社论,并指出监管机构与加密的冲突“是这个行业有史以来发生的最好事情”。
彭博社认为,SEC所进行的加密监管有助于行业清除市场上的不良主体。“这样一个框架将赋予SEC和CFTC广泛的权力,以迅速清除市场上数千个不良参与者。而这将使欺诈行为普遍减少,“有了适当的识别要求,区块链网络甚至可能比现有的银行系统更加透明,更不利于犯罪。”(theblock)[2023/5/2 14:38:52]
以太坊异形攻击是指,以太坊同类链由于使用了兼容的握手协议,无法区分节点是否属于同个链,导致地址池互相污染,节点通信性能下降,最终造成节点阻塞的一种攻击方式。
观点:俄乌冲突将推动DeFi和Web3行业发展:3月3日消息,专家表示,对乌克兰不断升级的冲突的日益担忧,可能会再度推动DeFi和Web3投资。DataTrek Research联合创始人Jessica Rabe表示,尽管加密货币一直因为不良行为者而受到批评,但数字资产仍然是一种必要的“存储和转移资本的去中心化方式”。区块链和Web3有太多积极和有利可图的机会,风险投资家会想要继续利用这一点。我们预计,在向去中心化互联网和金融推进的过程中,风投将继续向区块链和Web3投资。大型科技公司主导着今天的互联网,所以Web3提供了开发下一个主要在线平台和应用程序的机会,以提高用户参与度,从而提高利润。
此外,加密资产管理公司Bitwise首席执行官Hunter Horsley也表示,俄乌冲突凸显了去中心化解决方案的必要性:就Web3而言,我认为(这场冲突)绝对会激励企业家们致力于构建未来去中心化、无需许可的系统。我认为你会看到更多的项目和可能在身份、媒体、非营利筹款和DAO上的投资,以及对比特币、以太坊、Layer-1和DeFi等现有平台重要性的重新认识。(Blockworks)[2022/3/3 13:33:56]
1.正常的节点发现过程
声音 | Virgin Galactic董事长:比特币是抵御通胀和地缘冲突的安全港:金色财经报道,Virgin Galactic董事长兼Social Capital创始人Chamath Palihapitiya表示,比特币的价格和交易量不一定是由事件驱动的。他还指出,人们通过观察不同的事件爆发来投资比特币是一种“愚蠢的策略”。他认为一个合理的策略是,其净资产的1%应该完全与世界如何运作无关。他接着指出,比特币不是抵御利润下滑的安全港,而是抵御通胀和地缘冲突的安全港。他指出,到目前为止,股票似乎还没有意识到这些威胁。[2020/2/28]
以太坊同类链节点间通过4个UDP通信协议来完成节点发现,消息结构如下:
声音 | 摩根溪创始人:围绕比特币的冲突使得比特币更强大:摩根溪创始人Anthony?Pompliano今日发布《围绕比特币的冲突是必要的》文章称,比特币社区是独一无二的。他们始于加密朋克,他们通常是激进主义者,希望实施强大的加密技术和隐私技术来创造社会和实现变革。最终包括技术爱好者、投资者和投机者在内的其他人也加入进来,以推动数字货币的采用。当各种不同的人聚集在一起必然会引起冲突。初期,这种冲突可能会令人困惑,但冲突是比特币成为下一个全球储备货币的重要组成部分。要使新资产占据主导地位,它必须能够承受各种类型的攻击。这些攻击包括但不限于来自国家,竞争性数字货币的网络攻击,意识形态攻击等,也可能是伪装成比特币支持者的破坏者的攻击。未来比特币还将面临很多冲突,但不应该担心这些冲突,反而应该意识到冲突的重要性,冲突是技术进步的自然步骤。比特币越强大,它将越耐用。比特币越持久,就越有可能成为下一个全球储备货币。所有冲突都使得比特币变得更强大。[2020/1/8]
ping:探测一个节点是否在线
pingstruct{VersionuintFrom,TorpcEndpointExpirationuint64Restrlp.RawValue`rlp:"tail"`}
pong:响应Ping命令
pongstruct{TorpcEndpointReplyTokbyteExpirationuint64Restrlp.RawValue`rlp:"tail"`}
findnode:查找与Target节点异或距离最近的其他节点
findnodestruct{TargetNodeIDExpirationuint64Restrlp.RawValue`rlp:"tail"`}
neighbors:响应FindNode命令,会返回一或多个节点
neighborsstruct{NodesrpcNodeExpirationuint64Restrlp.RawValue`rlp:"tail"`}
2.攻击过程
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团队大力协助本次测试!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。