宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > SAND > 正文

Grim Finance闪电贷安全事件分析

作者:

时间:1900/1/1 0:00:00

安全实验室第一时间对本次事件深入跟踪并进行分析。0x02:事件详情

交易细节如下图所示:

浏览上图的交易过程可知,攻击合约利用闪电贷借取代币WFTM和BTC,将借取的代币与自己铸造的代币质押到SpiritSwap里增加流动性获取lp代币,而问题就出现在攻击者通过depositFor()实现质押的过程中。

通过Tenderly(https://http://dashboard.tenderly.co/tx/fantom/0x19315e5b150d0a83e797203bb9c957ec1fa8a6f404f4f761d970cb29a74a5dd6/debugger调试该笔交易,攻击者多次递归调用depositFor函数,利用该函数获取大量代币:

英特尔开始交付ASIC定制芯片,Argo、GRIID、HIVE为首批客户:6月30日消息,英特尔旗下AXG定制计算团队的执行副总裁Raja Koduri宣布,英特尔今日已开始交付专用于挖矿的定制芯片Intel Blockscale ASIC,Argo、GRIID、HIVE等加密货币矿企为首批客户。

此前在四月初,英特尔曾宣布全新的挖矿定制芯片Intel Blockscale ASIC将在今年第三季度发货。该芯片将支持580 GH/s的算力和26 J/TH的功率。[2022/6/30 1:40:37]

0x03:漏洞分析

Grin将于1月16日硬分叉升级:据鱼池公告称, Grin(古灵币)网络预计1月16日08:00在区块高度1,048,320处执行硬分叉。[2021/1/15 16:13:58]

depositFor()函数位于https://http://ftmscan.com/address/0x660184ce8af80e0b1e5a1172a16168b15f4136bf#code的第1115行:

该函数的safeTransferFrom()方法从IERC20(token)调用,调用完该方法后,余额balance也会随之变动,最后通过_mint()方法向用户添加质押凭证代币。其中调用的变量token可控,导致攻击者可以自己实现safeTransferFrom()方法,将该方法重入到depositFor()发起攻击。

Grin开发者:莱特币MW测试网预计将于9月启动:由莱特币基金会资助,负责将MimbleWimble协议集成至莱特币的Grin开发者David Burkett更新了五月开发进展。

David Burkett表示,他已经完成了MW模块逻辑的实现,同时开始了mempool逻辑的研究,这是将MimbleWimble集成到莱特币网络的重要一步。在谈及未来计划时,David Burkett提到,初步预测9月份为测试网启动日期。[2020/6/3]

以实施了5次重入攻击为例,开始_pool的值为0,在重入depositFor方法的前四次里,攻击者一直传入自己铸造的代币,_pool的值会一直保持为0,但在第五次,也就是最后一次传入100个受认可的代币时,_after的值会变成100,而_afer-_pool的差值_amount也就是100,最后由于重入了5次,导致合约会向攻击者铸造100*5的质押凭证代币。

其后果就是攻击者向该合约质押自己铸造不受认可的代币,同样会增加质押总量,最后利用多出来的质押凭证实现套利。

0x04:修复方案

1.由于depositFor()方法里的token可控才是导致这次攻击事件的原因,因此只需要在传递参数的时候让token不可控就行:

2.由于套利的原因是depositFor()方法里存在修改代币数量的函数,因此还可以将修改代币的方法单独实现,这样即使token变量可控,也无法成功套利:

3.锁定交易token:

0x05:总结

经过完整分析,知道创宇区块链安全实验室明确了该次攻击事件的源头并非网传的闪电贷攻击,攻击者利用GrimBoostVault合约的depositFor方法参数可控,实施了重入攻击,将自己的铸造的无价值代币兑换成了质押凭证,最后通过withdrawAll方法实现套利,而闪电贷?攻击者只是利用闪电贷扩大了套利值。

对于合约代码而言安全性是十分重要的,每一个未经验证的传入参数都可能导致巨大的经济损失,开发者在编写重要操作方法时,须记住零信任原则,谨慎对待每一个传入参数。

标签:POSDEPDEPOFORposi币行情DEP币FORK

SAND热门资讯
BKEX Global 关于“DOBO交易大赛”活动结果的公告

尊敬的用户:????????? ?? BKEXGlobal举办的"DOBO交易大赛"活动已于2021年11月27日20:00圆满结束,感谢用户的大力支持!活动奖励即将发放,请留意账户余额变动.

1900/1/1 0:00:00
Earn Daily No.334: Lock GT & Earn USDG, up to 6% APR

Gate.ioHODL&Earnrecentlyunveiledanewproduct“EarnEveryday”tofacilitateevenmorechancestoearnbyholdingpopularcoinsan.

1900/1/1 0:00:00
福布斯预测:2022稳定币将成为主流

金色财经报道,福布斯发布了对2022年加密市场和区块链的预测。文章称,1.2022年NFT将变得无聊。特别是由于主流市场对NFT的运作和估值有很多误解,人们经常忽略的是NFT的真正价值和使用情况。2.稳定币将成为主流.

1900/1/1 0:00:00
imToken 现已支持以太坊 EIP-1559,感受新费用机制!

EIP-1559作为以太坊伦敦升级中最受关注的提案,直接改变了我们在以太坊上的交易体验,让我们从黑暗森林般的矿工费市场中脱离出来,不必再盲目竞价和博弈,而只需按照规则行动.

1900/1/1 0:00:00
Gate.io HODL & Earn: Lock NIF To Earn 100% APR(Phase 1)

TheLockNIF&Earn#1(term14days)willlaunchat8:00UTConDec29thatGate.io's“HODL&Earn”section.

1900/1/1 0:00:00
ZT創新板即將上線FANT

親愛的ZT用戶: ZT創新板即將上線FANT,並開啟FANT/USDT交易對。具體上線時間如下:交易:2021年12月23日18:00; FANT 項目簡介:Phantasia是第一個利用區塊鏈技術將區塊鏈優勢帶給夢幻體育玩家的夢幻體.

1900/1/1 0:00:00