據慢霧區消息, 2021 年9 月12 日,Avalanche 上Zabu Finance 項目遭受閃電貸攻擊,慢霧安全團隊第一時間介入分析,並將分析結果分享如下。
相關信息
Zabu Finance 是Avalanche 上的下一代去中心化金融(DeFi) 項目。 Zabu Finance 成熟的生態系統包括收益聚合、收益耕作、抵押、籌款。以下是本次攻擊涉及的具體地址:
攻擊流程
1、攻擊者首先創建兩個攻擊合約,隨後通過攻擊合約1 在Pangolin 將WAVAX 兌換成SPORE 代幣,並將獲得的SPORE 代幣抵押至ZABUFarm 合約中,為後續獲取ZABU 代幣獎勵做準備。 2、攻擊者通過攻擊合約2 從Pangolin 閃電貸借出SPORE 代幣,隨後開始不斷的使用SPORE 代幣在ZABUFarm 合約中進行`抵押/提現`操作。由於SPORE 代幣在轉賬過程中需要收取一定的手續費(SPORE 合約收取),而ZABUFarm 合約實際接收到的SPORE 代幣數量是小於攻擊者傳入的抵押數量的。分析中我們注意到ZABUFarm 合約在用戶抵押時會直接記錄用戶傳入的抵押數量,而不是記錄合約實際收到的代幣數量,但ZABUFarm 合約在用戶提現時允許用戶全部提取用戶抵押時合約記錄的抵押數量。這就導致了攻擊者在抵押時ZABUFarm 合約實際接收到的SPORE 代幣數量小於攻擊者在提現時ZABUFarm 合約轉出給攻擊者的代幣數量。 3、攻擊者正是利用了ZABUFarm 合約與SPORE 代幣兼容性問題導致的記賬缺陷,從而不斷通過抵押/提現操作將ZABUFarm 合約中的SPORE 資金消耗至一個極低的數值。而ZABUFarm 合約的抵押獎勵正是通過累積的區塊獎勵除合約中抵押的SPORE 代幣總量參與計算的,因此當ZABUFarm 合約中的SPORE 代幣總量降低到一個極低的數值時無疑會計算出一個極大的獎勵數值。 4、攻擊者通過先前已在ZABUFarm 中有進行抵押的攻擊合約1 獲取了大量的ZABU 代幣獎勵,隨後便對ZABU 代幣進行了拋售。
MistTrack 分析過程
慢霧AML 團隊分析統計,本次攻擊黑客獲利約60 萬美元。
資金流向分析
慢霧AML 旗下MistTrack 反洗錢追踪系統分析發現,以太坊上的攻擊者地址(0x9ed...f86)初始資金來自混幣平台Tornado.Cash 轉入的31 ETH。
接著,將30 WETH 跨鏈到Avalanche。
攻擊者在Avalanche上分別創建了攻擊合約1 和2。
接著,攻擊者通過攻擊合約1 將WAVAX 兌換為SPORE,並將SPORE 抵押到ZABUFarm 合約中。
攻擊者通過攻擊合約2 從Pangolin 閃電貸借出SPORE 代幣,隨後多次在ZABUFarm 合約中進行抵押/提現操作。
在獲利後,攻擊者將獲利的約45 億ZABU 代幣多次兌換為WAVAX 代幣,再將WAVAX 代幣兌換為201WETH.e。
接著,攻擊者將獲利的WETH.e 跨鏈到以太坊。
沒有任何停歇,攻擊者直接將獲利資金通過Tornado.Cash 轉出。
經過以上分析,可以認為攻擊者是較為專業的,毫不含糊地直接從Tornado.Cash 轉入初始資金,最後又通過Tornado.Cash 順利將獲利資金轉出。
總結
此次攻擊是由於Zabu Finance 的抵押模型與SPORE 代幣不兼容導致的,此類問題導致的攻擊已經發生的多起,慢霧安全團隊建議:項目抵押模型在對接通縮型代幣時應記錄用戶在轉賬前後合約實際的代幣變化,而不是依賴於用戶傳入的抵押代幣數量。
慢霧AML 旗下MistTrack 反洗錢追踪系統將持續監控被盜資金的轉移,拉黑攻擊者控制的所有錢包地址,提醒交易所、錢包注意加強地址監控,避免相關惡意資金流入平台。