北京时间12月28日晚,CertiK安全验证团队发现CoverProtocol发生代币无限增发漏洞攻击。本文为你分析事件详情始末。
作为币民如果加密资产不幸被盗,但项目方或者你个人购买了保险,那么也大可放心让保险公司偿还损失的资产。
可还有最差的一种情况:但是如果连保险公司都出了安全事故,受到攻击了呢?
印度央行副行长:希望以有节制、有调整的方式推出CBDC:金色财经报道,印度央行副行长Sankar表示,希望以有节制、有调整的方式推出央行数字货币(CBDC)。[2023/7/7 22:23:50]
北京时间12月28日晚,CertiK安全技术团队发现CoverProtocol发生代币无限增发漏洞攻击。
攻击者通过反复对项目智能合约进行质押和取回操作,触发其中包含铸造代币的操作,对Cover代币进行无限增发,导致Cover代币价格崩盘。
技术分析?
主要攻击分为以下步骤:?1.攻击者设置攻击必要的假代币。
2.攻击者使用假代币,为BalancerPool提供流动性:
①总计向BalancerPool提供了2,573个DAI的流动性
②攻击者通过向BalancerPool提供流动性,获得了约132,688个Balancer流动性证明代币BPT
3.攻击者向CoverProtocal中的Blacksmith.sol智能合约质押(stake)前一步中所得的所有Balancer流动性证明代币。质押时,攻击者调用位于0xe0b94a7bb45dd905c79bb1992c9879f40f1caed5的Blacksmith.sol智能合约中的deposit函数,如图一所示:
加利福尼亚州金融保护局下令加密交易平台CryptoFX停止运营:6月28日消息,加利福尼亚州金融保护局(DFPI)下令加密货币交易平台CryptoFX停止运营,称其违反了加利福尼亚证券法,并指控CryptoFX通过提供、销售未经合格的证券,并对投资者进行实质性的虚假陈述和发出遗漏信息。[2023/6/28 22:04:05]
图一:Thedeposit()functioninblacksmith.sol
通过调用deposit函数,攻击者将得到的BPT流动性证明质押到coverprotocol中。
首先通过图一中118行将当前流动性证明代币的pool数据读取到memory,然后调用121行代码对当前pool的数据进行更新。
美国阿肯色州通过比特币挖矿权法案:金色财经报道,美国阿肯色州通过比特币挖矿权法案,法案为该州“虚拟货币挖矿权”的所有权和转让建立了法律框架,为参与加密货币挖矿的个人和企业提供了明确的法律保护。[2023/4/11 13:55:31]
图二:blacksmith.sol中的updatePool()函数
如图二第75行所示,在updatePool()函数中修改的当前流动性证明代币的pool数据是一份存储在storage中的数据,与在deposit()中存储在memory中当前流动性证明代币的pool数据是两份数据。在图二第84行lpTotal的值代表当前合同中总共存入的流动性证明代币数目,由于该变量数值较小,因此通过84行公式pool.accRewardsPerToken的数值将会增大,更新过的accRewardsPerToken值存储在storage中。
巴哈马监管机构拒绝FTX新任首席执行官的破产协调指控:12月14日消息,巴哈马证券委员会拒绝了FTX新任首席执行官John J. Ray III关于FTX在美国破产案的指控,即巴哈马官员与SBF合作,以保护破产的加密交易所FTX的资产免受美国破产程序的影响。此外,巴哈马证券委员会表示表示将继续调查FTX的崩盘,正在与国内外执法部门和监管机构合作。
巴哈马监管机构发表声明称,Ray引用了SBF与巴哈马官员之间经过编辑的电子邮件通信,以制造SBF与委员会之间沟通的假象。Ray知道完整的电子邮件显示SBF承认他没有向证券委员会通报情况。巴哈马监管机构在回应中称,John J Ray III做出的主要错误陈述似乎与事实无关,而只是为了成为头条新闻并推进有问题的议程。Ray的文件“继续错误地混淆”巴哈马政府、委员会和法院批准的清算人。(the block)[2022/12/14 21:43:42]
美国纽约州州长已签署为期两年的加密挖矿暂停法案:11月23日消息,美国纽约州州长Kathy Hochul周二签署了一项立法,采取全国首创的措施来遏制加密货币挖矿的蔓延。新法律规定,对用于能源密集型“工作量证明(PoW)”加密货币挖矿的化石燃料发电厂,将暂停发放新的和续期的空气许可证两年。
该法律还要求环境保护部评估加密采矿如何影响该州实现其气候目标的能力。Hochul对此解释称,我将确保纽约继续成为金融创新的中心,同时采取重要措施优先保护我们的环境。[2022/11/23 7:59:47]
图三:blacksmith.sol中的_claimCoverRewards()函数接下来
如图三中318行所示,deposit()通过调用_claimCoverRewards()函数,向函数调用者(msg.sender)铸造一定数目的cover代币。
铸造cover代币的数目与pool.accRewardsPerToken,CAL_MULTIPLIER以及miner.rewardWriteoff三个变量相关。
请注意这里pool.accRewardsPerToken的数值是使用了存放在memory中的pool数据,并非使用图二中update()函数更新之后的数值。
同时,通过图1中deposit函数得知,miner.rewardWriteoff的数值更新是在_claimCoverRewards()函数执行完成之后发生。
因此原本设计上应使用更新过的miner.rewardWriteoff的数值计算需要铸造cover代币的数目,这里错误的使用了未更新过的miner.rewardWriteoff的数据,导致实际铸造cover代币数目比应铸造代币数目增多,最终导致了代币增发。
质押成功之后,攻击者通过调用blacksmith.sol智能合约中的withdraw()函数,将质押的BPT取回,同时取得额外铸造的cover代币,完成攻击。
通过对比执行deposit()函数和执行withdraw()函数之后的代币结余表,我们可以发现通过这一组deposit和withdraw函数调用之后,攻击者可以获得约704个COVER代币。
deposit()之后:
withdraw()之后:
攻击者通过反复执行deposit和withdraw函数,可以使Blacksmith函数无限铸造代币,并将代币转到自己的地址中,由此获利。攻击发生后,截止发稿时,cover官方已经将blacksmith迁移到安全版本:
有漏洞的blacksmith地址:
0xe0b94a7bb45dd905c79bb1992c9879f40f1caed5
临时修复后的blacksmith地址:
0x1d5fab8a0e88020309e52b77b9c8edf63c519a26
临时修复后的blacksmith合同临时禁止了一切质押和取回操作,以此阻止攻击者继续实行攻击。?
本次攻击最初攻击者共获利440万美金,约合人民币2900万人民币。
有其他攻击者利用该漏洞发动类似攻击,例如Grap.finance项目官方参与了利用该漏洞的攻击,获利4350个ETH代币。
在攻击发生后几个小时,Grap.finance项目官方通过Twitter声称对本次攻击负责,并表示已将所有的获利退回给了CoverProtocol。
安全建议
为了确保数字资产不因任何非技术原因遭受损失,项目方应及时为项目产品购买保险,增加项目方和投资者的安全保障方案,确保其因受到攻击所造成的损失可以被及时补偿。
标签:COVERCOVVERITHSabai EcoverseCOVAC价格OpenLeverageLilith Cash
据比推数据,在经历了本周初的下跌之后,比特币市场周四反弹突破4万美元,重新向4万美元上方的历史高点发起挑战.
1900/1/1 0:00:00据Cointelegraph报道,被曝丢失内含7500枚BTC硬盘的IT工作者JamesHowells最近再次请求挖掘一个垃圾填埋场,以期把硬盘设备找回来.
1900/1/1 0:00:00投资风投基金PanteraCapital发推表示反对Compound第32号治理提案,该提案要求将COMP分发给2020年11月25日受DAI清算影响的用户,作为补偿。目前有76%的多数票反对该提案.
1900/1/1 0:00:00Schulze-Kraft是加密市场数据聚合商Glassnode的首席技术官。近期他在个人推特上衡量了一些指标,将这些指标在从2017年的数据与其到达最高点时的收益进行比对分析,并将比特币的当前价格乘以相同的百分比增长得出:1.MVR.
1900/1/1 0:00:00在以太坊已经成功运行这么多年的基础上,重置以太坊这个词听起来是骇人听闻的。对于一旦开始就需要一直继续下去的加密货币网络。重置是一个从技术到经济都要重视的过程。这个提议在以太坊社区里从2020年6月就开始讨论了.
1900/1/1 0:00:00IOTA基金会技术总监JakubCech公布12月份关键项目进展最新情况,主要集中在Chrysalis第二阶段的实施、Pollen测试网和网络的智能合约概念证明。关于Chrysalis第二阶段的部署,Cech指出他们将休假到明年.
1900/1/1 0:00:00