Multichain于2022年1月10日意识到其流动性池合约和路由合约存在关键漏洞,影响了WETH、WBNB等八种代币。漏洞被修复后,仍有部分用户未撤销对受影响路由合约的授权,面临风险。Multichain发布公告敦促用户立即采取行动,并提出补偿计划,对已撤销授权并提交申请的用户100%赔偿损失。团队还向报告漏洞的安全公司Dedaub支付了高额漏洞赏金。
2022 年 1 月 10 日,我们收到了来自 Dedaub 的警报,提示 Multichain 流动性池合约和路由合约存在两个严重漏洞,后来证实影响了八种代币(WETH、WBNB、MATIC、AVAX、MFI、WSPP、TLOS、IOTEX)。 在报告后不久,流动性池的漏洞得到了修复,因为我们将受影响的代币流动性升级到了新的合约。 然而,尚未撤销受影响的路由合约授权的用户仍然面临风险。 重要的是,用户自己必须撤销授权。 因此,我们在 1 月 18 日发布了关于此漏洞的正式公告,并敦促用户立即按照说明采取行动。
当前状态(截至 UTC 时间 2 月 18 日 24:00)
每日攻击总和,来自 @Dune Analytics
经过一个月努力通知所有受影响的用户,到目前为止,超过 61% 的用户已撤销了授权。 根据 Dune Analytics 的监控数据,攻击主要发生在漏洞披露后的第一周。 自 1 月 25 日以来,黑客攻击交易和金额大幅下降。 过去两周出现了一些金额非常低的攻击。
赔偿计划
通过与白帽黑客的共同努力,我们已成功从黑客手中挽救了 912.7984 WETH 和 125 AVAX,约占被盗资金总额的 50%。 然而,尽管我们尽了最大努力,但总共有 976.8628 WETH 被盗。
该团队发起了一项提案,以 100% 赔偿用户的损失,资金(包括矿工费)将退还给 a) 已撤销其授权且 b) 已在我们的帮助台提交了工单的用户。 自从我们披露黑客攻击并敦促用户撤销授权以来已经一个月了,并且该团队已经采取一切可用选项来通知所有用户该风险。 因此,我们将不赔偿 UTC 时间 2 月 18 日 24:00 之后发生的任何损失。
我们当然会继续尽一切努力从进一步的漏洞利用中挽救尽可能多的资金,并将随时向大家更新。 在 UTC 时间 2 月 18 日 24:00 之后挽救的任何资金将退还给用户(扣除矿工费)。
再次,我们强烈敦促曾经授予受影响的代币合约授权的用户在将任何代币发送到他们的钱包之前撤销授权。 请使用此工具通过 Multichain UI 进行检查和撤销。 如果你不确定如何操作,请按照我们的说明步骤。 如果你遇到任何问题,可以在我们的帮助台提交工单,或者通过 Telegram 联系我们,我们的团队将为你提供帮助。
漏洞赏金支付
我们感谢 Dedaub 在发现漏洞的第一时间与我们联系,并协助我们对抗攻击。 该团队将为 Dedaub 的每项漏洞披露奖励最高 100 万美元的漏洞赏金。 我们非常感谢 Dedaub 为 Multichain 的安全性所做的一切,并且我们毫不怀疑他们为可持续的加密生态系统做出了贡献。 我们将继续提供丰厚的奖励,以鼓励漏洞研究和披露。
特别鸣谢
在关键时刻跳出来并提供帮助的每个人。 非常感谢 Etherscan Team, Gelato, Ava Labs, Sushiswap, Spookyswap, Metamask, Opensea, Looksrare, Tether, Popsicle Finance, Frax Finance, Gemini, Synapse Protocol, BlockSec, 0xlosha, MevRefund 和所有社区成员。
事件时间表
1 月 10 日: 在 Dedaub 报告了两个漏洞后不久,便创建了一个作战室来讨论该错误。 我们采取了一系列行动来保护面临风险的资金。
1 月 18 日: 我们发布了一份警报公告,敦促受影响的用户撤销授权。 同时,Multichain 迅速采取措施,通过不断向所有用户发布更新,并通过联系所有可能的渠道(Opensea、MetaMask、Polygon Bridge、Dapps 等)创建警报并呼吁用户立即采取行动,从而最大限度地提高用户撤销授权的比例。
在发布警报公告 16 小时后,发生了第一次漏洞利用。 Multichain 和安全公司 Dedaub 立即加入了对抗黑客的战斗,通过运行白帽机器人来营救用户。
1 月 19 日: 为了防止用户受到影响,我们开始向所有受影响的 AVAX、MATIC、WBNB 地址发送链上警报交易。
此外,我们联系了 Etherscan 浏览器,为攻击者和受影响的 WETH 地址设置警报横幅。
1 月 20 日: 经过谈判,一名黑客同意归还 259+63 ETH。
1 月 22 日: 安全公司 BlockSec 通过进行白帽黑客攻击加入了战斗。
1 月 24 日: 我们为 Dapps 开发了一个授权撤销 API 以进行集成,用户可以通过该 API 直接撤销授权。 包括 SpookySwap、SushiSwap、SpiritSwap、AVAX bridge、AAVE 等在内的 Dapps 已经集成了它。
1 月 25 日:
1 月 29 日: 我们协助 WSPP 持有者处理了 1 月 26 日发生的漏洞利用。
2 月 14 日: 在社区成员的帮助下,Tether 冻结了一位黑客的以太坊地址,该地址持有价值超过 715,000 美元的 USDT。
2 月 17 日: 所有受影响的代币都升级到 V6 合约,支持原生币,并且不需要批准代币。
我们将与 Multichain 社区一起,继续尽最大努力追踪黑客并保护用户资金安全。
技术说明
收到安全公司的警报后,我们立即进行了检查,并能够重现和验证该漏洞。 我们彻底检查了所有可能涉及的合约。 该团队最终确认该漏洞涉及 2 个合约,AnyswapERC20(V5 和以前的版本)和 AnyswapRouter(V5 和以前的版本)。 易受攻击的函数如下,它们仅影响上述八个代币。
AnyswapERC20:
AnyswapRouter:
根本原因:该漏洞是在 Anyswap 合约和底层代币合约的共同作用下产生的。 对于某些底层代币合约,它们没有实现 permit 方法,但包含一个 fallback(非回滚)函数。 当调用其 permit 方法时,合约运行而不回滚。 执行以下操作的后果是将资金置于风险之中。
AnyswapERC20 合约用于流动性池。 收到漏洞警告时,该团队立即修复了它并部署了升级后的 V6 合约。 同时,该团队向 MPC 网络发送了一个警报请求,以将面临风险的流动性转移到升级后的流动性池中。 然后,该团队验证了池资产是安全的。
AnyswapRouter 合约用于跨链资产路由。 此漏洞会影响用户授予路由合约授权的资产,这意味着用户是唯一能够撤销其自身授权的人。 该团队立即在官方网站上开发了一个工具,使用户可以撤销授权,同时我们尽可能地以所有可能的方式通知用户撤销其授权。 此外,我们还开发了一个安全的托管合约,并监控面临风险的资产,以便对它们进行我们自己的白帽黑客救援。
这是一个攻击示例,用于解释此漏洞。 最终结果是用户授予 AnyswapRouter 合约授权的资产被转移到攻击合约。
黑客如何攻击?
黑客部署攻击合约,并将受影响的代币合约地址设置为其底层代币参数。 然后,他们可以通过调用 anySwapOutUnderlyingWithPermit 到 AnyswapRouter 合约来窃取用户资金。
为防止这种情况再次发生而采取的措施
感谢大家的耐心学习和理解本次事件。 我们感谢每一位支持者,并珍惜你对我们的信任。 我们将从本次事件中学习,并变得更强大、更好。 我们一直在努力工作,并将继续尽最大努力成为 Web3 的终极跨链路由器。
- 原文链接: medium.com/multichainorg...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!