慢雾认为,本次攻击的核心在于利用Cream借贷池对抵押物价格获取的缺陷,恶意拉高抵押物价格,使攻击者可以从Cream借贷池借出更多代币。
撰文:慢雾安全团队
据慢雾区消息,2021年10月27日,CreamFinance再次遭受攻击,损失约1.3亿美金,慢雾安全团队第一时间介入分析,并将简要分析分享如下。
攻击核心
本次攻击的核心在于利用Cream借贷池对抵押物价格获取的缺陷,恶意操控拉高了其抵押物的价格,使得攻击者可以从Cream借贷池借出更多的代币。
攻击细节
首先攻击者从DssFlash中闪电贷借出5亿个DAI,随后将借出的5亿个DAI抵押至yearn的yDAI池中,以获得约4.5亿个yDAI凭证。
慢雾:JPEG'd攻击者或已将全部6106.75枚ETH归还给项目方:8月4日消息,慢雾MistTrack监测显示,JPEG'd攻击者或已将全部6106.75枚ETH归还给项目方。[2023/8/4 16:18:46]
随后攻击者将获得的yDAI代币在Curve的yDAI/yUSDC/yUSDT/yTUSD池子中进行单币流动性添加,以获得相应的流动性凭证。紧接着攻击者就将获得的凭证抵押到yvWBTC池子中以获得yUSD凭证,为后续在CreamcrYUSD借贷池中抵押做准备。
之后攻击者开始向Cream的crYUSD借贷池中抵押其获得yUSD凭证,为了扩大其抵押规模,攻击者从AAVE闪电贷借出约52.4万个WETH,并将其抵押到Cream的crETH池子中。
攻击者通过在crETH池子中抵押大量ETH,来使得其有足够的借贷能力将crYUSD池子中的yUSD全部借出并重复抵押到crYUSD池子中,随后通过在crYUSD池子中进行循环贷以杠杆的形式扩大了本身在crYUSD池子中yUSD的抵押规模,为后续操控价格获利做准备。
慢雾:Poly Network再次遭遇黑客攻击,黑客已获利价值超439万美元的主流资产:金色财经报道,据慢雾区情报,Poly Network再次遭遇黑客攻击。分析发现,主要黑客获利地址为0xe0af…a599。根据MistTrack团队追踪溯源分析,ETH链第一笔手续费为Tornado Cash: 1 ETH,BSC链手续费来源为Kucoin和ChangeNOW,Polygon链手续费来源为FixedFloat。黑客的使用平台痕迹有Kucoin、FixedFloat、ChangeNOW、Tornado Cash、Uniswap、PancakeSwap、OpenOcean、Wing等。
截止目前,部分被盗Token (sUSD、RFuel、COOK等)被黑客通过Uniswap和PancakeSwap兑换成价值122万美元的主流资产,剩余被盗资金被分散到多条链60多个地址中,暂未进一步转移,全部黑客地址已被录入慢雾AML恶意地址库。[2023/7/2 22:13:22]
随后为了获得yDAI/yUSDC/yUSDT/yTUSD4Pool凭证以操控价格,攻击者用约1,873个ETH从UniswapV3中兑换出约745万个USDC,并通过Curve3Pool将其兑换成DUSD代币约338万个。
慢雾:跨链互操作协议Poly Network遭受攻击并非由于网传的keeper私钥泄漏:对于跨链互操作协议Poly Network遭受攻击事件,慢雾安全团队分析指出:本次攻击主要在于EthCrossChainData合约的keeper可由EthCrossChainManager合约进行修改,而EthCrossChainManager合约的verifyHeaderAndExecuteTx函数又可以通过_executeCrossChainTx函数执行用户传入的数据。因此攻击者通过此函数传入精心构造的数据修改了EthCrossChainData合约的keeper为攻击者指定的地址,并非网传的是由于keeper私钥泄漏导致这一事件的发生。[2021/8/11 1:47:48]
接下来攻击者通过获得的DUSD代币从YVaultPeak中赎回yDAI/yUSDC/yUSDT/yTUSD4Pool凭证,并利用此凭证从yUSD(yvWBTC)池子中取回yDAI/yUSDC/yUSDT/yTUSD代币。
慢雾:Cover协议被黑问题出在rewardWriteoff具体计算参数变化导致差值:2020年12月29日,慢雾安全团队对整个Cover协议被攻击流程进行了简要分析。
1.在Cover协议的Blacksmith合约中,用户可以通过deposit函数抵押BPT代币;
2.攻击者在第一次进行deposit-withdraw后将通过updatePool函数来更新池子,并使用accRewardsPerToken来记录累计奖励;
3.之后将通过_claimCoverRewards函数来分配奖励并使用rewardWriteoff参数进行记录;
4.在攻击者第一次withdraw后还留有一小部分的BPT进行抵押;
5.此时攻击者将第二次进行deposit,并通过claimRewards提取奖励;
6.问题出在rewardWriteoff的具体计算,在攻击者第二次进行deposit-claimRewards时取的Pool值定义为memory,此时memory中获取的Pool是攻击者第一次withdraw进行updatePool时更新的值;
7.由于memory中获取的Pool值是旧的,其对应记录的accRewardsPerToken也是旧的会赋值到miner;
8.之后再进行新的一次updatePool时,由于攻击者在第一次进行withdraw后池子中的lpTotal已经变小,所以最后获得的accRewardsPerToken将变大;
9.此时攻击者被赋值的accRewardsPerToken是旧的是一个较小值,在进行rewardWriteoff计算时获得的值也将偏小,但攻击者在进行claimRewards时用的却是池子更新后的accRewardsPerToken值;
10.因此在进行具体奖励计算时由于这个新旧参数之前差值,会导致计算出一个偏大的数值;
11.所以最后在根据计算结果给攻击者铸造奖励时就会额外铸造出更多的COVER代币,导致COVER代币增发。具体accRewardsPerToken参数差值变化如图所示。[2020/12/29 15:58:07]
随后攻击者开始进行此次攻击的关键操作,其将约843万个yDAI/yUSDC/yUSDT/yTUSD代币直接转回yUSD池子中,由于其不是通过正常抵押操作进行抵押的,所以这843万个yDAI/yUSDC/yUSDT/yTUSD代币并没有被单独记账,而是直接分散给了yDAI/yUSDC/yUSDT/yTUSD凭证的持有者,这相当于直接拉高了其share的价格。
动态 | 慢雾:巨鲸被盗2.6亿元资产,或因Blockchain.info安全体系存在缺陷:针对加密巨鲸账户(zhoujianfu)被盗价值2.6亿元的BTC和BCH,慢雾安全团队目前得到的推测如下:该大户私钥自己可以控制,他在Reddit上发了BTC签名,已验证是对的,且猜测是使用了一款很知名的去中心化钱包服务,而且这种去中心化钱包居然还需要SIM卡认证,也就是说有用户系统,可以开启基于SIM卡的短信双因素认证,猜测可能是Blockchain.info,因为它吻合这些特征,且历史上慢雾安全团队就收到几起Blockchain.info用户被盗币的威胁情报,Blockchain.info的安全体系做得并不足够好。目前慢雾正在积极跟进更多细节,包括与该大户直接联系以及尽力提供可能需求的帮助。[2020/2/22]
在crToken中由于其抵押物价格被恶意拉高了,因此攻击者抵押的大量yUSD可以使其借出更多的资金,最后攻击者将Cream的其他15个池子全部借空。接下来我们跟进Cream的crToken借贷池中具体借贷逻辑。
从cToken合约中我们可以看到,主要借贷检查在borrowAllowed函数中:
我们跟进borrowAllowed函数,可以看到在427行,其会根据getHypotheticalAccountLiquidityInternal函数检查实时状态下的该账户所对应的所有cToken的资产价值总和和借贷的资产价值总和,并通过对比cToken的资产价值和借贷的Token价值和,来判断用户是否还可以继续借贷。
我们跟进getHypotheticalAccountLiquidityInternal函数,可以发现对于抵押物的价值获取来自886行的oracle.getUnderlyingPrice。
我们跟进预言机的getUnderlyingPrice函数,可以容易的发现其将通过代币150行的getYvTokenPrice函数进行价格获取。
继续跟进getYvTokenPrice函数,由于yvTokenInfo.version为V2,因此将通过yVault的pricePerShare函数进行价格获取。
跟进pricePerShare可以发现其直接返回了_shareValue作为价格,而_shareValue是通过_totalAssets除合约的总share数量(self.totalSupply)来计算单个share的价格的。因此攻击者只需要操控_totalAssets将其拉高就可以提高单个share的价格从而使得攻击者的抵押物价值变高以借出更多的其他代币。
我们可以查看下_totalAssets是如何获取的,从772行我们可以很清晰的看到,_totalAssets是直接取的当前合约的yDAI/yUSDC/yUSDT/yTUSD代币数量,以及抵押在策略池中的资产数额相加获得的。因此攻击者通过直接往yUSD合约中转入yDAI/yUSDC/yUSDT/yTUSD代币就可以拉高share价格从而完成获利。
通过Ethtx.info可以清晰的看到pricePerShare前后变化:
最后攻击者在借空其他池子后归还了闪电贷获利离场。
总结
本次攻击是典型的利用闪电贷进行价格操控,由于Cream的借贷池在获取yUSD池子share价格时直接使用了其pricePerShare接口,而此接口是通过合约的抵押物余额与策略池抵押资产数额相加除总share数来计算单个share的价格的。因此用户直接往yUSD转入抵押物就可以很容易的拉高单个share价格,最终使得Cream借贷池中抵押物可以借出更多的资金。
附:前两次CreamFinance被黑分析回顾
慢雾:CreamFinance被黑简要分析
王者开局偶遇猪队友——简析AlphaFinance&Cream被黑
来源链接:mp.weixin.qq.com
免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。
慢雾
慢雾
慢雾科技是一家专注区块链生态安全的国家高新技术企业,通过「威胁发现到威胁防御一体化因地制宜的安全解决方案」服务了全球许多头部或知名的项目。慢雾科技的安全解决方案包括:安全审计、威胁情报、漏洞赏金、防御部署、安全顾问等服务并配套有加密货币反、假充值漏洞扫描、漏洞监测、被黑档案库、智能合约防火墙、SafeStaking等SAAS型安全产品,已有商业客户上千家。慢雾慢雾科技慢雾AML慢雾安全Slowmist查看更多CreamFinance
为了帮助用户更好地进行收益管理,Gate.io将在其官方博客提供丰富及时的行业资讯、独家研究报告等优质内容,为大家提供全方位的策略支持.
1900/1/1 0:00:00自Polygon、Avalanche、Fantom等公链开启上亿美元的生态激励计划之后,NEAR官方也在近日宣布将推出「8亿美元生态基金」,用于激励生态应用发展.
1900/1/1 0:00:00据美国司法部官网显示,佛罗里达州南区检察官办公室于当地时间10月29日发布消息称57岁中国商人JianxiangShi在拉斯维加斯举行的加密货币风投会议上被捕,并被指控欺诈和滥用美国非移民签证.
1900/1/1 0:00:00公告编号2021102802各位关心ZBG的投资者们和项目方:合约交易大赛已圆满结束,活动奖励均已发送完毕。奖励查看方式:登录ZBG账户—资产—账单—“活动奖励”.
1900/1/1 0:00:00Facebook预计,仅2021年,其元宇宙项目就将耗资至少100亿美元,而Facebook的目标是让元宇宙的规模达到10亿人.
1900/1/1 0:00:002021年以来,NFT、GameFi、新公链、Layer2、比特币ETF等细分领域都轮番上演高光时刻.
1900/1/1 0:00:00