一起价值 4.67 万美元的加密货币黑客攻击,竟然过了整整一周才有人发现……
整整过了七天,才有人意识到有 4.67 万美元从 Axelar 到 Secret Network 的桥梁中流失了。
资金被盗刷发生在6月10日,直到6月17日,双方才注意到。当时,一次例行的跨链转账失败,有人去Axelar端查看托管账户余额,发现账户已空。由于Secret Network采用默认隐私设计,合约状态和交易细节均对公众隐藏,因此通常会在几分钟内引起安全研究人员注意的链上痕迹,这次却完全不可见。
这给了攻击者整整一周的喘息时间,资金则被悄悄转移走。Axelar 的紧急委员会随后关闭了 Secret 和 Secret-SNIP 连接,但钱已经不见了。
一个无限铸币漏洞,封装在一个自定义合约中
该漏洞存在于桥接器 Secret 端的一个修改过的 CW20-ICS20 合约中,该合约负责处理通过 Cosmos IBC 到达的入站资产,并铸造 Secret 封装的版本。这些封装版本就是 Secret 上的 DeFi 用户实际持有和交易的 saToken。 袭击者被指控 他们做了一件极其简单的事情:启动了自己的单验证者 Cosmos 链,直接打开一个全新的 IBC 通道连接到 Secret 桥接合约,然后自转发伪造的、携带与合约允许列表匹配的代币面额的数据包。合约会检查传入的代币面额,但不会检查该面额的代币应该来自哪个通道。
那张缺失的支票就是整个事件的根源。由于 saToken 合约信任任何格式正确的、面额已知的 IBC 数据包,攻击者可以凭空铸造出看似完全由资金支持的 saUSDT、saUSDC、saDAI、saWETH、saWBTC、saWBNB 和 sawstETH。这些新铸造的 saToken 随后通过合法的 Axelar IBC 通道被赎回,Axelar 端也因此释放了实际托管的资产。Secret 链没有察觉到任何异常,因为铸造过程在技术上是合法的。Axelar 链也没有察觉到任何异常,因为赎回过程在技术上也是合法的。只有托管账户的账目出现了问题,而没有人注意到这一点。
一项从未经过外部审计的定制化改造
Secret 方面的调查人员表示,在整合 Axelar 时,桥接合约已从标准的托管模式改为了 Mint 模式,而在此次修改过程中,原本可以检测到此类伪造通道攻击的两个验证功能被移除。 从代码中移除据报道,Axelar 在启用连接前从未要求进行外部审计。自定义桥接代码移除了安全检查,未经新的审计就部署在一条外部方难以从外部监控合约状态的链上。这几乎是安全研究人员所能设想的最糟糕的情况组合。一旦你了解了合约的连接方式,就会发现这个漏洞其实并不难发现。真正令人担忧的是,竟然有人在一周内没有发现它,这才是每个运行 CW20-ICS20 分叉链的团队都应该警惕的地方。
AXL上涨5%,Secret持有者不太高兴
Axelar 的紧急委员会已确认 Axelar 网络的其他部分运行正常,此次攻击仅限于 Secret 连接。据报道,交易所和执法部门已接到通知,调查仍在进行中。令人有些意外的是,自消息传出以来,AXL 的交易价格反而上涨了约 5%,这可能是因为市场将此次快速关闭视为紧急程序有效运作的证据。另一方面,Secret Network 的 SCRT 则度过了不太愉快的一周。使用该桥接的持有者目前正在等待 Secret 社区决定是否从国库或质押资金中分摊损失,以及 Axelar 方面是否会提供任何补偿。
桥梁总是以同样的方式坍塌。
如果你关注加密货币安全一段时间,肯定见过类似的套路:一个标准合约的自定义分叉,悄悄移除了几项安全检查,没有外部审计,再加上一个狡猾的攻击者,读取合约代码的速度比部署者还要快。真正的新情况在于隐私在事件发展过程中扮演的角色。Secret Network 的链上不透明性吸引了那些希望保护余额的用户,但也正是这种不透明性蒙蔽了更广泛的安全社区,让他们对资金流失已经持续整整一周的事实视而不见。现在亟需探讨隐私链如何构建带外监控机制,以便在数小时内而非数天内发现下一次安全事件。目前,桥接用户损失了大约 450 万美元,另一项集成也正在紧急撤销。
---------------
作者: 多利安·芬威克
银icon 谷新闻编辑室
最新加密新闻