火星链 火星链
Ctrl+D收藏火星链

MONO:MonoX.Finance安全事件分析

作者:

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

前言

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

攻击涉及信息

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

简述攻击流程

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

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

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

外媒:Tether报告的二季度运营利润明显低于上季度净利润:8月8日消息,据福布斯发布分析文章称,Tether上周在其网站上宣布,第二季度“运营”利润超过10亿美元,较前三个月增长30%。而Tether第一季度报告称,其“净利润”为14.8亿美元。因此增加30%可能会使截至6月30日的季度“净利润”达到19.2亿美元。但Tether在其最新发布的报告中并未报告“净利润”。它只报告“运营”利润,这通常高于净利润,因为要获得净利润,公司必须扣除非运营费用,包括税收和利息。仅在这种情况下,Tether大幅提升的运营利润显然比上一季度的净利润低了近5亿美元。该媒体指责Tether混淆视听,称该公司没有在公告中定义营业利润,也没有解释为什么不再像前两个季度那样报告净利润(2022年第四季度称净利润为7亿美元)。[2023/8/8 21:31:39]

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

Twitter创始人Jack Dorsey计划向比特币生态系统分配更多资金:金色财经报道,Twitter创始人Jack Dorsey计划向比特币生态系统分配更多资金,此前他通过其资助组织Start Small向网络的核心开发者承诺了500万美元。该公司将在未来五年内,以每年100万美元的方式将资金分配给比特币开发非营利组织Brink。 根据其网站,Brink 的存在是为了通过资金、教育和指导来支持比特币开发者社区。

该网站称,我们的资金100%来自希望支持开源比特币网络和协议的个人和组织的捐款。与许多区块链项目不同,比特币缺乏任何致力于该协议成功的创始人、基金会或公司的财务利益。因此,在很大程度上需要捐赠和慈善来支持维护其代码库的开发人员,他们经常轮换。[2023/6/19 21:46:20]

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

花旗:CBDC和代币化将推动加密货币的大规模采用:金色财经报道,花旗银行分析师在其最新报告中表示,区块链行业终于接近拐点,区块链技术将很快看到“数十亿用户和数万亿美元的价值”。下一次加密采用的涌入将主要由 CBDC 的兴起和代币化推动现实世界的资产。

花旗银行未来的财务负责人 Ronit Ghose 表示,到本十年末,CBDC 中的经济流通量将达到 5 万亿美元。不过,其中大部分不会基于区块链,但其中一些将具有区块链互操作性或特定于 DLT。[2023/3/30 13:35:56]

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

漏洞成因分析

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

Azuki背后开发公司Chiru Labs已为Hilumia和9 Lives Arcade提交商标注册申请:金色财经报道,据商标及版权律师MeerMcD.eth发推表示,NFT项目Azuki背后开发公司Chiru Labs已为虚拟城市“Hilumia”和9 Lives Arcade提交了两份商标注册申请,涉及范围包括可下载的游戏软件,用于数字代币电子传输的计算机软件;商品包括无檐小便帽、开衫、帽子、连帽衫、裤子、衬衫等;以及数字代币钱包。[2023/1/28 11:33:25]

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

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

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

标签:ONOMONTOKMONOMONO币Monsters ClanFuture Real Estate TokenMONONOKEINU

火必交易所热门资讯
TOK:去中心化内容发布平台Mirror使用教程:欢迎来到Web3时代

原文标题:《HowtouseMirror》作者:Mirror编译:0x13随着越来越多人选择加入到Web3时代,去中心化内容发布平台Mirror得到了越来越多人的关注.

1900/1/1 0:00:00
COIN:一项为期5年的研究将着眼于代币奖励是否能够改善非洲艾滋病患者的治疗效果

一项为期五年的突破性研究将于今年年底在肯尼亚启动,研究加密代币激励是否能改善艾滋病患者的健康状况.

1900/1/1 0:00:00
AQUA:Alpha Quark加入NFTb 成为一系列独家NFT的最新启动伙伴

NFTb很高兴地宣布与AlphaQuark的合作,AlphaQuark是一个Blockchain项目,涉及基于知识产权的NFT和metaverse.

1900/1/1 0:00:00
THE:三元×Only1实录

感谢大家关注三元社区最新一期的AMA,今晚我们有幸请来LeonLee?,Founder&CEOThankyouforyourFollowingourlatestAMA.MynameisS.

1900/1/1 0:00:00
DAO:通过DAO Treasury分散化销售指南,探索如何解决募资过程中的中心化问题

原文来自:《AGuidetoDAOTreasuryDiversificationSales》作者:1kxNetwork研究分析师JustinM翻译:Moni内容概述据OpenOrgs.

1900/1/1 0:00:00
MEFI:链游有多火爆,被割的“韭菜”就有多惨!

要说加密市场近几个月最大的“风口”,链游必然首当其冲!有做相关工作的人员表示,自己离职后刚和别人谈到要做链游相关的游戏工作室后,立马就收到了很多投资人递来的橄榄枝,对方甚至都不会问项目是什么.

1900/1/1 0:00:00