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

Grim Finance闪电贷安全事件分析

作者:

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

0x01:前言

援引官方消息,北京时间12月19日,Fantom链上复合收益平台GrimFinance遭遇了闪电贷攻击。知道创宇区块链安全实验室第一时间对本次事件深入跟踪并进行分析。0x02:事件详情

交易细节如下图所示:

浏览上图的交易过程可知,攻击合约利用闪电贷借取代币,将借取的代币质押到SpiritSwap里增加流动性获取lp代币,而问题就出现在depositFor()函数中。通过Tenderly(https://dashboard.tenderly.co/tx/fantom/0x19315e5b150d0a83e797203bb9c957ec1fa8a6f404f4f761d970cb29a74a5dd6/debugger调试该笔交易,攻击者多次递归调用depositFor函数,利用该函数获取大量代币:

Kakao 旗下区块链子公司 Ground X 成立 GRID 联盟来拓展 NFT 生态用例:7月22日消息,韩国互联网巨头 Kakao 的区块链子公司 Ground X 成立 GRID 联盟,旨在推广和扩展 NFT 生态系统中的用例。

据悉,GRID 联盟包括新韩的银行和信用卡子公司、乐天百货、Kakao Games 和 SK 的教育平台 mySUNI 等约 50 家当地公司。Ground X 将通过在 Kakao 的数字钱包 Klip 上提供二维码认证或 NFT 会员功能等基础设施服务,支持 GRID 中的公司更有效地运营基于 NFT 的服务。(Forkast)[2022/7/22 2:30:37]

美国纽约联邦法官驳回以太坊开发者Virgil Griffith的动议:此前,美国纽约南区美国检察官办公室和联邦调查局宣布,已逮捕并指控以太坊开发者Virgil Griffith违反美国制裁法。罪名是联邦政府指控他于4月非法前往朝鲜,并在“平壤区块链和加密货币会议”上作了陈述。对此,Griffith在其动议中声称,他在“平壤区块链和加密货币会议”上发表的讲话受到言论自由权保护。并且,针对他的四页起诉书“简短而含糊”,并且缺乏概述其犯罪行为的具体细节。法官驳回此动议,认为已提供对Griffith的指控的充分告知。(Cointelegraph)[2021/1/29 14:17:46]

0x03:漏洞分析

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

声音 | Grin前核心开发人员 Gery Yu:Grin已接近甚至达到关机币价:隐私项目Grin 前核心开发人员Gery Yu认为过去一周的市场巨幅下挫让Grin的市价已经逼近或低于挖矿成本。他表示,以典型的Nvidia GTX-1060显卡为参照,按照平均4美分电费计算,AR算法的单位GRIN挖矿成本现在是1.2美金(含纯电费成本 0.65、显卡折旧成本估算为 $0.1/天 x5.5 天),未计算损耗和管理成本。按现价1.4美金计算,矿工毛利率只有16.7%,基本上是亏了。[2019/9/29]

该函数的safeTransferFrom()方法从IERC20(token)调用,最后一次调用,也就是逆序第一次执行后,余额balance也会随之变动。当前铸造凭证数量/前一笔铸造凭证数量固定为3.54:

动态 | Grin将于明日决定是否搁置C32矿机算法淘汰计划:据官方论坛,古灵币Grin将于明日召开治理会议,决定是否通过核心开发者John Tromp提出的搁置原定于2021年1月14日启动的C32淘汰计划,若未来重启C32淘汰计划将提前18个月通知。若提议通过将极大地延长C32矿机的使用寿命,目前已有ASIC矿机厂商反馈及具体的ASIC规格参数信息。[2019/6/18]

我们推导其公式为:

将该公式分子拆分,得到shares/totalSupply的固定比为2.54:

声音 | Primitive联合创始人:全球有1亿美元的资金已经投入到Grin挖矿设备:据ChainNews消息,Primitive Ventures联合创始人Eric Meltzer在新闻通讯Proof of Work中披露,据保守估计,全球已经有1亿美元的资金投入到了专门针对Grin的挖矿设备中,其中主要是来自风险投资机构的资金。Grin是一种基于Mimblewimble协议的隐私币,北京时间1月15日晚间正式主网上线。[2019/1/16]

最后将Debug交易里的shares/totalSupply进行计算,其值与shares/totalSupply的固定比相同,因此可以确定套利值只与totalSupply()有关:

其中函数safeTransferFrom()传入的变量token可控,导致攻击者可以自己实现safeTransferFrom()方法,将该方法重入到depositFor(),拉升totalSupply()总量,最后通过_mint()方法向用户添加质押凭证实现套利。以实施了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方法实现套利,而闪电贷?攻击者只是利用闪电贷扩大了套利值。对于合约代码而言安全性是十分重要的,每一个未经验证的传入参数都可能导致巨大的经济损失,开发者在编写重要操作方法时,须记住零信任原则,谨慎对待每一个传入参数。

标签:GRIGRINRINFORgrin币最新开发进展GRINDSnake RiniumFOREX币

Pol币热门资讯
比特币灯塔MicroStrategy子弹快要用光,面对巨额利息将怎么办?

吴说作者|吴卓铖本期编辑|ColinWuMicroStrategy的债务“子弹”2020年12月9日,MicroStrategy宣布发行本金总额为6.5亿美元的可转换优先票据,包含5.5亿美元可转债和1亿美元期权.

1900/1/1 0:00:00
解读后疫情时代的游戏产业:元宇宙经济大框架下的GameFi

作者|Leno出品|白话区块链2020年年初以来,全球疫情已经造成了广泛的经济问题,整个2020年除中国外,全球几乎所有的主要经济体全部为负增长.

1900/1/1 0:00:00
限制中文内容「挖矿」引质疑,Monaco通往Web3新星球的前景蒙阴影

Social也要加DeFi了。引入Web3概念,名为MonacoPlanet的区块链社交挖矿项目出现。11月28日,该项目测试版网站上线,它是一个类似于微博的平台,用户可以发布图文和视频,并展示名下NFT.

1900/1/1 0:00:00
满足「跨链+兑换」两大需求,Symbiosis能否抓住多链时代风口?

随着Solana、Avalanche、Fantom等公链的集体爆发,新兴生态的造富效应正在抬头,为了捕捉这些全新的财富机会,用户资产跨链的需求正日渐抬升.

1900/1/1 0:00:00
一文了解Vmates的社交互动游戏机制

介绍 Vmates是一款社交互动性NFT游戏,用户可以与自己的宠物互动,助其成长,并与其它宠物竞争。在Vmates中,您可以购买和孵化用户在BSC上拥有的各种类型的宠物,除了基于区块链的游戏机制外,用户在游戏中还可以拥有所有权.

1900/1/1 0:00:00
基于Solana生态的「Hxro Network」,想做DeFi期权领头羊

作者|秦晓峰编辑|郝方舟出品|Odaily星球日报 期权,作为风险对冲的重要手段之一,在加密市场的重要性愈发凸显.

1900/1/1 0:00:00