比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 幣贏 > Info

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

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

安全公司Dedaub因披露Uniswap重入漏洞獲得4萬美元漏洞賞金:1月3日消息,安全公司 Dedaub 團隊宣布獲得 Uniswap Labs 的 4 萬枚 USDC 安全漏洞賞金,因為其披露 Uniswap 的一個嚴重漏洞,該漏洞有重入并耗盡用戶的資金的可能性。不過,Uniswap 團隊已解決該漏洞并在所有鏈上重新部署了 Universal Router 智能合約,資金是安全的。

Uniswap 在 2022 年 11 月份發布通用路由器Universal Router智能合約,可將 ERC20 和 NFT 兌換統一到一個交換路由器中,用戶可以執行異構操作,例如,在一筆交易中交換多個 Token 和 NFT。

Dedaub 表示,該路由器為各種 Token 操作嵌入了腳本語言,此類命令可能包括向第三方(可能不受信任的)接收人的傳輸。如果在傳輸過程中的任何時候調用第三方代碼,該代碼可以重新進入 UniversalRouter 并在合約中臨時認領任何 Token。Dedaub 建議 Uniswap 為新路由器的核心執行添加一個重入鎖,并重新部署。[2023/1/4 9:50:22]

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

Amber Group:Mai Finance金庫曾存在嚴重重入漏洞,項目方已部署新預言機合約:金色財經報道,Amber Group發文稱,其區塊鏈安全團隊于10月18日在零利率貸款協議Mai Finance的兩個金庫(SCSEMVT和YCSEMVT)中發現一個嚴重重入漏洞。該漏洞將允許攻擊者操縱抵押品價格,從池中借入所有資金并提走資金。

Amber Group在10月19日聯系QiDao團隊后,QiDao在10月20日提出解決方案并部署一個新的預言機合約。[2022/12/21 21:57:13]

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

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

0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0(簡記為0x2501)

(2)Wintermute 在 Ethereum/L1 上的多簽合約地址(Wintermute Exploiter Multisig):

0x4f3a120E72C76c22ae802D129F599BFDbc31cb81(簡記為0x4f3a)

NFT金融化協議Omni protocol遭攻擊,是由NFT重入引起:7月10日消息,據BlockSec,去中心化NFT金融化協議Omni protocol遭到攻擊。

攻擊者利用ERC721的重入了清算函數。由于Omni protocol的清算邏輯存在問題,在清算后不正確地清空了攻擊者債務,因此攻擊者可以獲利。[2022/7/10 2:03:47]

同時,Optimism/L2 上的 0 x4 f3 a 也是黑客部署的多簽合約地址。

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

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

txHash是0x00a3da68f0f6a69cb067f09c3f7e741a01636cbc27a84c603b468f65271d415b

注意到,該合約部署時間是 6 月 5 日,其中 Wintermute/OP Exploiter 是黑客的一個地址,簡記為 0 x60 b2。

BlockSecAlert:Revest Finance 遭受重入攻擊,項目方現已將RVST token合約暫停:3月27日消息,BlockSec告警系統于3月27日上午10:04分點檢測到Revest Finance項目遭受重入攻擊經過分析原因如下:

1)Next NFT id (FNFTHandler.getNextId)在mint之后更新,因此reentrancy (in ERC1155 mint)能夠在當前id上創建NFT

2)mapFNFToToken會在不檢查的情況下覆蓋token id的狀態。

目前項目方已將token合約暫停。詳情見原文鏈接。[2022/3/27 14:20:20]

該交易是如何準確生成 0 x4 f3 a 合約地址的呢?

黑客重放了 3 筆交易,尤其是最后的 Gnosis Safe: Proxy Factory 1.1.1 合約創建的交易,如下所示:

(1)Ethereum/L1 上的交易如下:

慢霧:攻擊者系通過“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]

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

Tags:PTITIMIOptimismISMAAptitudeTimicoinOptimism BOBNumisMe

幣贏
ConsenSys:一文速覽以太坊測試網簡史_BSP

原文標題:《The History of Ethereum Testnets》測試網絡是模擬區塊鏈主網的替代網絡,其創建目的是為了測試和試驗主網區塊鏈的功能,以減少實際運行式產生的錯誤.

1900/1/1 0:00:00
Web3元宇宙:需要自炒底料的火鍋店_WEB

一條美食街(游戲行業)上開著三家店:一家是開了幾十年的川菜館(傳統web2游戲),廚師用經過時間驗證的手藝親手為你準備上質量穩定的美味(高質量游戲產品);第二家是剛開沒多久的炸串小店(Axie等.

1900/1/1 0:00:00
《連線》雜志記者:從加密懷疑論者到創建DAO組織 丹佛三日體驗如何改變了我_WEB

Web3的使命幾乎是一種極端理想主義:不僅要將人類從大型科技公司的統治中解放出來,而且要把人類從剝削性資本主義本身中解放出來,并且純粹通過代碼來做到這一點.

1900/1/1 0:00:00
加密資產管理過去 現在和未來_穩定幣

5月中旬,加密資產經歷了一場“雷曼”式暴跌。在短短3天時間內,比特幣價格從43000跌35%至28000美元,加密資產整體市值減少了0.7萬億美元。從去年11月高點,比特幣價格已經跌去超過一半.

1900/1/1 0:00:00
Block調查:對比特幣越了解的人心態越樂觀_LOC

數字支付公司Block Inc.的一項調查發現,受訪者對自己的加密貨幣知識水平評價越高,他們對比特幣的未來就越樂觀.

1900/1/1 0:00:00
即做飛機又做空中滴滴:ArrowDAO的野望_OMA

10天前我寫了一篇關于ArrowDAO激勵結構的帖子,把它作為一個案例拆解分析,但并未詳細介紹ArrowDAO本身.

1900/1/1 0:00:00
ads