KyberSwap因“无限金钱漏洞”在4600万美元的攻击中被利用

根据Ambient Exchange创始人Doug Colkitt的说法,KyberSwap价值4600万美元的黑客攻击是“最复杂、最精心设计的智能合约漏洞”,并证实了所发生的是一个巨大的资金故障。

在11月23日X的一条详细帖子中,Colkitt概述了这次攻击的复杂性,揭示了攻击者使用的方法。

Colkitt解释说,攻击者利用了KyberSwap集中流动性功能的独特实现,操纵合同,认为它拥有比实际更多的流动性。为了解释攻击的复杂性,以及攻击者在其他池中使用的类似策略,Colkitt将重点放在了第一次攻击上,该攻击针对的是ETH/wstETH池。

这一过程始于1万wstETH的快速贷款,当时价值2300万美元。随后,2800个wstETH(相当于600万美元)被交换到池中,将价格从1.05 ETH更改为0.0000152。与典型的闪电贷款不同,这里的目标不是操纵预言家,而是将池价格移动到现有流动性为零的集中流动性曲线上的区域。

这种对Kyber集中流动性数学的精确操纵为攻击者利用系统创造了机会。攻击者在特定价格范围内产生了3.4 wstETH的流动性,然后莫名其妙地消耗了0.56 wstETH的流动性。

该漏洞在这种被操纵的流动性环境中执行了两次掉期交易。在第一次交换中,剥削者以0.0157 ETH的价格出售了1056 wstETH,将价格推低至0.0000146。第二次交换涉及剥削者以0.06 ETH的价格从池中购买3911个wstETH,将价格回升至0.00001637。

根据Colkitt的说法,这次袭击的关键发现是制造了一个无限资金故障。第二次掉期导致剥削者收到的钱比第一次掉期中支付的钱多,尽管目前唯一的流动性是在剥削开始时铸造的大约3 wstETH。这种复杂的操作使攻击者成功地耗尽了池中的水。

Doug Colkitt揭露KyberSwap攻击,揭示集中流动性的利用

在复杂的KyberSwap攻击的解开过程中,Doug Colkitt进一步对攻击期间产生的意外额外资金提出了质疑,并着手调查异常情况。他发现,攻击者通过仔细利用KyberSwap的集中流动性功能,诱骗平台感知到比实际存在更多的流动性,导致大额掉期超额支付。

这种操纵的关键在于一个与KyberSwap在勾选边界处理流动性有关的缺陷。Colkitt强调了两条关键线索,这有助于理解该漏洞的机制。首先,在第二次掉期结束时,池的流动性的静止状态显示出非零值,即使掉期以攻击者流动性范围之外的价格结束。

第二条线索来自于对第一次和第二次交换的调用跟踪堆栈的比较。在KyberSwap中,当跨越刻度边界时,会调用“updateLiquidityAndCrossTick”函数,根据该刻度的LP范围位置调整曲线的流动性值。

该漏洞在第一次交换期间成功操纵了此进程。Colkitt解释说,“updateLiquidityAndCrossTick”函数在第一次交换期间从未被调用,尽管它本应该被调用。这使得攻击者在回到范围内时可以加倍计算流动性,从而产生比实际流动性更多的错觉。

复杂的技术涉及将KyberSwap对掉期的计算作为一系列步骤,每一步都决定掉期是达到刻度边界还是耗尽。攻击者巧妙地操纵了这些计算,在第一次掉期期间阻止了“updateLiquidityAndCrossTick”的调用,同时确保在第二次掉期期间调用,从而诱使池重复计算流动性。

然而,Colkitt强调,分析中讨论的利用是针对KyberSwap集中流动性的实施。目前没有迹象或理由相信,其他信誉良好的分散式交易所,如Ambient或Uniswap,实施集中流动性,会面临这种特殊利用的风险。他还指出,KyberSwap分叉可能很脆弱,但具有不同实现的平台不一定面临同样的风险。

叮当号免责声明:

1.本网站所提供的所有信息仅供参考,不构成任何投资建议。

2.用户在使用本网站的信息时应自行判断和承担风险。

3.叮当号不对用户因使用本网站信息而导致的任何损失负责。

4.用户在进行任何投资活动前应自行进行调查和研究。

5.叮当号不对用户基于本网站信息做出的任何投资决策负责。

6.用户在本网站发布的任何内容均由其个人负责,与叮当号无关。

文章来自互联网,只做分享使用。发布者:城南北边,转转请注明出处:https://www.dingdanghao.com/article/50831.html

(0)
上一篇 2023-11-24
下一篇 2023-11-24

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号