竟然可以推导出私钥?Anyswap跨链桥被⿊分析

创宇区块链安全实验室
创宇区块链安全实验室 机构得得号

Jul 12, 2021 专注构建区块链安全生态,致力于让人类进入安全的区块链世界。

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

事件背景

北京时间 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.7694USDC

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

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

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

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

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

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

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

 

技术分析

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

代码执行结果如下:

后续进展

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

 作者:创宇区块链安全实验室;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请联系微信:chaindd123。

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 创宇区块链安全实验室 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(1

    • hPk3WE hPk3WE
      回复
      0

      跨到Bsc意义是啥,给长鹏何一送钱???

      Jul 13, 2021 via android

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信