本文Hash (SHA1):5bfab3ccec823b6f0eecf4e691f2acf6d3392481
编号: 链源 Security AnalysisNo.005
背景
2024年8月6日,Ronin Network 桥遭遇重大攻击,损失了 3996 枚以太坊(ETH)和 200 万美元稳定币(USDC),总计约 1200 万美元,并在桥发现第一个链上操作后约 40 分钟暂停。
事件经过
2024年8月6日,Ronin 网络桥接系统遭遇了价值约1200万美元的漏洞攻击,攻击者通过MEV机器人提取了3996个ETH和200万美元的USDC。事件发生后,Ronin 团队迅速暂停桥接功能,并与报告漏洞的白帽黑客合作。问题的根源在于一次桥接升级导致的投票门槛误解。Ronin 团队保证所有用户资金安全,并计划对新的桥接更新进行严格审计。并表示下周将分享一份事后分析报告,其中将介绍技术细节和我们计划采取的措施,以防止将来再次发生类似事件。
攻击原因
Ronin 网络桥接系统在升级时发生了严重漏洞。开发团队在升级时跳过了一个关键步骤,直接调用了 initializeV4 函数,而没有先调用 initializeV3 函数。initializeV3 函数负责初始化一个关键变量 _totalOperatorWeight,但因为这个步骤被跳过,导致 _totalOperatorWeight 没有被正确设置,默认值为 0。这意味着系统无法正确检查提取资金所需的签名验证(minimumVoteWeight 也被错误地设为 0)。攻击者利用这个漏洞,MEV bots在无需签名验证的情况下,成功提取了200万美元的USDC和4000个以太坊 (ETH),总计约1200万美元。
合约代码分析
1漏洞发现:
-
代码审查:攻击者通过对升级后的合约代码进行审查,发现了潜在的漏洞。
-
函数调用分析:注意到在这次升级中,仅调用了 initializeV4 函数,而未调用 initializeV3 函数。
2.漏洞分析:
-
关键变量初始化:initializeV3 函数负责初始化一个关键变量 _totalOperatorWeight。
-
默认值:由于 initializeV3 被跳过,导致 _totalOperatorWeight 未被初始化,默认为 0。
3.系统行为分析:
-
签名验证机制:桥接系统依赖 _totalOperatorWeight 变量来计算 minimumVoteWeight,即提取资金所需的最低签名验证权重。
-
验证绕过:因为 _totalOperatorWeight 的值为 0,minimumVoteWeight 也被错误地设定为 0,导致系统跳过了所有签名验证,资金无需经过任何多重签名阈值检查即可提取。
4.攻击实施:
-
提取请求:攻击者利用这一漏洞,通过编写并发送特制的提取请求,直接向桥接系统请求资金提取。
-
无验证提取:由于 minimumVoteWeight 为 0,系统不再进行签名验证,攻击者得以成功提取200万美元的USDC和4000个以太坊 (ETH)。
链上信息
● MEV Bot地址:
0x6980a47bee930a4584b09ee79ebe46484fbdbdd0
0x4ab12e7ce31857ee022f273e8580f73335a73c0b
● 黑客交易记录
0x2619570088683e6cc3a38d93c3d98899e5783864e15525d5f5810c11189ba6cb
0xbce5b8548db486c561948e8a177c8ccaa72810f972cee3909ea50af015a60ad8
● 黑客归还记录
0xf8f097982bc0f9a8f4279d4132dc91cfe17ab2d4fc70e7f740bc3ed752165601
0x21df45bd48f17cb97f1f2b7f12e298da6ecb418ceedb69c345c934ecaca48d9c
链上追踪
4000ETH转移记录:
通过MEV Bot获利的ETH从MEV Bot合约0x4ab12e7ce31857ee022f273e8580f73335a73c0b转移到黑客地址0xc6aec68dd6272efcbc74fb5308fe7f070437465e,最后从黑客地址转移到Ronin合约地址0x137f31b23f9991df465a1d16eccbcaa11ab9f488
2 M USDC转移记录:
通过MEV Bot获利USDC兑换的ETH从MEV Bot合约0x6980a47bee930a4584b09ee79ebe46484fbdbdd0转移到黑客地址0x796f09c9667a49bdb2bac2c8f1c2ee3c7576a93f,最后从黑客地址转移到Ronin合约地址0x137f31b23f9991df465a1d16eccbcaa11ab9f488
结语
Ronin 网络桥接漏洞事件强调了在系统升级和开发过程中,严格遵循初始化步骤和全面审计的重要性。跳过关键步骤可能导致严重安全漏洞,并被攻击者利用。此事件还凸显了定期安全检查和快速响应机制的必要性,帮助及时发现和修复问题,减轻潜在损失。
链源科技是一家专注于区块链安全的公司。我们的核心工作包括区块链安全研究、链上数据分析,以及资产和合约漏洞救援,已成功为个人和机构追回多起被盗数字资产。同时,我们致力于为行业机构提供项目安全分析报告、链上溯源和技术咨询/支撑服务。
感谢各位的阅读,我们会持续专注和分享区块链安全内容。