事件经过
2022年1月28日,Qubit Finance遭到攻击,约8000万美元的加密资产被盗。这仍然是DeFi历史上规模最大的黑客攻击事件之一。至今没有任何资金被归还。
Qubit Finance是一个建立在Binance Smart Chain上的DeFi借贷协议,由韩国公司**Mound Inc.**开发——该团队此前开发的PancakeBunny已于2021年5月被攻击,损失约4500万美元。Qubit是他们的第二次尝试。
该协议包含QBridge——一个跨链桥,允许用户在Ethereum上存入ETH,并在BSC上获得等值的qXETH代币,这些代币可用作借入其他资产的抵押品。
Qubit Finance得到了Binance的明确背书,并在Binance Smart Chain上运营。
第一步——两个函数,同一个事件
Section titled “第一步——两个函数,同一个事件”QBridge有两种存入ETH的方式:
depositETH()——正确的函数。要求实际发送ETH(msg.value > 0)。触发Deposit事件。deposit()——为ERC-20代币设计。对代币合约调用safeTransferFrom()。同样触发**Deposit事件**——完全相同的事件类型。
处理跨链桥事件的链下中继器无法区分这两种事件。
第二步——零地址被列入白名单
Section titled “第二步——零地址被列入白名单”对于ETH,由于原生ETH没有ERC-20合约地址,QBridge使用零地址(0x0000000000000000000000000000000000000000)作为占位符。零地址被添加到了合约的白名单中。
第三步——对EOA的调用静默成功
Section titled “第三步——对EOA的调用静默成功”当使用ETH的resourceID调用deposit()时,合约将代币地址解析为零地址,并对其调用safeTransferFrom()。
在EVM中,对没有合约代码的地址(即EOA,外部拥有账户)调用任何函数都会静默成功——不会回滚、不会报错、也不会实际发生转账。零地址就是一个EOA。因此safeTransferFrom()”成功”了,没有任何资产转移,但合约触发了一个与合法ETH存款完全相同的Deposit事件。
这一EVM行为在0x Protocol 2019年的安全更新中已有记录。Qubit团队要么不知道,要么忽视了这一点。
第四步——中继器在BSC上铸造了真实代币
Section titled “第四步——中继器在BSC上铸造了真实代币”中继器检测到Deposit事件,无法识别其为伪造事件,于是在BSC上为攻击者铸造了qXETH代币——这些代币没有任何资产支撑。
攻击者反复执行此操作,积累了大量虚假的qXETH。
第五步——虚假抵押品,真实贷款
Section titled “第五步——虚假抵押品,真实贷款”利用欺诈性铸造的qXETH作为抵押品,攻击者从Qubit Finance的BSC借贷池中借出了约8000万美元的真实资产:WETH、BTCB、BNB、MATIC、CAKE、BUSD等。
借贷合约正确检查了抵押品价值——但欺诈在跨链桥层面就已经发生了。
可疑的参数变更
Section titled “可疑的参数变更”调查人员发现了一个从未被解释过的问题。
最初,deposit()函数及其resourceID用于桥接WETH——一个拥有真实合约地址的ERC-20代币。这一功能运作正常。
在攻击发生之前的某个时间点,一个仅限所有者调用的函数被执行,重新分配了resourceID映射——将WETH的合约地址替换为零地址。正是这一变更使得攻击成为可能。
关键事实:
- 只有合约所有者能够执行此变更
- 没有时间锁——变更立即生效
- 没有公开公告
- 至今未给出任何解释
Mound Inc.事后的行为:
- 向黑客提出25万美元赏金以换取归还8000万美元(无回应)
- 声称已报警——但从未提供案件编号
- 通过管理员@moleh将受害者移出Telegram群组
- CTO于2022年2月1日删除了其LinkedIn账号,即攻击发生后第四天
- 未联系Binance安全团队或主要交易所对黑客钱包进行黑名单处理
- 未回应社区成员主动提供的有关黑客的线索
0xd01ae1a708614948b2b5e0b7ab5be6afa01325c7被盗资产估算
Section titled “被盗资产估算”| 资产 | 约合美元价值 |
|---|---|
| WETH | 约2660万美元 |
| BTCB | 约1530万美元 |
| BNB | 约950万美元 |
| MATIC | 约560万美元 |
| CAKE | 约800万美元 |
| BUSD及其他 | 约1500万美元 |
| 总计 | 约8000万美元 |