時間:2021-12-24|瀏覽:381
Zabu Finance 是 Avalanche 上的下一代去中心化金融 (DeFi) 項(xiàng)目。Zabu Finance 成熟的生態(tài)系統(tǒng)包括收益聚合、收益耕作、抵押、籌款。
以下是本次攻擊涉及的具體地址:
攻擊流程
1、攻擊者首先創(chuàng)建兩個攻擊合約,隨后通過攻擊合約 1 在 Pangolin 將 WAVAX 兌換成 SPORE 代幣,并將獲得的 SPORE 代幣抵押至 ZABUFarm 合約中,為后續(xù)獲取 ZABU 代幣獎勵做準(zhǔn)備。
2、攻擊者通過攻擊合約 2 從 Pangolin 閃電貸借出 SPORE 代幣,隨后開始不斷的使用 SPORE 代幣在 ZABUFarm 合約中進(jìn)行`抵押/提現(xiàn)`操作。由于 SPORE 代幣在轉(zhuǎn)賬過程中需要收取一定的手續(xù)費(fèi) (SPORE 合約收取),而 ZABUFarm 合約實(shí)際接收到的 SPORE 代幣數(shù)量是小于攻擊者傳入的抵押數(shù)量的。分析中我們注意到 ZABUFarm 合約在用戶抵押時會直接記錄用戶傳入的抵押數(shù)量,而不是記錄合約實(shí)際收到的代幣數(shù)量,但 ZABUFarm 合約在用戶提現(xiàn)時允許用戶全部提取用戶抵押時合約記錄的抵押數(shù)量。這就導(dǎo)致了攻擊者在抵押時 ZABUFarm 合約實(shí)際接收到的 SPORE 代幣數(shù)量小于攻擊者在提現(xiàn)時 ZABUFarm 合約轉(zhuǎn)出給攻擊者的代幣數(shù)量。
3、攻擊者正是利用了 ZABUFarm 合約與 SPORE 代幣兼容性問題導(dǎo)致的記賬缺陷,從而不斷通過抵押/提現(xiàn)操作將 ZABUFarm 合約中的 SPORE 資金消耗至一個極低的數(shù)值。而 ZABUFarm 合約的抵押獎勵正是通過累積的區(qū)塊獎勵除合約中抵押的 SPORE 代幣總量參與計(jì)算的,因此當(dāng) ZABUFarm 合約中的 SPORE 代幣總量降低到一個極低的數(shù)值時無疑會計(jì)算出一個極大的獎勵數(shù)值。
4、攻擊者通過先前已在 ZABUFarm 中有進(jìn)行抵押的攻擊合約 1 獲取了大量的 ZABU 代幣獎勵,隨后便對 ZABU 代幣進(jìn)行了拋售。
MistTrack 分析過程
慢霧 AML 團(tuán)隊(duì)分析統(tǒng)計(jì),本次攻擊黑客獲利約 60 萬美元。
資金流向分析
慢霧 AML 旗下 MistTrack 反洗錢追蹤系統(tǒng)分析發(fā)現(xiàn),以太坊上的攻擊者地址 (0x9ed...f86) 初始資金來自混幣平臺 Tornado.Cash 轉(zhuǎn)入的 31 ETH。
接著,將 30 WETH 跨鏈到 Avalanche。
攻擊者在 Avalanche 上分別創(chuàng)建了攻擊合約 1 和 2。
接著,攻擊者通過攻擊合約 1 將 WAVAX 兌換為 SPORE,并將 SPORE 抵押到 ZABUFarm 合約中。
攻擊者通過攻擊合約 2 從 Pangolin 閃電貸借出 SPORE 代幣,隨后多次在 ZABUFarm 合約中進(jìn)行抵押/提現(xiàn)操作。
在獲利后,攻擊者將獲利的約 45 億 ZABU 代幣多次兌換為 WAVAX 代幣,再將 WAVAX 代幣兌換為 201 WETH.e。
接著,攻擊者將獲利的 WETH.e 跨鏈到以太坊。
沒任何停歇,攻擊者直接將獲利資金通過 Tornado.Cash 轉(zhuǎn)出。
經(jīng)過以上分析,可以認(rèn)為攻擊者是較為專業(yè)的,毫不含糊地直接從 Tornado.Cash 轉(zhuǎn)入初始資金,最后又通過 Tornado.Cash 順利將獲利資金轉(zhuǎn)出。
總結(jié)
此次攻擊是由于 Zabu Finance 的抵押模型與 SPORE 代幣不兼容導(dǎo)致的,此類問題導(dǎo)致的攻擊已經(jīng)發(fā)生的多起,慢霧安全團(tuán)隊(duì)建議:項(xiàng)目抵押模型在對接通縮型代幣時應(yīng)記錄用戶在轉(zhuǎn)賬前后合約實(shí)際的代幣變化,而不是依賴于用戶傳入的抵押代幣數(shù)量。