木星链 木星链
Ctrl+D收藏木星链
首页 > 火币下载 > 正文

POOL:CertiK:Osmosis漏洞被利用 500万美元损失事件分析

作者:

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

北京时间2022年6月7日,CertiK审计团队监测到Osmosis漏洞被利用,导致了约500万美元的资产受到损失。

此次事件起因于函数MaximalExactRatioJoin中存在的代码漏洞。

该函数由CalJoinPoolShares调用,根据输入的代币数量计算份额。函数MaximalExactRatioJoin的漏洞导致一旦用户通过JoinPool提供流动性,CalJoinPoolShares就会向用户提供远大于其原本应给的LP份额。

推特公告链接:?

https://twitter.com/osmosiszone/status/1534470729797976064

攻击步骤

MULTI现报2.23美元,24小时涨幅超20%:金色财经报道,行情显示,MULTI(Multichain)短线涨至2.35美元后回落,现报2.23美元,24小时涨幅为24.19%。行情波动较大,请做好风险控制。[2023/7/19 11:04:32]

该次攻击中有多人恶意进行多笔交易,以下分析以攻击者①中两个被利用的交易为例。

①攻击者调用JoinPool()将29.95USDC和26.03OSMO的流动性添加至GAMM池,铸成的LP份额为8.79GAMM-678。

②之后,攻击者从678池中调用ExitPool(),使用之前的份额移除流动性。

③由于对剩余代币的份额计算错误,攻击者能够提取约为存款金额1.5倍的代币。

摩根大通寻求聘请将产品推向加密领域新客户:金色财经报道,华尔街大型银行摩根大通正在寻求扩大其在加密市场的影响力,在其支付集团中寻找新的业务开发专家,以针对Web3、元宇宙和加密领域的新客户。[2022/9/11 13:22:35]

④攻击者多次重复以上攻击步骤,以获取更大的利润。

漏洞分析

此次事件漏洞的根本原因在于对剩余代币的份额计算错误。

一旦用户在x/gamm/keeper/msg_server.go中通过Msg.JoinPool信息调用函数JoinPool。

该函数即会调用x/gamm/keeper/pool_service.go第95行的函数JoinPoolNoSwap()。

Terra研究员:Nomad攻击事件是一场去中心化抢劫:8月2日消息,Terra研究员FatMan在推特上对Nomad遭遇攻击事件发表评论称:“在公共Discord服务器上弹出的一条消息称,任意一个人都能从Nomad桥上抢了3千到2万美元:所有人要做的就是复制第一个黑客的交易并更改地址,然后点击通过Etherscan发送。这是在真正的加密时尚中首次发生的去中心化抢劫。”

金色财经此前消息,Nomad遭遇黑客攻击,其代币桥内的1.9亿美元资金几乎全部耗尽。[2022/8/2 2:53:27]

在函数JoinPoolNoSwap()中,通过调用函数getMaximalNoSwapLPAmount()在第192行计算出shareOutAmount的所需流动资金后,函数JoinPoolNoSwap()将在osmosis/x/gamm/pool-models/balancer/amm.go第286行调用pool.JoinPool()。

美股持续走高,纳指涨幅扩大至2%:美股持续走高,纳指涨幅扩大至2%,道指现涨0.52%,标普500指数涨1.1%。[2022/6/3 3:59:48]

然后函数pool.JoinPool()将在第252行调用函数pool.CalcJoinPoolShares(),并且在执行pool.CalcJoinPoolShares()时在第283行调用cfmm_common.MaximalExactRatioJoin()。

函数cfmm_common.MaximalExactRatioJoin()将在添加流动性时计算usedAmount,它将份额比例与用户投入的代币数量相乘。

然而,所需的流动资金应该等于minShareRatio*池中的总流动资金。通常情况下,总流动性大于一个用户存入的代币,也就是usedAmount小于预期。这里需要注意的是返回值remCoins记录了流动性增加后的剩余代币。usedAmount比预期的要小,因此导致remCoins的值比预期的要大。

Mike Novogratz:当美联储暂停紧缩政策时,比特币会引领下一次反弹:金色财经报道,加密投资机构Galaxy Digital创始人Mike Novogratz表示,当美联储暂停(紧缩政策)时,BTC将引领下一次的反弹,好的项目也会随之而来,这个行业不会消失,我们只是在适应美联储造成的资产泡沫的破裂,建立革命性的技术和变革不应该是容易的。[2022/5/28 3:46:57]

在执行函数cfmm_common.MaximalExactRatioJoin()后,这些剩余的代币remCoins将通过调用函数pool.calSingleAssetJoin()在第300-310行被用来向资金池添加更多的流动性。然而,由于remCoins的数量比预期的要大,所以提供给用户的份额将比预期的多。

资产去向

Osmosis已官放宣布发现该漏洞,并正在进行修复。被盗资金与CEX账户有关,并已通知执法部门。Osmosis还宣布,利用Osmosis漏洞的四个人已经被确认,其中两人将归还资金;另外两人Osmosis正在进行联系,等待进一步沟通。

Osmosis表明,所有损失都将得到弥补。这些资金将来自其战略储备,而不是社区的资金池。另外被盗的资金将大概率被追回。

漏洞交易

该次攻击中有多人恶意进行多笔交易,我们以其中一人的一次交易作为示例:

攻击者①:https://www.mintscan.io/osmosis/account/osmo1hq8tlgq0kqz9e56532zghdhz7g8gtjymdltqer

相关的漏洞交易?

JoinPool

https://www.mintscan.io/osmosis/txs/573EFD7828573B06FF6C13DFEDC3B2FFC281D4F78854D9B9F676528490C3396B

ExitPool

https://www.mintscan.io/osmosis/txs/E789B8FF7A42F27A0AC352C5C1281EA27996B6F22C5B24478A9B85C5919DE637

攻击者②:

https://www.mintscan.io/osmosis/account/osmo1tg70tuzekpd376dpqr68yx5a7r709w6x8jtxha

相关的漏洞交易?

JoinPool

https://www.mintscan.io/osmosis/txs/380A10103F53296A1CE663FDA5CF79DA904E0EC175C866C5FDFB106A934C64BD

ExitPool

https://www.mintscan.io/osmosis/txs/D70852934B81194DA6C776F2DA90AF095A19F7018894350E19A369FF5A1EC810

写在最后

如果文件x/gamm/pool-models/internal/cfmm_common/lp.go在审计范围内,可通过审计发现这一风险因素。

CertiK在此提醒大家,除了审计之外,新增的代码也需要在上线前及时进行相应测试。

来源:金色财经

标签:POOLPOOOINJOINMPOOL价格CPOO币DarkPayCoinJOINT

火币下载热门资讯
STARK:简析 STARKs、StarkEx、StarkNet 区别与联系

概要:STARKs证明了链上计算的完整性,使扩展成为可能StarkEx是一个用于特定应用的扩容引擎StarkNet是一个无需许可的Layer2网络STARKs在STARK方案中.

1900/1/1 0:00:00
ETH:质押中的以太坊(ETH)「脱锚」进行时?死亡螺旋还是过度恐慌?

众所周知,stETH是ETH在Lido上的质押版本,其用意在于保护ETH在合并后的安全性。因此,stETH与ETH应该是一比一对应的关系,并在Curve上有一个流动性池.

1900/1/1 0:00:00
PAL:通胀压力进一步上升对比特币会有什么影响

昨晚20:30分,美国五月份CPI通胀数据发布:CPI公布数值8.6%,高于预期数值8.3%和四月的CPI数值8.3%,创下1981年以来的最高水平.

1900/1/1 0:00:00
ITA:金色趋势丨绝佳进场机会来了吗?

Binance.US:建议用户将美元余额兑换成稳定币:金色财经报道,Binance.US在6月22日发给客户的电子邮件中表示,已解决了几乎所有延迟的美元提款问题.

1900/1/1 0:00:00
NEAR:NEAR的高性价比进场位置

更专注一级市场、公募、二级市场潜力币推荐,项目孵化的探究、暴涨山寨币,优质币种的挑选和做到更专业,提供海内外一级市场优质项目----区块链阿生就是能给v神压力的公链是那一条链,其实.

1900/1/1 0:00:00
USD:LUNA 和 UST 崩盘后 稳定币格局如何多样化

像电影戏法一样,以慢动作Terra的稳定币——UST和原生币为背景,LUNA见证了一场巨大的崩盘。于是,震惊了投资者的骨髓.

1900/1/1 0:00:00