区块链技术博客
www.b2bchain.cn

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

第26982篇文章SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析,说明解释了SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析,是很好的区块链入门技术文章网站,提供了相应的代码的进行解释,并且把原理说的很清晰

北京时间12月19日,Fantom链上收益协议Grim Finance遭遇闪电贷攻击,损失超过3000万美元,之后Grim Finance暂停了所有金库的功能,并提醒用户及时撤出个人资产。

SharkTeam第一时间对此事件进行了攻击分析和技术分析,并总结了安全防范手段,希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。

一、事件分析

整个攻击过程中,攻击者攻击了Grim Finance的多个LP金库合约和单币金库合约,包括以下交易:

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

最后将获得到token通过AnySwap跨链转账转移到其他公链,比如FTM跨链交易如下:

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

以交易0x19315e5b150d0a83e797203bb9c957ec1fa8a6f404f4f761d970cb29a74a5dd6为例,详细说明攻击工程,如下:

1. 闪电贷并添加流动性。通过闪电贷借款937830 WFTM 以及 30 BTC,然后向WFTM/BTC Pancake交易对添加流动性,获得 0.0476 SPIRIT-LP 流动性凭证。

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

2. 质押流动性凭证到金库合约并铸造份额代币。

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

攻击合约通过GrimBoostVault合约中的depositFor函数将流动性通证质押到金库中,铸造得到316 GB-BTC-FTM的份额代币。

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

在该过程中,因为depositFor函数并没有对参数token进行校验,即可以传递任意的token来铸造份额代币,攻击者合约通过传递自定义的token合约(攻击合约地址)来铸造份额代币。

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

通过自定义token合约中的safeTransferFrom函数多次实现depositFor函数的重入。

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

在最后一次重入调用depositFor函数时传递正确的WFTM/BTC SPIRIT-LP交易对地址以及0.0476 SPIRIT-LP。

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

如此重复铸造份额代币,最终使得GrimBoostVault 合约为攻击者铸造了远多于预期的份额代币(316 GB-BTC-FTM)。

3. 根据份额代币提取流动性凭证。

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

攻击合约根据铸造的远多于预期的份额代币(316 GB-BTC-FTM)提取到了0.0663 SPIRIT-LP,明显比实际质押的0.0476 SPIRIT-LP要多。

4. 移除流动性并闪电贷还款。

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

5. 将剩余的362770 WFTM以及11.78 BTC转账到攻击者账户地址。

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

本次攻击的根本原因在于:因为Grim合约中的depositFor函数没有对参数token进行校验,即可以传递任意的token来铸造份额代币。攻击者通过传递自定义的token合约(攻击合约地址)来铸造份额代币,通过自定义token合约中的safeTransferFrom函数实现对depositFor函数的重入,最终造成GrimBoostVault 合约为攻击者铸造出远多于预期的份额代币(316 GB-BTC-FTM)

二、安全建议

SharkTeam提醒您,在涉足区块链项目时请提高警惕,选择更稳定、更安全,且经过完备多轮审计的公链和项目,切不可将您的资产置于风险之中,沦为黑客的提款机。

SharkTeam作为领先的区块链安全服务团队,为开发者提供智能合约审计服务。智能合约审计服务由人工审计和自动化审计构成,满足不同客户需求,独家实现覆盖高级语言层、虚拟机层、区块链层、业务逻辑层四个方面近两百项审计内容,全面保障智能合约安全。

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析

SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析 由www.b2bchain.cn 提供
文章整理自网络,只为个人学习与分享使用
链接地址https://www.b2bchain.cn/26982.html

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » SharkTeam独家分析 | 闪电贷和重入攻击:Grim Finance被黑事件分析
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们