当前位置:首页 > 知识 >

BNBChain攻击链路详解:Hyperlab最新复盘

10月6日,BNBChain发布推文称BSC网络由于平台遭受了异常攻击,已暂停服务。攻击者利用跨链桥BSCTokenHub的系统漏洞,对冲套利了大约70亿至80亿美元。

该交易的详细地址为TransactionAddress:https://bscscan.com/tx/0xebf83628ba893d35b496121fb8201666b8e09f3cbadf0e269162baa72efe3b8b。

钱包地址为WalletAddress:https://bscscan.com/address/0x489a8756c18c0b8b24ec2a2b9ff3d4d447f79bec。

Hyperlab实验室根据@samczsun的解读指出,此次攻击主要原因是BSC跨链桥认证方式存在漏洞,攻击者会冒充虚假信息并通过BSC跨链桥认证,向攻击者的详细地址推送了200万枚BNB。

幸运的是,攻击者似乎没有把代币转移到链外,因为在大多数代币被转移之前,BNBChain已经冻结了所有交易活动。

Hyperlab安全实验室提醒,随着区块链领域的迅猛发展,跨链技术的发展使得用户能够在不同的区块链之间进行操作。跨链桥同时也成为网络黑客极为诱人的目标。后端漏洞、多重签名攻击和区块链智能合约漏洞是跨链桥常见的三种安全漏洞。本次BSC跨链桥攻击事件是针对跨链合同协议书(认证方式)漏洞而发起的。这让人不由地联想起另一起跨链桥攻击事件:由于区块链智能合约升级的实施不妥导致无法恰当验证交易输入,Nomad被盗了近1.9亿美元。总的来说,合同攻击向量的难度是很大的。Hyperlab建议采用更强的网络安全审计来应对这种风险。协议的开发者应该树立充分的安全防范意识,深入了解跨链桥设计方案的攻击风险,并更加重视编码最底层的逻辑关键点。

(https://twitter.com/samczsun/status/1578175778314780673全文贴链接)

最初,人们认为@VenusProtocol的网站再次被黑了。但后来确认,攻击者将2亿多美元存进了Venus。

攻击者向Binance Bridge推送了两次100万BNB。

一开始,攻击者的交易提现很合理。其中一个问题是,攻击者一直使用相同的高度-110217401。而真正合理的提款人使用的高度要大得多,例如270822321。

同时,攻击者的证明确实比合理合法提现的证明要短。攻击者已经找到了一种方法来模拟该特定区块链的证明-110217401。接下来,我们需要搞清楚这种证明如何运行。

在Binance中,有一种特殊的预编译合约,用于验证IAVL树,如图所示。

大多数情况下,当您验证IAVL树时,您会指定一个“实际操作”目录。Binance Bridge通常期望有两个目录:一个是“IAVL:V”,一个是操作“multistore”。这是他们的控制方式。

(https://github.com/cosmos/iavl/blob/de0740903a67b624d887f9055d4c60175dcfa758/proof_iavl_value.go#L61-L82)

为了伪造一个证明,我们需要同时成功地操作这两个目录,并且我们需要最后一个目录(multistore)返回一个数字(特定块哈希值:110217401)。

根据下图中的代码,要控制根哈希值是不可能的,或者至少非常困难。

“multistore”受到“iavl:v”操纵的控制。这意味着,我们应该以某种方法在这里操纵根参数,同时传输验证值。

根哈希值由COMPUTEHASH函数公式计算而来。它递归地作

猜你喜欢

微信二维码

微信