以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

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

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的基本借貸功能,我們不做進一步解釋。

PeckShield:go-ethdenver[.]com系釣魚網站,或與Monkey Drainer黑客組織有關:2月20消息,據PeckShield監測數據顯示,go-ethdenver[.]com 系釣魚網站,該網站為假冒的 ETHDenver 網站,或與 Monkey Drainer 黑客組織有關。該釣魚網站請求訪問用戶的資產和地址 0x6942 標記為 Fake_Phishing8210 的權限,請注意仔細分辨。[2023/2/20 12:17:20]

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

第二步:囤積WBTC現貨

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

由Snag Solutions為ApeCoin DAO建立NFT交易市場提案投票獲得通過:9月22日消息,面向NFT項目的平臺解決方案Snag Solutions首席執行官兼聯合創始人Zach Heerwagen在ApeCoin DAO社區發布的關于“建立社區優先的ApeCoin DAO市場”提案投票已獲得通過。該提案提出的市場將在一個單一的市場UI中托管所有Yugaverse項目,費用大大降低,將資金保留在BAYC生態系統中,并改善交易雙方的市場體驗。對于使用APE進行的交易,買賣雙方無需額外交易費用,對于使用ETH掛單的用戶將收取一定的交易費,交易費收入將交由社區多簽錢包管理。

此前早些時候消息,由Magic Eden為ApeCoin持有者構建NFT市場的提案投票未通過。[2022/9/22 7:13:49]

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

PeckShield:XCarnival攻擊者已將120枚ETH發送至Tornado.cash:6月27日消息,派盾(PeckShield)監測顯示,XCarnival攻擊者已將2967枚ETH(約360萬美元)發送到0xCA新地址,另將120枚ETH發送至Tornado.cash。據悉,NFT借貸協議XCarnival在昨晚遭到黑客攻擊,攻擊或由于已解除抵押的NFT仍被作為抵押品所致。黑客獲利3087枚ETH,而協議損失可能更高。[2022/6/27 1:33:13]

第三步:杠桿拉盤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倍。

Swerve:Peckshield發現資金池APY計算錯誤 即將發布審計報告:Curve分叉項目Swerve發推稱,Peckshield發現POOL APY計算中有一個錯誤,用戶界面(UI)將POOL APY低估大約10倍。完整的審計報告即將發布。

據此前報道,9月16日,區塊鏈安全公司Peckshield官方宣布,正在對Swerve Finance的智能合約進行安全審計。

9月19日,數據顯示Swerve的DAI、USDC、USDT、TUSD四個資金池APY (年化率) 跌至0.73%附近,總鎖倉量跌至6.72億美元附近。Swerve官方發推表示,Swerve上顯示的APY(年化率)將暫時不正確。修正后的版本將很快部署。之后,官方表示,SWRV發行量現在已經減少至每年900萬枚SWRV。網站上的APY已經是準確的了。[2020/9/26]

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

聲音 | PeckShield研發副總裁:DeFi領域的安全問題比DApp生態更為嚴峻:據悉區塊鏈安全公司PeckShield消息,今天PeckShield宣布與DeFi龍頭項目MakerDAO達成了安全審計戰略合作關系,為MakerDAO多抵押Dai提供安全審計服務。在談及DeFi領域的安全問題時,PeckShield研發副總裁吳家志表示:DeFi項目的安全問題不同于以往DApp生態內頻發的安全事件。DeFi項目管理著大量數字資產,離錢近,更易遭到黑客的持續攻擊,且由于大量DeFi項目目前皆運行在以太坊網絡上,一些漏洞特性很可能存在連帶威脅。就這一點而言,交易所還可通過將資產放在冷錢包進行鏈下存儲,而DeFi項目的資產皆在鏈上,安全問題一旦發生很可能存在致命威脅。[2019/8/14]

第四步:拋售WBTC現貨

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

Figure5:WBTCDumpingWithUniswap

第五步:閃貸還款

攻擊者從拋售的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:ETHBTCWBTCBZXtogetherbnb薇拉能上嗎BTCPEPCWBTCbZx Vesting Token

酷幣交易所
通證化證券說易行難,CBDC或陷入困境?BIS最新報告都說了些啥_數字貨幣

Odaily星球日報譯者|Moni 對于“央行的央行”——國際清算銀行研究人員來說,一個最重要的工作就是規劃更好的全球支付未來,而在他們最新發布的季度報告中也花了很大篇幅來闡述相關問題.

1900/1/1 0:00:00
FTX CEO又開交易所、又當做市商,有錯嗎?_FTX

今日,“FTXCEOSam的Bitfinex賬戶浮虧超1300萬美元”的消息將新晉崛起的FTX交易所送上了風口浪尖.

1900/1/1 0:00:00
ETH周報 | 以太坊將在7月硬分叉中實行ProgPoW;Deribit推出ETH每日期權(2.17-2.23)_ETH

作者|秦曉峰編輯|郝方舟出品|Odaily星球日報 一、整體概述 上周以太坊開發者在開發者會議中,再次就ProgPoW進行討論,代碼EIP1057,該更新可以使以太坊挖礦更加「抗ASIC」.

1900/1/1 0:00:00
40家銀行申請加密貨幣托管服務牌照,德國能否成為加密行業首選國家?_加密貨幣

編者按:本文來自巴比特資訊,編譯:Libert,星球日報經授權發布。據Trustnodes2月8日報道,德國最近通過的一項法律似乎引發了市場熱潮,一份當地報紙稱,已有40家持牌銀行申請提供加密托.

1900/1/1 0:00:00
孫宇晨:2020年,波場要和以太坊拼DeFi,未來還會推隱私幣_tron

幣圈一直不缺熱點,而孫宇晨可以說是幣圈最聒噪的熱點。盤點今年前兩個月,孫宇晨已經讓媒體炸開了至少三次鍋。1)1月22日,與蘋果聯合創始人沃茲尼亞克午餐會面,并表示期待合作.

1900/1/1 0:00:00
星球日報 | 摩根大通或將區塊鏈部門與ConsenSys合并;PlusToken跑路資金中12424個BTC被轉移_區塊鏈

頭條 摩根大通正在商討將其區塊鏈部門Quorum與ConsenSys合并據知情人士透露,摩根大通公司正在商討將其區塊鏈部門Quorum與以太坊開發商ConsenSys合并.

1900/1/1 0:00:00
ads