宇宙链 宇宙链
Ctrl+D收藏宇宙链

MonoX.Finance安全事件分析

作者:

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

前言

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

攻击涉及信息

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

简述攻击流程

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

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

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

币安新增ARB/ETH、BCH/TRY、XVG/TRY、XVG/TUSD交易对:7月13日消息,币安发布公告称,将于2023年07月14日16:00(UTC+8)上线ARB/ETH、BCH/TRY、XVG/TRY、XVG/TUSD交易对。[2023/7/13 10:52:01]

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

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

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

漏洞成因分析

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

Yuga Labs对其比特币NFT系列TwelveFold进行像素升级等更新:金色财经报道,Yuga Labs首席内容官Michael Figge在社交媒体透露,此前基于比特币网络发布的NFT系列TwelveFold已进行了升级更新,原始件为1,000 x 1,000像素,但现在每件作品都更新为12,000 x 12,000像素格式,分辨率也升级到144K。此外,TwelveFold NFT持有者也将会收到相应数字藏品的带框实物印刷品,该印刷品将免费交付。[2023/4/29 14:34:04]

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

检查源码

墨西哥参议员:没有人会阻止Bitcoin:金色财经报道,墨西哥参议员表示,没有人会阻止Bitcoin。[2022/12/22 22:00:56]

对函数removeLiquidity源码进行分析

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

对函数swapExactTokenForToken源码进行分析

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

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

USDD抵押品实际价值超11亿美元,抵押比率约151%:金色财经报道,据USDD官网公告,目前USDD总流通量为7.25亿美元,抵押品包括10,911,994,074枚TRX(约合5.21亿美元)、14,040.6枚BTC(约合2.26亿美元)、4枚USDT和442,323,460枚USDC。

金色财经查询发现,USDD抵押品实际价值超11亿美元,此前Lookonchain数据显示USDD的实际抵押比率只有50%。[2022/11/14 13:02:13]

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

标签:ONOTOKENMONOTOKcronos币行情Egretia TokenMonopoly Millionaire Gameimtoken钱包官方版下载地址

POL币最新价格热门资讯
OEC项目进度月报(2021年11月)

本期概要: 主网升级到v0.19.15版本,并把leveldb全部替换成rocksdb测试网升级至v0.19.17.2版本 OEC生态进展: OEC在TwitterSpaces上启动了第二次官方TalkSession.

1900/1/1 0:00:00
元宇宙信托多链资产抵押借贷平台「Meta TrustFi」

毫无疑问,加密世界今年的绝大多数流量,是由多链资产质押借贷热潮所贡献的。据DappRadar报告,在2021年Q3,多链资产质押借贷行业交易总额超过了106.7亿美元,比Q2增长了704%,同比增长38,060%.

1900/1/1 0:00:00
参与Doom Hero(末日英雄)之PC端将狐狸钱包连接官网账号的操作流程

所有伙伴都需要将钱包里面的BSC地址与DoomHero官网连接,才能进行一系列后续操作。钱包选择:可创建BSC地址的钱包,同时DoomHero官网支持的钱包即可。本操作流程以PC电脑端+狐狸钱包为例。条件:电脑处于VPN外网状态.

1900/1/1 0:00:00
Hoo虎符研究院 | 币圈后浪——KBOX

《KillboxGame》是一款充满动作元素的第一人称射击游戏,玩家在游戏中组建精英小队,并融入了可交易的非功能性武器系统和“通过玩游戏赚取”元素,使其成为一款动作游戏。Killbox团队致力于创造第一款链上FPS游戏.

1900/1/1 0:00:00
区块链浪潮来临 壹链软件助力企业链改转型

当前,以区块链技术为代表的第四次工业革命席卷而来,区块链的技术应用和通证经济将人类商业带入新的价值时代,区块链正逐渐成为全球经济社会发展的全新引擎力量,其应用生态覆盖经济社会的各个方面.

1900/1/1 0:00:00
吴说每周矿业资讯:海南确定加价标准 美股矿企新数据出炉 1129-1205

1. 据海口日报报道,海南发改委发布《关于虚拟货币“挖矿”用电实行差别电价政策有关问题的通知》,决定将虚拟货币“挖矿”活动列为淘汰类产业,实行差别电价,加价标准为每千瓦时0.8元.

1900/1/1 0:00:00