宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 聚币 > 正文

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

作者:

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

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

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

英超联赛与Sorare签订许可协议,允许Sorare用户收集、交易球员数字卡牌:1月30日消息,英超联赛(Premier League)与梦幻足球游戏 Sorare 签订一份为期四年的许可协议,用户将能够收集和交易代表所有 20 支球队球员的数字卡牌,并能够在 Sorare 游戏中使用。知情人士透露,Sorare 每年将向英超联赛支付数千万英镑以获得版权。根据协议,英超联赛还有权获得 Sorare 的股权。[2023/1/30 11:37:10]

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

Rari Capital在Fuse上的资金池遭到攻击,黑客获利近8000万美元:4月30日消息,Rari Capital在Fuse上的资金池遭到攻击,黑客获利近8000万美元。算法稳定币协议Fei Protocol表示如果黑客愿意归还被盗资金,愿意提供1000万美元赏金。[2022/4/30 2:42:33]

以上是 deposit 函数的部分逻辑,首先 deposit 函数本身会调用内部的 _depositTo 函数,然后会再次调用 getFundBalance 函数来获取合约的余额。getFundBalance 函数最终是会调用到 Rari Controller 合约的 getBalance 函数去获取余额。最后是通过 Rari Controller 合约中的 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]

AC更新Loot类游戏Rarity代码库 已部署“Goods”栏目代码:9月9日消息,YFI创始人AndreCronje更新了Fantom链上Loot类游戏Rarity的代码库。此次更新将”Codex”模块代码进行了更替,Items组分中的“Goods”栏目代码被部署到游戏合约地址。目前,武器、盔甲、炼金术、矿物等游戏成分的代码尚在设计中。[2021/9/9 23:12:57]

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

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

亿万富翁Mark Cuban代币化视频剪辑片段在Rarible上22分钟销售突破50枚ETH:据线上教育平台Course Champ创始人Kris Kay在推特上透露,亿万富翁、NBA达拉斯独行侠队老板Mark Cuban代币化个人视频剪辑片段在NFT交易平台Rarible上只用了22分钟销售额就达50 ETH,按照当前价格计算约合9万美元。对此,马克·库班回应称:“这只是一个开始”。[2021/2/10 19:23:40]

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

标签:ETHARIRARITALETHFIN价格STARINU价格RARI价格DigitalNote

聚币热门资讯
领风者:为什么是西方 尤其是美国领跑NFT破圈的浪潮?

摘要:主流社会不排斥文化和技术的融合尝试,如果人类社会注定走向虚拟,那么NFT可以负责“虚拟什么”,而DeFi负责“价值多少”,无论人类最终走向何方,总要有精神寄托和物理栖身之所,元宇宙注定不会空荡荡.

1900/1/1 0:00:00
CEO安鑫鑫:挖矿产业是区块链的基石

金色财经现场报道,4月25日,2021新基建区块链峰会在成都举办。在分布式存储新时代分会场上,金色财经CEO安鑫鑫以《换个角度 看待区块链挖矿产业》为题进行分享.

1900/1/1 0:00:00
上原亚衣“打碎”NFT写真 新玩法再造天价NFT?

首个涉足NFT并成功开启了“女优+NFT”热潮的日本AV女优上原亚衣,在其《Ai HODL Bitcoin》NFT写真集中的三幅NFT写真分别在Rarible拍出2 ETH(Mosaic)、9 ETH(Splash)以及 20 ETH.

1900/1/1 0:00:00
金色数读 | 全球机构持仓数据一周速览(4.19-4.25)

全球机构持仓数据一周速览(4.19-4.25)金色财经报道,据欧科云链OKLink数据显示,截止4月25日,至少有超过34家公司支持比特币支付报酬,灰度减持BTC、LTC、ETH、BCH,ETC;更多数据见下图.

1900/1/1 0:00:00
金色趋势丨与趋势为伍 自然是赢家

据合约帝数据显示,最近24小时BTC全网合约成交量中开多比例为50.74%,开空比例为49.26%.

1900/1/1 0:00:00
读懂 Chia Network 矿工经济学:成本与收益究竟如何?

从挖矿过程、投入产出和挖矿风险及趋势等角度解读 Chia 挖矿。原文标题:《Chia FOMO 下详解经济账:成本与收益究竟如何》一夜之间,各个矿圈群的话题都集中到了 Chia,参与 Chia 挖矿的 FOMO 情绪大有盖过明星项目.

1900/1/1 0:00:00