币安热点话题 账户私钥被破解?拆解 An...

账户私钥被破解?拆解 Anyswap 跨链桥被⿊细节

攻击者根据两笔具有相同 R 值签名的交易,反推出 MPC 账户的私钥,最后以 MPC 身份完成盗币。

原文标题:《知道创宇区块链安全实验室|竟然可以推导出私钥?Anyswap 跨链桥被⿊分》
撰文:知道创宇区块链安全实验室

北京时间 2021 年 7 月 12 日凌晨 1 点,Anyswap 官方发推声称 Anyswap 多链路由 v3 版本遭到攻击,V3 跨链资金池受影响,损失约 240 万 USDC 和 551 万 MIM,Anyswap V1 和 V2 版本不受该攻击影响,跨链桥未受影响。知道创宇区块链安全实验室 第一时间跟踪本次事件并分析:

账户私钥被破解?拆解 Anyswap 跨链桥被⿊细节

账户私钥被破解?拆解 Anyswap 跨链桥被⿊细节

事件跟踪

攻击时间:

2021 年 7 月 10 日晚 8:00(UTC)

攻击者地址:

0x0aE1554860E51844B61AE20823eF1268C3949f7C

攻击交易信息:

a. 攻击交易 1——> 被盗金额:1,536,821.7694 USDC

https://etherscan.io/tx/0xc80e7cfeb16143cba4d5fb3b192b7dbe70e9bcd5ca0348facd20bf2d05693070

账户私钥被破解?拆解 Anyswap 跨链桥被⿊细节

b. 攻击交易 2——>748,312.634392210170566277 USDC

https://bscscan.com/tx/0xa8a75905573cce1c6781a59a5d8bc7a8bfb6c8539ca298cbf507a292091ad4b5

账户私钥被破解?拆解 Anyswap 跨链桥被⿊细节

c. 攻击交易 3——>112,640.877101 USDC

https://ftmscan.com/tx/0x7312936a28b143d797b4860cf1d36ad2cc951fdbe0f04ddfeddae7499d8368f8

账户私钥被破解?拆解 Anyswap 跨链桥被⿊细节

d. 攻击交易 4——>5,509,227.35372 MIM

https://etherscan.io/tx/0xecaaf8b57b6587412242fdc040bd6cc084077a07f4def24b4adae6fbe8254ae3

账户私钥被破解?拆解 Anyswap 跨链桥被⿊细节

技术分析

BSC 上的 V3 路由器 MPC 帐户下存在两个 v3 router 交易,这两个交易具有相同的 R 值签名,攻击者可以反推出 MPC 账户的私钥,知道创宇安全团队通过本地测试验证了这种攻击方法,如果知道两次交易中相同的 R 值 (ECDSA 签名算法),由于两次签名的原始数据不一样,就能反推出签名时使用的随机数种子,又因为可以地址中推算出了公钥,所以通过脚本即可反推出 MPC 地址的私钥 (如下方截图所示),最后攻击者以 MPC 身份调用 anySwapInAuto 函数完成盗币。
代码关键部分:

账户私钥被破解?拆解 Anyswap 跨链桥被⿊细节

代码执行结果如下:

账户私钥被破解?拆解 Anyswap 跨链桥被⿊细节

后续进展

Anyswap 项目方将赔偿此次盗币事件产生的损失,并在未来 48 小时更新主合约代码,以修复使用相同 R 签名导致的私钥泄露事件。如有最新进展,实验室将会第一时间跟进和分析。