mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
交易所 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

2000万OP因何被盗? 来看看链上细节

收藏
分享

2022年6月9日,做市商Wintermute透露,Optimism发送给其做市的2000万个OP代币被黑客盗取。


简单概括就是

两周前,Optimism Foundation聘请Wintermute为其在中心化交易所上市的OP代币提供流动性。作为协议的一部分,Wintermute获得了2000万枚OP贷款。

这2000万枚OP将被部署在Wintermute的Optimism钱包。当Wintermute将钱包地址发给 Optimism团队时,发送的是Wintermute在主网上部署了一段时间的Gnosis Safe多签钱包地址。这里Wintermute犯了一个严重错误,因为控制Gnosis Safe多签钱包并不能保证控制EVM兼容链同一地址。

 

以太坊开发者Kelvin Fichter解释Wintermute被攻击原因

用户通常假设他们可以在以太坊上访问的任何帐户也可以在其他基于EVM的链上访问。对于外部拥有的账户(也称为非合约账户),这通常是正确的。这不一定适用于智能合约账户。可以使用完全不同的代码在不同链上的相同地址创建合约,从而产生完全不同的所有者。

EVM地址分为EOA(外部拥有的账户)和CA(合约账户)。合约地址又有两种方式获得:

CREATE  new_address = hash(sender, nonce)  

CREATE2 new_address = hash(0xFF, sender, salt, bytecode)

与CREATE2不同,通过CREATE创建的合约地址不是基于用于创建合约的代码,而仅基于创建者地址的nonce。

 

看一下链上细节

1、13天前,Optimism团队从0x25地址测试发送1个OP给Wintermute发送给Optimism团队的地址0x4f

https://optimistic.etherscan.io/tokentxns?a=0x4f3a120e72c76c22ae802d129f599bfdbc31cb81&p=2

2、12天前,Optimism团队分两笔将1900万枚和100万枚OP发送给Wintermute。

mklEntmvoNUhMgeGxxc2JuCzmB1GCW1jPEOyh45v.png

 

 

直至此时,Wintermute还没有意识到他们没有这个地址的控制权。

3、Wintermute Gnosis Safe多签钱包创建于561天前,

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

多签合约地址为0x76e2cfc1f5fa8f6a5b3fc4c8f4788f0116861f9b。

从合约代码(https://etherscan.io/address/0x76e2cfc1f5fa8f6a5b3fc4c8f4788f0116861f9b#code)可知是通过CREATE而不是CREATE2创建的多重签名。

 

zlqFh3M80ScSvpq7cKSJDKTQOTT7kQjRdn0Hg3mv.jpeg

多签钱包地址即为0x4f。

 

4、4天前,攻击者将旧的Safe factory部署到Optimism。

lyGGYtSK9xlRnh78k2ZzhBNkMVqQlcevb8aH2gME.png

 

并开始重复触发create函数以在L2上创建多重签名,进而控制了Optimism上的0x4f地址。

https://optimistic.etherscan.io/tx/0x00a3da68f0f6a69cb067f09c3f7e741a01636cbc27a84c603b468f65271d415b#internal

 

cHMm2vixfH6jmBetQwkjm6thUatLD7sblbozcydF.jpeg

 

正如Kelvin Fichter所说,此事件不是Optimism或Gnosis Safe中任何漏洞的结果,而是源于在多链之前旧版本的Gnosis Safe中做出的(合理的)安全假设。

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。