CertiK:Crema Finance被攻击损失880万美元事件分析_CER:GoCerberus

北京时间2022年7月3日,CertiK安全团队监测到Solana链上的CremaFinance项目遭到黑客攻击,损失约880万美元。

CremaFinance是一个建立在Solana上强大的流动性协议,为交易者和流动性提供者提供各项功能。在发现黑客攻击后,该项目方暂时终止了项目运行,以防止攻击者从平台上盗取更多资金。

Across Protocol:ACX代币将在Balancer上建立流动性池:11月28日,据官方推特,跨链桥Across Protocol表示,已批准在Balancer上建立ACX初始流动性的提案,将在ACX代币正式流通后在Balancer上建立初始流动性池。此外,上线流动性池后,用户还将可以通过添加流动性获得额外的ACX奖励,未来还可能会申请Balancer和Aura奖励。[2022/11/28 21:07:36]

CertiK安全团队进行了初步调查,认为在这次黑客攻击中,攻击者通过使用Solend协议中的6个不同闪电贷来利用合约。攻击者伪造tick账户,通过存入和提取借来的代币,并调用了如下三个函数来实现攻击:“DepositFixedTokenType”,“Claim”以及“WithdrawAllTokenTypes”。当调用”Claim"函数时,黑客利用先前伪造的tick账户能够获得额外的代币。

Certik复盘Yearn闪电贷攻击:黑客完成5次DAI与USDT从3crv中存取操作后偿还闪电贷:Certik发布文章,复盘Yearn闪电贷攻击。黑客操作的具体操作如下:

1.利用闪电贷筹措攻击所需初始资金。

2.利用 Yearn.Finance 合约中漏洞,反复将 DAI 与 USDT 从 3crv 中存入和取出操作,目的是获得更多的3Crv代币。这些代币在随后的3笔转换代币交易中转换为了USDT与DAI稳定币。

3.完成5次重复的DAI 与 USDT 从 3crv 中存取操作后,偿还闪电贷。[2021/2/5 18:57:51]

CremaFinance随后联系了攻击者并称“黑客有72小时的时间考虑成为白帽黑客,并保留80万美元”。

Axion Network遭黑客攻击币价归零,CertiK称可能是项目内部人员所为:Cointelegraph报道称,在11月2日,一个名为Axion Network的项目上线代币AXN几个小时后即遭到黑客攻击,790亿枚AXN被铸造并且抛售到市场,代币价格几近归零,黑客获利1300枚ETH,约合50万美元。

作为项目的审计方之一,Certik通过分析表示,黑客利用了Axion质押合约的反质押功能,通过Uniswap将AXN兑换为ETH,直到Uniswap相关代币池被耗尽,AXN价格归零。此外,Certik表示该事件很可能为内部人员所为,恶意代码的植入发生在代码部署期间,而这部分代码并非Certik审计内容。[2020/11/3 11:29:52]

值得注意的是,与该项目名字类似的CreamFinance于2021年10月也遭遇过毁灭性的闪电贷攻击,该攻击中CreamFinance被黑客盗取了约1.3亿美元资金。虽然这两起攻击事件并不相关,但这两个相似名字的项目遭遇的两起攻击都显示出了合约安全的重要性:黑客能够以惊人的方式利用闪电贷来进行各种各样的攻击。

攻击步骤

①攻击者准备了一个假的tick账户,方便在调用“Claim”函数时使用。

②攻击者利用闪电贷借出了所需的token,并被用于与CremaFinance交互时的存款。

③攻击者调用“DepositFixTokenType”函数,通过该函数将通过闪电贷借来的金额存入相应的pool。

④攻击者通过调用“Claim”函数,获得额外代币。

⑤最后,攻击者调用“WithdrawAllTokenTypes”函数,将最初存入的代币取回。

资产去向

截稿时,CertiK安全团队预估损失总计约为878万美元。

大约7万SOL在Esmx2QjmDZMjJ15yBJ2nhqisjEt7Gqro4jSkofdoVsvY账户中,而分批被盗的资产已被转移到5pkD6y7qyupa2B1CiYoapBZootfhA6aRWqhqi4HYeQ9s。这些资金被桥接到ETH主网,并被发送到0x8021b2962db803b73aa874030b0b42c202e8458f。

写在最后

根据现有的攻击流程和CremaFinance公布的信息来看,本次攻击的起因为项目方代码缺少对于tickaccount的验证。作为存储价格信息的重要数据账户,源代码可能并没有做数据来源、所有者验证,或者这些验证可以被轻松跳过。

类似的账户检查缺失屡见不鲜,可以说账户如何安全使用是Solana程序的重中之重。类似的例子包括但不限于账户所有者验证的缺失、不同用户的数据账户混用等等。

CertiK安全专家在此建议:在程序编写时需注意账户的使用和其之间的联系。

攻击发生后,CertiK的推特预警账号以及官方预警系统已于第一时间发布了消息。同时,CertiK也会在未来持续于官方公众号发布与项目预警相关的信息。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:983ms