ETHW 确认被合约漏洞利用,驳回重放攻击索赔
后以太坊合并工作量证明 (PoW) 链 ETHW 已采取行动平息有关其在周末遭受链上重放攻击的说法。
智能合约审计公司 BlockSec 将其描述为 9 月 16 日发生的重放攻击,其中攻击者通过在分叉的以太坊 PoW 链上重放以太坊权益证明 (PoS) 链的调用数据来获取 ETHW 代币。
根据 BlockSec 的说法,该漏洞的根本原因是由于 ETHW 链上的 Omni 跨链桥使用旧的 ChainID,并且没有正确验证跨链消息的正确 ChainID。
以太坊的主网和测试网络使用两种不同用途的标识符,即网络 ID 和链 ID(ChainID)。节点之间的点对点消息使用网络 ID,而交易签名使用链 ID。EIP-155引入了 ChainID 作为防止 ETH 和 Ethereum Classic (ETC) 区块链之间重放攻击的一种手段。
1/ 警报 | BlockSec 检测到利用者正在@EthereumPow 上重放 PoS 链的消息(调用数据)。漏洞利用的根本原因是网桥没有正确验证跨链消息的实际 Chainid(由自己维护)。
— BlockSec (@BlockSecTeam) 2022 年 9 月 18 日
BlockSec 是第一个标记重放攻击并通知 ETHW 的分析服务,这反过来又迅速拒绝了最初声称已在链上进行重放攻击的说法。ETHW 尝试在合约级别通知 Omni Bridge 漏洞利用:
昨天想尽办法联系Omni Bridge。
网桥需要正确验证跨链消息的实际 ChainID。
同样,这不是链级别的交易重播,而是由于特定合约的缺陷而导致的调用数据重播。
— EthereumPoW (ETHW) 官方 #ETHW #ETHPoW (@EthereumPoW) 2022 年 9 月 18 日
对攻击的分析显示,攻击者首先通过 Gnosis 链的 Omni 桥传输 200 WETH,然后在 PoW 链上重放相同的消息,从而额外获得 200 ETHW。这导致部署在 PoW 链上的链合约余额被耗尽。
BlockSec 对 Omni 桥源代码的分析表明存在验证 ChainID 的逻辑,但合约中使用的已验证 ChainID 是从存储在名为 unitStorage 的存储中的值中提取的。
该团队解释说,这不是通过 ChainID 操作码收集的正确链 ID,该操作码由EIP-1344提出,并因以太坊合并后产生的分叉而加剧:
“这可能是因为代码很旧(使用 Solidity 0.4.24)。代码一直运行良好,直到 PoW 链分叉。”
这使得攻击者可以在 PoW 链上获取 ETHW 和可能由桥拥有的其他代币,并继续在列出相关代币的市场上交易这些代币。媒体已联系 BlockSec 以确定在漏洞利用期间提取的值。
在以太坊成功的合并事件之后,智能合约区块链从 PoW 过渡到 PoS,一群矿工决定通过硬分叉继续 PoW 链。
微信掃描關注公眾號,及時掌握新動向
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場