链资讯 链资讯
Ctrl+D收藏链资讯
首页 > UNI > 正文

POS:Grim Finance闪电贷安全事件分析_bitflyer官网

作者:

时间:

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

交易细节如下图所示:

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

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

匿名币项目Grin发布钱包 Grin++ v0.0.1版本:据官方消息,匿名币项目古灵币 Grin (GRIN)钱包 Grin++ 开发者 davidtavarez 发布适用于安卓版本的 Grin ++ v0.0.1 版,为 Grin ++的首个版本,目前用户可在移动设备上运行 Grin 完整节点。Grin ++不存储任何个人身份信息,也不会复制诸如钱包之类的节点信息,具有支持多个 Grin 钱包、通过种子短语备份或还原钱包、通过 Tor 和 Slatepack Message 发送和接收 Grin 代币、查询交易信息等功能。[2020/12/15 15:14:53]

0x03:漏洞分析

动态 | 近200人在释放以太坊开发者Virgil Griffith请愿书上签名:据Trustnodes 12月5日消息,截至目前,已有194人在释放以太坊开发者Virgil Griffith请愿书上签名。此前消息,因以太坊基金会科学家Virgil Griffith曾意图向朝鲜运输用于制造ETH的挖矿设备被纽约南区美国检察官办公室和联邦调查局逮捕,并指控其违反美国制裁法。此后,V神也在释放Virgil Griffith的请愿书上签名。周一,以太坊开发者Virgil Griffith在听证会结束后获释并等待判决。[2019/12/6]

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

动态 | Grin已完成第二次安全审计:据Grin官方消息,Grin已经完成了第二次安全审计,此次审计由Coinspect完成,从2018年10月开始直至2019年10月结束。在此期间,除了解决发现的问题外,还实施了新的RFC(征求意见),以进一步改善Grin的安全性流程,改善响应流程和及时性。审计中发现了一个关键漏洞,并立即用CVE-2019-9195予以修复并进行了披露。另外还报告了5例高危、7例中危和1例低危问题,所有问题现已修复并经过Coinspect验证。[2019/10/18]

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

以实施了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方法实现套利,而闪电贷?攻击者只是利用闪电贷扩大了套利值。

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

标签:POSDEPOITFFORpos币如何获取利息bitflyer官网dForce

UNI热门资讯
WIT:幣安將上線ANT 1-25倍 U本位永續合約_gowithmi

幣安將上線ANT1-25倍U本位永續合約2021-12-2403:31親愛的用戶:幣安將於2021年12月27日上午12:00上線ANTUSDT1-25倍U本位永續合約.

加密货币:AAX启用wETH存取款,提供高达60%收益的稳健理财产品_USD

加密货币行的大规模采用使得越来越多的加密货币投资者和机构用户开始进入加密市场。然而,从加密货币领域获得较高的收益是一项挑战,只有少数的专业投资者和机构用户才能实现较高的收益,而大部分投资用户在加.

ETH:imToken 现已支持以太坊 EIP-1559,感受新费用机制!_bgogo-token

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

VERA:对话「Vera Labs」,解锁租赁NFT新姿势_Futurov Governance Token

2021年,NFT大热。上半年,NFT总市值为25亿美元,仅在7月份,销售额就飙升至15亿美元。由于其独特性和更多应用的出现,NFT已经发展成为人们展示财富和身份的新方式.

XRP:BKEX Global 关于支持Sologenic(SOLO)空投 XRP持币用户的公告_SOL

尊敬的用户: BKEXGlobal将支持Sologenic空投XRP持仓用户的计划。具体安排如下: 资产快照 2021年12月25日04:00或之后第一个XRP账本的时间对XRP持有用户进行资产.

NCE:幣安上市Spell Token(SPELL)和TerraUSD(UST)_SPE

此文章暂不支持您的语言,为您智能推荐英文版。BinanceWillListSpellToken(SPELL)andTerraUSD(UST)2021-12-2401:58FellowBinanc.