Cream Finance 攻击事件分析-ODAILY_USD:CREAM

前言

北京时间10月27日晚,以太坊DeFi协议CreamFinance再次遭到攻击,损失高达1.3亿美元。知道创宇区块链安全实验室第一时间跟踪本次事件并分析。

分析

基础信息

攻击者:0x24354D31bC9D90F62FE5f2454709C32049cf866b

攻击tx:0x0fe2542079644e107cbf13690eb9c2c65963ccb79089ff96bfaf8dced2331c92

Secret Network回应网络性能下降:引擎无法有效处理长时间计算,从而延迟交易执行:2月23日消息,隐私公链Secret Network在治理论坛回应近期的网络性能下降,表示在UTC时间 2 月 21 日晚上 11 点左右,Shade Protocol启动空投,参与用户很多,该项目在合约中大量使用了 secp256k1 签名验证,这在计算上非常昂贵。由于计算每个区块所需的时间,这些交易导致区块变慢,导致内存池被填满,从而延迟了交易的执行。为此,Secret Network未来几天将进行查询节点升级,这将允许节点服务更多的请求,并减少长时间区块计算的影响,并计划开发性能更高的引擎替换 WASM 引擎。长期而言,该项目还计划通过硬分叉让合约利用快速的内置合约构建块和更好的合约执行引擎。[2022/2/23 10:09:42]

攻击合约1:0x961D2B694D9097f35cfFfa363eF98823928a330d

印度金融科技公司CredAble完成3000万美元B轮融资:10月20日消息,印度金融科技公司CredAble周三宣布完成3000万美元B轮融资,Plutus Wealth Management及关联公司和原有投资者Oaks Asset Management共同领投。迄今总融资额约4000万美元。新资金将用于增强创新平台,进一步融入生态系统之中,为小企业提供定制的营运资金解决方案。该公司还致力于为企业和金融机构打造创新的债务资本市场产品。(Outlook India)[2021/10/20 20:43:12]

攻击合约2:0xf701426b8126BC60530574CEcDCb365D47973284

Cred债权人委员会要求法院下发文件逮捕Cred前CFO:3月17日消息,加密贷款平台Cred的债权人委员会正在请求法院,下发Cred前首席财务官James Alexander的逮捕令。债权人委员会认为James Alexander应该坐牢,除非其退还从Cred获得的比特币和其他资产。此前法院任命的审查员调查发现,James Alexander实际上为一名英国逃犯。此前消息,Cred在2020年10月份冻结了提款和存款,并于11月份宣布破产。此后,美法官先后否决了在破产案中冻结Cred的加密资产、以及任命受托人监督加密贷款机构Cred重组的动议。(华尔街日报)[2021/3/17 18:51:09]

流程

1、攻击者调用攻击合约10x961D的0x67c354b5函数启动整个攻击流程,首先通过MakerDAO闪电贷借来500MDAI,然后质押兑换成yDAI,将yDAI在CurveySwap中添加流动性获得ySwapToken凭证,再用于质押兑换成yUSD,最后在Cream中存入yUSD获得凭证crYUSD;

2、随后攻击合约10x961D调用攻击合约20xf701的flashLoanAAVE()函数,先通过AAVE闪电贷借来524102WETH,其中6000WETH转给攻击合约10x961D,剩下WETH存入Cream获得crETH。随后三次从Cream借出446758198yUSD,前两次借出后再次存入Cream获得crYUSD并转给攻击合约10x961D,第三次直接将借出的yUSD转给攻击合约10x961D,用于后面赎回;

3、flashLoanAAVE()函数紧接着调用攻击合约10x961D的0x0ed1ecb1函数,通过UniswapV3和Curve完成WETH=>USDC=>DUSD的兑换,通过YVaultPeak合约用383317DUSD赎回了3022172yUSD,加上第二步攻击合约20xf701转来的446758198yUSD,在ySwap中赎回约450228633ySwapToken凭证。并将其全部转给yUSD合约,导致Cream协议对抵押资产yUSD的价值计算剧增,最后借出大量ETH、CRETH2、xSUSHI等共15种资产,其中ETH转给攻击合约20xf701用于归还闪电贷;

4、最后赎回各资产成DAI,归还闪电贷。

细节

此次攻击的核心代码原因在于PriceOracleProxy喂价合约对抵押资产的价值计算出现问题,价格因子pricePerShare通过简单的资产数额占比来动态定价,而这种方式容易受到闪电贷的大额资产操控。

此次攻击的成因是多维度的,同样也反映出其他很多问题,比如Cream协议允许yUSD的重复循环地存入和借出、ySwap的凭证可直接转给yUSD等等。

总结

CreamFinance遭遇的闪电贷攻击的核心原因在于对抵押物价值的计算易被操控,使得攻击者通过闪电贷的巨额资金抬高了抵押物的价格,而超额借出了Cream金库的资产。

近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:0ms0-3:997ms