集团新闻

Rex解析

2024-11-07 16:21:38



其实这次 Solana 虫洞Wormhole的问题跟跨链一点都没关系,不知道大家在跟风乱喷干嘛,于是过年没事做,学习怎么当骇客,顺便练习写文章,这次的漏洞真的是一个非常小的 Bug,导致这么大的损失。本文由 FulyAI 创办人 Rex Chen撰稿。前情提要:Solana出大事!跨链桥Wormhole遭骇32亿镁WETH,官方提供骇客1000万镁奖金吁其归还背景补充:Wonderland后续MIM挤兑导致 稳定币2脱钩,巨鲸止损16亿镁、Luna 暴跌32

binance官方

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

Rex解析

https//etherscanio/tx/0x24c7d855a0a931561e412d809e2596c3fd861cc7385566fd1cb528f9e93e5f14

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

https//etherscanio/address/0x629e7da20197a5429d30da36e77d06cdf796b71a

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

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

我刚听到这个事件就非常好奇,到底骇客怎么办到的!我也想学,可以看一下 https//twittercom/kelvinfichter/ 大神分享的过程,我们就来看看事情最主要的原因。

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

https//githubcom/solanalabs/solana/blob/7ba57e7a7c87fca96917a773ed944270178368c9/sdk/program/src/sysvar/instructionsrs#L180L188

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

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

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

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

相关报导

37亿镁比特币砸盘危机?Bitfinex 骇客转出946万颗BTC,为去年崩盘前的10倍量Wonderland后续MIM挤兑导致 稳定币2脱钩,巨鲸止损16亿镁、Luna 暴跌32忘记冷钱包密码?工程师成功绕过安全防护、取回 200 万美元加密资产

LINE 与 Messenger 不定期为大家服务