木星链 木星链
Ctrl+D收藏木星链

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

作者:

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

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

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

NFT市场Rarible宣布支持DOGAMí原生Token DOGA:金色财经报道,据Rarible官方社交媒体报道,该NFT市场已宣布接受区块链游戏DOGAMí原生Token DOGA,这意味着Rarible旗下250万月活用户可以使用自己的Tezos钱包直接连接到Rarible平台,并使用DOGA购买和出售所有基于Tezos区块链的NFT系列。

据此前相关报道,DOGAMí曾于2021年底完成600万美元融资,育碧和Animoca Brands等区块链游戏行业巨头参投。[2022/9/12 13:24:11]

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

NBA、NBPA与SORARE联合推出基于NFT的奇幻游戏:9月7日消息,NBA、NBPA与SORARE联合发布一款具有收藏价值的NFT梦幻篮球游戏,用户将能够收集NFT卡牌并为公开比赛建立阵容。[2022/9/7 13:14:43]

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

Rari Capital攻击者在Nomad事件中获利500万美元,并将资金转入TornadoCash:8月4日消息,派盾监测数据显示,Rari Capital(Arbitrum)被盗事件黑客相关地址0x72ccbb和0x76f455在Nomad跨链桥攻击事件中获利500万美元,并将资金转移到0x72ccbb,然后通过TornadoCash进行混币。

据此前报道,派盾发推称,Nomad跨链桥攻击者之一是Rari Capital被盗事件的黑客,在此次Nomad攻击中获利约300万美元。[2022/8/4 3:23:25]

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

Gem集成LooksRare后,LooksRare相比OpenSea的交易量占比已从1.8%提高至7.6%:3月15日,The Block研究员Thomas Bialek在社交媒体上发文表示,自3月8日NFT交易市场聚合平台Gem集成LooksRare后,LooksRare交易量相比OpenSea 的交易量比例已从1.8%提高至 7.6%。

此前报道,3月8日,NFT市场聚合平台Gem发布新功能,支持用户使用 Gem 买卖 LooksRare 平台上列出的 NFT 时,可同时赚取 LOOKS 奖励。[2022/3/15 13:57:32]

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

BKEX Global将于今日20:30上线RARI:据BKEX Global公告,BKEX Global将于2020年7月18日20:30(UTC+8)全球首发上线RARI(Rarible),开放交易对:RARI/USDT。

RARI为NFT交易平台Rarible的平台治理代币,采用流动性挖矿模式,可以通过在Rarible平台参与NFT交易获得代币。[2020/7/18]

根据官方描述,从 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 充值到 Rari Capital 合约中,此时从 ibETH 获取的比值还是正常的;

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

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

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

[参考链接]

Rari Capital 官方分析:

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

攻击交易(其中一笔):

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

By:yudan@慢雾安全团队

标签:ETHARIRARITALethw暴跌GARI NetworkFERRARI价格Digital Money Bits

火币交易所热门资讯
比特币:金色前哨 | Q1售出2.72亿美元BTC后 特斯拉CFO称公司将继续投资BTC

埃隆·马斯克Elon Musk的公司特斯拉今年2月购买了价值15亿美元的比特币。数据显示,特斯拉在第一季度出售了部分比特币,收益为2.72亿美元.

1900/1/1 0:00:00
数字货币:蔡维德:数字货币将成为世界地缘新战场?

要点摘录1.“数字货币取代美元成为世界储备货币。”这句话打翻了美国朝野、美国的金融界、美国的学术界,这意味着金融珍珠港事件突然发生了.

1900/1/1 0:00:00
以太坊:市值逼近摩根大通 以太坊能否有望年底前冲上1万美元?

比特币近期仍然陷于 54000-60000 美元的区间保持横盘震荡走势,同期以太坊继续飙升,5月9日晚间首次突破 4000 美元.

1900/1/1 0:00:00
BIT:韩国版"94"来临 币圈受不受影响?

17年9月4号,七部委宣布取缔ICO,当时币圈也迎来一波腥风血雨,当时消息不是监管,而是直接取缔。也就是所谓的一刀切,致使币圈血流成河,才有了纪念版的94.

1900/1/1 0:00:00
比特币:山寨季来袭:以太坊和DeFi已经为又一个火热的夏天做好准备

暴走时评:山寨季已经来了?受DeFi和以太坊的伦敦硬分叉承诺影响,ETH、DOGE和其他山寨币在刚刚过去的周末纷纷反弹至新高.

1900/1/1 0:00:00
SWAP:解析一季度DEX表现:PancakeSwap崛起 SushiSwap萎靡了?

DEX交易量在2021年第一季度出现了抛物线式的增长。本季度DEX交易量达到2170亿美元以上,比2020年第四季度增长236%,比2020年第一季度增长高达8012%.

1900/1/1 0:00:00