宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 火币下载 > 正文

一文解析DeFi平台MonoX被盗千万美元全过程

作者:

时间:1900/1/1 0:00:00

原标题|千万美元被盗——DeFi平台MonoXFinance被黑分析

作者|九九@慢雾安全团队

2021年11?30?,据慢雾区消息,DeFi平台MonoXFinance遭遇攻击,本次攻击中约合1820万美元的?WETH和1050万美元的MATIC被盗,其他被盗Token包括WBTC、LINK、GHST、DUCK、MIM和IMX,损失共计约3100万美元。慢雾安全团队第?时间介?分析,并将简要分析结果分享如下。

攻击核心

本次攻击的核?在于利?swap合约中没有对池中传?和传出代币是否相同作检查,以此利?价格更新机制的缺陷,使得攻击者传?和传出代币相同时,价格被二次计算并覆盖,导致代币价格不断被推?,并以此代币换出池中的其他代币来获利。

相关信息

MonoX是?种新的DeFi协议,使?单?代币设计?于流动性池。这是通过将存?的代币与vCASH稳定币组合成?个虚拟交易对来实现的。其中的单?代币流动性池的第?个应?是?动做市商系统-Monoswap,它在2021年10?时推出。

Kraken上以太坊永续合约日交易量达到4个月以来的低点:金色财经报道,Glassnode alerts数据显示,以太坊在Kraken上的永续合约交易量(24小时)刚刚达到4个月以来的低点6,777,430.65美元。[2023/5/14 15:02:12]

攻击者地址1:

0xecbe385f78041895c311070f344b55bfaa953258

攻击者地址?2:

0x8f6a86f3ab015f4d03ddb13abb02710e6d7ab31b

攻击合约?1:

0xf079d7911c13369e7fd85607970036d2883afcfd

攻击合约2:

0x119914de3ae03256fd58b66cd6b8c6a12c70cfb2

CZ:若Justin Sun使用TUSD抢购LaunchPool Sui代币,将对其采取行动:5月1日消息,5 月 1 日,Binance 创始人兼首席执行官 CZ 在社交媒体发文表示,我们的团队告诉 Justin Sun,如果他使用任何一枚转入 Binance 的 TUSD 来获取 Launchpool Sui Token,我们将对其采取行动。Binance Launchpool 的目的是为我们的普通用户提供空投服务,而不仅仅是为了少数鲸鱼用户。

此前报道,波场 TRON 创始人 Justin Sun 在社交媒体发文表示:作为 TUSD 的合作做市商,TRON DAO Venture 充值进入交易平台的主要目的是为了搬平各大平台 TUSD 的价差,提高流动性挂单与交易量,目的不是参加相关交易平台内的活动。[2023/5/1 14:37:07]

攻击交易1:

数据:受Shapella升级推动,以太坊期权交易量创2022年5月以来新高:3月31日消息,The Block数据显示,在以太坊Shapella升级前,交易员正在对以太坊的价格进行押注。本月以太坊期权月度交易量创2022年5月以来的新高,芝加哥商品交易所(CME)的以太坊期权未平仓合约创历史新高。以太坊的Shapella升级将于北京时间4月13日06:27:35在epoch 194048处激活。[2023/3/31 13:36:28]

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

攻击交易2:

https://polygonscan.com/tx/0x5a03b9c03eedcb9ec6e70c6841eaa4976a732d050a6218969e39483bb3004d5d

数据:OFAC制裁后Tornado Cash转出ETH价值已超4000万美元:8月10日消息,据Dune Analytics数据显示,自8月8日美国财政部海外资产控制办公室(OFAC)针对Tornado Cash的禁令公布后,已有价值42,950,895美元的ETH从Tornado Cash转出,目前这些ETH被转入到了614个独立接收者和69个独立ENS地址。[2022/8/10 12:15:16]

攻击细节

1、首先攻击者调用Monoswap.swapExactTokenForToken:0.1个WETH换出79.986094311542621010个MONO。

2、接着攻击者利用漏洞移除池子中其他用户的流动性,并为添加攻击合约的流动性以此来获取最大的利益。

这里移除流动性处的漏洞在Monoswap.sol中的471-510行,移除池中流动性时通过removeLiquidity函数调用_removeLiquidityHelper函数,而这两个函数都未做调用者和传入的to参数的身份验证,所以可直接移除任意用户在池中的流动性。

以太坊失守2800美元/枚,日内跌幅4.69%:行情显示,以太坊失守2800美元/枚,日内跌幅4.69%。行情波动较大,请做好风险控制。[2022/4/30 2:40:59]

移除0x7b9aa6的流动性,把1670.7572297649224个MONO和6.862171986812230290个vCASH转出给0x7b9aa6;移除cowrie.eth的流动性,把152.9745213857155个MONO和0.628300423692773565个vCASH转出给cowrie.eth;移除0xab5167的流动性,把99940.7413658327个MONO和410.478879590637971405个vCASH转出给0xab5167;为攻击合约1在MONO代币流动池创建流动性。

3、紧接着攻击者调??55?次?Monoswap.swapExactTokenForToken以此来不断堆?MONO的价格。

这里攻击的核心是在Monoswap.sol中的swapExactTokenForToken函数,攻击者传入MONO代币使得tokenIn和tokenOut是相同的代币。

跟到swapIn函数中:

可以发现在swapIn函数中,调用了函数getAmountOut来计算价格。接着跟到getAmountOut函数中发现是利用了_getNewPrice函数来计算tokenInPrice和tokenOutPrice。

跟到_getNewprice函数中,发现当计算tokenInPrice时候传入的txType参数为TxType.SELL,此时:

当计算tokenOutPrice时候传入的txType参数为TxType.BUY,此时:

如果传入和传出为同一种代币时,价格计算式中的四个变量都相同,所以很容易得出tokenOutPrice会比tokenInPrice要大。

由于tokenIn和tokenOut是同一个token,swapIn函数在计算完价格后会再次调用_updateTokenInfo函数,使得tokenOutPrice的更新会覆盖tokenInPrice的更新,所以导致这个token的价格上涨。

4、最后攻击者调用swapTokenForExactToken函数用MONO来换出池子中的其他代币。

swapTokenForExactToken函数中调用了swapOut函数,而swapOut函数中计算价格是调用的getAmountIn函数。

在该函数中由于tokenInPoolPrice是取的MONO代币在池中的价格,而此价格在之前已被推高,导致tokenInPrice变大,计算最后的amountIn变小,用更少的MONO换出了原来相同数量的WETH、WBTC、MONO、USDC、USDT、DUCK、MIM、IMX等池子中的代币。

5、攻击者最终把攻击获利转入地址

0x8f6a86f3ab015f4d03ddb13abb02710e6d7ab31b。

以上为以太坊主链上的攻击分析,此外,攻击者除了在以太坊主链上进行攻击外,还在Polygon上进行了同样的攻击,攻击手法与以太坊主链上相同,此处不做过多重复的分析。

据慢雾AML统计,MonoXFinance最终损失约3400万美元,包括约2.1K个WETH、1.9M个WMATIC、36.1个WBTC、143.4K个MONO、8.2M个USDC、9.1M个USDT、1.2K个LINK、3.1K个GHST、5.1M个DUCK、4.1K个MIM以及274.9个IMX。

总结

本次攻击是利用了swap合约里没有对池中传入和传出代币作检查,从而利用价格更新机制的问题,由于在swap合约中会对池中传入和传出的代币的价格调用同一个函数_upTokenInfo来进行更新,而当传入和传出的代币为同一种代币时,第二次调用_upTokenInfo函数时,通过价格计算后的更高的tokenOutPrice会覆盖掉价格更低的tokenInPrice,以此来不断推高池中该代币的价格,最后可以换出池中其他的所有代币来获利离场。

标签:KENTOKETOKENTOKTokens of BabelThe Wrong Tokenjntktokenvethor-token

火币下载热门资讯
魔法元世界12月1日正式开启全球公测

万众期待的大型链游即将与全球玩家正式见面!据官方最新消息,游戏将于2021年12月1日正式开启全球公测,届时将在全球范围内招募第一批种子用户参与游戏公测,前1000名用户可使用100个MAC来预定公测资格.

1900/1/1 0:00:00
报告:比特币网络在价值转移上超越Paypal 将目光投向万事达卡

按美元价值计算,比特币网络处理的交易量已经超过了Paypal,而这一全球市值最大的去中心化加密货币网络最早可能在2026年超过万事达卡(Mastercard).

1900/1/1 0:00:00
Footprint:Polkadot创立至今 生态如何?

撰文:Footprint分析师Vincy(vincy/img/20230520114007902699/0.jpg "/>Polkadot当前基础数据显示数据来源:FootprintAnalytics数据:25.

1900/1/1 0:00:00
风投Variant Fund联合创始人:DAO是工人运动的下一阶段

原标题|VariantFund联创:DAO是工人运动的下一阶段作者|LiJin,VariantFund联合创始人编译:0x22D,律动BlockBeats本文梳理自VariantFund联合创始人LiJin在个人社交媒体平台上的观点.

1900/1/1 0:00:00
MetaMundo筹集270万美元 以推出第一个用于建设元宇宙的3D NFT 市场

用于构建元宇宙的3D?NFT市场MetaMundo今天宣布,它已经筹集了270万美元的种子资金.

1900/1/1 0:00:00
AAX学院梳理值得关注的优质太空加密项目

加密货币和区块链技术一直在颠覆全球的多个行业,如金融、游戏、供应链管理和数字身份。但如果我们告诉你,加密货币的影响力并仅仅不局限于一个地球呢?这是真的.

1900/1/1 0:00:00