华人首富旗下交易所被黑客打劫,2 小时被盗取 200 万枚币安币,损失高达 7 亿元,具体情况如何?

华人首富旗下交易所被黑客打劫,2 小时被盗取 200 万枚币安币,损失高达 7 亿元,具体情况如何?

· json · rss
Subscribe:

About

币安跨链桥BSC Token Hub在进行跨链交易验证时,使用了一个特殊的预编译合约用于验证IAVL树。而该实现方式存在漏洞,该漏洞可能允许攻击者伪造任意消息。

  1)攻击者先选取一个提交成功的区块的哈希值(指定块:110217401)

  2)然后构造一个攻击载荷,作为验证IAVL树上的叶子节点

  3)在IAVL树上添加一个任意的新叶子节点

  4)同时,添加一个空白内部节点以满足实现证明

  5)调整第3步中添加的叶子节点,使得计算的根哈希等于第1步中选取的提交成功的正确根哈希

  6)最终构造出该特定区块(110217401)的提款证明 Beosin Trace正在对被盗资金进行实时追踪。


----更新

刚刚重新整理了一下思路,但是因为对币安链的不了解,从我对默克尔树的了解来猜测一下。

有一点必须要明确的是,无论如何都无法构造(类)sha256碰撞,这是密码学底层实现的,因此第三步到第五步是有问题的

第三点是错误的,其实叶子节点一开始就存在,但是是以无效交易单的形式存在的,这样只需要将该交易单的hash值提交,然后就可以生成区块。后面直接把一开始的完整区块拿出来就可以了。

现在问题还出现在两个地方:

1.该区块是怎么传播出去的?是跨链桥遭受了中间人攻击还是跨链桥节点刻意进行的51%攻击?

我持第二种态度,跨链桥进行中间人攻击的概率不是没有,但是一般只能针对单节点的跨链桥。但是币安链的跨链桥包含着许多节点,因此更有可能就是被进行了51%攻击。

2.怎么实现转账的?

注意:跨链桥向攻击者地址发送了200万枚币安币。

即使存在伪造消息,但是要注意的是转账的话同样也需要签名,或者被签名过的智能合约执行。必须存在一条信任链实现从密钥到转账。

看公告如果不涉及不存在底层漏洞的话,那是否是直接使用了币安的密钥执行转账?

如果是直接使用了币安密钥被偷的话,那是否意味着可能是一种监守自盗行为?