北京时间2022年7月3日,CertiK安全团队监测到Solana链上的CremaFinance项目遭到黑客攻击,损失约880万美元。
CremaFinance是一个建立在Solana上强大的流动性协议,为交易者和流动性提供者提供各项功能。在发现黑客攻击后,该项目方暂时终止了项目运行,以防止攻击者从平台上盗取更多资金。
CertiK安全团队进行了初步调查,认为在这次黑客攻击中,攻击者通过使用Solend协议中的6个不同闪电贷来利用合约。攻击者伪造tick账户,通过存入和提取借来的代币,并调用了如下三个函数来实现攻击:“DepositFixedTokenType”,“Claim”以及“WithdrawAllTokenTypes”。当调用”Claim"函数时,黑客利用先前伪造的tick账户能够获得额外的代币。
金色晨讯 | 9月27日隔夜重要动态一览:21:00-7:00关键词:以太坊2.0、美国SEC、代币冻结、GemSwap
1.以太坊开发人员:将在10月15日前完成以太坊2.0功能开发。
2.美国证券交易委员会(SEC)针对数字资产证券的问题发出不行动函。
3.直布罗陀数字和金融服务部长:区块链行业需要监管才能成功 但不能过度。
4.Tether CTO:在面对监管要求时会将代币冻结。
5.GemSwap合约遭攻击 流动池代币被洗劫。
6.V神:密码学在制造可扩展区块链很有价值。
7.数据:全球比特币ATM安装总数达10355台。
8.数据:本月以太坊期权到期后未平仓合约大幅下降。
9.比特币持续上涨,日内最低报10682.33美元,最高报10775美元。[2020/9/27]
CremaFinance随后联系了攻击者并称“黑客有72小时的时间考虑成为白帽黑客,并保留80万美元”。
金色晨讯 | 中国央行降准 Bitfinex澄清没有破产:1.中国央行降准,可再释放增量资金约7500亿元。
2.媒体质疑Bitfinex丧失偿还能力,Bitfinex澄清与波多黎各Noble银行之间的关系对其运营没有影响。
3.鱼池:近期传播的矿池产生“空块”会对以太坊造成威胁的说法是非常错误的。
4.赵长鹏呼吁纳斯达克打开机构投资大门,孙宇晨回应称希望同币安一起推进行业发展。
5.韩国国家警察厅报告:韩国3年来有158起加密钱包黑客事件。
6.ECAF签发了2份仲裁令,冻结9个EOS账户。
7.瑞典央行-0.5%的负利率可能导致人民将财富转移至数字货币。
8.将XRP作为2020年奥运会官方数字货币的请愿书签名已超8200个。
9.IBM研发部门科学家:物联网使比特币的工作证明机制变得更加高效。[2018/10/8]
值得注意的是,与该项目名字类似的CreamFinance于2021年10月也遭遇过毁灭性的闪电贷攻击,该攻击中CreamFinance被黑客盗取了约1.3亿美元资金。虽然这两起攻击事件并不相关,但这两个相似名字的项目遭遇的两起攻击都显示出了合约安全的重要性:黑客能够以惊人的方式利用闪电贷来进行各种各样的攻击。
金色晨讯 | 中国拘留数字货币盗窃者 华尔街对加密货币需求仍在增加:1.南非税务局宣布常规税收规则适用于数币相关交易。
2.中国拘留三名涉嫌数字货币盗窃嫌疑人。
3.火币矿池通证HPT上线,其中20%将空投给HT用户。
4.蚂蚁金服区块链业务专家称区块链票据可杜绝重复报销。
5.以太猫创始人表示,区块链在亚洲还有很大发展空间。
6.V神提出可将目前交易中使用的最高收费拍卖模式改为固定收费模式。
7.卡巴斯基称,第二季度犯罪分子以ICO名义窃取投资者信息获利230万美元。
8.John McAfee表示最近引发的BitFi钱包争议只是营销手段。
9.华尔街分析师表示,尽管价格下跌但华尔街对加密货币的需求在增加。[2018/8/20]
攻击步骤
①攻击者准备了一个假的tick账户,方便在调用“Claim”函数时使用。
②攻击者利用闪电贷借出了所需的token,并被用于与CremaFinance交互时的存款。
③攻击者调用“DepositFixTokenType”函数,通过该函数将通过闪电贷借来的金额存入相应的pool。
④攻击者通过调用“Claim”函数,获得额外代币。
⑤最后,攻击者调用“WithdrawAllTokenTypes”函数,将最初存入的代币取回。
资产去向
截稿时,CertiK安全团队预估损失总计约为878万美元。
大约7万SOL在Esmx2QjmDZMjJ15yBJ2nhqisjEt7Gqro4jSkofdoVsvY账户中,而分批被盗的资产已被转移到5pkD6y7qyupa2B1CiYoapBZootfhA6aRWqhqi4HYeQ9s。这些资金被桥接到ETH主网,并被发送到0x8021b2962db803b73aa874030b0b42c202e8458f。
写在最后
根据现有的攻击流程和CremaFinance公布的信息来看,本次攻击的起因为项目方代码缺少对于tickaccount的验证。作为存储价格信息的重要数据账户,源代码可能并没有做数据来源、所有者验证,或者这些验证可以被轻松跳过。
类似的账户检查缺失屡见不鲜,可以说账户如何安全使用是Solana程序的重中之重。类似的例子包括但不限于账户所有者验证的缺失、不同用户的数据账户混用等等。
CertiK安全专家在此建议:在程序编写时需注意账户的使用和其之间的联系。
攻击发生后,CertiK的推特预警账号以及官方预警系统已于第一时间发布了消息。同时,CertiK也会在未来持续于官方公众号发布与项目预警相关的信息。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。