0x01:前言
援引官方消息,北京时间12月19日,Fantom链上复合收益平台GrimFinance遭遇了闪电贷攻击。知道创宇区块链安全实验室第一时间对本次事件深入跟踪并进行分析。
0x02:事件详情
交易细节如下图所示:
浏览上图的交易过程可知,攻击合约利用闪电贷借取代币WFTM和BTC,将借取的代币与自己铸造的代币质押到SpiritSwap里增加流动性获取lp代币,而问题就出现在攻击者通过depositFor()实现质押的过程中。
通过Tenderly调试该笔交易,攻击者多次递归调用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]
马斯克前女友Grimes推出“儿童元宇宙图书”以支持Avalanche生态:金色财经报道,加拿大音乐家、马斯克前女友Grimes周五在Avalanche Summit上宣布正在推出一本“星际儿童元宇宙图书”,这是OP3N和Avalanche基金会1亿美元计划的一部分,旨在支持Avalanche区块链上与艺术、娱乐和文化相关项目的发展。OP3N将自己定位为在Web3中增强创意的启动板,已与Avalanche基金会合作推出了1亿美元的文化计划CultureCatalyst。Grimes表示:“当我第一次接触Web3时,这是我希望看到的那种项目,我很高兴与OP3N合作推出一系列婴幼儿教育艺术,旨在为儿童创造一种对成人也具有深刻意义的深刻体验”。(Coindesk)[2022/3/27 14:20:09]
0x03:漏洞分析
Facebook稳定币项目Diem Networks US就建立金融犯罪合规框架与K2 Integrity达成合作:金色财经报道,K2 Integrity宣布与Diem Networks US达成合作,以支持、初步领导并继续为Diem Networks US的金融情报部门FIF构建创新解决方案。 据悉,FIF旨在保护Diem支付网络(DPN) 免受非法金融活动的影响。Diem Networks US首席执行官Stuart Levey表示,设计一个设定了高金融犯罪合规标准的框架一直是Diem项目的首要任务之一,K2 Integrity的团队在该领域拥有丰富的经验。[2021/8/12 1:49:48]
depositFor()函数位于的第1115行:
function?depositFor(address?token,?uint?_amount,address?user?)?public?{
声音 | 路透社:Virgil Griffith曾意图向朝鲜运送ETH挖矿设备 称这真的很酷:两位消息人士向路透社透露,以太坊基金会科学家 Virgil Griffith 曾于 2018年4月在首尔Walkerhill酒店参加行业会议时透露,打算安排向朝鲜运输用于制造ETH的挖矿设备,而以太坊可通过兑换为法币(例如美元)帮助诸如逃避制裁或的非法活动。 其中一位消息人士称,住在新加坡的 Virgil Griffith计划在一位新加坡朋友的帮助下将挖矿设备从中国运到朝鲜,这位朋友会在平壤参加一年一度的马拉松比赛。另一位消息人士称,Griffith当时表示,计划由人将设备交付给朝鲜的电信机构。当时 Virgil Griffith表示,如果在能朝鲜挖掘ETH,那是真的很酷。路透社表示,目前无法确定 Virgil Griffith 想向朝鲜运送设备的计划是否实现,但 Virgil Griffith 目前正因违反《国际紧急经济权力法案》面临一项最高 20 年徒刑的指控,该指控是因他前往朝鲜参加区块链大会,发表演讲并提供建议,帮助朝鲜利用加密货币和区块链技术逃避制裁,此举违反了美国制裁法案,目前 Virgil Griffith 已被逮捕。此事发生后,以太坊联合创始人Vitalik Buterin在推特上发表长文,澄清以太坊基金会科学家 Virgil Griffith 访问朝鲜是个人行为,未给朝鲜政府提供任何实质性的帮助,并在准备请愿书要求释放 Virgil Griffith。Buterin 表示,对地缘的开放态度是一种美德,而Virgil Griffith的这个优点在之前就已经体现出来了,比如帮助增进了与以太经典、Hyperledger之间的关系。我认为Virgil 并未给朝鲜政府提供任何实质性的帮助,他根据有关开源软件的公开信息发表了演讲,这并不是什么高深的黑客技术辅导。我希望美国能专注到真正有害的事情上,而不是抓捕发表公开信息演讲的程序员。[2019/12/4]
?uint256?_pool?=?balance();
公告 | Grin上线CoinEgg平台:CoinEgg发布公告称,CoinEgg已上线Grin交易,开放Grin/USDT和Grin/BTC交易对,现已开放Grin的充值功能。[2019/1/17]
?IERC20(token).safeTransferFrom(msg.sender,?address(this),?_amount);
?earn();
?uint256?_after?=?balance();
?_amount?=?_after.sub(_pool);?//?Additional?check?for?deflationary?tokens
?uint256?shares?=?0;
?if?(totalSupply()?==?0)?{
??shares?=?_amount;
?}?else?{
??shares?=?(_amount.mul(totalSupply())).div(_pool);
?}
?_mint(user,?shares);
}
该函数的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不可控就行:
function?depositFor(?uint?_amount,address?user?)?public
2.由于套利的原因是depositFor()方法里存在修改代币数量的函数,因此还可以将修改代币的方法单独实现,这样即使token变量可控,也无法成功套利:
function?depositFor(address?token,?uint?_amount,address?user?)?public?{
?IERC20(token).safeTransferFrom(msg.sender,?address(this),?_amount);
}
3.锁定交易token:
function?setLPToken(address?lp)?public?onlyOwner?{
lpToken?=?lp;
}
function?depositFor(uint?_amount,address?user?)?public?{
uint256?_pool?=?balance();
IERC20(lpToken).safeTransferFrom(msg.sender,?address(this),?_amount);
earn();
......
}
0x05:总结
经过完整分析,知道创宇区块链安全实验室明确了该次攻击事件的源头并非网传的闪电贷攻击,攻击者利用GrimBoostVault合约的depositFor方法参数可控,实施了重入攻击,将自己的铸造的无价值代币兑换成了质押凭证,最后通过withdrawAll方法实现套利,而闪电贷?攻击者只是利用闪电贷扩大了套利值。
对于合约代码而言安全性是十分重要的,每一个未经验证的传入参数都可能导致巨大的经济损失,开发者在编写重要操作方法时,须记住零信任原则,谨慎对待每一个传入参数。
来源:金色财经
标签:TOKETOKTOKENFOR3X Long Chainlink TokenSINX Tokenitoken钱包官网Wrapped Ampleforth
撰文:emagicTT 编译:Alex MulticoinCapital的对冲基金的回报率为20,287%以上。它的1号基金于2018年募集,MTM净MOIC为135倍,净回报为28倍.
周四,汇丰集团和IBM宣布在云环境中成功测试了两种央行数字货币(CBDC)之间的高级代币和数字钱包结算。试验包括CBDC、eBond和外汇之间的交易.
1.如何给元宇宙赋能公链会是Metaverse核心基础设施吗?2021年又被称之为“元宇宙元年”,在这一年,全世界都在谈论元宇宙,互联网巨头、游戏公司、和初创公司纷纷布局元宇宙.
链茶速递是链茶馆旗下编译团队,关注区块链及加密货币领域最新动向,重点介绍国外的新观点、新风向。 来源:Twitter 作者:KyleSamani 翻译:?北辰 Crypto领域最顶级的投资机构,
在NFT平台上购买音乐,跟网易云付费会员有什么不同?原标题:Web3.0学习笔记第二期:最全NFT音乐平台测评看够了PFP之类的图片NFT和崩盘边缘试探的链游,不如来学点新鲜的.
大家好,我是团子,价值投资虽然不能保证我们稳步盈利,但价值投资给我们提供了走向真正成功的唯一机会。眼睛仅盯在自己小口袋的是小商人,眼光放在世界大市场的是大商人.