比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

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

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:基于Aave的Earning Farm協議遭受重入攻擊,已損失至少28.7萬美元:金色財經報道,區塊鏈安全公司 PeckShield 發布推文稱,Aave 協議的 Earning Farm 已受到重入攻擊,導致至少價值 287,000 美元的以太坊被盜。

目前尚不清楚此次攻擊是否與 Curve Finance 資金池的漏洞有關。7 月 30 日,DeFi 協議的穩定池也遭受了重入攻擊,損失超過 6100 萬美元。Curve 黑客攻擊是由影響 Vyper 編程語言三個版本的漏洞導致的,Vyper 編程語言是 DeFi 協議開發人員廣泛使用的通用合約語言。

Earning Farm 旨在成為以太坊、wBTC和 USDC 持有者的用戶友好協議,其網站稱,安全公司 Slowmist 審核了其區塊鏈合約。[2023/8/10 16:16:23]

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

ApeCoin DAO社區關于將APE集成至NiftyKit的AIP-88提案投票已通過 ?:9月29日消息,ApeCoin DAO社區關于“通過無代碼NFT Drop平臺和Launchpad賺取ApeCoin”的生態系統資金分配提案AIP-88的投票以91.35%的支持率獲得通過。

據悉,該提案旨在為ApeCoin NFT項目推出Launchpad并將ApeCoin社區整合到一個NFT投放平臺中,由Bored Ape Yacht Club成員和NiftyKit聯合創始人Dan發起。該提案計劃在使用基于自助式智能合約的Launchpad平臺NiftyKit為開發人員提供資金支持并為ApeCoin建立深度集成,并將ApeCoin設置為創造者經濟的基礎代幣。

此前消息,由Snag Solutions為ApeCoin DAO建立NFT交易市場提案投票獲得通過。[2022/9/29 22:40:05]

第二步:囤積WBTC現貨

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

“無聊猿”BAYC生態Token ApeCoin價格跌破19美元,較高點下挫近三成:金色財經報道,據 CMC 最新數據顯示,“無聊猿”BAYC生態Token ApeCoin價格跌破19美元,本文撰寫時為 18.88 美元,24 小時跌幅為 18.2%,較 4 月 28 日創下的 26.70 美元歷史高點下挫近三成(29.3%)。當前 ApeCoin 交易總額約為 5,426,604,433 美元,市值下降到 5,420,866,653 美元。[2022/5/1 2:43:13]

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倍。

聲音 | PeckShield預警: 今晚ETC公鏈算力暴漲 出塊獎勵不一致導致主鏈極不穩定:今天晚間,PeckShield態勢感知平臺監測到ETC公鏈算力出現大幅波動。初步原因為,ETC出塊獎勵不一致引發劇烈震蕩,PeckShield安全人員還在持續跟進分析。在ETC公鏈穩定之前存在未知安全風險,PeckShield在此強烈建議相關數字貨幣交易所和用戶暫停充提幣業務,同時保持警惕狀態。[2019/1/14]

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

突發 | PeckShield曝以太坊“致命報文” 漏洞:區塊鏈安全公司PeckShield在剛剛結束的硅谷Blockchain Connect Conference大會現場,披露了一個能夠造成以太坊受影響geth節點瞬間休克或崩潰的安全漏洞。PeckShield將披露的漏洞命名為“Ethereum Packet of Death(EPoD)”,即“致命報文”,攻擊者通過發送一個惡意報文即可向geth節點發動攻擊。geth是以太坊主流的官方客戶端,被眾多重要節點采用,這也意味著一旦攻擊者利用此漏洞實施攻擊,涉及到的相關重要節點隨時可能停擺。對整個以太坊網絡來說,這樣的漏洞如若被用來開展惡性競爭,將擾亂市場秩序,造成不可估量的嚴重損失。[2018/6/28]

第四步:拋售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:ETHBTCWBTWBTC3X Long Tether Gold TokenBTCST價格wbtc幣的價格MWBTC價格

比特幣行情
區塊鏈:民政部懇請騰訊阿里開發的疫情軟件,可以用區塊鏈這樣設計

文/趙雪嬌王巧編輯/獨秀本文首發于微信公眾號鋅鏈接,關注公眾號,和我們一起探索產業區塊鏈價值。如需轉載文章,請微信申請開白名單。“一個有益的公益軟件比捐10個億還管用.

1900/1/1 0:00:00
ETH:PeckShield:bZx協議再遭黑客“二連擊”背后的技術命門

PeckShield團隊在上一篇文章《PeckShield:硬核技術解析,bZx協議遭黑客漏洞攻擊始末》中分析了bZx于02月15日遭到黑客一次可組合資產流動性攻擊.

1900/1/1 0:00:00
加密貨幣:在許多人尋求“暴富”的路上,加密市場的金融欺詐持續增長

編者按:本文來自白話區塊鏈,作者:BenCarlson,編譯:白話區塊鏈Joyce,Odaily星球日報經授權轉載.

1900/1/1 0:00:00
比特幣:比特幣的死亡螺旋踩踏會真實發生么?

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

1900/1/1 0:00:00
區塊鏈:幣圈就是賭場,技術分析到底有沒有用?

先說下最近的一個小故事:今天朋友問我最近股市如何?然后說自己在支付寶買了指數型基金,我看了下該基金,最近連續上漲.

1900/1/1 0:00:00
比特幣:這次,BTC ETF真的全軍覆沒了

Odaily星球日報譯者|Moni 美國證券交易委員會再次擊碎了比特幣交易所交易基金的夢想,迄今為止所有BTCETF申請均被拒絕.

1900/1/1 0:00:00
ads