区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > 火星币 > 正文

TOKE:“我杀我自己?”—— MonoX.Finance安全事件分析_MON

作者:

时间:

前言

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

简述攻击流程

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

0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299

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

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

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

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

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

漏洞成因分析

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

攻击者可以通过函数removeLiquidity移除了其他人添加的流动性

攻击者通过函数swapExactTokenForToken不断重复MONO兑换MONO的操作

检查源码

对函数removeLiquidity源码进行分析

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

对函数swapExactTokenForToken源码进行分析

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

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合约在设计时没考虑到特殊情况下的价格覆盖问题,而可任意移除流动性的缺陷则更加方便黑客对于价格的操纵。

来源:金色财经

标签:TOKENTOKEKENMONBitKop Token老版本imtokenehstoken0xMons

火星币热门资讯
ROLL:金色观察|以太坊后续有哪些技术进展需要关注?_HydraDX

金色财经报道,12月3日消息,Vitalik发推为信标链庆生,信标链于一年前上线,意味着PoS权益证明共识已经稳定运行1年,下一步,将是PoW链和PoS链的合并等重要的发展节点.

RAD:M101:一款视觉效果不错的NFT手绘头像项目 你觉得能赶上头像热吗?_TRA

作者:Chloe M101庇护所是专门生产侧面人物的地方,他们准备好穿越银河系经历冒险,寻找新生命种族之外,也致力解决宇宙皱折Fold的奥秘.

DGE:升级公告 :由社区推动的cBridge 2.0功能迭代升级即将到来_BRI

我们将在北京时间2021年12月3日上午10点推出cBridge2.0的一次功能迭代升级,以满足我们用户和开发者社区提出的一些关键功能需求.

TOK:简析社交网络代币化潜力项目:BitClout、CyberConnect 和 MonacoPlanet_KEN

原文标题:《为你的人脉定价——社交网络Tokenization实例初探》在让数字艺术家赚的盆满钵满的NFT热潮之后,下一步是什么?我们认为是社交网络的代币化,这包括了音频、视频、信息流.

ITT:Twitter换帅股价却大涨,多尔西辞职后剑指Web3_Baguette Token

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

ITT:三个层面两个视角”看即将爆火的 GameFi 赛道——OceanMollu_Ternio

近期,区块链行业发生的融资事件多数发生在GameFi领域,以10月30日至11月5日期间加密市场共发生27笔投融资事件为例,其中有14笔发生在GamFi领域.