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 函数获取余额。如下图:
鲍威尔:肯定存在经济衰退的可能性,但这不是美联储的意图:6月22日消息,美联储主席鲍威尔表示,肯定存在经济衰退的可能性,但这不是美联储的意图。(金十)[2022/6/22 1:24:53]
流程上略微复杂,用图来展示大概就是下面这样:
从上面的分析不难发现,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@慢雾安全团队
《觅新》是金色财经推出的一档区块链项目观察类项目,覆盖行业各领域项目发展情况,具体设计到项目概况、技术进展、募资情况等,力图为您呈现热门新潮的项目合辑。 本文翻译已经得到VeradiVerdict授权。 NEAR协议最近推出了彩虹桥,彩虹桥是与以太坊跨链工具。
最近,一场由“车顶维权”引发的风暴,把特斯拉推上了舆论的风口浪尖。事故发生时行车数据的披露,并没有一锤定音地解决争议,反而引发了更多关于数据可信度的争议。双方各执一词,让真相在“罗生门”中模糊不清,也生动地展现了可信信息缺失给消费者维权造成的困境。 5月6日,就在相关争议余波未消之际,国产汽车品牌奇瑞“官宣”了与蚂蚁链在区块链领域的技术合作。
据路透社报道,电商巨头 eBay 宣布允许在其平台上出售数字收藏品NFT,包括有关 NFT 交易卡、图片或视频片段等数字收藏品,成为首家探索NFT热潮的电子商务公司。 eBay表示,短期内将向符合eBay标准的卖家提供一份NFT产品清单,并称,未来用户有望看到他们可以购买和销售的更广泛类别的NFT产品的程序、政策和工具。
加密评级机构韦氏评级曾发推称,“所有DeFi贷款仍然是超额抵押,这意味着你需要抵押的资产比借入的更多。对于大多数用户来说,这是一个交易杀手,也是我们没有看到太多DeFi用例的原因之一。” 在传统的金融中,资产在出售给投资者之前通常会被捆绑或证券化。
自早年的游戏币开始,互联网积分奖励就作为一种重要的商业模式,用于换取特定道具、会员权益等。在94 公告发布后,有的项目方将虚拟货币包装成互联网积分的概念。
数字资产兴起的时代背景 近些年,全球各国都在大力发展数字经济,中国将数字经济写进各种国家顶级的文件,落实到各个层级的政府工作当中,其他数字经济发展较为前沿的国家,例如美国、欧盟、德国、日本这些国家也出台了相关的政策,鼓励各行业将人工智能、大数据等新一代技术应用于农业、医疗、制造、金融等行业中,推进产业数字化转型。