加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads

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

Author:

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

02月15日,bZx團隊在官方電報群上發出公告,稱有黑客對bZx協議進行了漏洞攻擊,且已暫停除了借貸外的其他功能。對于攻擊細節,bZx官方并沒有進行詳細披露。

PeckShield安全人員主動跟進bZx攻擊事件,發現這起事件是針對DeFi項目間共享可組合流動性的設計進行攻擊,特別在有杠桿交易及借貸功能的DeFi項目里,該問題會更容易被利用。

Figure1:FiveArbitrageStepsinbZxHack

漏洞的攻擊細節如下:

此攻擊事件發生在北京時間2020-02-1509:38:57。攻擊者的transaction信息可以在?etherscan?上查到。此攻擊過程可以分為以下五個步驟:

第一步:閃貸獲取可用資金

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

加密及元宇宙電商公司The Edit LDN完成480萬美元新一輪融資:金色財經報道,加密及元宇宙運動鞋電商公司 The Edit LDN宣布完成 480 萬美元新一輪融資,Regah Ventures 領投,紐約巨人隊的 Xavier McKinney、NBA 的 PJ Tucker 和英超聯賽的 Jesse Lingard 等體育明星參投。The Edit LDN 公司是首批接受加密貨幣支付的運動鞋電商,而且已經通過 Bloktopia 進入元宇宙并在其中構建了全球運動鞋平臺,新資金將用于該公司在美國、中東和北非市場擴張。(rli.uk)[2023/1/20 11:23:41]

Figure2:FlashloanBorrowingFromdYdX

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

第二步:囤積WBTC現貨

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

數據:三未知地址向幣安轉入約9000萬美元BNB:11月8日消息,Lookonchain監測顯示,3個“0x05d3”、“0x090”和“0xb4b3”此前沉睡的地址剛剛被喚醒,向幣安累計轉入263247枚BNB(約8950萬美元)。[2022/11/8 12:31: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倍。

因缺乏限制政策,Kirkland & Ellis等大型律所的律師仍可隨意購買加密貨幣:10月10日消息,大型律師事務所的律師們可以隨意購買加密貨幣,因為大多數律所缺乏限制數字資產投資的政策。

律所Linklaters的律師Joshua Ashley Klayman、以及Perkins Coie的律師Joe Cutler均證實他們已經購買了比特幣或以太坊,不過律所Hogan Lovells發言人表示,該公司禁止員工進行加密投資,該公司律師證明他們不會利用在公司期間獲得的重大非公開信息進行交易。

而全球收入最高的律師事務所Kirkland & Ellis其部分律師是加密經紀商Voyager Digital的客戶,并稱“這些律師沒有也不會”從事與該公司在Voyager破產中代理相關的工作。(Bloomberg Law)[2022/10/10 10:29:07]

為了完成此交易,KyberSwap基本上會查詢其儲備金并找到最優惠的匯率,最終只有Uniswap能提供這樣的流通性,因此這個交易從本質上推動了Uniswap中WBTC價格上漲了3倍。

加密數據基礎設施平臺Goldsky完成2000萬美元的種子輪融資:金色財經報道,加密數據基礎設施平臺Goldsky完成2000萬美元種子輪融資,Felicis和Dragonfly Capital領投。企業家Elad Gil、Plaid創始人Zach Perret、William Hockey、Uniswap Labs、0x Labs、Magic Eden的Zhuoxun Yin、Azuki的Alex Xu和Compound Finance的Robert Leshner參投。(The Block)[2022/9/13 13:24:58]

Figure4:MarginPumpingWithbZx(andKyber+Uniswap)

應該注意的是,這步操作在合約內部實現有個安全檢查邏輯,但是實際上在交易之后并沒有驗證鎖倉值。也就是說,當攻擊發生時,此檢查沒有啟用,我們在后面會有一節詳細介紹此合約中的問題。

在這一步之后,我們注意到關于黑客控制的資產有以下改變。不過,在這一步之后仍然沒有獲利。

韓國電信巨頭SK Telecom將于8月3日正式推出NFT市場TopPort:7月28日消息,韓國電信巨頭SK Telecom開發并運營的NFT市場“TopPort”將于8月3日正式開始運營。目前,Topport已經開通了NFT生產者專用頁面,預計普通買家從8月3日起就可以交易NFT。根據Topport服務條款,Topport是基于移動錢包提供的。

此前5月份消息, SK Telecom將在今年內為元宇宙平臺Ifland引入游戲元素,并推出NFT市場、引入頭像及創造空間平臺等新功能。(FTnews)[2022/7/28 2:43:31]

第四步:拋售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:ETHBTCWBTCWBTAETHBTCN價格MWBTCCWBTC價格

火幣網下載官方app
如果有區塊鏈,對疫情防控工作有哪些巨大作用?_區塊鏈:DEFI

年前寫的一篇文章,《武漢病引發的區塊鏈思考》引發了網友不少的討論,其中幾個措施在年后各地政府措施中,貫徹實施的效果不錯,兩周后,我想從區塊鏈落地的角度再來探討一下,如果有區塊鏈.

1900/1/1 0:00:00
中科院軟件所區塊鏈技術助力精準防疫有序復工_區塊鏈:wealthchain

來源:中科院 當前新冠肺炎疫情防控形勢嚴峻復雜,政府防疫管理工作面臨新的挑戰:要加強和保障各方行為的可信度;要提高各項防控工作管理效率,實現精準防疫;要提高各項防疫管理、行政審批效率.

1900/1/1 0:00:00
武漢推出“東湖大數據復工智能管理系統”,巴比特提供區塊鏈技術支持_區塊鏈:比特幣

本文來源:新華衛視網 北京房縣商會常務副會長、中潤普達公司CEO杜小軍立足大數據思維高地,集成系統開發優勢,從正月初開始,組織其公司旗下的武漢東湖大數據同仁夜以繼日進行研發.

1900/1/1 0:00:00
金鏈盟成員紛紛“自立山頭”,中國聯盟式區塊鏈開源平臺路在何方_區塊鏈:FIS

文|互鏈脈搏·黑珍珠號 2月10日,神州信息發布的最新投資者關系活動記錄表顯示,神州信息與騰訊、華為等企業共同打造了金鏈盟區塊鏈底層開源平臺,開放給全金融行業.

1900/1/1 0:00:00
區塊鏈賦能社區防疫,上線5分鐘為1200戶家庭預約口罩_區塊鏈:杭州女子花300萬買比特幣后續

在這場嚴峻的新型冠狀肺炎防控阻擊戰中,除了忙碌在第一線的醫護人員之外,各地社區基層也是不可或缺的中堅力量.

1900/1/1 0:00:00
揭秘DeFi守護神:DeFi保險協議_DEF:DeFiner

來源:Odaily星球日報?? 作者:王也 bZx?協議遭黑客攻擊事件在幣圈鬧得沸沸揚揚,導致DeFi生態出現了信任危機,悲觀者將其視為“DeFi喪鐘”.

1900/1/1 0:00:00
ads