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

PeckShield:硬核技術解析,bZx協議遭黑客漏洞攻擊始末_WBTC

Author:

Time:1900/1/1 0:00:00

編者按:本文來自PeckShield,Odaily星球日報經授權轉載。02月15日,bZx團隊在官方電報群上發出公告,稱有黑客對bZx協議進行了漏洞攻擊,且已暫停除了借貸外的其他功能。對于攻擊細節,bZx官方并沒有進行詳細披露。PeckShield安全人員主動跟進bZx攻擊事件,發現這起事件是針對DeFi項目間共享可組合流動性的設計進行攻擊,特別在有杠桿交易及借貸功能的DeFi項目里,該問題會更容易被利用。

Figure1:FiveArbitrageStepsinbZxHack漏洞的攻擊細節如下:此攻擊事件發生在北京時間2020-02-1509:38:57。攻擊者的transaction信息可以在etherscan上查到。此攻擊過程可以分為以下五個步驟:第一步:閃貸獲取可用資金

攻擊者通過在部署的合約中調用了dYdX閃貸功能借入了10,000個ETH。這部分是已知的dYdX的基本借貸功能,我們不做進一步解釋。

ApeCoin DAO終極指南提案AIP-251獲得通過:金色財經報道,據Snapshot投票數據顯示,ApeCoin DAO新手入門終極指南提案AIP-251已經獲得通過,該提案發起人BojangleGuy.Eth 在投票結束后發推文透露,該提案的通過率為93.28%。ApeCoin DAO終極指南類似于解決ApeCoin社區沒有教學材料(例如視頻內容、信息圖表或現場培訓)導致社區活躍度和參與度低的問題,通過創建一個集中的、易于理解的信息來源來解決社區的基本問題。[2023/6/18 21:44:58]

Figure2:FlashloanBorrowingFromdYdX當第一步操作過后,如下表中攻擊者資產,此時并沒有收益:

第二步:囤積WBTC現貨

通過第一步閃貸獲得ETH后,攻擊者將其中的5,500ETH存入Compound作為抵押品,貸出112WBTC。這也是正常的Compound借貸操作,貸出的WBTC將在第四步中被拋售。

PeckShield:BAYC #4587被竊:金色財經報道,據PeckShield在社交媒體披露,“無聊猿”BAYC #4587已被“0x43C9”開頭地址的黑客竊取,該NFT在289天前被出售,當時銷售價格為89.9 ETH (約合147,535.79美元)。[2023/2/23 12:24:16]

Figure3:WBTCHoardingFromCompound在此步驟操作后,我們可以看到關于攻擊者控制的資產發生了改變,但此時仍然沒有獲益:

第三步:杠桿拉盤WBTC價格

利用bZx的杠桿交易功能,做空ETH購入大量WBTC。具體步驟是:攻擊者存入1,300ETH并調用bZx杠桿交易功能,即接口mintWithEther(),在內部會繼續調用接口marginTradeFromDeposit()。接下來,攻擊者將從bZx5倍杠桿獲得的5,637.62個ETH,通過KyberSwap兌換成51.345576WBTC。請注意,此處做空ETH是借來的5倍。本次交易導致將WETH/WBTC的兌換率提高到109.8,大約是正常兌換率的3倍。為了完成此交易,KyberSwap基本上會查詢其儲備金并找到最優惠的匯率,最終只有Uniswap能提供這樣的流通性,因此這個交易從本質上推動了Uniswap中WBTC價格上漲了3倍。

ApeCoin配對質押機制將使用戶在出售NFT后損失質押的代幣:金色財經報道,12月5日上線的ApeCoin質押系統支持用戶直接質押ApeCoin代幣,或將代幣與Bored Ape或Mutant Ape NFT配對質押。當配對質押時,只有代幣被鎖定在智能合約中,NFT仍然可以在OpenSea或任何其他市場上出售。當NFT售出時,持有者將失去質押的ApeCoin給NFT的買家,因為配對的NFT充當訪問密鑰。

PeckShield已報道了兩起該漏洞的受害者,一交易員使用來自dydx的82ETH(103000美元)快速貸款購買了BAYC#6762并認領了質押的6400枚APE(26240美元),然后交易員以88ETH的價格出售了NFT和ApeCoin,獲利6ETH。另一名交易員通過購買BAYC#1633獲利了近8個ETH。[2022/12/7 21:27:33]

Figure4:MarginPumpingWithbZx(andKyber+Uniswap)應該注意的是,這步操作在合約內部實現有個安全檢查邏輯,但是實際上在交易之后并沒有驗證鎖倉值。也就是說,當攻擊發生時,此檢查沒有啟用,我們在后面會有一節詳細介紹此合約中的問題。在這一步之后,我們注意到關于黑客控制的資產有以下改變。不過,在這一步之后仍然沒有獲利。

PeckShield:DarkLight發生RugPull,代幣DK下跌100%:6月30日消息,據PeckShield監測顯示,檢測到DarkLight發生RugPull,代幣DK下跌100%,約611枚BNB(約100萬美元)轉移至TornadoCash。[2022/6/30 1:41:20]

第四步:拋售WBTC現貨

在Uniswap中WBTC價格飆升后,攻擊者將第二步中通過Compound借的112WBTC全部賣給Uniswap并返還了相應的WETH。這次交易攻擊者共計獲得6,871.41個ETH的凈額作為回報。在這一步之后,可以看到攻擊者已經獲得不少利潤。

Figure5:WBTCDumpingWithUniswap

金色財經現場報道 PeckShield創始人兼CEO蔣旭憲 :建立區塊鏈安全保護措施和防范機制:金色財經6月3日現場報道,在今天的以太坊技術及應用大會上, PeckShield創始人兼CEO蔣旭做了題為“Code Is Law:以太坊智能合約面臨的威脅與挑戰”的主題演講。蔣旭憲說,要思考建立保護措施和防范機制,主要有上線前的智能合約審計;上線后的應急響應;漏洞獎賞計劃。[2018/6/3]

第五步:閃貸還款

攻擊者從拋售的112WBTC中獲得的6,871.41個ETH,將閃貸的10,000個ETH償還給dYdX,從而完成閃貸還款。在這一步之后,我們重新計算了以下資產詳情。結果顯示,攻擊者通過此次攻擊獲得71ETH,加上這兩個鎖倉:Compound和bZx。bZx鎖倉處于違約狀態,Compound的鎖倉是有利可圖的。顯然,在攻擊之后,攻擊者就開始償還Compoud債務以贖回抵押的5,500個WETH。由于bZx鎖倉已經處于違約狀態,攻擊者也不再感興趣了。

參考1WBTC=38.5WETH的平均市場價格,若攻擊者以市場價格購入112WBTC花費約需4,300個ETH。此112WBTC用以清償Compond債務并取回抵押品5,500ETH,則最終攻擊者總共獲利為71WETH+5,500WETH-4,300ETH=1,271ETH,合計大約$355,880。硬核解析:bZx可規避風險代碼邏輯缺陷

通過前面攻擊者在合約中實現的步驟可以看出,問題的核心原因是在第三步調用marginTradeFromDeposit()通過借貸的1,300ETH,加5倍杠桿來實現做空ETH/WBTC交易的,于是我們進一步審查合約代碼,發現這是一個「可避免的套利機會」,但因為代碼存在的邏輯錯誤造成可用于規避風險的代碼邏輯沒有生效。具體代碼追蹤如下:

首先是marginTradeFromDeposit()調用_borrowTokenAndUse(),此處由于是以存入的資產作杠桿交易,第四個參數為true。

在_borrowTokenAndUse()里,當amountIsADeposit為true時,調用_getBorrowAmountAndRate()并且將borrowAmount存入sentAmounts。

在1,355行,sentAmounts被設置為sentAmounts并且于第1,370行調用_borrowTokenAndUseFinal()

經由IBZxinterface進入bZxContract的takeOrderFromiToken()函數。bZxContract屬于另一個合約iTokens_loanOpeningFunctions于是我們我們繼續分析合約代碼,在函數中發現有一個關鍵的邏輯判斷:

在第148行,bZx事實上嘗試利用oracle合約的shouldLiquidate()檢查這個杠桿交易的倉位是否健康。然而,因為第一個條件已經為true,則繼續執行,而忽略了shouldLiquidate()的邏輯判斷。事實上,在合約BZxOracle的shouldLiquidate()中實現了對getCurrentMarginAmount()<=loanOrder.maintenanceMarginAmount判斷,如果執行到shouldLiquidate()就可以有效避免這個攻擊的發生。

如前所述,這是一次很有意思的攻擊,它結合了各種有趣的特性,如貸款、杠桿交易和拉高價格等。之所以可能發生這種攻擊,是因為當前項目共享可組合流動性的設計。特別是,5倍杠桿交易允許用戶以相對較低的成本借入大量代幣,加上DeFi項目間共享的流動性,導致交易價格更容易被操控。

Tags:ETHBTCWBTWBTCTethereumEBTC幣wbtc幣的價格MWBTC

Ethereum
比特幣的死亡螺旋踩踏會真實發生么?_加密貨幣

編者按:本文來自區塊律動BlockBeats,作者:0x29,Odaily星球日報經授權轉載。時隔106天,比特幣重新站上1萬美金,再次登上熱搜,這讓許久被社會話題占據的社群,重新把焦點匯聚在行.

1900/1/1 0:00:00
摩根大通在下一盤加密證券交易領域的大棋_ONS

作者:ClaireWu最近和摩根大通相關的新聞不絕于耳。我們來把故事串聯起來,看看摩根大通究竟在下一盤什么大棋?2020年2月20日,據新浪財經新聞顯示,摩根大通和高盛集團支持建立一個新的股票交.

1900/1/1 0:00:00
DeFi中的De是什么意思?這對區塊鏈行業意味著什么?_EFI

編者按:本文來自區塊鏈大本營,作者:OscarW,翻譯:火火醬,Odaily星球日報經授權轉載。區塊鏈這一概念最早是由StuartHaber和ScottStornetta在1991年提出的.

1900/1/1 0:00:00
OKEX投研:全球風險資產遭拋售,比特幣仍與傳統資產不相關_比特幣

撰文:OKEx分析師巖松全球風險資產在本周遭拋售比特幣仍然與傳統資產類別不相關比特幣期權市場受到傳統金融機構關注全球金融市場在上周中投資者們大多認為市場已經擺脫了肆虐冠狀病的影響.

1900/1/1 0:00:00
比特幣秘史(十九):誰是算力曾逼近51%的超大型比特幣礦池?_比特幣

在上一個故事里面我們講到被部分人稱作“51%攻擊預演”的突發硬分叉事件;而這次要說一說的是,真正讓社區感受到51%攻擊威脅的超大型比特幣礦池——http://Ghash.io.

1900/1/1 0:00:00
OKEX投研:BTC合約未平倉頭寸創新高,ETH繼續強勢_KEX

作者|OKResearch·站上一萬美金大關,比特幣合約累積未平倉頭寸達到歷史最高·OKB徹底實現全流通,價格一飛沖天·技術面和情緒面基本健康,少數指標出現過熱\t在經歷了二月初的小幅整理好.

1900/1/1 0:00:00
ads