元宇宙:重入攻击 + 管理漏洞:2000 万枚 OP 被盗事件分析_PTI

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

元宇宙游戏开发商Bison已推出Forgottent Runiverse的首个可玩演示:金色财经消息,元宇宙游戏开发商和发行商 Bison 已推出其大型多人在线角色扮演游戏 Forgottent Runiverse 的首个可玩演示,玩家将能够探索游戏的不同区域,并在 Runiverse 中寻找青蛙,这些青蛙将授予游戏内的道具,并在即将到来的土地出售的允许列表中获得改进的位置。

Forgottent Runiverse 是一款基于 NFT 系列 Forgottent Runes Wizard's Cult 的大型多人在线角色扮演游戏(MMORPG),Bison 自去年年底以来一直在与区块链工作室 Machine Magic 合作开发,希望在 2023 年初发布 V1.0 版本。[2022/6/21 4:41:51]

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

清华大学沈阳:资本泡沫之下,元宇宙需回归本质:金色财经消息,在4月29日线上步举行的“5G数字媒体论坛”上,清华大学新闻学院教授、博导,清华大学新闻学院新媒体中心执行主任沈阳做了《元宇宙发展研究报告2.0版》的主题演讲。沈阳认为,元宇宙是整合多种新技术产生的下一代互联网应用和社会形态,它基于扩展现实技术和数字孪生实现时空拓展性,基于AI和物联网实现虚拟人、自然人和机器人的人机融生性,基于区块链、Web3.0、数字藏品/NFT等实现经济增值性。在社交系统、生产系统、经济系统上虚实共生,每个用户可进行世界编辑、内容生产和数字资产自所有。

在股市的泡沫之下,元宇宙应专注自身。沈阳表示,元宇宙的属性应尽可能回归其本质,凡是现在发展已经充分且普及的技术,在元宇宙时代若不能迎来指数级增长都不适合纳入核心技术。元宇宙概念具有时空拓展性、人机融生性、经济增值性三大特性,可以概括为“三个三”:一是多感官的三维化互联网。二是自然人、虚拟人和机器人的三元一体化。三是基于区块链的Web3.0的三权化。(通信产业网)[2022/4/29 2:39:58]

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

炒房团杀入元宇宙虚拟房产 一周交易额超1亿美元:12月11日消息,随着元宇宙概念走热,元宇宙房产交易也变得火爆。这种虚拟世界里的房地产交易在近期频频刷新价格新高,甚至超出了现实世界里很多大城市的实际住房价格。所谓的元宇宙“房产”,其实就是元宇宙中的一部分虚拟空间。在拥有这些虚拟空间或者说元宇宙房产后,你可以对它进行建设、装修,可以开设商场,可以用作博物馆展示虚拟藏品,当然也可以直接出租。今年11月份,元宇宙房产交易出现一次爆发。有统计显示,在11月22日到28日的一周内,四个最主要的元宇宙房地产交易平台的总交易额就接近1.06亿美元。据福布斯报道,有建筑公司在元宇宙中设计一个项目就可以赚近30万美元。 (央视财经)[2021/12/11 7:32:41]

Optimism基金会在Optimism/L2上的多签合约地址:

0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0

Wintermute在Ethereum/L1上的多签合约地址:

0x4f3a120E72C76c22ae802D129F599BFDbc31cb81

元宇宙价值指数回升至617.40点:金色财经报道,据同伴客数据显示,9月29日元宇宙价值指数为617.40点,较前日上涨63.57点,涨幅为11.47%。

构成元宇宙价值指数成分的上市企业或NFT平台皆为目前在虚拟经济领域表现出巨大市场价值和未来潜力的头部机构,该指数能够有效反映元宇宙虚拟经济整体价值的发展趋势。

注:2021年3月10日主要成份股roblox上市并产生第一个收盘价,故选取3/11日为本指数首次推出的基准日,初始值为100。[2021/9/29 17:15:24]

同时,Optimism/L2上的0x4f3a也是黑客部署的多签合约地址。

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

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

txHash是0x00a3da68f0f6a69cb067f09c3f7e741a01636cbc27a84c603b468f65271d415b

Poolz成立200万美元基金用于投资元宇宙和游戏项目:9月4日消息,去中心化跨链IDO平台Poolz成立200万美元基金,用于投资有潜力的元宇宙和游戏项目。该基金旨在支持更多企业在区块链上构建游戏。该项目想要为元宇宙和游戏行业提供必要的金融力量,从而使项目可以无阻碍创新。(雅虎财经)[2021/9/4 23:00:21]

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

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

黑客重放了3笔交易,尤其是最后的GnosisSafe:ProxyFactory1.1.1合约创建的交易,如下所示:

Ethereum/L1上的交易如下:

Optimism/L2上的交易:

通过重放交易,黑客在Optimism/L2上面创建了跟Ethereum/L1上完全相同的GnosisSafe:ProxyFactory1.1.1合约,其中创建代理合约函数如下:

GnosisSafe:ProxyFactory1.1.1合约使用的是0.5版本的Solidity,使用new来创建合约时使用的是create命令,而不是create2。使用create命令创建合约,合约地址是msg.sender以及nonce来计算的。在Ethereum/L1上面,创建多签合约0x4f3a的msg.sender就是GnosisSafe:ProxyFactory1.1.1的地址,黑客在Optimism/L2通过重放交易来创建于GnosisSafe:ProxyFactory1.1.1合约的主要目的就是为了保证在Optimism/L2上创建合约0x4f3a的msg.sender与在Ethereum/L1上一致,那么黑客可以很方便的通过智能合约调用createProxy函数来创建出地址是0x4f3a的合约。在该交易中创建过程如下所示:

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

txHash:0x69ee67800307ef7cb30ffa42d9f052290e81b3df6d3b7c29303007e33cd1c240

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

整个过程从时间上看,

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

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

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

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

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

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

二、安全建议

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

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

来源:金色财经

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

大币网

[0:0ms0-6:321ms