加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > XMR > Info

Grim Finance 閃電貸安全事件分析_TOK:KEN

Author:

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

0x01:前言

援引官方消息,北京時間12月19日,Fantom鏈上復合收益平臺GrimFinance遭遇了閃電貸攻擊。知道創宇區塊鏈安全實驗室第一時間對本次事件深入跟蹤并進行分析。

0x02:事件詳情

交易細節如下圖所示:

瀏覽上圖的交易過程可知,攻擊合約利用閃電貸借取代幣WFTM和BTC,將借取的代幣與自己鑄造的代幣質押到SpiritSwap里增加流動性獲取lp代幣,而問題就出現在攻擊者通過depositFor()實現質押的過程中。

通過Tenderly調試該筆交易,攻擊者多次遞歸調用depositFor函數,利用該函數獲取大量代幣:

Orbiter Finance:向其他錢包轉賬旨在平衡各Rollup網絡流動性:6月18日消息,據官方消息,Layer 2橋接項目Orbiter Finance發推表示:已注意到社區對我們向其他錢包地址轉賬的擔憂,現在此澄清,此舉是旨在平衡各Rollup網絡流動性,Orbiter跨鏈服務運行正常。如果遇到任何卡頓的問題,請檢查交易哈希并確認轉賬金額的最后四位是否為900X。如果修改了轉賬金額或沒有正確使用我們的網站,請訪問正確網站并查看交易狀態,并等待退款。[2023/6/18 21:45:23]

0x03:漏洞分析

depositFor()函數位于的第1115行:

SUDO交易筆數超3700筆,現報3.13美元:2月19日消息,據鏈上數據顯示,SUDO交易筆數超3700筆,SUDO現報3.13美元。[2023/2/19 12:15:32]

function?depositFor(address?token,?uint?_amount,address?user?)?public?{

?uint256?_pool?=?balance();

?IERC20(token).safeTransferFrom(msg.sender,?address(this),?_amount);

?earn();

?uint256?_after?=?balance();

?_amount?=?_after.sub(_pool);?//?Additional?check?for?deflationary?tokens

Binance Labs自成立以來投資回報為2,100%:金色財經報道,Binance Labs(加密貨幣交易所Binance的投資部門)自成立以來取得了高達2,100%的投資回報。根據最新的博客文章,Binance Labs投資了超過200個項目,管理的總資產已達到75億美元。擁有充足可支配的資金在投資領域進行布局。[2022/12/23 22:03:37]

?uint256?shares?=?0;

?if?(totalSupply()?==?0)?{

??shares?=?_amount;

?}?else?{

??shares?=?(_amount.mul(totalSupply())).div(_pool);

?}

THORChain重新上線并生產區塊:10月28日消息,跨鏈DeFi協議 THORChain 已重新上線并生產區塊。網絡正在簽署出站交易,因此掛起的交換應該開始通過。一旦隊列被清除,交易將被重新啟用。預計 2-3 小時。在網絡中斷期間,投資者沒有損失任何資金。然而,Thorchain 的原生幣 RUNE 的兌換存款和取款在 Kucoin 等中心化交易所被暫停。

今日凌晨,THORChain開發人員發現網絡中斷,并確定了由于獨特的交易類型(與償付能力無關)而導致的可能原因。隨后發布更新稱將在數小時內發布補丁(Patch),已確定共識問題。[2022/10/29 11:54:04]

?_mint(user,?shares);

}

該函數的safeTransferFrom()方法從IERC20(token)調用,調用完該方法后,余額balance也會隨之變動,最后通過_mint()方法向用戶添加質押憑證代幣。其中調用的變量token可控,導致攻擊者可以自己實現safeTransferFrom()方法,將該方法重入到depositFor()發起攻擊。

Velodrome在Optimism上TVL已超越Uniswap:7月18日消息,Optimism上AMM協議Velodrome在Optimism TVL已達到約5618萬美元,超越Uniswap(4002萬美元)成為Optimism上TVL僅次于Synthetix的DeFi協議。Velodrome TVL近一個月增長了約388%。[2022/7/18 2:20:29]

以實施了5次重入攻擊為例,開始_pool的值為0,在重入depositFor方法的前四次里,攻擊者一直傳入自己鑄造的代幣,_pool的值會一直保持為0,但在第五次,也就是最后一次傳入100個受認可的代幣時,_after的值會變成100,而_afer-_pool的差值_amount也就是100,最后由于重入了5次,導致合約會向攻擊者鑄造100*5的質押憑證代幣。

其后果就是攻擊者向該合約質押自己鑄造不受認可的代幣,同樣會增加質押總量,最后利用多出來的質押憑證實現套利。

0x04:修復方案

1.由于depositFor()方法里的token可控才是導致這次攻擊事件的原因,因此只需要在傳遞參數的時候讓token不可控就行:

function?depositFor(?uint?_amount,address?user?)?public

2.由于套利的原因是depositFor()方法里存在修改代幣數量的函數,因此還可以將修改代幣的方法單獨實現,這樣即使token變量可控,也無法成功套利:

function?depositFor(address?token,?uint?_amount,address?user?)?public?{

?IERC20(token).safeTransferFrom(msg.sender,?address(this),?_amount);

}

3.鎖定交易token:

function?setLPToken(address?lp)?public?onlyOwner?{

lpToken?=?lp;

}

function?depositFor(uint?_amount,address?user?)?public?{

uint256?_pool?=?balance();

IERC20(lpToken).safeTransferFrom(msg.sender,?address(this),?_amount);

earn();

......

}

0x05:總結

經過完整分析,知道創宇區塊鏈安全實驗室明確了該次攻擊事件的源頭并非網傳的閃電貸攻擊,攻擊者利用GrimBoostVault合約的depositFor方法參數可控,實施了重入攻擊,將自己的鑄造的無價值代幣兌換成了質押憑證,最后通過withdrawAll方法實現套利,而閃電貸?攻擊者只是利用閃電貸擴大了套利值。

對于合約代碼而言安全性是十分重要的,每一個未經驗證的傳入參數都可能導致巨大的經濟損失,開發者在編寫重要操作方法時,須記住零信任原則,謹慎對待每一個傳入參數。

來源:金色財經

Tags:TOKTOKENRESKENDXD Token3X Short Algorand TokenXPRESS價格Algodex Token

XMR
Coinbase如何看待DAO:種類、缺陷、未來展望_DAO:EDAO

原文作者|?JustinMart,ConnorDempsey原文標題|《DAO:可以重新連接世界的社交網絡》 翻譯編輯|白澤研究院 互聯網為通信所做,而DAO可以為資本所用.

1900/1/1 0:00:00
解析Florida Ma的NFT生態系統_NFT:MAN

FloridaMan是一款基于美國通貨緊縮的、完全可升級且透明的BSC代幣,它有一個初始供應的100,000,000,000,000$FMAN在流通中.

1900/1/1 0:00:00
SPC元宇宙通證全面啟航 SPC Meta Universe Pass is full_THE:Astra Guild Ventures

新聞發布會由英國亞洲資本策略獨立基金籌備組織,主題為“SPC元宇宙通證啟航”新聞發布會于2021年12月8日在新加坡舉辦視頻召開.

1900/1/1 0:00:00
金色早報 | 2021年加密行業并購交易總額超60億美元 創歷史新高_區塊鏈:加密貨幣是什么意思哪里最流行

頭條 ▌2021年加密行業并購交易總額超60億美元創歷史新高金色財經報道,今年加密并購交易創下歷史新高,由原生加密貨幣公司、金融和科技公司推動的并購交易總額約為61億美元.

1900/1/1 0:00:00
對比波卡生態的3種流動性解決方案:Acala、Bifrost與Parallel_DOT:OST

當行業焦點由過去的比特幣擴容問題,轉移到以太坊的擴容問題上來時,波卡生態仍在發生著積極的變化,Kusama和Polkadot的平行鏈已經開始穩健運行,無論是何種解決方案.

1900/1/1 0:00:00
不要妄想一夜暴富 那些都是騙人的 這個市場活下去最重要_比特幣:OLY

大家好,我是團子,價值投資雖然不能保證我們穩步盈利,但價值投資給我們提供了走向真正成功的唯一機會。眼睛僅盯在自己小口袋的是小商人,眼光放在世界大市場的是大商人.

1900/1/1 0:00:00
ads