本文详细描述了2022年10月7日Binance Bridge在BSC上被黑客攻击的事件,黑客利用IAVL树的验证缺陷成功盗取了200万BNB。文章探讨了攻击的过程、黑客的提款策略及其对流动性的影响,同时指出桥接技术在安全性方面的重要性与挑战。
在2022年10月7日,BSC(Binance Smart Chain)的Binance Bridge遭受黑客攻击,损失了2,000,000 BNB。当时,BNB的价值约为300美元,因此被盗代币的总名义价值为6亿美元。然而,最终被真正转移的价值大约只有1亿美元。
在BSC上,Binance Bridge是Beacon Chain和Tendermint Chain之间的桥梁。
注意:特别感谢samczsun,他在此事件的初步调查中做了大量工作。
本文中部分内容经过改写,来自他的推特线程↗。我的目标是让非专业人士能够尽量容易地理解这些内容。同时,感谢Sam帮助核实事实。
已知的情况是,黑客攻击发生在一个名为BSC的区块链上,即Binance Smart Chain。Binance Bridge为BSC提供流动性。黑客说服Binance Bridge向他们发送了两次各1,000,000 BNB。BSC的价值约为300美元,因此这是约6亿美元。这一切都是通过漏洞实现的。目前认为这些漏洞本质上利用了BSC中自定义功能的缺陷。这个功能是一个merkelized IAVL树。这个代码实际上位于一个库↗中,但它是BSC L1的一部分(作为预编译存在)。
这个IAVL树负责强制/检查发送到Binance bridge的消息的有效性。例如,在正常情况下,IAVL树应该拒绝黑客的消息,防止其欺诈性提取1,000,000 BNB。然而,攻击者发现了IAVL验证过程中的一个缺陷,该缺陷使他能够欺骗IAVL树接受任意消息。掌握了使任意伪造消息被接受的能力后,黑客提交了两次欺诈性提取。
IAVL代码似乎是Cosmos SDK的一部分。然而,Cosmos(值得庆幸的是)现在不再使用IAVL进行验证。他们使用ICS23,我们目前认为这不会受到影响。
现在黑客拥有了所有这些BNB代币,他们并没有结束。所有这些代币仍在Binance Smart Chain上。黑客很可能知道,在如此大规模的黑客袭击后,BSC将被暂停/冻结,因此他们知道必须尽快将尽可能多的价值转移出BSC。通常在不同区块链之间转移资金的方法是桥梁。因此,在攻击了Binance Bridge后,攻击者随后去了其他桥梁,试图将其在BSC上被盗取的BNB资产转换到其他区块链。这是因为黑客可能知道,在BSC被攻击时,其他链不太可能被冻结(其他链并没有真正的合作动力)。
注意:这些其他桥梁并没有被黑客攻击,它们只是被用于黑客的退出策略。
请注意,这带来了一个挑战,因为当被盗的资金转移到链外时,实际上使得任何“追回”或撤销变得不可能。假设有一个桥梁连接BSC和以太坊链。想象一下你是黑客。当你将被盗的(很快将被冻结/列入黑名单/等等)代币转账到桥的BSC一侧时,你在以太坊桥的一侧接收到等量的代币。无论BSC一侧发生什么事情——即使他们“回滚”了整个区块链——你在以太坊一侧拥有的代币将更难以冻结或阻止。问题是,你在以太坊一端接收到的代币原本属于其他人,他们为黑客使用的BSC-以太坊桥提供流动性。
作为第二个说明,这也有效地减少了可以从此类黑客中提取的价值的数量。在他们耗尽所有将BSC与其他链连接的现有流动性之后,你实际上无法再从BSC获取任何更多价值。到那时,BSC就变成了一个孤岛。
桥梁有时会因大金额被黑客攻击。然而,这并不意味着所有桥梁都是不安全的。桥梁安全既极为重要,又难以正确实现。
Zellic专注于保护新兴技术。我们的安全研究人员在从财富500强到DeFi巨头等最有价值的目标中发现了漏洞。
开发者、创始人和投资者信任我们的安全评估,以快速、自信且无重大漏洞地交付。凭借我们在现实世界攻防安全研究方面的背景,我们发现他人所遗漏的内容。
联系我们↗进行更好的审计。真正的审计,而非走过场。
- 原文链接: zellic.io/blog/binance-b...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!