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

By:慢雾安全团队

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

攻击细节分析

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

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

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

美国4月核心PCE物价指数年率4.7%,符合预期:金色财经报道,美国4月核心PCE物价指数年率4.7%,预期4.6%,前值4.6%。美国4月核心PCE物价指数月率0.4%,预期0.30%,前值0.30%。美国4月核心PCE物价指数月率录得0.4%,创2023年1月以来新高。[2023/5/26 9:44:29]

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

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

币安比特币钱包过去24小时增加近600枚BTC,当前余额50万枚上方:金色财经报道,据Coinglass数据显示,币安交易所比特币钱包过去24小时已增加558枚BTC,当前其比特币钱包余额已升至50万枚BTC上方,本文撰写时达到501,393.83枚BTC。[2022/12/20 21:56:23]

根据官方描述,从ibETH合约获取的totalETH函数获取的值是可以被用户操控的。以下是官方原文:

根据官方的描述,用户可通过ibETH合约的work函数操控totalETH函数返回的值,导致Rari整个价值计算公式崩溃。我们分别分析ibETH的work函数和totalETH函数:

totalETH函数:

work函数:

****

以上分别是ibETH合约中的totalETH函数和work函数的部分实现。不难发现totalETH函数其实就是获取合约的总的ETH的数量。而work函数,本身是一个payable函数,也就是说,用户是可以通过work函数来控制ibETH合约中的ETH数量从而来改变totalETH返回的值的。更糟糕的是,work函数同时还支持调用其他的任意合约。那么整个思路就很清晰了。

超过2.87万亿枚SHIB从未知地址转至另一未知地址:金色财经报道,Whale Alert监测数据显示,2,871,107,065,000枚SHIB(价值26,374,252美元)从未知钱包地址(0x1b...8cfa)转移至另一未知钱包地址(0x80...a0a0)。

据此前报道,Etherscan数据显示,北京时间12月5日12:24:23,超过1,060,594,914,048.89枚Shiba Inu(SHIB)从0xaeb9ec开头地址转入0xcf3910开头地址。大约5分钟后,0xcf3910开头地址将这些SHIB转移至Coinbase 10地址。[2022/12/9 21:34:23]

攻击流程

1、从dYdX中进行闪电贷,借出大量的ETH;

2、使用一部分的ETH充值到RariCapital合约中,此时从ibETH获取的比值还是正常的;

DJ和NFT爱好者使用CryptoPunks IP启动PUNX音乐项目:金色财经报道,DJ Steve Aoki和NFT爱好者Justin Blau(3LAU)合作开展了一个名为PUNX的概念性音乐和艺术项目,灵感来自他们自己持有的CryptoPunks NFT。根据一份新闻稿,该项目在其视觉图像中使用二人组的CryptoPunks。

3LAU表示该项目“不是NFT”,但表示该项目可能会在未来找到整合区块链技术的方法。Aoki称,“PUNX是一个前瞻性的概念音乐艺术项目,向我们喜爱的音乐和我们今天塑造的音乐致敬。”[2022/12/8 21:31:09]

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

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

美国时装设计师协会宣布与The Sandbox metaverse合作:金色财经报道,美国时装设计师协会(CFDA)宣布与The Sandbox metaverse合作。该贸易机构计划将Metaverse用于时尚展览,作为庆祝其60周年的回顾展。该展示将突出来自Ralph Lauren、Donna Karan、Oscardela Renta等品牌的设计。此外,当12月展览开幕时,一些设计师已同意创建NFT,这些NFT将出售给CFDA基金会。(ledgerinsights)[2022/9/8 13:17:43]

总结

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

****

RariCapital官方分析:

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

__

攻击交易(其中一笔):

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

往期回顾

慢雾AML升级上线,为资产追踪再增力量

慢雾创始人荣获厦门“双百计划”人才,获百万创新创业资金

狸猫换太子——DODO被黑分析

铸币疑云——PaidNetwork被盗细节分析

慢雾招募令:寻区块链安全弄潮儿

慢雾导航

慢雾科技官网

https://www.slowmist.com/

慢雾区官网

https://slowmist.io/

慢雾GitHub

https://github.com/slowmist

Telegram

https://t.me/slowmistteam

Twitter

https://twitter.com/@slowmist_team

Medium

https://medium.com/@slowmist

币乎

https://bihu.com/people/586104

知识星球

https://t.zsxq.com/Q3zNvvF

火星号

http://t.cn/AiRkv4Gz

链闻号

https://www.chainnews.com/u/958260692213.htm

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

本文来源于非小号媒体平台:

慢雾科技

现已在非小号资讯平台发布68篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9950521.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

Bitfinex一周简报

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

火币APPNFT:小安论币:炒币解套心态帖,小安分享

关于投资:如果您是新手,我可以跟您分享我的投资历程,教您操盘技巧;如果您半路出家,我可以帮您纠正做单陋习,带您挽回亏损;如果您是常胜将军,我们可以一起探讨切磋,成为志投道和的朋友.

FILGATE:Gate.io 已发CTI超级空投福利活动奖励公告

Gate.ioCTI超级空投福利活动已圆满结束,根据活动规则,我们已为符合规则的用户发放了活动奖励。用户可进入“账户管理—我的资金—账单明细”查询奖励发放情况。活动详情及规则请点击查看.

[0:0ms0-0:624ms