DeFi之道2022-06-11 09:15:39
2022 年 6 月 9 日消息,据 Optimism 与加密货币做市商 Wintermute 透露,2000 万个 Optimism 代币被黑客盗取。6 月 9 日,Optimism 基金会向 Wintermute 授予了 2000 万枚 OP 代币。
交易发送完成后,Wintermute 发现无法访问这些代币,因为提供的地址是他们尚未部署到 Optimism/L2 的 Ethereum/L1 多签地址。该 Optimism/L2 多签地址由黑客部署,2000 枚 OP 代币也被黑客盗取。
一、事件分析5 月 27 日,Optimism 基金会通过多签合约分两次向 Wintermute 的多签合约地址转账 2000 万 OP 代币,并且在 26 日转账 1 枚 OP 代币,3 笔交易如下:
根据交易时间以及交易中 OP 代币数量,我们分析,在 26 日,Optimism 基金会向 Wintermute 多签合约地址转账 1 枚 OP 代币作为测试,Optimism 基金会在 Wintermute 确认收到代币后将 2000 万枚 OP 代币通过连续的两笔交易发送给 Wintermute 多签合约地址。接收地址是 Wintermute 在 Ethereum/L1 上已部署的多签合约地址,因此 Wintermute 仅仅验证是否接收到了代币,但并没有验证该地址在 Optimism/L2 上的所有权,而此时在 Optimism/L2 上并没有实际部署多签合约,这才给了黑客可乘之机。
以上转账交易中的相关地址如下:
(1)Optimism 基金会在 Optimism/L2 上的多签合约地址:
0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0(简记为0x2501)
(2)Wintermute 在 Ethereum/L1 上的多签合约地址(Wintermute Exploiter Multisig):
0x4f3a120E72C76c22ae802D129F599BFDbc31cb81(简记为0x4f3a)
同时,Optimism/L2 上的 0 x4 f3 a 也是黑客部署的多签合约地址。
接下来,我们将从链上交易的角度详细分析一下黑客的攻击行为以及原理。
首先,我们看一下 Optimism/L2 上的 0 x4 f3 a 合约部署交易:
txHash是0x00a3da68f0f6a69cb067f09c3f7e741a01636cbc27a84c603b468f65271d415b
注意到,该合约部署时间是 6 月 5 日,其中 Wintermute/OP Exploiter 是黑客的一个地址,简记为 0 x60 b2。
该交易是如何准确生成 0 x4 f3 a 合约地址的呢?
黑客重放了 3 笔交易,尤其是最后的 Gnosis Safe: Proxy Factory 1.1.1 合约创建的交易,如下所示:
(1)Ethereum/L1 上的交易如下:
(2)Optimism/L2上的交易:
通过重放交易,黑客在 Optimism/L2 上面创建了跟 Ethereum/L1 上完全相同(地址与合约代码相同)的 Gnosis Safe: Proxy Factory 1.1.1 合约,其中创建代理合约函数如下:
Gnosis Safe: Proxy Factory 1.1.1 合约使用的是 0.5 版本的 Solidity,使用 new 来创建合约时使用的是 create 命令,而不是 create2。使用 create 命令创建合约,合约地址是 msg.sender 以及 nonce 来计算的。在 Ethereum/L1 上面,创建多签合约 0 x4 f3 a 的 msg.sender 就是 Gnosis Safe: Proxy Factory 1.1.1 的地址,黑客在 Optimism/L2 通过重放交易来创建于 Gnosis Safe: Proxy Factory 1.1.1 合约的主要目的就是为了保证在 Optimism/L2 上创建合约 0x4f3 a 的 msg.sender 与在 Ethereum/L1 上一致,那么黑客可以很方便的通过智能合约(合约 0 xe714)调用 createProxy 函数来创建出地址是 0 x4 f3 a 的合约。在该交易中创建过程如下所示:
另外,合约0xe714的部署是在6月1日的以下交易中完成的:
txHash: 0x69ee67800307ef7cb30ffa42d9f052290e81b3df6d3b7c29303007e33cd1c240
发起交易地址是0x8bcfe4f1358e50a1db10025d731c8b3b17f04dbb(简记为0x8bcf),这也是黑客所持有的地址。同时,这笔交易也是0x8bcf发起的第一笔交易,资金来源于Tornado:
整个过程从时间上看,
(1)5 月 27 日,Optimism 地址 0 x2501 向 Optimism/L2 上的 0 x4 f3 a 地址转账 2000 万 OP,0 x4 f3 a 地址在 Ethereum/L1 上是 Wintermute 的多签合约地址,但此时在 Optimism/L2 上面并没有部署合约;
(2)6 月 1 日,黑客地址 0 x8 bcf 部署合约 0 xe714。
(3)6 月 5 日,黑客通过重放 Ethereum/L1 上的交易创建了 Gnosis Safe: Proxy Factory 1.1.1 合约,其地址与 Ethereum/L1 上一样;然后地址 0x60b2 通过合约 0 xe714 部署了多签合约 0 x4 f3 a,合约所有权归黑客所有,因此 5 月 27 日转入的 2000 万 OP 被黑客盗取。
(4)6 月 5 日,多签合约 0 x4 f3 a 在接收到 2000 万 OP 后,将 100 万 OP 转账给黑客地址 0 x60 b2,然后将 100 万 OP 兑换成了 720.7 Ether。
(5)6月9日,合约0x4f3a将其中的100万OP转账给了账户地址0xd8da,
其他的1800万OP仍然在合约0x4f3a中。
二、安全建议引发本次安全事件的根本原因是交易重放、Solidity旧版本漏洞以及主链和侧链交易签名验证等综合因素,并不是因为项目方合约代码存在漏洞。
另外,针对本次事件,项目方反应不及时、对合约管理不严格等也给了黑客可乘之机;从攻击时间线和攻击准备上看,也不排除OP内部有内鬼串通作案的可能。
以太坊Layer 2必知必会2023-04-26 15:03:27
浅析NFT未来:仅少数项目上涨 出圈项目会成赢家2023-04-26 14:15:26
E-CNY时代来临:当你的工资成为数字人民币2023-04-26 12:43:48
浅谈为什么MEV搜索者矿池并不可行?2023-04-26 12:08:40
"庄家"互撕 曝出加密巨头拉的那些"帮派"2023-04-26 11:59:08
怎样到达Web3世界:使用Web3技术的公司及集成到业务的步骤2023-04-26 11:53:15
稳定币项目 HAI、Starknet 2023 路线图2023-04-26 11:46:35
ChatGPT类产品安全隐患解决?英伟达发布开源工具包2023-04-26 11:26:24
蚂蚁集团发布HOU、AntChainBridge、Web3开放联盟链等多个Web3产品2023-04-26 11:24:46
ChatGPT背后的算力博弈 中国企业亟待打破美国桎梏2023-04-26 10:59:28
简析DWF Labs:出手频繁 颇具争议的加密做市商2023-04-26 10:48:45
NFT 交易平台生存现状研究:后版税战争时代下的龙头之争2023-04-26 09:20:51
以太坊提款功能开启后的带宽使用情况2023-04-26 08:30:24
上海升级提款效应:数据揭示 LSD 项目们的表现2023-04-26 07:28:37
3分钟读懂基于LayerZero的多链抗MEV DEX聚合器Cashmere2023-04-25 20:05:34
对话去中心化流动性质押协议Rocket Pool:如何促进以太坊Staking民主化?2023-04-25 19:02:21
Bankless:欧美都想监管稳定币 他们怎么做?2023-04-25 17:43:44
Coinbase起诉SEC全文:请在合理时间内回应加密规则请愿书2023-04-25 16:43:34
慢雾:Web3 假钱包第三方源调查分析2023-04-25 15:43:36
Binance Sensei介绍:您的Web3 AI导师2023-04-25 13:20:55