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);}
报告:2022年更多游戏公司将采用区块链和P2E模式:2月24日消息,游戏研究公司Newzoo在一份报告中表示,该公司预测,随着游戏公司尝试采用区块链,P2E模式将在2022年变得更加可行:“发行商可能会使用区块链技术在一个中心化的游戏环境中促进更安全、更合法的玩家对玩家(player-to-player)交易。”
同时,盈利流多样化的需求可能会导致电子竞技组织通过使用NFT转向基于区块链的盈利机制。正因为如此,涉及区块链的新电竞商业模式开始出现,并将在2022年有更多的发展。
除此之外,该报告还显示,随着年轻玩家继续频繁参与《Roblox》、《堡垒之夜》和《我的世界》等现有的“原型元宇宙”游戏,与元宇宙相关的游戏也可能变得更加流行。(Cointelegraph)[2022/2/24 10:13:43]
3)通过分析我们可以发现getBorrowLimit函数先通过getTotalAvailableCollateralValue函数计算出availibleCollateralValue,再将计算结果作为参数传入calcBorrowLimit函数中,最后返回具体的数量。我们先分析getTotalAvailableCollateralValue函数:
英国资产管理公司Ruffer:传统金融机构将长期采用比特币:英国资产管理公司Ruffer(RICA.L)周一预测,传统金融机构将长期采用比特币(BTC-USD)。另外,花旗集团表示,加密货币可能正处于使用的临界点,比特币可能成为国际贸易的首选货币。(雅虎金融)[2021/3/1 18:03:58]
functiongetTotalAvailableCollateralValue(address_account)publicreturns(uint256){//getthenumberofLPvaultstheplatformhasuint256numVaults=lpVaults
//returntotalUSDCvalueofallcollateralreturntotalCollateral
4)对getTotalAvailableCollateralValue函数进行具体的分析我们可以看到此函数通过for循环来获得DAI、USDT、USDC的可借数量总和。我们可以发现在for循环的逻辑中通过Oracle
通过以上代码我们可以知道LP价格是如何得出的,以WETH-DAI池为例:其通过池子中WETH的数量乘WETH的价格加上池子中DAI的数量乘DAI的价格最后除以池子总的LPToken数量即可得到单个LPToken的价格。具体计算算式如下所示:
Chainlink推出新社区资助计划以推动智能合约采用:金色财经报道,Chainlink(LINK)最近推出了一项新的社区资助计划,旨在使智能合约成为“数字协议的主要形式”。[2020/8/5]
通过以上分析我们可以知道WETH的价格和DAI的价格获取是正常的,无法被恶意操纵,因此我们可以大胆猜测:攻击者通过将巨量的WETH打入WETH-DAI池子中换取DAI,这时候池子中WETH的数量将大大的增加,而由于滑点的存在,这种巨量兑换操作必然是会亏损一大部分WETH的。所以我们再看上面LP单价的计算方式,由于WETH数量的大大增加,在巨量兑换后池子中WETH数量*WETH价格池子中DAI数量*DAI价格将远大于巨量兑换前的,也就是池子的总价值大大增加了。所以LP的单价也随之提高了,因此攻击者就可以通过其抵押的LPToken借出更多的稳定币了。
分析思路验证
我们可以借助Ethtx.info来验证我们的猜测是否正确:
https://ethtx.info/mainnet/0x8bb8dc5c7c830bac85fa48acad2505e9300a91c3ff239c9517d0cae33b595090
动态 | V神针对“EOS节点内讧”,建议EOS采用Sharding:V神刚刚在推特转发有关“EOS节点内讧”:7个节点被同一中国节点控制的文章,并称:老实说,我认为EOS应该采用分片(Sharding:指为一种进行区块链扩容的分片技术),并将每个区块生成器分配给一个随机分片,这样两个共享基础设施的验证器就不会有什么好处,因为它们要验证不同的数据,也会增加他们的TPS。[2019/11/29]
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。
我们可以看到由于WETH数量的增加造成兑换后池子的总价值几乎翻倍了,因此单个LPToken在Warp中可借出的稳定币就更多了。
3、接下里如我们猜测的那样攻击者在拉高LPToken的价格后通过WarpControl合约的borrowSC函数分别借出DAI和USDC。
声音 | Lightning Labs首席架构师:FATF新规喜忧参半 可能会采用Travel Rule交易所共享数据功能:针对FATF今日凌晨公布的关于数字货币资产的新指南,专注比特币闪电网络拓展的商业公司Lightning Labs,其首席架构师Alex Bosworth表示对FATF新规感觉“喜忧参半”:一方面,该指南给予了数字货币交易所明确的合规指导;另一方面,极大地增加了数字货币交易所的运营成本。同时他提到了“Travel Rule”功能,常见于关系银行间在转账时,共享相关用户的资料,从而形成资产的流向图。他此前任职的加密货币安全公司BitGo已经使用了该技术,但是主流数字货币交易所当时并未采用。新规的出台侧面可能会促进该技术的采纳。[2019/6/22]
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
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意味着什么?
标签:TOKENKENHTTTPSHalving TokenSwancake Tokenhttps://etherscan.iotps币行情
目前100000人已关注加入我们扫一扫下载全网最新数据报告 查看完整报告请阅读全文 查看完整报告请阅读全文 以上资料均从网络公开资料收集整理而成.
HomiEx已完成"RSR交易送积分轮盘转不停"所有奖励已全部分发,请在“钱包-资产记录”查看分发结果.
尊敬的社区用户: 霍比特交易所举行的“锁仓nYFI,享300%-600%超高年化收益”活动,额外的nYFI空投奖励已发放,请注意查收.
尊敬的用户: 欢度圣诞,喜迎新年,为庆祝GUSDT上线WBF交易所,WBF联合GUSDT项目方开展“欢度圣诞,温暖献礼”活动.
最近Filecoin挖矿gas费用过高的问题面对不合理的gas费用,Filecoin正式正在努力从多方面解决问题。关于FilecoinFIP-9的建议.
纵论Defi世界的方向:比特傻今夜喝醉,想起昨夜和友人的纵论天下defi大势,诸君请看:真实世界中最大的金融业态:央行,银行,资管,借贷,保险,交易。我们注意对应defi世界看看.