月亮链 月亮链
Ctrl+D收藏月亮链

TOK:MonoX.Finance安全事件分析_KEN

作者:

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

前言

11月30日,知道创宇区块链安全实验室?监测到自动做市商协议MonoX.Finance遭黑客攻击,损失超3100万美元。实验室第一时间跟踪本次事件并分析。

攻击涉及信息

此次安全事件共有两次攻击分别发生在以太坊和polygon上。

简述攻击流程

本次攻击分析选用以太坊交攻击交易:0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299

1、黑客首先通过swapExactTokenForToken函数将0.1WETH兑换为79.9MONO

2、重复利用函数removeLiquidity移除Monoswap合约中的流动性,直至全部移除

知情人士:Binance.US与SEC的拟议协议已获联邦法官签署:6月17日消息,前SEC互联网执法办公室主任John Reed Stark发推称,Binance.US与SEC的拟议协议已获联邦法官签署。

此前消息,Binance、Binance.US和美国SEC宣布一项协议,以确保只有Binance.US员工才能访问客户资金。拟议协议仍需要监督此案的联邦法官签署。[2023/6/18 21:44:19]

3、通过函数addLiquidity添加自己操控的流动性

4、重复调用函数swapExactTokenForToken实现MONO->MONO的不合理兑换

5、最终利用被以上操作抬高价格的MONO兑换了WETH、WBTC、MONO、USDC、USDT、DUCK、MIM、IMX等从而获利。

Overclock Labs:正在基于Akash Network推出针对GPU的私人内部测试网:3月23日消息,Akash核心支持者Overclock Labs发推称,正在基于Akash Network推出针对GPU的私人内部测试网,在未来几周内,Overclock Labs将与Akash生态系统参与者一起推出第二个GPU测试网。[2023/3/23 13:20:24]

漏洞成因分析

分析攻击流程可以发现两个不合理的地方:

攻击者可以通过函数removeLiquidity移除了其他人添加的流动性攻击者通过函数swapExactTokenForToken不断重复MONO兑换MONO的操作

检查源码

对函数removeLiquidity源码进行分析

数据:截止目前,Chainlink质押累计质押价值逾7500万美元的LINK:金色财经报道,据Lookonchain监测,截至目前,Chainlink质押已有超过2,600个地址参与了质押,已质押约1057万枚LINK,价值约7501万美元。[2022/12/7 21:27:29]

可以看到函数removeLiquidity和它包含的内部函数_removeLiquidityHelper都没有对调用者进行权限限制,以及对需要被移除流动性的传参地址to进行验证,这导致了任意地址都能进行对该pool内所有流动性进行移除。

对函数swapExactTokenForToken源码进行分析

1、发现函数swapExactTokenForToken主要功能由函数swapIn实现,对函数swapIn进行跟进分析

好莱坞“喜剧之王”金·凯瑞以20ETH购入“The Wild Within”系列NFT作品:6月4日消息,好莱坞“喜剧之王”金·凯瑞(JimCarrey)在社交媒体上发文称自己第一次购买了NFT,但他并没有选择CryptoPunks或BAYC,这位喜剧演员选择的NFT作品Devotion是The Wild Within NFT系列中的一部分。金·凯瑞表示,他选择这个NFT是因为其捕捉自然的非凡方式和艺术价值,这幅作品通过NFT市场SuperRare上的MoonPay服务获得,售价20ETH,约合39,500美元。[2022/6/4 4:02:18]

2、发现获取token信息的函数getAmountOut,对函数getAmountOut进行跟进分析

3、发现tokenInPrice与tokenOutPrice的计算规则相同都是通过函数_getNewPrice计算,跟进到函数_getNewPrice

4、发现price的获取对应两种状态

SELL状态:价格=代币初始价格*代币存储量/(代币存储量+费用)

BUY状态:价格=代币初始价格*代币存储量/(代币存储量-费用)

很明显相同token在BUY状态下获取到的价格大于SELL状态

5.回到swapIn函数,当传入token价格被获取到后会按照token种类通过_updateTokenInfo进行token信息更新。

由于传入的token都为MONO所以:

当通过if(tokenIn==address(vCash))判断时,MONO获取到的价格是SELL状态下计算的价格;

当通过if(tokenOut==address(vCash))判断时,MONO获取到的SELL状态下的价格会被BUY状态下获取的价格覆盖;

因此当发生MONO兑换MONO操作时,MONO的价格会上升。

重新梳理攻击过程

第一步:黑客将0.1WETH兑换为79.9MONO作为启动资金

第二步:黑客移除了pool内全部流动性,防止攻击受到影响或者价格波动被检测到

第三步:黑客添加了自己控制的流动性,便于兑换操作

第四步:黑客通过重复MONO兑换MONO的操作,不断抬高MONO价格

第五步:利用已经被抬高的MONO兑换pool内其他资产达到获利目的

总结

本次安全事件问题其实并不复杂,主要原因在于monoswap合约在设计时没考虑到特殊情况下的价格覆盖问题,而可任意移除流动性的缺陷则更加方便黑客对于价格的操纵。

知道创宇区块链实验室官网

www.knownseclab.com

创宇存证平台|知道创宇唯一指定存证平台

创宇存证-可信数据,价值流转

联系我们

blockchain@knownsec.com

知道创宇区块链安全实验室导航

微信公众号

@创宇区块链安全实验室

官方网站

@知道创宇区块链安全实验室

微博

@知道创宇区块链实验室

https://weibo.com/BlockchainLab

知乎

@知道创宇区块链安全实验室

https://www.zhihu.com/org/zhi-dao-chuang-yu-qu-kuai-lian-an-quan-shi-yan-shi

Twitter

@KS_Blockchain

https://twitter.com/KSBlockchain

标签:TOKONOKENTOKENRoboFi TokenProtogonosVersal TokenGraf Token

火币交易所热门资讯
比特币:Twitter换帅股价却大涨,多尔西辞职后剑指Web3_ITT

出品|白泽研究院今天凌晨,Twitter公司在美通社上宣布,杰克·多尔西已决定辞去首席执行官一职,并且董事会一致同意任命帕拉格·阿格拉瓦尔为新任首席执行官,该决定立即生效.

1900/1/1 0:00:00
ACA:NewB.Farm收益农场FM电台开播 让您读懂什么是数字资产_defibox币有价值吗一直跌

为了让更多全球用户透过NewB.farm收益农场了解DeFi,接触DeFi,NewB.farm特别开展此次的直播!本次主题将对数字资产的重要性、一Zap到位将DeFi简易化、NewB.farm项.

1900/1/1 0:00:00
比特币:晚间必读5篇 | 这些平台将在12月退出市场_比特币总市值

1.清退倒计时:这些平台将在12月退出市场监管重锤之下,加密市场相关的平台已陆续撤出市场。2021年进入最后一个月,距离加密货币相关的平台彻底退出也进入了倒计时.

1900/1/1 0:00:00
INC:1inch完成1.75亿美元B轮融资, Amber 领投_1inch币能涨到3000吗

1inch团队很高兴地宣布,由Amber集团牵头的机构投资者提供的1.75亿美元B轮融资成功结束.

1900/1/1 0:00:00
Polygon:魔法元世界12月1日正式开启全球公测_POL

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

1900/1/1 0:00:00
EFI:元宇宙高潮迭起,NFT王牌项目Efinity能否扛起波卡生态大旗?_Efinity

最近几个月,整个行业最大的热点莫过于元宇宙。一方面,各类元宇宙项目层出不穷,以GameFi为核心的“打金热”愈演愈烈;另一方面,众多资本疯狂涌入,频频在元宇宙赛道下注.

1900/1/1 0:00:00