月亮链 月亮链
Ctrl+D收藏月亮链
首页 > MEXC > 正文

USD:OneRing Finance闪电贷攻击事件分析_NCE

作者:

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

前言

北京时间2022年3月22日,知道创宇区块链安全实验室?监测到Fantom生态稳定币收益优化器OneRingFinance遭到闪电贷攻击,黑客窃取逾145万美元。

分析

攻击事件如下图所示,该次攻击事件的问题点在于OneRingFinance直接使用交易对中的reserves来实时进行OShare的价格计算,攻击者通过Swap操作提高reserves的量,最终拉升OShare的价格,获取更多的资金。

基础信息

攻击合约:0x6A6d593ED7458B8213fa71F1adc4A9E5fD0B5A58

攻击者地址:0x12EfeD3512EA7b76F79BcdE4a387216C7bcE905e

攻击tx:0xca8dd33850e29cf138c8382e17a19e77d7331b57c7a8451648788bbb26a70145

某“SmartMoney”地址4天前低位买入PEPE,当前收益超4500倍:金色财经报道,据Lookonchain监测显示,某“SmartMoney”4天前花费0.125枚ETH(251美元)购买了5.9T枚PEPE(目前114万美元)。如果该地址以0.0000001933美元的当前价格出售,将获得约114万美元利润,收益超4500倍。[2023/4/19 14:13:10]

漏洞合约:0xc06826f52f29b34c5d8b2c61abf844cebcf78abf

流程

攻击者的核心攻击流程如下:

攻击者从USDC/MIM交易对中闪电贷借出8000W的USDC到攻击合约中。

2.攻击者使用swap把1USDC兑换成1.001miMATIC。

3.使用depositSafe存入79999997的USDC。

NFT项目“IO: Imaginary Ones”总交易额突破1500万美元:金色财经消息,据NFTGo最新数据显示,NFT项目“IO: Imaginary Ones”总交易额突破1500万美元(目前为1644万美元),24小时交易额在OpenSea排名第2,目前地板价为0.85ETH。[2022/4/28 2:36:38]

4.合约mint给攻击者41965509OShare,此时攻击者还有2USDC和1.001miMATIC。

5.攻击者将2USDC和0.326miMATIC添加流动性,获得7.82x10-7spLP。

6.将41965509的OSharewithdraw兑换成81534750的USDC。

7.移除流动性获取0.790USDC和0.862miMATIC。

8.把1.501miMATIC兑换成1.433USDC。

OneRing确认遭到闪电贷攻击,黑客窃取逾145万美元:3月22日消息,Fantom生态稳定币收益优化器OneRing发文表示,北京时间3月22日02:44:10,黑客通过闪电贷攻击窃取了1454672.244369枚USDC,且合约已被配置为在特定区块自毁,因此几乎不可能跟踪合约中的哪些特定功能被调用以窃取资金。目前,团队已暂停保险库,正在努力重新设置。并且团队正在制定为受影响的人提供具体的中长期还款计划,此外,OneRing宣布将提供被盗资金的15%以及1,000,000个RING代币作为返还资金的赏金。此前,派盾报告显示,Fantom生态稳定币收益优化器OneRing疑似遭到攻击。[2022/3/22 14:10:24]

9.归还8000WUSDC和80080USDC的手续费,最净获得?1534750-80080=1454670?USDC

细节

攻击者在攻击之前通过CelerNetwork的cBridge跨链获得了发起攻击所需的gas。

声音 | 分析师Tone Vays:BTC在减半前或暴跌至4000美元:尽管BTC再次突破1万美元,但加密货币分析师Tone Vays仍然坚持自己的看跌预测。他认为,比特币在减半之前的几个月里可能会暴跌至4000美元:“(距离减半)还有两个月的时间,一切皆有可能。”(Bitcoinist)[2020/2/10]

通过流程第二步我们可以看出当时USDC和miMATIC的兑换率为约1:1.001,而通过流程第三步和第四步的?swap?后可以在第五步中看到USDC和miMATIC的兑换率变成了约1:0.163,所以我们需要重点分析?deposit?函数和?withdraw?中计算价格的问题。

分析交易的Debugger,可以看到调用的是?depositSafe?函数。

查看?depositSafe?函数,其内部会调用?_deposit?函数,继续跟进,发现在?_deposit?函数中又调用了?_doHardWorkAll?函数,最后?mint?OShare给攻击者。

声音 | MEET.ONE?创始人:POS能让更多用户行使自己的权利 使用户和钱包之间产生新的关系:MEET.ONE?创始人 Goh在今日“StakingCon —— Staking生态”大会上表示,在POW的时代,持币者无法参与生态,而在POS世界,用户需要为自己选择的公链选择出有意义、有价值的节点,并且不同的节点有不同的特性,持币者需要根据自己的判断去进行选择。而DPOS、POS公链的所有的节点都要为生态发出声音,这是今年POS、Staking火爆的原因之一。POS让更多用户行使自己的权利,同时,pos使得用户和钱包之间有了新的关系。[2019/7/10]

而在?_doHardWorkAll?函数中使用了for循环将部分存入的USDC全部兑换成其他的代币。

执行此次?depositSafe?函数时?getSharePrice?计算的OShare价格为?1062758591235248117。

接下来我们看下?getSharePrice?函数的代码,在?getSharePrice?函数中调用了?balanceWithInvested?函数,而在?balanceWithInvested?函数中又调用了?investedBalanceInUSD?函数。

继续跟进,investedBalanceInUSD?函数是在合约?MasterChefBaseStrategy?中,其合约地址为:https://ftmscan.com/address/0xdbc07e219ba0cb5fddcd0fa0c5cc1eddfb77e082#code

investedBalanceInUSD?函数返回的是?getUSDBalanceFromUnderlyingBalance?函数,在?getUSDBalanceFromUnderlyingBalance?函数中可以发现合约使用两个代币的数量进行计算,而前面攻击者由于闪电贷存入了大量的USDC,从而使得最终的?_amount?的值也变大了。再次回到?getSharePrice?函数中就可以发现,_sharePrice?也会相应变大。

流程第六步使用了?withdraw?函数。

在?withdraw?函数中我们发现同样调用了?getSharePrice?计算OShare价格,在该阶段为?1136563707735425848,OShare的价格的确变大了,而最终的取款数量是通过内部调用?_withdraw?函数计算得到的。

_withdraw?函数中最终取款的值为?_realWithdraw,而?_realWithdraw=_toWithdraw.mul(uint256(10)**uint256(ERC20(_underlying).decimals())).div(uint256(10)**uint256(decimals()));,所以我们再看到?_toWithdraw,发现其值同样是由?balanceWithInvested?计算得到的,所以这就会导致最终将OShare兑换成USDC变多。

总结一下:

USDC↑->_amount↑->getUSDBalanceFromUnderlyingBalance(_underlyingBal)↑->investedBalanceInUSD()↑->balanceWithInvested()↑->_sharePrice↑

USDC↑->_amount↑->getUSDBalanceFromUnderlyingBalance(_underlyingBal)↑->investedBalanceInUSD()↑->balanceWithInvested()↑->_toWithdraw()↑->_realWithdraw()↑

后续处理

针对此次攻击,OneRingFinance团队采取了四种补救措施,包括暂停保险库,分析、调试、修复漏洞,通过财政库还款,以及提供漏洞赏金。

保险库状态:保险库已暂停,OneRingFinance团队正在努力重新设置。

分析、调试、修复:OneRingFinance团队已工作了很多小时,来修复允许黑客执行这次攻击的问题,团队已与许多合格开发者、协议合作,以查漏协议中所有的代码,协议有漏洞是完全出乎意料的,甚至对一些高级开发人员来说也是如此,因为他们以前审查过OneRingFinance的代码。

通过协议财政部还款:该团队正在制定一项计划,为受影响的人提供具体的中长期还款计划。

赏金:团队将提供被盗资金的15%以及100万RING代币,作为黑客返还资金的赏金。

总结

该次攻击事件是由于项目使用实时储备量来计算价格导致攻击者通过闪电贷借出大量USDC并存入使得储备量增大拉升OShare价格造成差值从而获利。

标签:USDANCNCEINGusdk币2022年TenSpeed.FinanceBent FinanceBitcoinSaving

MEXC热门资讯
PEER:以太坊主动数据同步简析_以太坊

一、前言开门见山,以太坊数据同步是以节点作为数据载体存放和传输主要以Header,Body,Reciept组成的数据主体,通过以太坊p2p通信协议管理数据同步事务.

1900/1/1 0:00:00
Chain:声誉代币,Web3世界的社交名片?_EXRNchain

翻译:PonziCurator编辑&排版:Vera本文来自TheSeeDAO。重新思考一个问题:在以社区为本的去中心化元宇宙中,我们应如何更好地建立声誉机制、认同机制和奖赏机制.

1900/1/1 0:00:00
ETH:Foresight Ventures市场周报:市场多维度向好,链游赛道融资加速_etha币价格

现货观点:本周BTC持续上涨。技术层面是整体偏多,BTC处于周线级别调整尾声,当前上涨距离牛熊分界线已是近在眼前。ETH周线级别突破,这次ETH明显强于BTC,主要是转POS减产影响.

1900/1/1 0:00:00
BOX:BitWell研究院——MOBOX(MBOX)项目解析_mbox币最新价格

1、研究院短评近期的元宇宙概念项目,市面上为数不多真正创作游戏的项目,正规的游戏团队,可玩性很高。开展了yieldfarming,TVL已经达到了1亿美金.

1900/1/1 0:00:00
SDT:流動性挖礦用戶服務協議_EXO

ZT現已推出流動性挖礦服務,為?戶提供流動性挖礦服務,用戶在使用ZT流動服務時,請仔細閱讀並同意以下《流動性挖礦服務協議》:?戶參與流動性挖礦須遵守以下條例:1.用戶使用流動性挖礦服務時.

1900/1/1 0:00:00
DAO:详解DAO工具的现状:如何更好的建立DAO工具?_WEB3.0币

DAO工具是最近加密大V们茶余饭后经常讨论的话题。投资者、要么从事的就是DAO工具的工作没有即是投资者又从事DAO工具工作的人。但肯定也有一些挑战.

1900/1/1 0:00:00