前言
北京时间2022年3月22日,知道创宇区块链安全实验室监测到Fantom生态稳定币收益优化器OneRingFinance遭到闪电贷攻击,黑客窃取逾145万美元。
分析
攻击事件如下图所示,该次攻击事件的问题点在于OneRingFinance直接使用交易对中的reserves来实时进行OShare的价格计算,攻击者通过Swap操作提高reserves的量,最终拉升OShare的价格,获取更多的资金。
基础信息
攻击合约:0x6A6d593ED7458B8213fa71F1adc4A9E5fD0B5A58
攻击者地址:0x12EfeD3512EA7b76F79BcdE4a387216C7bcE905e
攻击tx:0xca8dd33850e29cf138c8382e17a19e77d7331b57c7a8451648788bbb26a70145
漏洞合约:0xc06826f52f29b34c5d8b2c61abf844cebcf78abf
流程
攻击者的核心攻击流程如下:
加密公司One Trading获得3000万欧元融资:金色财经报道,加密交易平台 Bitpanda 面向机构和专业交易者的子公司 Bitpanda Pro已经分拆成一家名为One Trading的独立公司。这家新实体还在由Peter Thiel的Valar Ventures领投的a轮融资中筹集了3000万欧元。
本轮融资由 Peter Thiel 的 Valar Ventures 领投,MiddleGame Ventures、Speedinvest、Keyrock 和 Wintermute Ventures 参投。此外,Bitpanda 也将保留该公司的股份。[2023/6/28 22:05:46]
攻击者从USDC/MIM交易对中闪电贷借出8000W的USDC到攻击合约中。
2.攻击者使用swap把1USDC兑换成1.001miMATIC。
3.使用depositSafe存入79999997的USDC。
Monex Group第二季度税前利润达72亿日元,同比增长238%:10月29日消息,日本券商和加密货币交易所运营商Monex Group公布了本财年第二季度的财务报告。报告显示,其收入和利润同比大幅增长。该季度的收入为248亿日元,比2020年第二季度高出64%。该集团的税前利润也激增了238%,达到72亿日元。但是,从季度来看,这两个数字分别下降了9.1%和36%。该集团当季度的净利润为47亿日圆。据悉,Monex Group的业务可分为四个关键领域:加密货币交易所Coincheck、美国在线经纪商TradeStation、日本在线经纪商Monex,以及亚太地区的其他几个品牌。该集团收入的主要驱动因素仍是日本蓬勃发展的加密货币需求。(Finance Magnates)[2021/10/29 6:20:12]
4.合约mint给攻击者41965509OShare,此时攻击者还有2USDC和1.001miMATIC。
5.攻击者将2USDC和0.326miMATIC添加流动性,获得7.82x10<sup>-7</sup>spLP。
公告 | 火币全球站暂停MEET.ONE提币业务:据火币公告,火币全球站支持MEET.ONE主链换币,为了配合项目方做好换币的相关准备工作,将于间4月26日15:00点关闭MEET.ONE旧币提币业务。[2019/4/26]
6.将41965509的OSharewithdraw兑换成81534750的USDC。
7.移除流动性获取0.790USDC和0.862miMATIC。
8.把1.501miMATIC兑换成1.433USDC。
9.归还8000WUSDC和80080USDC的手续费,最净获得1534750-80080=1454670USDC
声音 | Block.one发起黑客马拉松问卷调查:约60%的人倾向推动区块链大规模采用:Block.one 在推特发起了关于黑客马拉松问卷调查“目前为止 EOS 黑客马拉松你最喜欢的主题是?”大约60% 的人选择了推动区块链大规模采用,21% 的人选择创造经济影响,14% 的人选择提高用户安全性,余下6%的人选择了可持续环境。目前距离该调查问卷结束还有6天。[2018/10/19]
细节
攻击者在攻击之前通过CelerNetwork的cBridge跨链获得了发起攻击所需的gas。
通过流程第二步我们可以看出当时USDC和miMATIC的兑换率为约1:1.001,而通过流程第三步和第四步的swap后可以在第五步中看到USDC和miMATIC的兑换率变成了约1:0.163,所以我们需要重点分析deposit函数和withdraw中计算价格的问题。
分析交易的Debugger,可以看到调用的是depositSafe函数。
声音 | BiMoney任锋:坚信数字资产安全技术将惠及韩国千家万户:今日,BiMoney首席生态官任锋出席韩国济州岛WBF峰会并发表演讲时指出,目前数字资产不安全是阻碍行业发展的一大障碍,也是摆在所有区块链用户面前的一大障。只有让用户切身享受到区块链的价值,同时通过整个行业的努力避免用户风险、降低用户操作门槛,才能让更多用户享受到区块链带来的世界变革。任锋还表示,坚信数字资产安全技术最终将惠及韩国千家万户。[2018/9/15]
查看depositSafe函数,其内部会调用_deposit函数,继续跟进,发现在_deposit函数中又调用了_doHardWorkAll函数,最后mintOShare给攻击者。
而在_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价格造成差值从而获利。
标签:USDANCNCEBALUSDZ价格Helicopter FinanceInfluencer FinanceShibaLink
Tether:将跨链转换共计10.2亿枚USDT,USDT总供应量不变5月12日消息,USDT发行商Tether宣布,Tether将与第三方协调进行跨链转换.
1900/1/1 0:00:00本周摘要:-V神参加了上海ETHWeb3.0开发者峰会,并就即将发生的TheMerge做了全面的演讲.
1900/1/1 0:00:00Polkadot生态研究院出品,必属精品波卡一周观察,是我们针对波卡整个生态在上一周所发生的事情的一个梳理,同时也会以白话的形式分享一些我们对这些事件的观察.
1900/1/1 0:00:00Apr.2022,VincyDataSource:FootprintAnalytics-April2022ReportDashboard4月,GameFi游戏项目数从1,406个增长到1.
1900/1/1 0:00:00借款和贷款是DeFi的两个重要部分,但它们一直缺少一个有效的操作凭证:去中心化的信用评级。 贷款和借款的概念与时间本身一样古老.
1900/1/1 0:00:00说起元宇宙,大家第一时间能想到什么?是头号玩家里的时空穿越还是Facebook改名“Meta”时宣传片里的虚拟办公?都说站在风口猪都可以飞起来,而元宇宙无疑就是最近最大的风口.
1900/1/1 0:00:00