广告

Rari 被黑事故攻击细节分析

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

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

攻击细节分析

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

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

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

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

从上面的分析不难发现,Rari 合约最终是用到了 Alpha Finance 项目的 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 充值到 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@慢雾安全团队

24小时热点

BIBOX交易所无耻收割,限制提币

全球排名第6的Bibox虚拟币交易所违法运营,无耻收割,限制 ...

74655

CCFOX

满币交易所彻底崩盘

满币交易所彻底崩盘 「实锤」“满币网”高 ...

24796

T网

十大传销盘之:MASK币

MASK币 女装大佬开的项目,价格已经惨不忍睹 ...

100976

中国虚拟币排名

icp币怎么样?icp币的未来前景怎么样?

ICP币是近年来备受瞩目的数字货币之一,它是互联网计算机协议 ...

26534

Dune Analytics

全面解析以太坊挖矿视频教程

以太坊挖矿需要准备硬件平台、挑选挖矿显卡、准备系统驱动及软件 ...

2577

波场区块链浏览器

Dogwifhat (WIF)大幅飙升52%突破2美元 应该购买3个Solana生态迷因币

Meme币作为高风险、高波动又高回报的代币,其价格常常受市场 ...

23927

Business2Community

WBTC币(Wrapped Bitcoin)在那里下载?

WBTC(Wrapped Bitcoin)是一种基于以太坊网 ...

5042

Curve

元宇宙原力币未来潜力惊人,拉多先生:Forcecoin并不是作为一种替代币而诞生的

现如今加密货币的世界当中,每一个币种都会有着独自的价值,其中 ...

47736

波场区块链浏览器

Dogecoin狗狗币再次市值超越Cardano 迷因币季节到来要买哪些币可以是千倍币?

Dogecoin市值再次超越Cardano一事引发业内关注。 ...

6051

Business2Community

“千寻”数字藏品简介

“千寻”数字藏品是一套非常珍贵的数字藏品,由中国艺术家杨互君 ...

13015

泰达币交易平台
广告

热点专题

NFT艺术品到底是什么?

Beeple,“EVERYDAYS: THE FIRST 5 ...

2296117

Opera House

最全的NFT发展史

当我们理解一个新生事物,必须要首先了解其起源,通过对其源头以 ...

1738276

iBox

“华英会”诈骗圈钱5000亿!崩盘后将会凄惨无比

“华英会”崩盘的预警已多次发出,尽管尚未正式宣布崩盘,但大家 ...

1259301

Magic Eden

什么是IDO?这种模式会带来怎样的影响?

要理解IDO(Initial DeFi Offering)初 ...

1137794

Bitstamp交易所

有黑客采取新型 USDT 假充值手法

根据慢雾区情报,有黑客采取新型 USDT 假充值手法,黑客采 ...

991024

区块链博客

4种利用永续合约资金费率套利的策略

下文将介绍在保持市场中立的条件下,如何从永续掉期资金费率中套 ...

893993

DCG区块链孵化器

国内NFT平台是怎么赚钱的?

2021年被称为NFT的“元年”,互联网巨头、各大企业、艺术 ...

793373

CoinBene满币网

链圈百科:韩国政府机构组织图

一、行政院 韩国行政院是一个由政府的行政机构组成的中央政府 ...

781741

BitKeep钱包

元宇宙平台合法吗

现在,元宇宙平台备受热捧,但有人质疑其合法性。在此,我们将对 ...

724433

T网

宝二爷郭宏才的乘风破浪之旅

10年后的比特币会涨到10万美元吗?宝二爷说过:“先吹吹牛B ...

700414

QuillAudits