前言
北京时间2022年3月22日,知道创宇区块链安全实验室监测到Fantom生态稳定币收益优化器OneRingFinance遭到闪电贷攻击,黑客窃取逾145万美元。
分析
攻击事件如下图所示,该次攻击事件的问题点在于OneRingFinance直接使用交易对中的reserves来实时进行OShare的价格计算,攻击者通过Swap操作提高reserves的量,最终拉升OShare的价格,获取更多的资金。
基础信息
攻击合约:0x6A6d593ED7458B8213fa71F1adc4A9E5fD0B5A58
攻击者地址:0x12EfeD3512EA7b76F79BcdE4a387216C7bcE905e
攻击tx:0xca8dd33850e29cf138c8382e17a19e77d7331b57c7a8451648788bbb26a70145
漏洞合约:0xc06826f52f29b34c5d8b2c61abf844cebcf78abf
流程
攻击者的核心攻击流程如下:
BendDAO 社区投票通过将 Moonbirds 作为抵押品的提案:9月29日消息,NFT 借贷平台 BendDAO 社区已经投票通过将 Moonbirds 作为抵押品的提案,支持率为 99.97%。提案显示,建议的抵押比率为 30%,清算门槛为 80%。[2022/9/30 6:03:19]
攻击者从USDC/MIM交易对中闪电贷借出8000W的USDC到攻击合约中。
2.攻击者使用swap把1USDC兑换成1.001miMATIC。
3.使用depositSafe存入79999997的USDC。
4.合约mint给攻击者41965509OShare,此时攻击者还有2USDC和1.001miMATIC。
Domani DAO发布Avalanche蓝筹指数基金:3月1日消息,Domani DAO 发布 Avalanche 蓝筹指数基金 XAVABC。该指数基金追踪 Avalanche 生态系统顶级蓝筹 Token,现阶段组合主要构成为:Joe(30.2%)、Avalaunch(20.4%)、Crabada(13.3%)以及 BENQI(12.8%)。目前该指数已经上线基于 Avalanche 的 DEX 平台 Trader Joe。[2022/3/1 13:29:58]
5.攻击者将2USDC和0.326miMATIC添加流动性,获得7.82x10<sup>-7</sup>spLP。
6.将41965509的OSharewithdraw兑换成81534750的USDC。
7.移除流动性获取0.790USDC和0.862miMATIC。
去中心化资产管理市场AladdinDAO锁仓量超1.4亿美元:官方数据显示,去中心化资产管理市场AladdinDAO锁仓量(TVL)已达144495572.07美元,ALD现报0.677186美元,总供应量为8794961.88,每个区块的挖矿奖励为145 ALD。
此前消息,数十家加密货币投资机构联合推出去中心化资产管理市场AladdinDAO,旨在通过加密经济学的机制设计和DAO的方式改变风险投资的现有模式,激励DeFi参与者为社区成员选择最佳流动性挖矿项目,解决DeFi投资领域信息不对称的问题。AladdinDAO的创始成员包括Polychain、DCG、1kx、Multicoin Capital、CMS、Nascent、Alameda、DeFi Alliance、Robert Leshner、Kain Warwick、Hart Lambur、Alex Pack、Ashwin Ramachandran和Sharlyn Wu。[2021/9/11 23:17:05]
8.把1.501miMATIC兑换成1.433USDC。
MakerDAO发起有关添加USDT和PAX为抵押资产的投票:金色财经报道,据官方博客消息,Maker Foundation智能合约团队已将一项执行投票纳入投票系统。如果建议通过,将进行以下调整:1.USDT将作为抵押类型添加到Maker Protocol中;2.PAX将作为抵押类型添加到Maker Protocol中;3.将WBTC-A债务上限参数从8000万增加到1.2亿;4.调整基本费率元参数从-6%增加到-2%;5.任命Argent为Oracle Light Feed;6.任命MyCrypto为Oracle Light Feed。[2020/9/5]
9.归还8000WUSDC和80080USDC的手续费,最净获得1534750-80080=1454670USDC
细节
攻击者在攻击之前通过CelerNetwork的cBridge跨链获得了发起攻击所需的gas。
通过流程第二步我们可以看出当时USDC和miMATIC的兑换率为约1:1.001,而通过流程第三步和第四步的swap后可以在第五步中看到USDC和miMATIC的兑换率变成了约1:0.163,所以我们需要重点分析deposit函数和withdraw中计算价格的问题。
动态 | MakerDAO 将于11月18日晚正式启动多抵押 Dai:据官方消息,2019年11月16日,MakerDAO 通过多抵押 Dai 启动执行提案 - 多抵押 Dai 将于北京时间 11月18号 (周一) 晚12时正式启动。
主网合约的发布代表多抵押 Dai 从系统上已经准备完毕,目前 Dai 的债务上限设置为零。
11月18日晚12点,债务上限将激活为一亿五千三百万 Dai(一亿为 Sai 升级预留,五千万为多抵押 Dai 中 ETH 的债务上限,三百万为 BAT 的债务上限)。届时将意味着多抵押 Dai 系统正式启动,用户可以抵押生成 Dai,并升级单抵押 Sai 到 Dai。[2019/11/17]
分析交易的Debugger,可以看到调用的是depositSafe函数。
查看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价格造成差值从而获利。
标签:USDANCNCEUSDCUSDH币Kani.financeYearn Finance Networkhusdc币
继TRC-20USDT突破400亿,占USDT总发行量半壁江山之后,波场宣布进军去中心化算法稳定币市场.
在过去10年中,我们看到的一个主要趋势是加密货币的崛起。尽管经常被一些强大的长辈“diss”,但加密货币仍在不断壮大成长.
市场观点 宏观流动性 货币流动性更趋紧张。周四美联储主席鲍威尔称5月会议将加息50BP,并确认了市场多次加息50BP的预期.
后知后觉金钱消失术 在加密世界中,私钥管理和保持私钥安全性,一直是个重要的话题。近日,当下最流行的NFT游戏AxieInfinity侧链RoninNetwork受到黑客攻击,造成价值约6.1亿美.
北京时间2022年4月15日11点18分,CertiK审计团队监测到RikkeiFinance被攻击,导致约合701万元人民币资产遭受损失.
加密货币经常被描绘成一个金融狂野的西部,一个正在创造大量机会的行业,以及一系列新陷阱。像所有创新事物一样,当您使用加密货币时,您也会面临风险。我们不仅仅指价格波动.