区块见闻 区块见闻
Ctrl+D收藏区块见闻

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

作者:

时间:

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

攻击细节分析

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

LooksRare:将推出Moonshot项目,并将定期回购LOOKS:5月27日消息,NFT 市场 LooksRare 发文称,将在 4 至 6 周内推出 Moonshot 项目,它将为 LooksRare 协议产生费用,并将用其中一大部分费用从市场上定期回购 LOOKS 代币。目前,LooksRare 已从前 5 次 Raffles 中回购超过 55 万枚 LOOKS(超过 4.5 万美元),回购的代币将存入 LooksRare 财库。[2023/5/27 9:45:16]

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

LooksRare宣布集成Uniswap小程序:12月1日消息,LooksRare宣布已集成Uniswap小程序(widget),用户可直接在LooksRare平台内使用小程序交易部分Token,目前可交易的Token资产包括LOOKS、ETH、APE、DAI、USDC、USDT、WETH以及WBTC。[2022/12/1 21:14:04]

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

NFT市场Rarible推出订单管理工具,帮助阻止OpenSea上的可疑销售订单:1月8日消息,NFT市场Rarible周二宣布,已经推出一个订单管理工具,允许Rarible用户识别和取消来自NFT市场OpenSea的可疑销售订单。此前有消息称,OpenSea上的一个漏洞可能会导致值钱的NFT(比如Bored Ape Yacht Club NFT)以远低于其持有者实际预期的价格出售。

Rarible表示,去年年初,它开始聚合来自OpenSea的销售订单,以增加自己的多链NFT市场流动性。Rarible.com联合创始人Alex Salnikov称,在过去的几个月里,Rarible用户可以通过Rarible的Activity页面访问OpenSea数据。(Decrypt )[2022/1/8 8:35:05]

中币(ZB)与FERRARI达成深度战略合作:据官方消息,中币(ZB)集团旗下知名交易平台中币已与金融智能链FERRARI达成深度战略合作,共同布局去中心化金融生态,双方将在Smartchain(智能链)、DEX(去中心化交易平台)、SWAP(流动性矿池)等领域展开多方面的技术合作并共同布局包括基于Eth1、Eth2以太坊信标链等领域的流量共享。

中币(ZB)作为全球前 5 的数字资产交易平台,2013 年成立至今,已为全球超过 1000 万人提供数字资产交易服务,有超过 7 年半的安全运营历史,日均交易额 30 亿美金以上,其中BTC、ZB、EOS、XRP 主流币种成交额长期位居榜首。

FERRARI智能链是由资深金融行业从业者和DEFI领域技术极客早在2018年创立,是首个链接DeFi(去中心化金融)和CeFi(中心化金融)的去中心化智能链,为开发者提供一站式去中心化金融产品发布平台。[2020/12/2 22:50:11]

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

MXC抹茶即将上线RARI 和DEGO,开放USDT交易:据官方公告,MXC抹茶考核区9月23日20:30、21:30将分别上线 RARI (Rarible )和DEGO(Dego Finance ),开放USDT交易,现已开放充值和提现。

资料显示,RARI是 基于NFT 的数字收藏和交易平台 Rarible 推出的治理代币,用户可以通过 Rarible 铸币,购买和出售数字收藏品,而不需要任何编码技能;DEGO采用模块化组合设计理念,将不同的产品组合到一个系统中,以达到1+1>2的效果。详情请点击原文链接。[2020/9/23]

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

根据官方描述,从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:yudan@慢雾安全团队

标签:EFIARITALTOTSEFI币Talaria InuBNBeanstalkTOTM价格

以太坊最新价格热门资讯
ALC:观察 | 一文透视以太坊DeFi发展现状:稳定币、DEX和借贷表现亮眼_稳定币局

作者?|?Lukeposey?原标题:《Glassnode丨发展至今,DeFi现状如何?》在短短8个月内,DeFi已经吸引了超过1000亿美元的资金进入合约.

EFI:金色早报 | 数字人民币公测升级 网商银行(支付宝)正式入列_稳定币和加密货币

头条 ▌数字人民币公测升级网商银行正式入列数字人民币子钱包再度扩容,国内首批互联网银行之一的网商银行成为尝鲜者,成为第七家参与公测试点的商业银行.

EFI:一文详解DeFi保险_区块链

"在DeFi生态系统中,保险仍然是利基市场。但是,随着保险领域的成熟以及机构参与者的加入,保险可能会成为DeFi的最大支柱之一.

GMT:行情分析 | 交易所大幅流入,大饼4万以下见?_GMTK

金色财经合约行情分析 | BTC再次向上突破将测试近三月高点:据火币BTC永续合约行情显示,截至今日18:00(GMT+8),BTC价格暂报10265美元(+4.17%).

OOKS:风靡海外 comet彗星币大热_COM

美国通胀,全球买单!70年代的滞胀历史会重演?资产缩水成为每个人都正在面临的头等风险。大到资本家小到平头百姓,手里的钱不再值钱,但实体经济还未完全复苏,海外疫情还未完全控制,国内房地产也政策越收.

COM:全面竞争!世界大国纷纷在数字货币上较劲?前沿专家解读_Rufferal.com

本文大概4000字,读完共需7分钟编者按:4月26日,中国人民大学重阳金融研究院高级研究员、北京航空航天大学教授,清华长江讲座教授,北航数字社会与区块链实验室主任蔡维德.