CER:CertiK:Crema Finance被攻击损失880万美元事件分析-ODAILY

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

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

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

Balancer发起新提案,拟将额外收取的wstETH退还至流动性提供者:3 月 9 日,去中心化交易平台 Balancer 发起社区提案投票,计划将额外收取的 wstETH 退款至流动性提供者。此前由于协议费收取设计机制问题,Balancer 的协议费收集合约积累大量额外收取的 wstETH。Balancer 计划以空投形式将其分发给实际受影响的流动性提供者,Gas 费将由 BalancerDAO 的金库支付。此次投票将于 3 月 12 日 3:00 结束。[2022/3/9 13:47:01]

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

Cere Network将通过DAO Maker进行公募,以筹集100万美元:3月22日消息,波卡生态去中心化数据云平台Cere Network宣布将在DAO Maker的新投资平台DAO Pad上进行公募,以筹集100万美元资金。

本次公募将采取白名单形式,白名单上限400人,每人将最多获得价值2500美元的Cere代币分配额度。不过,参与者需要在DAO Maker Vault中质押500枚DAOMaker代币DAO。

Cere Network是基于波卡Polkadot构建的去中心化数据云平台,针对服务数据集成、数据协作进行了优化。3月份,Cere Network完成由RepublicLabs领投的500万美元私募轮融资,由RepublicLabs领投,OKEx旗下Block Dream Fund等参投。(Medium)[2021/3/22 19:08:22]

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

CertiK宣布完成对跨链DeFi平台Kava的CDP和拍卖模块的代码审计:区块链安全公司CertiK宣布完成对跨链DeFi协议Kava的CDP和拍卖模块的代码审计,并发布完整审计报告。报告显示,CertiK发现并修复了可能导致未经授权的访问、资金损失、级联故障等已知漏洞以及其他安全漏洞,最终审计结果为Kava交付代码具有非常高的置信度。整个审计过程历时6周。[2020/7/15]

攻击步骤

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

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

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

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

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

资产去向

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

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

写在最后

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

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

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

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

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

地球链

[0:0ms0-0:998ms