慢雾安全团队建议:项目抵押模型在对接通缩型代币时应记录用户在转账前后合约实际的代币变化,而不是依赖于用户传入的抵押代币数量。
据慢雾区消息, 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 代币进行了抛售。
慢雾 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 反洗钱追踪系统将持续监控被盗资金的转移,拉黑攻击者控制的所有钱包地址,提醒交易所、钱包注意加强地址监控,避免相关恶意资金流入平台。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!