解析|被盗的3.2亿美元以太坊:这个锅谁该来扛?



解析|被盗的3.2亿美元以太坊:这个锅谁该来扛?

是一次被盗走80,000 颗以太的交易纪录,是目前Defi 金额第二大的被盗事件。

https://etherscan.io/tx/0x24c7d855a0a931561e412d809e2596c3fd861cc7385566fd1cb528f9e93e5f14



解析|被盗的3.2亿美元以太坊:这个锅谁该来扛?

该地址已经被etherscan 举报为黑名单了,钱包里面目前还有93,750 颗ETH

https://etherscan.io/address/0x629e7da20197a5429d30da36e77d06cdf796b71a



解析|被盗的3.2亿美元以太坊:这个锅谁该来扛?

然后Wormhole 很快也发现自己出问题了,对骇客隔空喊话,并且提供一白帽协议,只要骇客愿意归还所有被盗的wETH,就提供给他1,000万美金的奖金!

而且可以瞬间洗白变成合法合理的白帽骇客,我猜应该有很大的机率会接受这deal。


解析|被盗的3.2亿美元以太坊:这个锅谁该来扛?

我们就来看看事情最主要的原因。

在Wormhole 里面要mint ETH 的流程是要执行 complete_wrapped -> 然后需要transfer message -> transfer message 是透过post_vaa 这个function 产生-> 透过verify_signatures 去验证签名是不是合法的-> 然后用到了solana sdk 提供的一个function load_instruction_at,也是这次漏洞发生的主因,不需要透过系统的地址就可以执行。


解析|被盗的3.2亿美元以太坊:这个锅谁该来扛?

https://github.com/solana-labs/solana/blob/7ba57e7a7c87fca96917a773ed944270178368c9/sdk/program/src/sysvar/instructions.rs#L180-L188

load_instruction_at在Solana 1.8.0 之后因为安全性的问题已经弃用,改用load_instruction_at_checked,多了检查系统地址才能执行。




解析|被盗的3.2亿美元以太坊:这个锅谁该来扛?

骇客就先试打了0.1 ETH 拿到正常verify_signatures 的参数去做伪造,反正系统不会检查,这点相当的聪明。


然而Wormhole 也在被hack 之前就准备要更新成Solana 1.9.4 版本,骇客抓准了修复漏洞之前开始攻击,应该是已经潜伏已久。


所以这件事情其实影响到的范围是所有有用到load_instruction_at 的Dapp,如果还有其他协议没有更新新版的话应该还会有其他锅会爆炸,建议有把资金放在Solana 的朋友们,可以看一下自己使用的协议所使用的Solana 版本,这非常重要,如果不是新的建议资金可以撤离观望一下。

最后最有趣的是这个锅是要Wormhole 来扛还是Solana 来扛呢?

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

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

留言与评论(共有 0 条评论)
   
验证码:
微信号已复制,请打开微信添加咨询详情!