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

采用延時喂價還被黑?Warp Finance 被黑詳解_DAI

Author:

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

By:慢霧安全團隊

背景

2020年12月18日,據慢霧區情報DeFi項目WarpFinance遭受閃電貸攻擊。以下是慢霧安全團隊對整個攻擊流程的詳細分析。

攻擊過程分析

(分析過程較多,快速了解攻擊思路可以直接查看下方完整攻擊流程部分)

1、通過攻擊交易可以看出攻擊者通過Uniswap和dydx閃電貸借出了約290萬DAI和34

通過以上代碼第11行我們可以看到合約通過collateralizedLP記錄了攻擊者抵押的LPToken的數量。

4、之后攻擊者的操作是本次攻擊最關鍵的一步:攻擊者通過Uniswap的WETH-DAI交易對將大約34萬的WETH兌換成約4762萬DAI,此時WETH-DAI池子中約剩下有43

2)從上方代碼第3、4行,我們可以發現WarpControl合約是通過getBorrowLimit函數來獲得用戶可以借出穩定的數量,接下來我們具體看getBorrowLimit函數:

*

functiongetBorrowLimit(address_account)publicreturns(uint256){uint256availibleCollateralValue=getTotalAvailableCollateralValue(_account);returncalcBorrowLimit(availibleCollateralValue);}

Martin Leinweber :加密指數將會發展,但下一階段的采用可能還很遙遠:金色財經報道,MarketVector Indexes 數字資產產品策略師 Martin Leinweber 表示,加密指數的未來涉及一系列深入該細分市場許多子行業的產品,盡管實現這一目標需要時間。?該領域的產品開發是滿足客戶需求與展望更多創新產品之間的持續平衡。除了智能合約,DeFi 和其他加密貨幣領域的許多子行業目前都太小且流動性差,無法“投資”。他指出,在下一次牛市到來之前,采用此類指數可能不會受到關注。[2023/5/5 14:43:23]

3)通過分析我們可以發現getBorrowLimit函數先通過getTotalAvailableCollateralValue函數計算出availibleCollateralValue,再將計算結果作為參數傳入calcBorrowLimit函數中,最后返回具體的數量。我們先分析getTotalAvailableCollateralValue函數:

functiongetTotalAvailableCollateralValue(address_account)publicreturns(uint256){//getthenumberofLPvaultstheplatformhasuint256numVaults=lpVaults

研究:美國采用加密技術最充分的州是佛羅里達州:12月10日消息,Invezz進行的研究將佛羅里達州視為美國的加密貨幣之都,因為它積極參與新興的加密經濟。邁阿密是人均比特幣 ATM 數量最多的城市之一,每 100,000 人擁有 14.63 臺,也是公眾對加密貨幣感興趣的比例最高的城市之一,每 1,000 人在谷歌上搜索加密貨幣主題的次數為 210.28 次。

在加密貨幣排名方面,佛羅里達州獲得了最高的分數 9.35,德克薩斯州和伊利諾伊州緊隨其后,分別為 8.71 和 8.03。佛蒙特州是美國唯一沒有比特幣 ATM 的州。另一方面,德克薩斯州擁有 4,101 臺 ATM,這是全美最大的加密 ATM 網絡。懷俄明州等對加密貨幣友好的司法管轄區每 100,000 人擁有最多的區塊鏈公司,超過 20 家,而加利福尼亞州的總數最多,為 2,670 家。[2022/12/10 21:36:21]

//returntotalUSDCvalueofallcollateralreturntotalCollateral

4)對getTotalAvailableCollateralValue函數進行具體的分析我們可以看到此函數通過for循環來獲得DAI、USDT、USDC的可借數量總和。我們可以發現在for循環的邏輯中通過Oracle

加密錢包運營商BRD:疫情促進加密技術采用:瑞士加密錢包運營商BRD表示,疫情促進了加密技術的采用,使他們在全球擁有超過六百萬用戶,其中大部分的增長來自印度和拉丁美洲地區。(CryptoNews)[2020/10/8]

通過以上代碼我們可以知道LP價格是如何得出的,以WETH-DAI池為例:其通過池子中WETH的數量乘WETH的價格加上池子中DAI的數量乘DAI的價格最后除以池子總的LPToken數量即可得到單個LPToken的價格。具體計算算式如下所示:

通過以上分析我們可以知道WETH的價格和DAI的價格獲取是正常的,無法被惡意操縱,因此我們可以大膽猜測:攻擊者通過將巨量的WETH打入WETH-DAI池子中換取DAI,這時候池子中WETH的數量將大大的增加,而由于滑點的存在,這種巨量兌換操作必然是會虧損一大部分WETH的。所以我們再看上面LP單價的計算方式,由于WETH數量的大大增加,在巨量兌換后池子中WETH數量*WETH價格池子中DAI數量*DAI價格將遠大于巨量兌換前的,也就是池子的總價值大大增加了。所以LP的單價也隨之提高了,因此攻擊者就可以通過其抵押的LPToken借出更多的穩定幣了。

分析思路驗證

動態 | SBI集團旗下藝術品拍賣公司采用藝術品區塊鏈證書:據Crypto Watch消息,致力于“藝術+區塊鏈”領域的風投企業Startbahn有限公司宣布其與SBI集團旗下SBI藝術拍賣有限公司進行合作。兩公司將提升藝術品拍賣市場活躍性,開展應用區塊鏈的藝術品有關所有權證明等聯合項目。SBI藝術拍賣公司將于4月26、27日舉行藝術品拍賣活動,中標者可獲得中標品的“區塊鏈證書”。[2019/4/9]

我們可以借助Ethtx.info來驗證我們的猜測是否正確:

https://ethtx.info/mainnet/0x8bb8dc5c7c830bac85fa48acad2505e9300a91c3ff239c9517d0cae33b595090

1、通過上文中第4點分析我們可以知道:攻擊者通過Uniswap的WETH-DAI交易對將大約34萬的WETH兌換成約4762萬DAI,此時WETH-DAI池子中約剩下有43.6萬枚WETH和1328.8萬枚DAI,而在此之前池子里約有9.5萬枚WETH和6091萬枚DAI。

2、我們可以在Ethtx.info發現在兌換前WETH-DAI池子的LPToken單價為58815427。

聲音 | Tim Draper:世界采用比特幣只是時間問題:據ambcrypto報道,硅谷風險投資家Tim Draper近日接受采訪時表示,盡管有人試圖操縱市場并將其推向對他們有利的位置,但加密市場的波動是正常的,他將此次危機看作是進入市場的機會。 Draper稱比特幣是更好的貨幣。因此,世界采用更好的貨幣只是時間問題。[2018/12/5]

巨量兌換后WETH-DAI池子的LPToken單價為135470392。

我們可以看到由于WETH數量的增加造成兌換后池子的總價值幾乎翻倍了,因此單個LPToken在Warp中可借出的穩定幣就更多了。

3、接下里如我們猜測的那樣攻擊者在拉高LPToken的價格后通過WarpControl合約的borrowSC函數分別借出DAI和USDC。

4、最后在Uniwsap的WETH-DAI池子總歸還DAI,重新拿回34萬枚WETH完成攻擊操作。最后只需按部就班的歸還閃電貸即可獲利。

完整的攻擊流程如下

1、攻擊者部署攻擊合約,并通過dydx與Uniswap閃電貸借出DAI和WETH。

2、攻擊者拿出一小部分的DAI和WETH在Uniswap的WETH-DAI池中添加流動性,并獲取LPToken。

3、攻擊者使用添加流動性獲取的LPToken抵押到WarpFinance中,為借出穩定幣做準備。

4、攻擊者利用巨量的WETH在Uniswap兌換成DAI來拉高WETH-DAI池子的總價值,使得WarpFinance中LPToken的單價變高。(注意這里WETH和DAI價格獲取是正確的并沒有被操縱,被操縱的是WETH的數量,通過增加WETH的數量來拉高池子的總價值)。

5、由于LPToken的單價變高,導致攻擊者抵押的LPToken可以借出更多的穩定幣來進行獲利。

總結

本次攻擊的本質是通過操縱LPToken的單價來獲取更多的穩定幣可借貸數量進行獲利的。這是由于在WarpFinance中LPToken的價格是通過LP池子的總價值除以LPToken的總數量得到的,雖然代幣價格獲取正確,但代幣數量是可被操縱的,因此LP的單價就是可被操縱的,這就形成了攻擊的必要條件了。最終項目方損失約800萬美元,但攻擊者抵押的LP也留在了Vault中,如果抵押的這部分LP后續可被清算的話可以一定程度上的彌補項目方的損失。

相關參考鏈接如下:

Uniswap預言機實現介紹:

https://uniswap.org/docs/v2/core-concepts/oracles/

本次分析的攻擊交易:

https://etherscan.io/tx/0x8bb8dc5c7c830bac85fa48acad2505e9300a91c3ff239c9517d0cae33b595090

往期回顧

HackingTime區塊鏈安全攻防峰會第二期來啦!

以小博大,簡析SushiSwap攻擊事件始末

假錢換真錢,揭秘PickleFinance被黑過程

閃電貸重入攻擊,OUSD損失700萬美金技術簡析

如何使用閃電貸從0撬動百萬美元?ValueDeFi協議閃電貸攻擊簡要分析

慢霧導航

慢霧科技官網

https://www.slowmist.com/

慢霧區官網

https://slowmist.io/

慢霧GitHub

https://github.com/slowmist

Telegram

https://t.me/slowmistteam

Twitter

https://twitter.com/@slowmist_team

Medium

https://medium.com/@slowmist

幣乎

https://bihu.com/people/586104

知識星球

https://t.zsxq.com/Q3zNvvF

火星號

http://t.cn/AiRkv4Gz

鏈聞號

https://www.chainnews.com/u/958260692213.htm

本文來源于非小號媒體平臺:

慢霧科技

現已在非小號資訊平臺發布68篇作品,

非小號開放平臺歡迎幣圈作者入駐

入駐指南:

/apply_guide/

本文網址:

/news/9558996.html

免責聲明:

1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險

2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場

上一篇:

幣安為何推出第三條鏈?這對BNB意味著什么?

Tags:ETHWETHWETDAIetherdimensionweth幣價格WETAADAI價格

幣贏
一文了解開放式金融中熱門的分布式借貸協議_MIT

分布式借貸協議旨在借助區塊鏈技術使借貸行為更為透明、快速以及安全。2018年以Compound、Dharma、dYdX和MakerDAO為代表的市場參與者分配了超過2.51億美元的數字資產借貸款.

1900/1/1 0:00:00
Libra,Facebook 創新窘境下的早產兒_ACE

Libra項目動機中,突破Facebook自身的創新者窘境成分,遠比其白皮書中各種「連接世界,拯救人類」來的真實.

1900/1/1 0:00:00
關于上線Polkastarter (POLS) 的公告(1221)_HTT

尊敬的用戶: BiKi平臺即將上線波卡生態系中的POLS,并開放POLS/USDT交易對,具體詳情如下:1、開放充值時間:12月21日18:00(GMT8)2、開放交易時間:12月21日18:0.

1900/1/1 0:00:00
以凱恩斯選美與納什均衡視角,比特幣是世界貨幣還是毫無價值?_加密貨幣

在一個沒有估值共識的市場,投資的行為更像是凱恩斯選美比賽,大家對其他人認為有價值的資產進行投資,同時,也沒有一個明確的納什均衡來形成最終的穩定.

1900/1/1 0:00:00
關于上線FXS(Frax Share)并開啟流動性挖礦的公告(1221)_BIKI

尊敬的用戶: BiKi平臺將于12月21日15:40上線FXS(FraxShare),并開放FXS/USDT交易對和網格流動性挖礦的活動.

1900/1/1 0:00:00
冗余策略:雙副本與糾刪碼該如何選擇?_COI

Filecoin主網的上線后,存儲的數據呈爆炸式增長,如今全網有效算力已經達到了1.40EiB,海量數據的安全存儲給礦工帶來了巨大的挑戰.

1900/1/1 0:00:00
ads