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);}
Peter Schiff:BTC上涨源于现有持有人增持,并不是机构采用:4月13日消息,著名金融评论员兼Euro Pacific Capital首席执行官Peter Schiff发文称,他预测加密货币的机构采用将很快停止。他认为,BTC最近的反弹主要是由于现有持有人增持,而不是机构采用,这对加密货币的投资前景而言并不是一件好事。他还警告投资者要为下一次潜在的崩盘做好准备。(bitcoinist)[2023/4/13 14:02:04]
3)通过分析我们可以发现getBorrowLimit函数先通过getTotalAvailableCollateralValue函数计算出availibleCollateralValue,再将计算结果作为参数传入calcBorrowLimit函数中,最后返回具体的数量。我们先分析getTotalAvailableCollateralValue函数:
functiongetTotalAvailableCollateralValue(address_account)publicreturns(uint256){//getthenumberofLPvaultstheplatformhasuint256numVaults=lpVaults
Bitcoin Advisory创始人:比特币的波动性在完全采用之前不可避免:比特币咨询公司Bitcoin Advisory创始人Pierre Rochard发推称,如果比特币的价格直线上升,以追踪真实世界的潜在使用情况,那么它的风险就不足以阻止更多的人投资,动量交易者就会蜂拥而入导致泡沫。比特币的波动是不可避免的,直到完全被采用。[2020/10/21]
//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借出更多的稳定币了。
区块链开发商LayerX将成立“LayerX Labs”促进区块链采用:区块链开发商LayerX将于8月1日成立“LayerX Labs”。该组织将与行政机关、中央银行、学术机关和民间企业进行共同研究,进一步扩大社会对区块链的采用。(Coinpost)[2020/7/29]
分析思路验证
我们可以借助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。
2、我们可以在Ethtx.info发现在兑换前WETH-DAI池子的LPToken单价为58815427。
巨量兑换后WETH-DAI池子的LPToken单价为135470392。
莱特币创始人Charlie Lee:预付费电话卡充值服务支持采用莱特币闪电网络充值:提供预付费电话卡充值服务的Bitrefill公司宣布支持使用莱特币闪电网络进行充值。据悉,闪电网络可以大幅节约发送手续费,几近为零。该消息,莱特币创始人Charlie Lee在其社交账号予以了确认。[2018/3/29]
我们可以看到由于WETH数量的增加造成兑换后池子的总价值几乎翻倍了,因此单个LPToken在Warp中可借出的稳定币就更多了。
3、接下里如我们猜测的那样攻击者在拉高LPToken的价格后通过WarpControl合约的borrowSC函数分别借出DAI和USDC。
4、最后在Uniwsap的WETH-DAI池子总归还DAI,重新拿回34万枚WETH完成攻击操作。最后只需按部就班的归还闪电贷即可获利。
完整的攻击流程如下
1、攻击者部署攻击合约,并通过dydx与Uniswap闪电贷借出DAI和WETH。
2、攻击者拿出一小部分的DAI和WETH在Uniswap的WETH-DAI池中添加流动性,并获取LPToken。
3、攻击者使用添加流动性获取的LPToken抵押到WarpFinance中,为借出稳定币做准备。
中钞区块链研究院张一锋:法定加密货币一定会出现,未必采用区块链技术:中钞区块链研究院院长张一锋表示:“法定加密货币的出现是整个社会经济形态不断往前发展的必然趋势。在这一个完全数字化的互联网世界里,需要货币这样一种基础设施,这是数字世界成长过程必然产生的内在需求。如果法定加密货币缺位,就会出现像比特币、甚至包括支付宝在某种程度上也是在承担这个数字世界的准货币职能,这是时代进程与社会经济发展的自然逻辑延伸。至于法定加密货币是否采用区块链技术,目前还只能先验证,无论区块链技术可行或者不可行,尚不能为时过早的去断定。”[2018/3/5]
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
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意味着什么?
12月17日,Filecoin官方根据FIP-0009提案,发布了Lotusv1.3.0版本,这次升级主要免除成功提交时空证明消息的基本费用。这在一定程度上,可以降低矿工维护算力和挖矿的成本.
链闻消息,imToken孵化的DEXTokenlon发布TokenlonLitepaper,Litepaper中包含核心团队对Tokenlon的定位、期望、系统构架、代币用途、经济机制、治理.
前言 执行价$100,000的期权合约看似荒谬,但实际并非如此。对于该合约买卖双方而言,均可通过特定策略,实现盈利与风险控制.
13日下午,一条《星海湾大桥一家三口坠桥案”公审!他输光两千万携妻自杀跳海前杀死女儿》的文章在网络传播.
亲爱的BKEXer:?? ??? BKEXGlobal即将上线FITE,详情如下:上线交易对:FITE/USDT??充值功能开放时间:2020年12月22日15:00交易功能开放时间:2020年.
比特币周末两天连续冲高,价格一路突破24000,早上触及24288一线后又迅速下跌,但是又立马反弹上来,说明多头处于强势.