月亮链 月亮链
Ctrl+D收藏月亮链
首页 > 区块链 > 正文

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

作者:

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

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

攻击细节分析

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

LooksRare NFT市场总用户量突破10万:金色财经报道,据Dune Analytics数据显示,LooksRare NFT市场总用户量已突破10万,本文撰写时为109,792,交易总量超27万笔(当前为270,752笔),交易总额达到26,415,383,830美元。[2022/8/8 12:08:52]

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

多链开源NFT协议Rarible Protocol将集成Immutable X:5月24日消息,多链开源NFT协议Rarible Protocol正在集成Layer2扩容解决方案Immutable X,将使基于该协议的项目能够通过Immutable X在以太坊上允许用户低成本交易NFT。Rarible Protocol由NFT市场Rarible开发,是一套面向NFT构建者的工具,目前由Rarible DAO治理。[2022/5/24 3:38:26]

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

NFT市场LooksRare和官方代币LOOKS正式上线:官方消息,NFT市场LooksRare和官方代币LOOKS正式上线。用户在2021年6月16日至2021年12月16日期间,在OpenSea交易3 ETH及以上,就有资格获得LOOKS代币空投。[2022/1/10 8:38:39]

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

花花公子与 SuperRare 合作推出的 NFT 系列将于7月10日展出:花花公子与 SuperRare 合作推出的 NFT 系列将于7 月 10 日在 Decentraland 艺术周上展出。 该展览名为“迈阿密海滩艺术收藏”,展出Ayla El-Moussa、REK0DE、Jon Noorlander、MBSJQ 的艺术作品,以及 1970 年花花公子兔子在滑水板上的原始照片。花花公子的艺术策展和编辑副总裁 Liz Suman表示,“在探索新的艺术形式时,花花公子总是冒险的,而数字艺术是接下来的重要一步!”(Decrypt)[2021/7/10 0:41:26]

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

Gate.io即将开启投票上币第四十七期Rarible(RARI):据官方公告,Gate.io将于10月13日(今日)中午12:00开启第四十七期投票上币项目Rarible(RARI),投票结束时间为10月14日(明日)上午10:00。在本轮投票中,RARI如获得1000万票,Gate.io将上线RARI对USDT交易,参与投票的用户均可分享1,000 RARI空投奖励。详情请见原文链接。[2020/10/13]

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

标签:ETHARIRARITAL3X Short Tether Gold TokenRari Governance TokenRariblePeseta Digital

区块链热门资讯
ARCH:三分钟读懂ArcherDAO:套利者与矿工共同受益的MEV解决方案_ARC

随着以太坊应用层DeFi业务的大规模应用创新,区块空间开始被复杂的交易逻辑填满,而区块空间及未确认交易池的透明性和开放性,为价格发现过程的参与者带来了新的机会和挑战,MEV就是这一特性的产物.

1900/1/1 0:00:00
比特币:美国财长耶伦称利率可能“不得不”上升,市场反应剧烈,现在没有足够的加密货币监管框架_比特币行情图历年

美国财政部长耶伦美国周二上午表示,利率可能“必须有所上升”,以防止美国经济过热,而这一桶冷水导致市场快速做出反应。比特币市场也不例外,在耶伦发表上述言论后比特币跌幅一度超过7%.

1900/1/1 0:00:00
RTF:虚拟时尚平台RTFKT获得800万美元融资,A16z领投_比特币

虚拟时尚平台RTFKT在一轮融资中筹集了800万美元。该公司专门从事数字运动鞋和其他虚拟配件。虚拟时尚平台RTFKT在由安德森·霍洛维茨牵头的一轮融资中筹集了800万美元.

1900/1/1 0:00:00
EFI:读懂DeFi四大金融原语的演变:流动性、杠杆、风险和套利_央行数字货币是稳定币吗为什么

DeFi的发展突飞猛进,基于可组合性的各种创新层出不穷,但背后仍然有迹可循、有因可归。投资机构Playground风险合伙人在Medium博客撰文指出,流动性、杠杆、风险和套利是驱动DeFi市场.

1900/1/1 0:00:00
以太坊:在gas成本降低和DeFi复兴之后,以太坊价格达到了历史新高_ORT

分析师预计,由于柏林升级导致gas费下降和DeFi活动激增,以太坊价格将上涨至历史新高。 由于去中心化金融和NFT等热门领域的增长,加密货币的主流采用在2021年继续达到新高.

1900/1/1 0:00:00
加密货币:20%资本利得税引投资者不满 韩国财长:将按计划推进加密货币征税_丘比特币是什么意思

据韩联社消息,韩国将按计划在明年对加密货币的资本利得征税。韩国财政部长HongNam-ki周二表示,尽管越来越多的投资者呼吁推迟对加密货币的资本利得征税,但韩国将按计划在明年对其征税.

1900/1/1 0:00:00