HAI:警惕以太坊合并后的重放攻击:Omni跨链桥被攻击事件分析_DonationChain

2022年9月18日,以太坊合并完成后,PoW链遭到PoS链上交易的重放攻击,根本原因是网桥未正确读取并验证区块链的chainid。攻击者首先通过Gnosis链的Omni跨链桥转移了200 WETH,然后在PoW链上重放了相同的消息,获得了额外的200 ETHW。

SharkTeam对此事件进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线。

该事件涉及两个不同链的交易hash以及攻击者地址,分别如下:

加拿大监管机构提醒该国公民警惕以假监管机构背书的加密平台:6月21日消息,加拿大证券管理局发布投资者警告,称建议加拿大公民仔细检查加密货币交易服务提供商,因为这些平台可能会使用“虚构的”监管机构来提高其可信度。一些“所谓的”加密平台声称得到了某些监管机构或争议解决组织的批准,“以显得合法”;这些网站乍一看似乎是可信的,涉及投诉处理、纠纷解决和为受害投资者提供补救措施,但经过仔细检查,这些网站的语言可能很尴尬且未经修饰,存在拼写、语法或句法错误,这是非法实体的常见‘危险信号。

监管机构还建议,考虑投资加密货币的公民应该将这些公司与在CSA注册的公司进行对比检查。目前,有12个加密交易平台被授权在加拿大开展业务,而有11个平台已经提交了预注册承诺。[2023/6/21 21:52:03]

(1)PoS链交易hash:0xbddb0cc8bc9949321e1748f03503ed1a20dd618fbf0a51dc5734c975b1f8bdf5

动态 | 乌鲁木齐晚报:警惕以投资“虚拟货币”、“区块链”等为幌子的投资”、“理财”项目:2月21日,乌鲁木齐晚报发布《防范非法集资常识》,务必警惕以投资“虚拟货币”、“区块链”等为幌子的“投资”、“理财”项目。[2019/2/24]

(2)PoW链交易hash:0x9c072551861ce384203516f4d705176a2d2e262d5b571d853467425f1a861fb4

动态 | 武汉市防范化解金融风险攻坚指挥部:警惕以投资“虚拟货币”为幌子的理财项目:据长江日报消息,当前,非法集资形势依然复杂严峻,武汉市防范化解金融风险攻坚指挥部提醒,请广大市民提高防范意识,高度警惕以投资“虚拟货币”“区块链”等为幌子的等10种“投资”“理财”项目。[2019/1/15]

(3)攻击者地址:0x82FaEd2dA812D2E5CCed3C12b3baeB1a522DC677

首先,我们对比发现两笔交易访问的合约相同,并且inputdata完全相同,即调用了同一个合约的同一个函数并且参数相同,根据相同的方法签名ID 0x23caab49可知,黑客调用safeExecuteSignaturesWithAutoGasLimit函数。

新疆维吾尔自治区政府:警惕以投资加密货币、区块链为幌子的非法集资活动:据新疆日报报道,新疆维吾尔自治区处置非法集资工作领导小组提醒广大市民,警惕以投资加密货币、区块链等为幌子的非法集资活动。[2018/5/31]

因此,攻击者通过Omni Bridge 转移200WETH,然后在PoW链上重放了相同的Inputdata,获得了额外的200 ETHW。

此时,我们对这里的重放操作抱有怀疑态度。因为,以太坊网络在硬分叉之前强行执行EIP-155,这就说明ETH PoS链上交易不能在PoW链上重复交易。在正常的交易中,我们通过nonce来进行排序交易,避免重复交易。在跨链中,我们会根据chianid进行识别链的类型,比如以太坊主网的chainid是1,ETHW主网的chainid是10001。

对此,我们分析了Omni Bridge相应的源码。我们查看一下Omni Bridge验证chainid的逻辑,发现chainid的来源于unitStorage中存储的值,而不是通过操作码 CHAINID(0x46)直接读取的链上chainid。

unitStorage是合约EternalStorage中的状态变量,sourceChainId()函数所在的合约BasicAMB继承了BasicBridge和VersionableAMB。其中,BasicBridge陆续继承了合约EternalStorage。这里保存的chainid是预先存储好的,如果发生区块链的硬分叉而chainid又没有重新设置或者chainid人为设置有误,从合约层面上来说,由于不是通过操作码获取的chainid,不会正确验证跨链消息的实际chainid。这样的漏洞,容易被攻击者利用。

问题分析总结:主要是Omni使用的solidity版本是0.4.24,采用的是手动存储和更新chainid的方式,并未通过EIP-1344中规定的CHAINID(0x46)操作码进行实际chainid获取。

引发本次安全事件的原因是在PoW升级PoS过程中,Omni Bridge对chainid未及时处理。导致过旧的solidity版本中,存在历史遗留问题。建议在后续项目迭代中,及时应对新问题,采取必要的代码优化措施。虽然Gnosis 链上Omni Bridge有每日最大转移代币数量限制250个WETH,但是依旧要保持警惕,以防止积少成多,造成更大的损失。

财经法学

成都链安

金色早8点

Bress

链捕手

PANews

Odaily星球日报

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

芝麻开门交易所BTC:比特币短暂冲高2万美元回落 强势美元继续“压制”加密市场_比特币美元换算

过去24小时,美元指数在攀升至约 20 年来的最高水平后稍作喘息,回到 114 关口下方,这给风险资产反弹带来了短暂的机会。比特币一度突破 20,000 美元,触及一周多以来的最高水平。然而,随着美股进一步跌入熊市,BTC 再度回落,比特币终端数据显示,截至发稿时交易价格约为 19,016.21 美元,24小时跌幅约 1%,以太坊也下跌了不到 1%。

[0:0ms0-5:65ms