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

Yearn Finance攻擊事件分析_USDT:USDP(PAX)幣

Author:

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

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

攻擊者從Balancer發起了閃電貸,借了?500?萬DAI、?500?萬USDC和?200?萬USDT:

然后在Curve上,攻擊者將?500?萬DAI兌換成了?695,?000USDT,并將?350?萬USDC兌換成?151USDT:

攻擊者調用IEarnAPRWithPool的recommend函數來檢查當前的APR。此時,只有Aave的APR不等于?0?:

接下來,攻擊者將?800,?000USDT轉移到了攻擊合約0x9fcc1409b56cf235d9cdbbb86b6ad5089fa0eb0f中。在該合約中,攻擊者多次調用了?Aave:LendingPoolV1的repay函數,幫助其他人償還債務,以使Aave的APR等于?0?:

收益聚合器Yearn已集成至硬件錢包Ledger:12月12日消息,收益聚合器 Yearn 發推宣布硬件錢包 Ledger 已支持 Yearn 協議,用戶可通過 Ledger Live 使用 Yearn,或在 Ledger 硬件錢包中安裝 Yearn 插件進行使用。[2022/12/13 21:40:12]

攻擊者調用了yUSDT的deposit函數,抵押了?900,?000USDT,并獲得了?820,?000yUSDT:

接下來,攻擊者調用了?bZxiUSDC?的mint函數,使用?156,?000USDC?鑄造了?152,?000bZxiUSDC,并將其轉移到了YearnyUSDT:

攻擊者調用Yearn:yUSDT?的withdraw函數,將?820,?000yUSDT兌換成?1,?030,?000USDT。此時,合約中只剩下攻擊者轉移的bZxiUSDC:

BadgerDAO將與Yearn合作推出WBTC單幣機槍池:據官方消息,去中心化組織BadgerDAO宣布,將于本周開放與Yearn合作的首個WBTC單幣機槍池,不過只有1500個BadgerDAO用戶才能獲得訪問資格,另外,該機槍池上限為50 BTC。[2021/4/14 20:17:16]

接下來攻擊者調用Yearn:yUSDT的rebalance函數,銷毀bZxiUSDC:

然后攻擊者向yUSDT合約轉移了1/e?6個USDT,并調用了deposit函數,抵押了?10,?000USDT,獲得了?1,?252,?660,?242,?850,?000yUSDT:

然后在Curve上,攻擊者將?70,?000yUSDT兌換成?5,?990,?000yDAI,將?4?億yUSDT兌換成?4,?490,?000yUSDC,將?1,?240,?133,?244,?352,?200yUSDT?兌換成?1,?360,?000yTUSD:

yearn.finance提案投票確定向Yearn Vaults空投的方式:yearn.finance表示,提案YIP-60上線快照投票,以規范向Yearn Vaults空投的方式。投票將于4月12日結束。[2021/4/8 19:57:29]

然后在yearn:yDAI和yearn:yUSDC中分別調用withdraw,提取678?萬個DAI和?562?w?萬個USDC,并歸還閃電貸:

漏洞分析

這次攻擊中最關鍵的一點,是攻擊者使用?100,?000USDT鑄造了1,?252,?660,?242,?850,?000個yUSDT。查看deposit函數的實現:

可以看到share的數量和變量pool相關,pool越小,share越大,而pool的值由_calcPoolValueInToken獲得:

DAI供應量超過5億枚,或與yearn.finance集成Maker金庫有關:9月3日消息,MakerDAO創始人Rune Christensen發推表示,穩定幣DAI的供應量已經超過5億枚,并且對yearn.finance表示感謝。網絡信息顯示,近日yearn.finance集成了Maker金庫,用戶存入ETH可借出DAI,上線一天,ETH的存入量就達到3000萬美元。[2020/9/3]

攻擊者在調用rebalance函數后,合約中只存在了USDC,但是_balance()獲取的是USDT的余額,USDC的余額并不計入其中,因此此時的pool為1?:

這里顯然是項目方的配置錯誤,yUSDT合約中應當都是USDT類的代幣,但是其fulcrum變量卻是USDC相關的bZxIUSDC代幣,因此yUSDT中的USDC不計入balance中:

攻擊者為什么能調用rebalance函數來burn掉bZxiUSDC代幣呢?查看rebalance函數的實現:

可以看到在_withdrawFulcrum()中會存在redeem和burn操作,因此我們需要讓"newProvider!=provider"成立,?其中recommend()的實現:

攻擊者通過控制IIEarnManager(apr).recommend(token)的返回值,使其為都為0來操控newProvider:

如何讓其都為0呢,該函數的返回值和計算出的各個DeFi中的APR相關,由于Compound,bZx,dydx中沒有池子,因此只需要控制Aave(Aave:LendingPoolCoreV1)即可:

要使其值返回為0,需要讓apr.calculateInterestRates函數的第一個返回值為0:

即讓currentLiquidityRate為0,該值和_totalBorrowsStable、_totalBorrowsVariable相關,當這兩個個值都為0時,currentLiquidityRate為0?:

_totalBorrowsVariable為0,即Aave:LendingPoolCoreV1此時沒有人存在債務,為了達成這個條件,攻擊者將池中所有人的債務進行了repay:

最后,攻擊者讓_totalBorrowsVariable變為?0?,所以它能夠調用rebalance函數burn掉bZxiUSDC代幣:

總結

此次Yearn攻擊事件的根本原因是項目方的配置錯誤。攻擊者通過一系列精妙的手法利用了該漏洞,最終獲利大約?1000?萬美元。

關于我們

AtEoceneResearch,weprovidetheinsightsofintentionsandsecuritybehindeverythingyouknowordon'tknowofblockchain,andempowereveryindividualandorganizationtoanswercomplexquestionswehadn'tevendreamedofbackthen.

了解更多:Website|Medium|Twitter

Tags:USDUSDTSDTEARNUSDP(PAX)幣USDT幣提到錢包有風控嗎USDT幣提現5萬涉嫌洗錢嗎Hearn.fi

歐易交易所app官網下載
SOL 在看跌后跌至 24.26 美元_SOL:LANA

Solana價格分析顯示過去24小時內呈下降趨勢。Solana(SOL)的價格從25.46美元跌至24.26美元。支撐位在23.82美元,這可能是賣家的下一個目標.

1900/1/1 0:00:00
火必關于暫停PCI/USDT現貨交易的公告_GALA:Huobi Ethereum

尊敬的用戶: 火必已暫停PCI/USDT的現貨交易業務,并將盡快安排重新上線PCI/USDT交易對,請關注后續公告內容.

1900/1/1 0:00:00
Fibonacci受邀參展香港WEB3嘉年華:開啟社交新范式_DEFI:DefiBay

香港Web3嘉年華是區塊鏈技術領域備受期待的盛會。這個年度盛會匯集了眾多區塊鏈行業獨角獸、區塊鏈愛好者和技術開發人員.

1900/1/1 0:00:00
XT.COM關於U本位USDCUSDT永續合約下架的公告_USDT:COM

尊敬的XT.COM用戶:為了防範市場風險,給使用者提供良好的交易體驗,XT.COM將於2023年04月18日08:00對U本位USDCUSDT永續合約進行自動清算,自動清算時,將停止該合約交易.

1900/1/1 0:00:00
孟巖:香港Web3以交易為導向,仍在試點期_WEB:數字資產類應用案例包括

4月17日消息,4月16日,孟巖發文《關于香港Web3形勢的若干觀點》稱,區塊鏈的競爭主要不是設備、技術、工藝、算法等器物層面上的競爭,而是如何應用區塊鏈這種工具創設新結構、新機制的競爭.

1900/1/1 0:00:00
Avinoc (AVINOC)_NOC:INO幣

一、項目簡介? AVINOC是一家致力于在航空領域整合新技術的標記化公司。它正在推動整個行業的變革和轉型.

1900/1/1 0:00:00
ads