比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

Yearn Finance攻擊事件分析_USDT

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披露一個杠桿式COMP挖礦策略中的漏洞,目前已修復:7月1日消息,收益聚合器yearn.finance(YFI)的核心開發者banteg披露了一個可能導致用戶資金重大損失的漏洞,并表示該漏洞目前已修復,沒有造成資金損失。該漏洞由安全研究員xyzaudits發現并按照漏洞披露流程聯系了Yearn的安全團隊,Yearn團隊優先從可能受影響的合約中移除資金,然后驗證漏洞并創建修復程序,從而阻止第三方啟動閃貸,消除了使用虛假數字的機會。Yearn安全團隊決定給xyzaudits頒發20萬美元的漏洞賞金。Yearn表示,該漏洞是Yearn的yvDAI機槍池附加了兩個可能受影響的GenLevComp杠桿策略,如果被成功利用,攻擊者將能夠清算受影響策略在Compound上的全部債務頭寸,并有可能獲得清算費用。[2021/7/1 0:20:27]

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

Yearn已部署新YFI策略Brownie Mix:Yearn finance核心開發者banteg發推稱,Yearn已部署新YFI策略Brownie Mix。根據開發文檔,該策略主要內容包括:

1.創建自己的Yearn策略的基本Solidity智能合約(Contract /Strategy.sol);

2.以太坊主網上最常用的一些DeFi協議的接口;

3.運行在主網分支上的樣例測試套件。[2021/3/16 18:47:59]

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

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

Yearn.finance: 正在處理ENM被盜資產退還事宜:9月30日,Yearn.finance官方發推稱,目前正在處理ENM項目資產返還事宜。9月29日消息,yearn.finance創始人Andre Cronje新推出的ENM項目遭遇Flash貸款攻擊,有800萬美金被盜資金被發送到Andre本人的yearn: deployer賬號。隨后,Andre Cronje計劃退還800萬美元被盜資金。[2020/9/30]

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

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

yearn.finance公布YFI新增vault:yearn.finance在推特上公布YFI新增vault,包括DAI、TUSD、USDC以及USDT。免責聲明包括:0.5%提款費;不要拿你的資金冒險。此外,在區塊高度10695309初始化的yVault將在接下來的24小時內提供APR指標。[2020/8/20]

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

然后在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獲得:

攻擊者在調用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:USDSDTUSDTEARNBEP2 TrueUSDUSDT幣下戴usdt幣怎么兌換人民幣在國內Stakearn

幣安下載
Gate.io 關於支持 IRISnet (IRIS) 升級計劃的公告_GATE

根據IRISnet(IRIS)官方消息,IRISnet(IRIS)計劃於區塊高度19514010,預計時間2023年4月17日13:30UTC8升級到IRISHUB2.0版本.

1900/1/1 0:00:00
Announcement Regarding KYC2 Verification for SUI Spotlight Token Sale on KuCoin_THE

DearKuCoinUsers,WeappreciateyourenthusiasmforparticipatingintheSUISpotlightTokenSaleonKuCoin.Duet.

1900/1/1 0:00:00
為什么說要在五月賣出你手上的幣種?_TAL

簡單來說在過去八年中,加密貨幣市值(TOTALCAP)在5月至10月期間增長了五倍。最高增幅為180%,發生在2017年5月。加密貨幣市值突破了1.17萬億美元的阻力區域.

1900/1/1 0:00:00
上海硬分叉觸發100萬ETH提現;價格達到 11 個月高點_ELLA

在Shapella硬分叉的前四天內,價值21億美元的超過100萬個以太幣(ETH)已從以太坊的Beacon鏈中撤出。Kraken質押服務的關閉可能導致了更高的數字.

1900/1/1 0:00:00
一周融資速遞 | 35家項目獲投;已披露融資總額約為2.35億美元(4.10-4.16)_TUR

經Odaily星球日報不完全統計,4月10日-4月16日公布的海內外區塊鏈融資事件共35起,較上周數據有一定上升,已披露融資總額約為2.35億美元,較上周數據有所下降.

1900/1/1 0:00:00
以太坊升級:超過 20 億的 ETH 從網絡中泄露_LST

上海升級幾天后,以太坊網絡的提現進展順利。如果累計提款金額令人印象深刻,則似乎符合預測。在以太坊上取消質押:一切盡在掌握自上海分叉以來,價值超過20億美元的ETH已從以太坊驗證器網絡中提取,提取.

1900/1/1 0:00:00
ads