買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > ICP > Info

PTI:重入攻擊 + 管理漏洞:2000 萬枚 OP 被盜事件分析_HETH價格

Author:

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

CZ:幣安團隊已檢查Vyper可重入漏洞,用戶不受影響:7月31日消息,CZ發推稱,CEX喂價拯救了DeFi。幣安用戶不受影響。幣安團隊已檢查Vyper可重入漏洞。幣安只使用0.3.7或以上版本。保持最新的代碼庫、應用程序和操作系統非常重要。

據此前報道,因Vyper部分版本(0.2.15、0.2.16和0.3.0)存在功能失效的遞歸鎖漏洞,Curve上alETH/ETH、msETH/ETH、pETH/ETH和CRV/ETH池遭遇攻擊。[2023/7/31 16:09:06]

根據交易時間以及交易中OP代幣數量,我們分析,在26日,Optimism基金會向Wintermute多簽合約地址轉賬1枚OP代幣作為測試,Optimism基金會在Wintermute確認收到代幣后將2000萬枚OP代幣通過連續的兩筆交易發送給Wintermute多簽合約地址。接收地址是Wintermute在Ethereum/L1上已部署的多簽合約地址,因此Wintermute僅僅驗證是否接收到了代幣,但并沒有驗證該地址在Optimism/L2上的所有權,而此時在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]

以上轉賬交易中的相關地址如下:

Optimism基金會在Optimism/L2上的多簽合約地址:

0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0

Origin稱OUSD黑客攻擊主要由合約中重入漏洞引發:去中心化共享經濟協議OriginProtocol(OGN)聯合創始人MatthewLiu更新關于“穩定幣OUSD遭受攻擊”一事稱,“團隊在采取措施以追回資金,包括與交易所以及其他第三方合作,以識別出黑客地址,并對資金進行凍結。黑客同時使用TornadoCash和renBTC來進行洗錢和轉移資金,目前,黑客錢包中還有7137枚ETH和224.9萬枚DAI。此次攻擊是由合約中的一個重入漏洞(reentrancybug)引發。團隊將在未來幾天內采取措施,試圖彌補用戶資金,還將討論OUSD持有者的補償計劃。”據此前報道,OUSD因此次攻擊事件造成700萬美元損失。Origin提醒稱,“目前已禁用了vault存款,請不要在Uniswap或Sushiswap上購買OUSD。”[2020/11/17 21:03:47]

Wintermute在Ethereum/L1上的多簽合約地址:

0x4f3a120E72C76c22ae802D129F599BFDbc31cb81

同時,Optimism/L2上的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]

接下來,我們將從鏈上交易的角度詳細分析一下黑客的攻擊行為以及原理。

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

動態 | 以太坊君士坦丁堡升級因“可重入”漏洞延期:據PeckShield消息,今天凌晨,以太坊君士坦丁堡代碼突然爆出“可重入”漏洞,該漏洞可以用來攻擊相關合約修改用戶余額或其他關鍵變量。PeckShield安全人員初步分析發現,在分叉之前一個存儲操作至少需要5000gas,這個是遠超缺省轉賬激勵的2300gas。但分叉后一個存儲只需200gas,這個造成了現有合約再處理轉帳時候,如調用了攻擊者合約,可以用來修改調用者合約的內部變量,其中可能包括賬號余額等。由于該漏洞,以太坊君士坦丁堡升級延期,具體的升級時間將在周五的下一次核心開發者電話會議選出。[2019/1/16]

txHash是0x00a3da68f0f6a69cb067f09c3f7e741a01636cbc27a84c603b468f65271d415b

注意到,該合約部署時間是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內部有內鬼串通作案的可能。

Tags:ETHTIMIPTIOPTHETH價格timi幣官方網站SYNOPTICOPTER

ICP
CAP:VC 綜述:區塊鏈游戲、DAO 管理和資產代幣化的興起_ITA

IrreverentLabs、LighthouseLabs、N3TWORKStudios、DoraHacks、iZUMiFinance、Common和Centrifuge是區塊鏈領域最近融資交易.

1900/1/1 0:00:00
BSV:金色觀察|如何設計一個web3數據協作架構?_bch幣的發行價格

都說web3互聯網的數據是歸還給用戶的,那如果數據都在用戶那兒,那還有什么數據可以被其他企業使用呢?以及這些數據會怎樣被合約、應用使用?用戶留在區塊鏈上的數據,相比于互聯網的數據,很少.

1900/1/1 0:00:00
元宇宙:NFT女友爆火 從三次元到元宇宙宅男都是頂級購買力_solana幣今日價格行情

相信平時經常追番、玩游戲的宅友們,平日一看到屏幕上的美少女時總會立刻喊對方一聲“老婆”,以此表達自己對該名角色的喜愛。 而且時間久了不光對著女角色喊,連一些可愛的男孩子都會照喊不誤.

1900/1/1 0:00:00
WEB:Web3.0的“變”與“常”:一項未竟的事業_web3.0幣種

引言 大家好,今天我分享的題目是《Web3.0的“變”與“常”:一項未竟的事業》,這篇演講算是一個拋磚引玉,因為我也只是一個Web3.0的初學者.

1900/1/1 0:00:00
UNI:金色數藏META | 「520最××眼神挑戰」投票最終彈_Uniswap

于2022年5月20日-5月27日舉辦「520最××眼神挑戰」已經結束,今天是投票的最后一彈! 5月28日·最終彈 為你喜歡的作品投票叭~ 0102 金色數藏平臺今日首發“夏日尋蹤 · 遇見廣西.

1900/1/1 0:00:00
TEP:StepN到底是不是龐氏?_STE

如何判斷一個項目是不是龐氏,關鍵在于它是否具有正向的外部性。正如物理學的能量守恒定律一樣,如果一個系統,它沒有正向的外部性,那必然是一個龐氏.

1900/1/1 0:00:00
ads