Multichain漏洞事件解析:白帽救援行动的挑战与启示

Multichain漏洞事件回顾及白帽救援行动总结

2022年1月18日,异常交易监测系统检测到针对Multichain项目的攻击。由于anySwapOutUnderlyingWithPermit()函数未正确实现校验机制,导致用户授权给该项目的token可被攻击者取出。

尽管项目方尝试多种方法提醒受影响用户,仍有很多用户未能及时响应,攻击者得以持续实施攻击获利。

为保护潜在受害者,BlockSec团队决定采取应急响应措施。本次救援针对以太坊上受影响的账户,将相关账户资金转移到专门设立的多签白帽账户中。为保证行动透明性,相关计划的文件hash向社区公开。救援行动从2022年1月21日开始,到2022年3月11日结束。

应急救援面临诸多技术和非技术挑战。本文重新复盘整个过程,分享相关心得与体会,希望对DeFi生态的安全有所帮助。

简要总结

  • 白帽和攻击者两个群体之间,乃至各自群体内部对Flashbots的使用产生了激烈竞争,支付的费用也迅速增长。

  • Flashbots并非总是有效。部分攻击者转而使用mempool,通过巧妙策略成功实施攻击。

  • 某些攻击者与项目方达成协议,归还部分所得并保留部分作为奖赏,成功"洗白"。这种现象引发了社区对激励公平性的争议。

  • 白帽可在不泄露敏感信息的同时向社区公开宣告行为,取信于社区。

  • 社区各方力量携手合作,可使救援行动更迅速有效。

攻击和救援情况概览

总体结果

在观察范围内(2022年1月18日至2022年3月20日),总体情况如下:

  • 9个救援账户保护了483.027693 ETH,支付Flashbots费用295.970554 ETH(占比61.27%)
  • 21个攻击账户获利1433.092224 ETH,支付Flashbots费用148.903707 ETH(占比10.39%)

Flashbots费用变化趋势

初期攻击交易Flashbots费用为0,表明攻击者尚未使用Flashbots。随后费用占比快速上升,在某些区块高度甚至达到80%-91%,反映了激烈的上链权竞争。

救援行动实施及面临的挑战

救援行动的基本思路

  1. 监控潜在受害者账户
  2. 发现WETH转入时,利用合约漏洞将其转出至白帽多签钱包

关键要求:

  • 有效定位转账给受害者的交易
  • 正确构造拯救交易
  • 成功抢跑攻击者交易

主要挑战在于抢跑攻击者交易。虽可使用Flashbots,但需考虑费用设置策略。同时,由于竞争存在,Flashbots并非总是最佳选择。

竞争情况

尝试保护171个潜在受害者账户,其中:

  • 10个自我保护
  • 14个成功救援
  • 147个救援失败

失败原因涉及3个救援账户和16个攻击账户的竞争。

经验教训

Flashbots费用设置

保守策略效果不佳,竞争对手往往采用更激进策略:

  • 某攻击者将比例设至70%-86%
  • 某白帽将比例设至79%-81%

这似乎是一个零和游戏,需要在降低成本和赢得竞争间寻找平衡。

Mempool交易排序策略

由于激烈竞争,Flashbots并非总是有效。通过mempool发送正常交易,安排在合适位置也可能实现目标。

某攻击者成功运用此策略获利312 ETH,且无需支付Flashbots费用。关键在于将攻击交易安排在转账交易之后且尽可能接近。

其他思考

白帽与攻击者的区分

并非总能简单区分。某账户最初被标记为攻击者,后与项目方协商返还部分获利,保留50 ETH作为奖赏,最终被重新标记为白帽。这种现象引发了对激励公平性的争议。

白帽间的竞争

有必要建立协调机制以降低/避免白帽间的竞争,避免资源浪费和成本提高。

改进救援行动的建议

  • 白帽在不泄露敏感信息的前提下向社区公开宣告行为
  • Flashbots/矿工为可信白帽提供绿色通道
  • 项目方负担Flashbots费用
  • 项目方采用更便捷的用户预警机制
  • 项目方在代码中采取必要的应急措施

MULTI7.39%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 6
  • 分享
评论
0/400
FOMOSapienvip
· 3小时前
白帽子真滴靠谱
回复0
BearMarketBrovip
· 08-02 18:26
铁子们真懒散 跑路都不溜号
回复0
静默看客vip
· 08-02 18:25
又是代码出的问题 唉
回复0
Blockchain智囊vip
· 08-02 18:20
根据经验此类漏洞必须警惕,典型的授权风险。希望各位年轻人吸取教训!
回复0
花里胡哨研究院vip
· 08-02 18:15
又一个permit函数教做人,这个我熟
回复0
Blockblindvip
· 08-02 18:10
还得靠白帽子救命
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)