首页>财经 > 正文
SharkTeam独家分析 | 重入攻击+管理漏洞—2000万枚OP被盗事件分析
来源: SharkTeam 发布于:2022-06-11 05:28:02

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上的0x4f3a也是黑客部署的多签合约地址。

接下来,我们将从链上交易的角度详细分析一下黑客的攻击行为以及原理。

首先,我们看一下Optimism/L2上的0x4f3a合约部署交易:

txHash是0x00a3da68f0f6a69cb067f09c3f7e741a01636cbc27a84c603b468f65271d415b

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

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

黑客重放了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上面,创建多签合约0x4f3a的msg.sender就是Gnosis Safe: Proxy Factory 1.1.1的地址,黑客在Optimism/L2通过重放交易来创建于Gnosis Safe: Proxy Factory 1.1.1合约的主要目的就是为了保证在Optimism/L2上创建合约0x4f3a的msg.sender与在Ethereum/L1上一致,那么黑客可以很方便的通过智能合约(合约0xe714)调用createProxy函数来创建出地址是0x4f3a的合约。在该交易中创建过程如下所示:

另外,合约0xe714的部署是在6月1日的以下交易中完成的:

txHash: 0x69ee67800307ef7cb30ffa42d9f052290e81b3df6d3b7c29303007e33cd1c240

发起交易地址是0x8bcfe4f1358e50a1db10025d731c8b3b17f04dbb(简记为0x8bcf),这也是黑客所持有的地址。同时,这笔交易也是0x8bcf发起的第一笔交易,资金来源于Tornado:

整个过程从时间上看,

(1)5月27日,Optimism地址0x2501向Optimism/L2上的0x4f3a地址转账2000万OP,0x4f3a地址在Ethereum/L1上是Wintermute的多签合约地址,但此时在Optimism/L2上面并没有部署合约;

(2)6月1日,黑客地址0x8bcf部署合约0xe714。

(3)6月5日,黑客通过重放Ethereum/L1上的交易创建了Gnosis Safe: Proxy Factory 1.1.1合约,其地址与Ethereum/L1上一样;然后地址0x60b2通过合约0xe714部署了多签合约0x4f3a,合约所有权归黑客所有,因此5月27日转入的2000万OP被黑客盗取。

(4)6月5日,多签合约0x4f3a在接收到2000万OP后,将100万OP转账给黑客地址0x60b2,然后将100万OP兑换成了720.7 Ether。

(5)6月9日,合约0x4f3a将其中的100万OP转账给了账户地址0xd8da,

其他的1800万OP仍然在合约0x4f3a中。

二、安全建议

引发本次安全事件的根本原因是交易重放、Solidity旧版本漏洞以及主链和侧链交易签名验证等综合因素,并不是因为项目方合约代码存在漏洞。

另外,针对本次事件,项目方反应不及时、对合约管理不严格等也给了黑客可乘之机;从攻击时间线和攻击准备上看,也不排除OP内部有内鬼串通作案的可能。

三、关于我们

SharkTeam的愿景是全面保护Web3世界的安全。团队成员分布在北京、南京、硅谷,由来自世界各地的经验丰富的安全专业人士和高级研究人员组成,精通区块链和智能合约的底层理论,提供包括智能合约审计、链上分析、应急响应等服务。已与区块链生态系统各个领域的关键参与者,如Huobi Global、OKC、polygon、Polkadot、imToken、ChainIDE等建立长期合作关系。

Telegram:https://t.me/sharkteamorg

Twitter:https://twitter.com/sharkteamorg

Reddit:https://www.reddit.com/r/sharkteamorg

更多区块链安全咨询与分析,点击下方链接查看

D查查|链上风险核查https://m.chainaegis.com

关键词: 使用的是 可乘之机

猜你喜欢

  • b站视频怎么保存在手机本地?b站一个硬币up主能得多少钱?
  • 全球快资讯丨京东居家携全链路业务亮相深圳家具展 覆盖供应链、服务、设计三大板块
  • 西方文明的发源地在哪?西方文明的三大支柱是什么?
  • 全球今热点:自动上下水成扫地机器人功能标配,云鲸打造上门服务新标杆
  • 世界热头条丨COLMO构建全屋智能新图景,“墅智专家”让智控更高端
  • 暴雨的降水量是多少毫米?降水量是怎么计算的?
  • 世界信息:一加 Ace Pro 至高配备 16GB 超大内存,打造行业流畅新体验
  • 当前热点-未来新冠疫苗或是鼻腔喷雾甚至一张贴片?福奇希望疫苗更多创新
  • 今日关注:iPhone二季度在印度出货120万部 本地产iPhone接近100万部
  • 【焦点热闻】东方甄选户外直播画风变了:俞敏洪吃桃子 董宇辉聊诗词
  • 每日焦点!助力乡村振兴,润初妍10周年携近千名经销商走进宏村
  • 《暗黑破坏神2重制版》遭俄罗斯黑客团队破解 联网模式将不再支持MOD
  • 联动狂魔《糖豆人》携手《WWE》 将于7月28日推出限时售卖皮肤
  • 官方发布《间谍过家家》第二部分先导预告 预计将于10月开播
  • 2022年国产游戏销量排行榜公布 《暖雪》获得上半年最畅销新游
  • 《雷神4》曝光海量原始概念设计图 电影全球票房创全系列新高
  • 今天是日本西瓜姐 《炼金工房》发布官图邀请你和莱莎一起吃瓜
  • 从此网络直播间使用BGM需付费!试行付酬标准现已出炉
  • 科学家设计出低能耗流体电池 旨在为建筑物遮阳与降温
  • 俄罗斯计划自研6G网络技术遭经营商抵制 表示4G足够满足日常需求