火星链 火星链
Ctrl+D收藏火星链
首页 > Gateio > 正文

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

作者:

时间:1900/1/1 0:00:00

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

NFT金融化协议Omni protocol遭攻击,是由NFT重入引起:7月10日消息,据BlockSec,去中心化NFT金融化协议Omni protocol遭到攻击。

攻击者利用ERC721的重入了清算函数。由于Omni protocol的清算逻辑存在问题,在清算后不正确地清空了攻击者债务,因此攻击者可以获利。[2022/7/10 2:03:47]

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

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

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

Cream Finance遭到闪电贷攻击原因系AMP代币合约存在可重入漏洞:8月30日,PeckShield派盾发推表示,CreamFinance遭闪电贷攻击是因为AMP代币合约引入了一个可重入漏洞。AMP是一种类似erc777的代币,在更新第一次借款之前,它被用来在转移资产的过程中重新借入资产。在tx示例中,黑客进行了500ETH的闪电贷,并将资金存入作为抵押品。然后黑客借了1900万美元AMP并利用可重入漏洞在AMPtokentransfer()中重新借入了355ETH。然后黑客自行清算借款。黑客在17个不同的交易中重复上述过程,总共获得5.98KETH(约1880万美元)。资金仍存放在以0xCE1F的地址中。派盾正在积极监控此地址的任何移动。据此前报道,抵押借贷平台CreamFinance遭遇闪电贷攻击,损失1800万美元。[2021/8/30 22:47:08]

0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0

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

0x4f3a120E72C76c22ae802D129F599BFDbc31cb81

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

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

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

康奈尔大学教授:近期针对Lendf.Me的攻击与当年The DAO的重入Bug类似:AVA Labs联合创始人,康奈尔大学教授Emin Gün Sirer在社交媒体平台上表示,近期黑客从去中心化借贷协议Lendf.Me的Dapp中盗走约2500万美金的代币,出现的问题与当年The DAO的重入Bug类似。对此Sirer教授强调,此类问题对于以太坊来说是地方性的,而对于 Dapp,难以确定以不透明字节码表示的资产是否遭受重入。因此,加密资产应以能够防范重入的方式进行部署。在AVA的设计中资产是第一类对象(First Class Object),资产的行为由系统设定,不需要通过代码分析来确定发送一笔资产是否会导致 Dapp 的资产被抽走。[2020/4/20]

txHash是0x00a3da68f0f6a69cb067f09c3f7e741a01636cbc27a84c603b468f65271d415b

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

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

慢雾:攻击者系通过“supply()”函数重入Lendf.Me合约 实现重入攻击:慢雾安全团队发文跟进“DeFi平台Lendf.Me被黑”一事的具体原因及防御建议。文章分析称,通过将交易放在bloxy.info上查看完整交易流程,可发现攻击者对Lendf.Me进行了两次“supply()”函数的调用,但是这两次调用都是独立的,并不是在前一笔“supply()”函数中再次调用“supply()”函数。紧接着,在第二次“supply()”函数的调用过程中,攻击者在他自己的合约中对Lendf.Me的“withdraw()”函数发起调用,最终提现。慢雾安全团队表示,不难分析出,攻击者的“withdraw()”调用是发生在transferFrom函数中,也就是在Lendf.Me通过transferFrom调用用户的“tokensToSend()”钩子函数的时候调用的。很明显,攻击者通过“supply()”函数重入了Lendf.Me合约,造成了重入攻击。[2020/4/19]

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

Ethereum/L1上的交易如下:

声音 | 古千峰评DAO损失1.2亿美金“重入漏洞” 重现江湖:昨日,降维安全实验室监测到,成人娱乐系统spankchain支付通道(payment channel)关联的智能合约LedgerChannel遭到了重入攻击,DAO损失1.2亿美金的“重入漏洞” 重现江湖。

对此BTCMedia亚太区CTO古千峰给出两点提示:1.合约开发者不能信任任何用户提供的数据,包括但不限于public/external函数的入参,回调合约的地址等。

2.关键操作必须原子化, 譬如在以太币/代币转账成功后,对应账户的余额修改必须立即执行,假如转账失败,必须通过 revert()等操作抛出异常,回滚状态。[2018/10/11]

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

标签:TIMIMISPTIOPTIOptimismMISO币CPTINUOptimism

Gateio热门资讯
LOCK:熊市有3个阶段 我们刚进入第2个

本文梳理自BlockWorksGroup联合创始人JasonYanowitz在个人社交媒体平台上发表的观点,BlockBeats对其整理翻译如下:熊市有3个阶段.

1900/1/1 0:00:00
WEB:2022 年加密货币状况报告

译者按:本文分上下两部分,上部分阐述了加密货币”价格-创新“周期这一概念以及其基本逻辑,并通过数据分析三个周期(2009-2012、2012-2016、2016-2019)的加密活动.

1900/1/1 0:00:00
加密货币:金色早报 | 俄罗斯央行:允许在国际结算中使用加密货币

头条▌美国多个州级证券监管机构正在调查Celsius金色财经消息,美国新泽西州、阿拉巴马州、肯塔基州和华盛顿州的证券监管机构正在调查加密借贷平台CelsiusNetwork暂停客户赎回的决定.

1900/1/1 0:00:00
COI:项目周刊 |比特币价格已接近蚂蚁S11、阿瓦隆1026等主流矿机关机币价

金色周刊是金色财经推出的一档每周区块链行业总结栏目,内容涵盖一周重点新闻、行情与合约数据、矿业信息、项目动态、技术进展等行业动态。本文是项目周刊,带您一览本周主流项目以及明星项目的进展.

1900/1/1 0:00:00
区块链:金色Web3.0日报 | Meta将在中国香港推出元宇宙试点

DeFi数据1.DeFi代币总市值:354.3亿美元 DeFi总市值数据来源:coingecko2.过去24小时去中心化交易所的交易量:53.

1900/1/1 0:00:00
NOAH:资产价格下跌 财富去哪儿了?

我写了很多关于股票和加密市场崩盘的文章。有时我会说“与2021年末的峰值相比,现在加密已经失去了超过2万亿美元的名义价值”.

1900/1/1 0:00:00