北京时间 8 月 3 日早 7 时左右,Solana 生态遭到了重大黑客攻击,损失约为 800 万美元。其中主要包括 SOL 代币、USDC、一些基于 Solana 的代币和 Solana-NFT,此外还有一些来自其他链的资产。
大约有8000个 Solana 地址被黑,被盗的资金被抽走到 4 个不同的钱包(即攻击者地址)。
根据 CertiK 安全专家初步调查显示,涉及事件的交易是由实际所有者直接签署的,这至少表明了私钥被破坏。私钥泄露的原因可能是由于钱包在和第三方数据分析平台交互时意外泄露了助记词。
CertiK 将进一步进行调查,并在官方推特以及微信公众号等平台更新最新调查结果。
CertiK 安全团队监测到ZB 交易所(ZBExchange)被黑客攻击,总共损失约为 430 万美元。目前2224 枚 ETH(约 360 万美元)已被转移到黑客钱包。这些资金目前在一个外部账户中,很可能会被发送到 TornadoCash。
事件经过:
在 ZBExchange 的热钱包中,一个私人密钥被泄露后,该交易所遭到了攻击。(热钱包是指储存资产并直接连接到互联网的钱包。与冷钱包相比,这种热钱包更容易受到攻击)
ZBExchange 已于 8 月 2 日通知他们的社群:由于 "突发故障",将暂停存款和提款活动。原因是 “核心应用程序突然失效”。
值得注意的是,攻击实际上发生在 8 月 1 日,但该攻击被 Nomad 漏洞攻击铺天盖地的消息所掩盖了。
CertiK 安全团队专家认为,诸如此类的攻击凸显了去中心化权限管理的必要性。ZBExchnage 将自己描述为 “世界上最安全的数字资产交易所”,这无疑证明了无论一个项目认为自己有多安全,都需要时刻保持对黑客攻击的警惕,因为在项目提升安全标准的同时,黑客们也一直在寻找漏洞。
攻击者利用 ReaperVaultV2 合约中的一个漏洞——可以销毁其他用户的 vault share 并提取代币,以此从多个 vault 提取了大量的代币。
截至北京时间 2022 年 8 月 3 日 8 点,160 万 DAI、62 ETH 以及 200 Matic 已被存入 TornadoCash。
攻击步骤
① 攻击者部署了一个攻击者合约,通过该合约,攻击者可在一次交易中从 Reaper vault提取多个用户的资产。
② ReaperVaultV2 合约并未检查 share owner 与 message sender 之间的关系,因此攻击者可以多次通过攻击者合约提取vault用户的资产。
③ 攻击者将从金库提取的代币换成 DAI、ETH 和 Matic,并将其存入 TornadoCash。
漏洞分析
在 ReaperVaultV2 合约的`withdraw()`函数中,vault share 所有者可以是 msg.sender 以外的账户。同时,所有者与 msg.sender 之间的关系或是allowance 未被检查,意味着人们可以从vault提取其他用户的资产。
本次攻击事件本可通过审计发现“缺乏访问控制”这一风险因素。该风险因素将被归类于严重等级的风险。而除审计外,CertiK 安全团队建议新增的代码也需要在上线前及时进行相应测试。
往期长文回顾
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。