火星链 火星链
Ctrl+D收藏火星链

ETH:Rari 被黑事故分析:开心做聚合 无奈被攻击

作者:

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

2021年5月8日,据链闻消息,以太坊收益聚合协议RariCapital因集成了AlphaFinance产生了漏洞,损失近1500万美元。事后,RariCapital官方发布了事故分析报告,分析了此次事故的主要原因。慢雾安全团队在官方分析的基础上,结合慢雾安全团队对此次事件的深入分析,进一步解读本次安全事故的原因。

攻击细节分析

本次攻击发生在RariCapital的RariManger合约中,整个过程下来就是攻击者首先通过闪电贷从dYdX中借出巨量资金,然后不停的重复调用RariManger合约中的deposit和withdraw函数,完成获利。如下图:

NFT市场Rarible已在The Graph上发布子图:4月25日消息,NFT 市场 Rarible 已在 The Graph 上发布了一个子图,一旦 Indexers 选择它,Rarible 子图将完全去中心化,任何人都可以查询 Rarible 的链上数据。[2023/4/25 14:25:33]

那么用户是如何通过deposit和withdraw这两个操作获利的呢?我们需要分析对应的函数:

以上是deposit函数的部分逻辑,首先deposit函数本身会调用内部的_depositTo函数,然后会再次调用getFundBalance函数来获取合约的余额。getFundBalance函数最终是会调用到RariController合约的getBalance函数去获取余额。最后是通过RariController合约中的AlphaPoolController库的getBalance函数获取余额。如下图:

SuperRare创始人:SuperRare的NFT版税不会消失:金色财经报道,SuperRare创始人Jonathan Perkins在NFT巴黎会议期间表示,向创作者付费的决定早在五年前就已做出。他说:“当时我们采取了一个相当有争议的举措,将艺术家版税包括在内。如果我们可以通过版税帮助艺术家赚钱,为什么不至少尝试一下呢?因此,我们在建立某种标准方面发挥了一定作用,至少在艺术方面。SuperRare的版税不会消失。”

SuperRare是一个面向艺术创作者和NFT收藏家的社交网络,Perkins认为,更广泛的市场面临的挑战与该平台面临的挑战大不相同,因为“SuperRare上的收藏家通常不进行高频交易或试图快速赚钱。”Perkins说:“我们花了五年时间建立了一个社区,让收藏家真正与艺术家建立联系,而且有更多的善意和长远眼光,这往往更容易就保留版税达成共识。”[2023/2/28 12:32:54]

流程上略微复杂,用图来展示大概就是下面这样:

数据:已有1.3亿枚RARE代币被大约6000个独立地址申领:8月22日消息,SuperRare官方表示,截止8月21日,已经有1.3亿枚RARE代币被大约6000个独立地址申领,前100个地址大约持有RARE总供应量的6%。所有在2021年7月21日之前,在SuperRare上收藏和出售艺术作品的用户都有资格获得RARE空投。此前消息,加密艺术平台SuperRare宣布发行平台币RARE,并开启1.5亿枚RARE空投。[2021/8/22 22:29:33]

从上面的分析不难发现,Rari合约最终是用到了AlphaFinance项目的ibETH合约的totalETH函数获取合约的余额,目的是为了根据totalETH和totalSupply的比值计算出Rari合约真正的ETH余额。deposit函数是根据用户的充值ETH的数量和比值计算要发放给用户的REPT数量,而withdraw函数的公式也大同小异,同样需要通过getBalance函数获取合约的ETH余额并计算比值,然后根据用户的REPT代币的余额和比值计算需要返还给用户的ETH的数量。但是问题恰恰出在这个获取ETH余额的公式上。

Rari Capital ETH池因与Alpha Finance集成存在漏洞被攻击:5月8日,Rari Capital ETH池因与Alpha Finance集成存在漏洞被攻击,目前Rari Capitalre balancer已从Alpha移除所有资金,目前该事件仍在调查中,调查完毕后将公开完整调查报告。目前,Alpha Finance发推表示,Alpha Homora中的资金是安全的。[2021/5/8 21:39:10]

根据官方描述,从ibETH合约获取的totalETH函数获取的值是可以被用户操控的。以下是官方原文:

根据官方的描述,用户可通过ibETH合约的work函数操控totalETH函数返回的值,导致Rari整个价值计算公式崩溃。我们分别分析ibETH的work函数和totalETH函数:

totalETH函数:

work函数:

以上分别是ibETH合约中的totalETH函数和work函数的部分实现。不难发现totalETH函数其实就是获取合约的总的ETH的数量。而work函数,本身是一个payable函数,也就是说,用户是可以通过work函数来控制ibETH合约中的ETH数量从而来改变totalETH返回的值的。更糟糕的是,work函数同时还支持调用其他的任意合约。那么整个思路就很清晰了。

攻击流程

1、从dYdX中进行闪电贷,借出大量的ETH;

2、使用一部分的ETH充值到RariCapital合约中,此时从ibETH获取的比值还是正常的;

3、使用剩余的ETH充值到ibETH合约中,调用ibETH合约的work函数,为后续推高ibETH合约的totalETH的返回值做准备;

4、在work函数中同时对RariCapital合约发起提现,由于上一步已经推高totalETH值,但是计算的totalETH()/totalSupply()的值相对于充值时被拉高,从而使攻击者能从RariCapital中使用等量的REPT获取到更多的ETH。

总结

本次分析下来,主要的原因是协议的不兼容问题,攻击者通过闪电贷和重入的方式,攻击了RariCapital,造成了巨大的损失。慢雾安全团队建议在DeFi逐渐趋于复杂的情况下,各DeFi项目在进行协议间交互时,需要做好协议之间的兼容性,避免因协议兼容问题导致的损失。

RariCapital官方分析:

https://medium.com/rari-capital/5-8-2021-rari-ethereum-pool-post-mortem-60aab6a6f8f9

攻击交易(其中一笔):

https://etherscan.io/tx/0x171072422efb5cd461546bfe986017d9b5aa427ff1c07ebe8acc064b13a7b7be

By:慢雾安全团队

标签:ETHTALRARIARIETH数字钱包Shrimp CapitalFERRARIFerrariSwap

火币交易所热门资讯
数字货币:以太坊继续狂飙,ETH价格首次突破4100美元

以太坊在5月10日首次突破4100美元,在包括Coinbase在内的多个交易所通过了这个重大的心理障碍。这个新的里程碑距离突破3000美元仅仅一周.

1900/1/1 0:00:00
区块链:区块链如何赋能“链”金融

为满足实体经济融资需求,近年来国家出台了很多支持政策,商业银行也持续创新产品服务模式,积极开拓供应链金融发展模式,特别是针对小微企业融资需求,不断进行知识产权、股权、应收账款等担保方式创新.

1900/1/1 0:00:00
FIL:高达NFT—GUNDARIUM即将登陆HECO生态链

NFT在金融、社会、文娱各界掀起了一场运动,它赋予了真实世界中的资产数字化后依然存在所有权和溯源的可能性,艺术家作为艺术品的生产者,通过NFT铸造和出售可为加密行业创造价值.

1900/1/1 0:00:00
OIN:池瓜群众第10期!买ADA拿1%净买入返利

亲爱的CoinW用户:CoinW将于9月24日12:00开启第10期池瓜群众活动,本期活动币种为ADA。活动期间在CoinW平台购买ADA即可获得净买额1%的ADA返利.

1900/1/1 0:00:00
AND:5.8晚间行情:比特币如期操作 当前盘面该如何操作

文章系金色财经专栏作者币圈北冥供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别防上当.

1900/1/1 0:00:00
HTT:XT关于CLX更名为CSPR的公告

尊敬的XT用户:XT现已将CLX更名为CSPR,并按照1:1将持仓用户CLX兑换成CSPR。用户可登陆XT账户直接搜索“CSPR”查看相关资产。如有问题,请及时联系在线客服.

1900/1/1 0:00:00