事情背景
北京时间 2021 年 7 月 12 日清晨 1 点,Anyswap 官方发推宣称 Anyswap 多链路由 v3 版别遭到进犯,V3 跨链资金池受影响,丢失约 240 万 USDC 和 551 万 MIM,Anyswap V1 和 V2 版别不受该进犯影响,跨链桥未受影响。知道创宇区块链安全实验室 第一时间跟踪本次事情并剖析:
事情跟踪
进犯时间:
2021年7月10日晚8:00(UTC)
进犯者地址:
0x0aE1554860E51844B61AE20823eF1268C3949f7C
进犯买卖信息:
a.进犯买卖1——>被盗金额:1,536,821.7694 USDChttps://etherscan.io/tx/0xc80e7cfeb16143cba4d5fb3b192b7dbe70e9bcd5ca0348facd20bf2d05693070
b.进犯买卖2——>748,312.634392210170566277 USDC
https://bscscan.com/tx/0xa8a75905573cce1c6781a59a5d8bc7a8bfb6c8539ca298cbf507a292091ad4b5
c.进犯买卖3——>112,640.877101 USDChttps://ftmscan.com/tx/0x7312936a28b143d797b4860cf1d36ad2cc951fdbe0f04ddfeddae7499d8368f8d.进犯买卖4——>5,509,227.35372 MIMhttps://etherscan.io/tx/0xecaaf8b57b6587412242fdc040bd6cc084077a07f4def24b4adae6fbe8254ae3
技能剖析
BSC 上的 V3 路由器 MPC 帐户下存在两个 v3 router 买卖,这两个买卖具有相同的 R 值签名,进犯者能够反推出 MPC 账户的私钥,知道创宇安全团队经过本地测验验证了这种进犯办法,如果知道两次买卖中相同的 R 值(ECDSA签名算法),因为两次签名的原始数据不一样,就能反推出签名时运用的随机数种子,又因为能够地址中推算出了公钥,所以经过脚本即可反推出 MPC 地址的私钥(如下方截图所示),最终进犯者以 MPC 身份调用 anySwapInAuto 函数完成盗币。代码要害部分:代码履行结果如下:
后续进展
Anyswap 项目方将补偿此次盗币事情发生的丢失,并在未来 48 小时更新主合约代码,以修正运用相同 R 签名导致的私钥走漏事情。如有最新进展,实验室将会第一时间跟进和剖析。
视野开拓
The eal souce of the wealth of atios ests o foudatios of sciece ad kowledge ad the social istitutios that we've ceated to help us ot just live peacefully with each othe but coopeate togethe fo ou commo good.-《美国真相》