MIS:重入攻击 + 管理漏洞:2000 万枚 OP 被盗事件分析_Primitive

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 笔交易如下:

Gnosis Chain硬分叉成功执行,已升级容易受到重入攻击的代币合约:4月20日消息,Gnosis Chain硬分叉已成功执行,此次硬分叉更新了桥接代币,旨在升级容易受到重入攻击(reentrancyattack)的代币合约(Agave和Pored Finance等)。

此前报道,3月16日Gnosis Chain上Hundred Finance与Agave遭遇闪电贷攻击,损失超1100万美元。[2022/4/20 14:36:20]

根据交易时间以及交易中 OP 代币数量,我们分析,在 26 日,Optimism 基金会向 Wintermute 多签合约地址转账 1 枚 OP 代币作为测试,Optimism 基金会在 Wintermute 确认收到代币后将 2000 万枚 OP 代币通过连续的两笔交易发送给 Wintermute 多签合约地址。接收地址是 Wintermute 在 Ethereum/L1 上已部署的多签合约地址,因此 Wintermute 仅仅验证是否接收到了代币,但并没有验证该地址在 Optimism/L2 上的所有权,而此时在 Optimism/L2 上并没有实际部署多签合约,这才给了黑客可乘之机。

黑客利用重入漏洞攻击Paraluni,获利逾170万美元,约1/3已流入Tornado:今日8时04分(HKT),BSC链上的元宇宙金融项目Paraluni遭受黑客攻击,黑客获利逾170万美元。据欧科云链链上天眼初步分析:

1、攻击者资金来自PancakeSwap的闪电贷;

2、问题出在项目方MasterCheif合约的depositByAddLiquidity方法,该方法未校验代币数组参数address memory _tokens是否和pid参数指向的LP相吻合,在涉及到LP数额变化时,也未加重入锁。

目前黑客在BSC链上的地址「0x94bc」的账户余额为3000.01 BNB(约112.58万美元),另有235.45 ETH(约60.86万美元)通过cBridge跨链到了ETH网络「0x94bc」。其中约1/3被盗资金(230 ETH)已流入Tornado Cash。

该事件提醒我们,在涉及到金额变动的合约方法中,一定要关注重入漏洞,尽量使用重入锁modifier。

链上天眼团队已对相关地址进行了监控,并将进一步跟进事件进展。[2022/3/13 13:54:09]

以上转账交易中的相关地址如下:

分析 | 金色盘面:USDT/CNY 走势分析:金色盘面综合分析:USDT/CNY昨天受到市场影响,出现较大波动,目前看一方面是人民币汇率对美元出现反弹,造成下跌,另一方面是BTC急速跳水,让价格再次走高,但价格并未创出新高,所以我们分析BTC短线有可能形成底部。[2018/8/8]

(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 合约部署交易:

金色财经现场报道 陈建可:区块链是金融科技的“皇冠”:在GBLS全球无眠区块链领袖峰会上,浙江省金融科技协会执行会长陈建可表示,过去几年我们在从事金融科技,区块链是金融科技的“皇冠”,为什么这么说呢?传统互联网金融没有跳出金融的范畴,更多是金融互联网或者互联网金融的改良以及变革,区块链重新建了一套体系,这个体系会衍生出很多的商业体系以及游戏规则,至于后发制人的国家来说,十年前我们要去硅谷学习如何去做,现在基本是同步的概念,所以这一块领域应该是可以弯道超车,或者未来定价权或者格局这一块可以发挥重大的意义。[2018/6/6]

txHash是0x00a3da68f0f6a69cb067f09c3f7e741a01636cbc27a84c603b468f65271d415b

注意到,该合约部署时间是 6 月 5 日,其中 Wintermute/OP Exploiter 是黑客的一个地址,简记为 0 x60 b2。

该交易是如何准确生成 0 x4 f3 a 合约地址的呢?

金色财经独家分析 四大国有银行积极探索布局区块链:金色财经独家分析,近日中国银行表示将利用“区块链”技术的“交易溯源、不可篡改”特性实现扶贫资金的透明使用、精准投放和高效管理。 金色财经分析,各大国有银行在区块链领域的探索都十分积极,此前中国工商银行和中国银行都有提交或发布区块链专利的消息放出。四大国有银行的探索主要集中在供应链金融、扶贫、保险等领域。虽然四大国有银行都在积极探索尝试区块链技术,但是目前还处在一些边缘非核心项目上,除了区块链技术的不够成熟之外,在推行过程汇中将会面临的现有体制与模式带来的障碍都是不得不考虑的重要因素。[2018/5/23]

黑客重放了 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内部有内鬼串通作案的可能。

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

大币网

[0:0ms0-6:664ms