https://raydium.medium.com/detailed-post-mortem-and-next-steps-d6d6dd461c3e
2022 年 12 月 16 日,于世界标准时间 10:12 ,恶意行为者开始利用瑞鼎流动性池V4 的权限帐号 通过访问池所有者 (管理员)帐户。
OtterSec 发布了一个初步概述 的攻击。
此更新还扩展了初步尸检 由瑞鼎官方账号发布在推特上。
这份详细的事后分析试图深入描述漏洞利用的实施方式、问题的缓解方式以及后续步骤。
背景:
上面提到的 Pool Owner 帐户最初部署在具有专用内部服务器的虚拟机上。经过进一步审查,目前没有证据表明 Pool Owner 帐户的私钥曾在其最初部署的虚拟机之外进行本地传递、共享、传输或存储。
正在进行内部安全审查,以确定帐户泄露的性质和根本原因。初步怀疑攻击者可能已经远程访问了部署该帐户的虚拟机或内部服务器。确切的入侵媒介尚未确定,但木马攻击可能是一种可能性。
初步审查表明,Raydium 漏洞利用者账户参与了 Solana 上的其他恶意活动。一个迹象是鸣叫 从cloudzy.sol 11 月 7 日详细介绍了一个钱包漏洞利用,最终达到 198 SOL到达的 在里面同一个账户 最初资助的初级 Raydium 漏洞利用钱包 如中所述初步尸检 鸣叫。
漏洞利用详情
攻击者破坏了 Raydium 上的八个恒定产品流动性池,总计约 440 万美元被盗资金。集中的流动资金池和 RAY 抵押计划不受该漏洞的影响。 Raydium 上的任何其他资金池或基金均未受到该漏洞的影响。
下图显示了攻击者在利用受影响池中转移的资产。 ‘Base’代币是指代币对左侧的代币,‘Quote’是指代币对右侧的代币(通常是稳定币或SOL)。
交易历史和资金损失的完整列表可以在这里找到:https://github.com/raydium-io/dec_16_exploit
漏洞利用分为两部分:
- withdrawPNL 指令用于收取 RAY 回购的协议费用,它基于由 need_take_pc 和 need_take_coin 确定的预定义资产数量,这应该相当于池赚取的总费用的 12% 或从 25 bps 中赚取的 3bps掉期交易。攻击者使用此功能从矿池金库中提取资金(指定为费用)。发起withdrawPNL后,need_take_pc和need_take_coin计算自动清零。
- 攻击者结合使用 SetParams 指令和 AmmParams::SyncNeedTake 来膨胀 need_take_pc 和 need_take_coin 的余额,而无需发生交易量,从而允许攻击者更改和增加预期费用,然后从中提取资金(指定为费用)反复通过 withdrawPNL 池金库。
漏洞利用的初步缓解
世界标准时间 2022 年 12 月 16 日 14:16,Raydium 部署了一个热补丁或存根,也称为所有程序现有依赖项的可控替换。换句话说,被入侵帐户的权限(HggGrUeg4ReGvpPMLJMFKV69NTXL1r4wQ9Pk9Ljutwyv ) 被撤销并更新为硬件钱包上的新帐户。
该补丁取消了攻击者进一步利用矿池的权限和能力。
采取的额外安全措施
世界标准时间 12 月 17 日 10:27 :Raydium AMM V4 程序通过 Squads multisig 进行了升级,以删除不必要的管理参数,这些参数如果受到损害可能会对资金产生影响。
删除了以下参数:
- AmmParams::最小尺寸
- AmmParams::SyncLp
- AmmParams::SetLpSupply
- AmmParams::SyncK
- AmmParams::SyncNeedTake
此外,删除了所有管理参数:
- Raydium 稳定池
- 镭射加速器
- 镭星DropZone
所有剩余的管理参数,包括 withdrawPNL 函数,都已更新到 Squads多重签名 目前用于 12 月 17 日世界标准时间 15:00 左右的程序升级。
下一步
Raydium 同时在两个方面接近下一步:
- 准确确定漏洞利用对用户 LP 余额池的影响
在黑客攻击发生之前,Raydium 正在为所有 LP 余额和相应的头寸大小提取快照和整理数据,并推断由漏洞利用导致的原始余额差异。确保确定准确的余额账户对于确定未来合适的解决方案是必要的。获取受影响池中所有账户和 LP 余额的准确信息需要一些时间,非常感谢这段时间的耐心等待。
2. 跟踪攻击者钱包并探索资金返还方案
Raydium 已经与多个 Solana 团队、第 3 方审计员和中心化交易所保持联系,他们为攻击者和相关账户提供了支持和潜在线索。虽然目前尚无定论,但已经出现证据将漏洞利用中涉及的钱包(如上文“背景”中所述)与之前的 NFT 地毯项目和恶意耗尽用户钱包联系起来。 Raydium将继续与相关团队和安全专家沟通,探索追回资金的途径。
Raydium 提供 10% 的赏金以换取返还资金。 Raydium 提供被利用的 RAY 余额作为额外奖励。
向前进
仍有工作要做,以评估对个人用户 LP 余额和资金的总体影响。虽然 Raydium 了解各方都对有关资金感到焦虑,但在评估所有前进方向的选择之前,仍需要时间来收集数据和信息。其他详细信息将在可用时进行传达。