DualPools 攻擊分析

2024-02-23 09:10 深圳零時科技


免責聲明: 內容不構成买賣依據,投資有風險,入市需謹慎!

DualPools 攻擊分析

深圳零時科技 個人專欄 剛剛 關注

來源:深圳零時科技

背景

監測到針對DualPools的鏈上攻擊事件:

https://bscscan.com/tx/0x90f374ca33fbd5aaa0d01f5fcf5dee4c7af49a98dc56b47459d8b7ad52ef1e93

DualPools (https://dualpools.com) 是基於VenusProtocol (https://venus.io/) 修改,是一個DeFi項目,提供了Swap, Lend, Borrow等服務。

其運行模式如下圖:

DualPools是一個去中心化借貸平台,用戶通過deposti存入underlyingAssets(標的資產),獲得對應的dToken;反之,通過Redeem取出underlyingAssets時,銷毀對應的dToken。

其中,underlyingAssets標的資產和dToken的兌換比例是通過exchangeRate(流動性指數)來控制的,簡單來講exchangeRate就是dToken的價值。

exchangeRate = (totalCash + totalBorrows - totalReserves) / totalSupply

攻擊分析

簡單來講,攻擊分爲兩部分:

1. 黑客通過DualPools新交易池流動性不足(流動性爲0),大幅擡高dLINK的價格,通過borrow掏空其他交易池的標的資產(WBNB, BTCB,ETH, ADA, BUSD)。

2. 利用精度截斷的問題,取回前期投入的所有LINK。

步驟1詳細分析

攻擊者通過DODO Private Pool和PancakeSwapV3進行借貸,獲取BNB和BUSD作爲初始攻擊資金,如下圖:

隨後,通過VenusProtocol抵押BNB和BUSD,並借出11500 LINK來進行針對DualPools的攻擊。

首先,攻擊者通過再交易池dLINK-LINK mint獲得2個最小單位的dLINK,隨後,向交易池中轉账11499999999999999999998個單位的LINK。

由於該交易池並未初始化,所以沒有任何流動性。且exchangeRate的計算方式如下:

exchangeRate = (totalCash + totalBorrows - totalReserves) / totalSupply

此時totalCash爲交易池中LINK的余額,爲11499999999999999999998+2=11500000000000000000000,totalBorrows和totalReserves均爲0,totalSupply爲2(因爲,黑客通過mint獲得了2個最小單位的dLINK)。所以,此時的exchangeRate爲5750000000000000000000(將dLINK的價值拉高了575倍)。由於攻擊者擁有的2個dLINK,且價值足夠高,所以,黑客從其他池子中通過borrow借走了50 BNB, 0.17 BTCB, 3.99 ETH, 6378 ADA, 911 BUSD。

步驟2詳細分析

攻擊者通過redeemUnderlying將之前mint的2個最小單位dLINK兌換爲11499999999999999999898個單位的LINK。因爲,exchangeRate被攻擊者操縱爲5750000000000000000000。所以,兌換11499999999999999999898個最小單位的LINK需要的dLINK爲 11499999999999999999898 / 5750000000000000000000 = 1.999999999999999 即1.999999個最小單位的dLINK,但是由於數據精度截斷,導致只需要1個最小單位的dLINK。

至此,攻擊者取出了之前投入的 11499999999999999999898 個單位的LINK。隨後,將從VenusProtocol, PancakeSwapV3, DODO Private Pool的借款歸還,完成攻擊。

總結

攻擊者利用DualPools新交易池流動性差的原因,操縱標的資產的exchangeRate,導致標的資產對應的dToken價格失真,從而可以以極小的dToken作爲抵押借出大量的其他標的資產。隨後,利用智能合約除法的截斷問題,取回之前攻擊時投入的資產。至此,完成對DeFi項目DualPools的攻擊。

0 好文章,需要你的鼓勵
了解更多區塊鏈一线報道,與作者、讀者更深入探討、交流,歡迎添加小助手QQ: 3150128700, 進入[金色財經讀者交流群]。
聲明:本文由入駐金色財經的作者撰寫,觀點僅代表作者本人,絕不代表金色財經贊同其觀點或證實其描述。
本文作者: 深圳零時科技
打开金色財經App 閱讀全文 打开金色財經,閱讀體驗更佳 金色財經 > 深圳零時科技 > DualPools 攻擊分析 免責聲明: 金色財經作爲开放的資訊分享平台,所提供的所有資訊僅代表作者個人觀點,與金色財經平台立場無關,且不構成任何投資理財建議。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

標題:DualPools 攻擊分析

地址:https://www.sgitmedia.com/article/24037.html

相關閱讀: