火星链 火星链
Ctrl+D收藏火星链
首页 > OKB > 正文

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

作者:

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

前言

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

分析

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

基础信息

攻击合约:0x6A6d593ED7458B8213fa71F1adc4A9E5fD0B5A58

攻击者地址:0x12EfeD3512EA7b76F79BcdE4a387216C7bcE905e

攻击tx:0xca8dd33850e29cf138c8382e17a19e77d7331b57c7a8451648788bbb26a70145

Azuki OpenSea交易额超CloneX,目前排名第7:3月31日消息,据OpenSea数据显示,Azuki系列NFT OpenSea总交易额已超CloneX系列,达154,583.62ETH(约合5.27亿美元),目前排名第7。[2022/3/31 14:29:24]

漏洞合约:0xc06826f52f29b34c5d8b2c61abf844cebcf78abf

流程

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

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

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

3.使用depositSafe存入79999997的USDC。

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

FTX宣布与NFL球员Aaron Jones达成合作:金色财经报道,FTX Trading Ltd.今天宣布与绿湾包装工队跑卫Aaron Jones建立长期合作关系。除了担任FTX大使外,Jones还购买了FTX的股权。作为交易的一部分,Jones先生的报酬将以加密货币支付。Jones表示,“我计划通过 FTX 美国交易所将我未来营销收入的一部分投资于加密货币和其他区块链相关资产。”(prnewswire)[2021/9/28 17:13:20]

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

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

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

8.把1.501miMATIC兑换成1.433USDC。

动态 | Block.one:NouGit计划于2020年发布git资源库平台:Block.one昨日发推称洛杉矶黑客松获胜团队NouGit计划在2020年发布git资源库平台。[2020/1/22]

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

细节

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

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

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

动态 | 老布什儿子曾花30万美元参加OneCoin“加密女王”出席的一场会议:美国第41任总统乔治·赫伯特·沃克·布什(George HW Bush)的儿子Neil Bush曾花费30万美元参加加密局OneCoin始作俑者、“加密女王”Ruja Ignatova出席的会议。前Locke Lord律师Mark Scott目前因参与OneCoin加密货币局而受审。他在法庭上声称,他不知道OneCoin参与了任何形式的非法交易,对于这个项目没有区块链亦不知情。Law360援引案件记录称,Scott及其律师向美国地区法官Edgardo Ramos辩称,作为投资者的Neil Bush曾花费30万美元参加Ignatova出席的一个会议,这让Scott觉得OneCoin是合法的。(Finance Magnates)[2019/11/18]

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

动态 | Block.one 发布人才招聘信息:Block.one 在推特发布人才招聘信息,并表示:从工程师到设计师,从研究人员到营销人员,我们正在寻找有才能的人加入我们的团队。[2019/6/13]

而在?_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价格造成差值从而获利。

标签:USDANCNCEONEASUSDSpray FinanceGlitter FinanceOneKeyCard是哪个国家的

OKB热门资讯
BIT:体验金嗨全场,社区迎新无门槛,单用户最高可获310 USDT!

Dcoin合约体验金首轮福利即空降合作社区,双重福利,惊喜不尽,单用户最高可获310USDT!活动时间:2022.03.28-03.31活动详情:福利一:社区新人专享1、报名社区新用户注册即可获.

1900/1/1 0:00:00
GLO:BKEX 关于上线 STG(Stargate Finance) 并开放充值功能的公告

尊敬的用户:?????????BKEX即将上线STG,详情如下:上线交易对:STG/USDT??币种类型:AVAX-C充值功能开放时间:已开放交易功能开放时间:2022年3月24日20:00提现.

1900/1/1 0:00:00
HAI:除了提供数据和API服务之外,企业还能如何在智能合约经济中变现?

区块链技术的核心价值主张正在从cryptocurrency转向智能合约,这与当年互联网从电子邮件发展至万维网的路径如出一辙。智能合约效率更高且对手方风险更小,因此势必将成为主流的数字协议.

1900/1/1 0:00:00
FUTUR:中币开放APE和MINA提币业务

尊敬的中币用户:????中币现已开放APE和MINA提币业务。感谢您对中币的支持与信任!中币运营团队2022年3月24日关注我们电报:https://t.me/ZB_support中币推特:ht.

1900/1/1 0:00:00
区块链:关注女权 8V.com全球首发女权币FM 推进女性平权

3月8日,为了创造更加包容和公平的企业文化,并捍卫女性在数字未来中的地位与价值。英国知名元宇宙生态加密货币交易所8V.com与女权币FeministMetaverse(FM)Coin项目方达成链.

1900/1/1 0:00:00
加密货币:如何管理风险和尽责交易

风险管理是交易不可或缺的部分。透过适当的风险管控,您可以减少损失并防范自己损失全部的交易资本。如果风险可以管控,您就可以增加在市场中获利的机会.

1900/1/1 0:00:00