采用延时喂价还被黑?Warp Finance 被黑详解_ETH:WETH

By:慢雾安全团队

背景

2020年12月18日,据慢雾区情报DeFi项目WarpFinance遭受闪电贷攻击。以下是慢雾安全团队对整个攻击流程的详细分析。

攻击过程分析

(分析过程较多,快速了解攻击思路可以直接查看下方完整攻击流程部分)

1、通过攻击交易可以看出攻击者通过Uniswap和dydx闪电贷借出了约290万DAI和34

通过以上代码第11行我们可以看到合约通过collateralizedLP记录了攻击者抵押的LPToken的数量。

4、之后攻击者的操作是本次攻击最关键的一步:攻击者通过Uniswap的WETH-DAI交易对将大约34万的WETH兑换成约4762万DAI,此时WETH-DAI池子中约剩下有43

2)从上方代码第3、4行,我们可以发现WarpControl合约是通过getBorrowLimit函数来获得用户可以借出稳定的数量,接下来我们具体看getBorrowLimit函数:

*

functiongetBorrowLimit(address_account)publicreturns(uint256){uint256availibleCollateralValue=getTotalAvailableCollateralValue(_account);returncalcBorrowLimit(availibleCollateralValue);}

Coinbase协议负责人:Base考虑同时采用OP Stack和zk-proofs:金色财经报道,Coinbase协议负责人Jesse Pollak在巴黎ETHCC接受采访时表示,Coinbase的Base网络目前依赖于Optimistic Rollups来连接以太坊主网,但可以考虑扩展到包括zk-proofs。Pollak 表示,他预计到2024年,zk-rollups的多种实现(以zk proofs的形式)将包含在OP堆栈中。他预计这些将在Base、OP 主网和使用其代码库的其他网络中得到采用。[2023/7/21 11:08:05]

3)通过分析我们可以发现getBorrowLimit函数先通过getTotalAvailableCollateralValue函数计算出availibleCollateralValue,再将计算结果作为参数传入calcBorrowLimit函数中,最后返回具体的数量。我们先分析getTotalAvailableCollateralValue函数:

functiongetTotalAvailableCollateralValue(address_account)publicreturns(uint256){//getthenumberofLPvaultstheplatformhasuint256numVaults=lpVaults

法国非洲殖民地央行:中非采用比特币将对殖民地法郎体系产生“重大负面影响”:金色财经消息,据BitcoinMagazine发推称,法国非洲殖民地中央银行致信中非共和国总统,称其采用比特币将对殖民地法郎体系产生“重大负面影响”。

此前报道,中非共和国总统正式授权加密货币为法币,税收缴款接受加密支付。[2022/5/9 2:59:44]

//returntotalUSDCvalueofallcollateralreturntotalCollateral

4)对getTotalAvailableCollateralValue函数进行具体的分析我们可以看到此函数通过for循环来获得DAI、USDT、USDC的可借数量总和。我们可以发现在for循环的逻辑中通过Oracle

通过以上代码我们可以知道LP价格是如何得出的,以WETH-DAI池为例:其通过池子中WETH的数量乘WETH的价格加上池子中DAI的数量乘DAI的价格最后除以池子总的LPToken数量即可得到单个LPToken的价格。具体计算算式如下所示:

通过以上分析我们可以知道WETH的价格和DAI的价格获取是正常的,无法被恶意操纵,因此我们可以大胆猜测:攻击者通过将巨量的WETH打入WETH-DAI池子中换取DAI,这时候池子中WETH的数量将大大的增加,而由于滑点的存在,这种巨量兑换操作必然是会亏损一大部分WETH的。所以我们再看上面LP单价的计算方式,由于WETH数量的大大增加,在巨量兑换后池子中WETH数量*WETH价格池子中DAI数量*DAI价格将远大于巨量兑换前的,也就是池子的总价值大大增加了。所以LP的单价也随之提高了,因此攻击者就可以通过其抵押的LPToken借出更多的稳定币了。

Riot Blockchain正采用浸没式冷却技术进行加密货币挖矿:10月20日消息,纳斯达克上市比特币挖矿公司Riot Blockchain在其德克萨斯州的Whinstone中,有200兆瓦基础设施正采用浸没式冷却技术(immersion-coolingtechnology),可将加密货币挖矿效率提高50%。该浸没式冷却技术允许将矿机浸没在一种专门的液体中,在较低的温度下运行,从而形成一个更有效和稳定的环境。根据该公司初步的浸没式冷却测试结果,挖矿算力将提高25%,ASIC性能将增加50%。浸没式冷却建筑中的ASIC矿机初步部署预计将在2021年第四季度开始。[2021/10/20 20:43:09]

分析思路验证

我们可以借助Ethtx.info来验证我们的猜测是否正确:

https://ethtx.info/mainnet/0x8bb8dc5c7c830bac85fa48acad2505e9300a91c3ff239c9517d0cae33b595090

1、通过上文中第4点分析我们可以知道:攻击者通过Uniswap的WETH-DAI交易对将大约34万的WETH兑换成约4762万DAI,此时WETH-DAI池子中约剩下有43.6万枚WETH和1328.8万枚DAI,而在此之前池子里约有9.5万枚WETH和6091万枚DAI。

报告:高汇款费和卢比不稳定性驱动加密在印度的采用:最近的一份报告显示,印度对加密货币日益增长的需求是由降低汇款费用和更稳定的货币存储价值需求驱动的。据悉,有超过1700万印度人在境外工作,他们在2018年将800多亿美元汇回国内。他们向参与交易结算的中介机构支付了高达56.7亿美元的交易费。自最高法院裁定撤销印度储备银行对加密货币的银行禁令以来,印度加密交易活动有所增加。2020年第一季度,来自印度的OKEx访问量增长了545.56%,来自印度的新注册用户增长了4100%。此外,自冠状病蔓延以来,卢比兑美元已下跌约7%。由于复杂的外汇监管,印度人也发现很难将印度卢比兑换成更稳定的货币。(Cointelegraph)[2020/5/27]

2、我们可以在Ethtx.info发现在兑换前WETH-DAI池子的LPToken单价为58815427。

巨量兑换后WETH-DAI池子的LPToken单价为135470392。

我们可以看到由于WETH数量的增加造成兑换后池子的总价值几乎翻倍了,因此单个LPToken在Warp中可借出的稳定币就更多了。

3、接下里如我们猜测的那样攻击者在拉高LPToken的价格后通过WarpControl合约的borrowSC函数分别借出DAI和USDC。

声音 | 赵长鹏:经讨论后决定不采用重组方式来恢复被盗金额:赵长鹏发推表示,经讨论后决定不采用重组方式来恢复被盗金额。主要考虑因素有:1.可能会影响比特币的可信度;2.可能会导致比特币网络和社区分裂;3.这对于币安来说是一个教训。[2019/5/8]

4、最后在Uniwsap的WETH-DAI池子总归还DAI,重新拿回34万枚WETH完成攻击操作。最后只需按部就班的归还闪电贷即可获利。

完整的攻击流程如下

1、攻击者部署攻击合约,并通过dydx与Uniswap闪电贷借出DAI和WETH。

2、攻击者拿出一小部分的DAI和WETH在Uniswap的WETH-DAI池中添加流动性,并获取LPToken。

3、攻击者使用添加流动性获取的LPToken抵押到WarpFinance中,为借出稳定币做准备。

4、攻击者利用巨量的WETH在Uniswap兑换成DAI来拉高WETH-DAI池子的总价值,使得WarpFinance中LPToken的单价变高。(注意这里WETH和DAI价格获取是正确的并没有被操纵,被操纵的是WETH的数量,通过增加WETH的数量来拉高池子的总价值)。

5、由于LPToken的单价变高,导致攻击者抵押的LPToken可以借出更多的稳定币来进行获利。

总结

本次攻击的本质是通过操纵LPToken的单价来获取更多的稳定币可借贷数量进行获利的。这是由于在WarpFinance中LPToken的价格是通过LP池子的总价值除以LPToken的总数量得到的,虽然代币价格获取正确,但代币数量是可被操纵的,因此LP的单价就是可被操纵的,这就形成了攻击的必要条件了。最终项目方损失约800万美元,但攻击者抵押的LP也留在了Vault中,如果抵押的这部分LP后续可被清算的话可以一定程度上的弥补项目方的损失。

相关参考链接如下:

Uniswap预言机实现介绍:

https://uniswap.org/docs/v2/core-concepts/oracles/

本次分析的攻击交易:

https://etherscan.io/tx/0x8bb8dc5c7c830bac85fa48acad2505e9300a91c3ff239c9517d0cae33b595090

往期回顾

HackingTime区块链安全攻防峰会第二期来啦!

以小博大,简析SushiSwap攻击事件始末

假钱换真钱,揭秘PickleFinance被黑过程

闪电贷重入攻击,OUSD损失700万美金技术简析

如何使用闪电贷从0撬动百万美元?ValueDeFi协议闪电贷攻击简要分析

慢雾导航

慢雾科技官网

https://www.slowmist.com/

慢雾区官网

https://slowmist.io/

慢雾GitHub

https://github.com/slowmist

Telegram

https://t.me/slowmistteam

Twitter

https://twitter.com/@slowmist_team

Medium

https://medium.com/@slowmist

币乎

https://bihu.com/people/586104

知识星球

https://t.zsxq.com/Q3zNvvF

火星号

http://t.cn/AiRkv4Gz

链闻号

https://www.chainnews.com/u/958260692213.htm

本文来源于非小号媒体平台:

慢雾科技

现已在非小号资讯平台发布68篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9558996.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

币安为何推出第三条链?这对BNB意味着什么?

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

水星链

中币Harvest Finance 项目分析_VEST:VES

Overview概述 本文将针对HarvestFinance最近的火爆在产品层面做出解读。 Report报告 HarvestFinance最近的火爆有目共睹,一个月内锁仓量由151.48mill.

FTX以太坊「特修斯之船」_以太坊:ETH

如果张三欠了你的钱,时隔多年,张三用克隆技术复制了自己,说克隆体才是张三,原张三的债务关系一律作废。而克隆体除了模样与张三相差无几,在记忆上却是大相径同,完全不承认认识你,更别提欠你钱那档子事.

[0:15ms0-0:479ms