链资讯 链资讯
Ctrl+D收藏链资讯
首页 > NEAR > 正文

EFI:MonoX.Finance安全事件分析_GAM

作者:

时间:

前言

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

攻击涉及信息

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

简述攻击流程

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

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

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

前Monero首席开发者聘请高级律师以避免被引渡:金色财经报道,7月20日在田纳西州纳什维尔因欺诈指控被捕的前Monero首席开发者Riccardo Spagni(Fluffypony)聘请了加密货币行业的顶级律师Brian Klein,以反对被引渡至南非。Klein已提出动议以允许Spagni保释,直到他的引渡听证会。律师在动议中声称,美国政府“错误陈述了这件事的事实和适用法律”,并称针对Spagni的案件“存在致命缺陷”,原因是缺乏证据并且起诉已“停止、开始和徘徊了十多年”。据悉,Spagni被指控在2009年至2011年期间通过伪造发票并将付款转入他的个人银行账户,从他的前雇主Cape Cookies那里窃取了大约100,000美元。[2021/8/4 1:32:27]

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

美国摇滚明星Gene Simmons透露拥有“七位数”比特币资产:美国摇滚明星、Kiss乐队前主唱Gene Simmons透露自己拥有“七位数”的比特币资产。他今日在推特上表示:“是的。我是比特币持有者。七位数字。”此前消息,Gene Simmons近日曾表示,他现在拥有包括XRP和狗狗币(DOGE)在内的几种加密货币。Simmons称还购买了比特币、ETH和LTC等主要加密货币。(U.Today)[2021/2/5 18:59:12]

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

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

日本Monex集团宣布旗下Coincheck等子公司管理层变动:日本金融服务提供商Monex集团周五宣布,旗下包括零售经纪公司Monex Inc和加密货币交易所Coincheck在内的多家子公司将进行人事变动。Coincheck方面,Shoji Kuwashima将从6月19日起不再担任执行董事,但是将继续担任董事总经理。(Finance Magnates)[2020/6/19]

漏洞成因分析

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

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

检查源码

对函数removeLiquidity源码进行分析

声音 | Monex集团CEO:Libra打开了“潘多拉的魔盒” 日本应探讨发行“数字日元”的可能性:Monex集团首席执行官松本大在接受采访时表示,Libra项目的公布打开了“潘多拉的魔盒”,在Libra正式公布之后,伊朗开始开发黄金支持的数字货币,且挖矿活动也合法了;九月有消息称朝鲜也正在开发其加密货币;中国央行也宣布了其数字货币计划。松本大还表示,日本也应该认真探讨发行“数字日元”的可能性。(Cointelegraph日本站)[2019/9/27]

可以看到函数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

标签:EFIGAMEGAMAMEdefibox币价格Games for a LivingWAGMI GamePET GAMES

NEAR热门资讯
EFI:详解Gamefi黑马——Vibranium_GAME

一、基础信息 1、游戏世界观 Vibranium的故事背景发生在2180年,地球在经历第三次技术大爆炸之后,科技已经高度发达,社会根据每个人的基因,直接决定每个人的地位和资源的分配.

DEFI:NewB.Farm收益农场FM电台开播 让您读懂什么是数字资产_newbitshares

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

EFI:BSC 成为 GameFi 热土,链上“王炸”玩赚游戏一览_NEW

撰文|顾我,黑米 出品|白泽研究院 昨日,GameFi再次成为加密社区的焦点,起因是币安智能链的GameFi游戏龙头Mobox空投总价值高达100万美元的NFT.

元宇宙:七彩研究院 元宇宙你了解了多少,抢占先机了吗?_元宇宙下载

《元宇宙你了解了多少,抢占先机了吗?》在七彩研究院直播间进行干货分享。主持人:七彩研究院雪糕,分享嘉宾:区块链行业资深布道者–云飞。以下内容由YouName提供,七彩研究院整理发布.

ALF:SocialFi不该是徒有虚名的热潮, 用实力践行迫在眉睫_MCALF

近日,SocialFi项目MonacoPlanet在社交平台发布“只有英文内容才算作内容挖矿”的消息引发了中文社区用户的抵制,且有网友发现其APP的接口错误竟显示中文.

OpenSea:金色前哨 | OpenSea首席财务官:IPO可能很快就会发生_opendao币最新价格

彭博社消息指出,全球最大的NFT市场OpenSea已任命BrianRoberts为其首位首席财务官.