6

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

 2 years ago
source link: https://www.tuoniaox.com/news/p-521072.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

SharkTeam 2021-12-20 15:48
article_qmarks.svg 摘要:

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

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

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

一、事件分析

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

image.png

image.png

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

image.png

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

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

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

image.png

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

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

image.png

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

image.png

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

二、安全建议

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

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

image.png

欢迎加入鸵鸟区块链Telegram社群

中文社区 https://t.me/tuoniaox

英文社区 https://t.me/tuoniaoGroup

声明: 鸵鸟区块链所有发布内容均为原创或授权发布,如需转载,请务必注明文章作者以及来源:鸵鸟区块链(微信公众号:MyTuoniao),任何不尊重原创的行为鸵鸟区块链都将进行责任追究!鸵鸟区块链报道和发布内容,不构成任何投资建议。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK