Orbit Chain被盗8000万美元,开年第一大案事如何发生的?
北京时间2024年1月1日,据Beosin旗下EagleEye安全风险监控、预警与阻断平台监测显示,Orbit_Chain项目遭受攻击损失至少约为8000万美元,经Beosin Trace分析,黑客地址(0x27e2cc59a64d705a6c3d3d306186c2a55dcd5710)早在1天以前就发起了小规模的攻击,并且将盗取的ETH作为了本次攻击的其余5个地址的转账手续费来源。
Orbit Chain是一个跨链桥平台,用户可以在一条链上使用不同区块链的各种加密资产。现项目方已经暂停跨链桥合约并与黑客进行沟通。关于本次安全事件,Beosin安全团队第一时间进行以下分析。
事件分析
此次事件主要是攻击者直接调用Orbit Chain: Bridge合约的withdraw函数将资产转移出去。
通过进一步分析withdraw函数的代码,我们可以发现该函数采用了验证签名的方式来确保放款的安全性和合法性。
在区块链交易中,验证签名是一种常见的安全机制,用于确认交易的发起者是否具有足够的权限和控制权。在withdraw函数中,通过验证签名的方式,可以确保只有经过授权的用户或合约才能成功调用该函数并进行资产转移。
进入签名验证函数(_validate)后,我们可以观察到该函数返回了owner签名的数量,这一信息对于验证交易的合法性和安全性至关重要。
通过返回owner签名数量,可以在一定程度上验证交易的合规性和真实性。根据具体的实现方式,owner签名数量可能会与预先设定的阈值进行比较,以确定是否满足执行交易的条件。
随后判断该数量是否大于等于required,如果满足条件,便进行放款。
可以通过链上数据得知,管理该合约的owner一共有10个地址。required值为7,说明要想提取资产,需要70%的管理员签署提取交易。
总结来说,事件发生的原因倾向于保存管理员私钥的服务器被欺骗攻击。
攻击流程
根据链上数据显示,黑客早在2023-12-3003:39:35 PM +UTC开始就陆续发起了对Orbit_Chain项目的攻击,黑客盗取的ETH数额相对较小,并且将盗取的ETH发送给其余的数个黑客地址作为交易手续费。
其余数个黑客地址在2023-12-31 9:00 PM +UTC先后对Orbit_Chain项目的DAI、WBTC、ETH、USDC、USDT进行了攻击。
资金追踪
截止发稿,被盗资金转移情况如下图所示 ,黑客正式发起攻击后,将被盗资金转移到上述五个地址。在五笔独立的交易中,每笔交易都发送到一个新的钱包,Orbit Bridge 发送了 5000万美元的稳定币(3000万 Tether 、 1000万 DAI 和 1000万 USDC)、 231 枚 wBTC(约 1000万美元)和 9500枚 ETH(约 2150万美元)。
Beosin Trace追踪资金流向图
本次跨链桥安全事件再次给我们安全启示,提醒着我们在设计和实施区块链系统时,安全性应该始终是首要考虑的因素。
首先,我们需要注重代码的安全性。合约代码是区块链系统的核心组成部分,因此在编写和审查合约代码时,应该遵循最佳实践和安全标准,避免常见的安全漏洞和攻击向量。
其次,鉴权和身份验证是至关重要的。在区块链系统中,确保只有授权的用户或合约能够执行关键操作是防止未经授权访问和资产流失的关键。采用强大的身份验证机制、多重签名和权限管理等措施,可以有效地限制访问权限,并确保只有经过授权的实体能够进行敏感操作。