北京时间12月28日晚,CertiK安全验证团队发现CoverProtocol发生代币无限增发漏洞攻击。本文为你分析事件详情始末。
作为币民如果加密资产不幸被盗,但项目方或者你个人购买了保险,那么也大可放心让保险公司偿还损失的资产。
可还有最差的一种情况:但是如果连保险公司都出了安全事故,受到攻击了呢?
FTX索赔门户网站现已重新上线:7月13日消息,FTX索赔门户网站已重新上线,为FTX、FTX US、Blockfolio、FTX EU、FTX Japan和Liquid用户提供访问账户信息、查询历史交易、提交电子索赔证明等功能。据悉,客户提出索赔的截止日期已定为2023年9月29日下午4点(美国东部时间),索赔必须在截止日期之前提交。[2023/7/13 10:52:10]
北京时间12月28日晚,CertiK安全技术团队发现CoverProtocol发生代币无限增发漏洞攻击。
攻击者通过反复对项目智能合约进行质押和取回操作,触发其中包含铸造代币的操作,对Cover代币进行无限增发,导致Cover代币价格崩盘。
技术分析?
主要攻击分为以下步骤:?1.攻击者设置攻击必要的假代币。
2.攻击者使用假代币,为BalancerPool提供流动性:
①总计向BalancerPool提供了2,573个DAI的流动性
BNB Chain将通过Fjord启动Balancer流动性引导池:12月19日消息,BNB Chain通过Fjord启动Balancer流动性引导池,将允许新项目无缝且公平地产生流动性。流动性引导池最初将支持ERC-20代币,并将于2023年通过Fjord NFT在BNB Chain上公平发布NFT。[2022/12/19 21:54:21]
②攻击者通过向BalancerPool提供流动性,获得了约132,688个Balancer流动性证明代币BPT
3.攻击者向CoverProtocal中的Blacksmith.sol智能合约质押(stake)前一步中所得的所有Balancer流动性证明代币。质押时,攻击者调用位于0xe0b94a7bb45dd905c79bb1992c9879f40f1caed5的Blacksmith.sol智能合约中的deposit函数,如图一所示:
Dave Ripley:加密货币未来将基于自我监管以及明确的监管标准:金色财经报道,即将接替首席执行官Jesse Powell作为Kraken的新首席执行官Dave Ripley表示,Kraken是自我托管的支持者,而加密货币的未来将基于自我监管和明确的监管标准。
Ripley表示,由于FTX的出现,中心化平台和监管机构之间的关系可能会改变。他说 FTX 创始人SBF与监管机构的密切联系不利于DeFi 和加密货币的理想化。[2022/11/24 8:02:57]
图一:Thedeposit()functioninblacksmith.sol
通过调用deposit函数,攻击者将得到的BPT流动性证明质押到coverprotocol中。
首先通过图一中118行将当前流动性证明代币的pool数据读取到memory,然后调用121行代码对当前pool的数据进行更新。
彭博社Joe Weisenthal:对加密货币价格的投机是该行业唯一的收入来源:金色财经报道,彭博社Odd Lots播客的联合主持人Joe Weisenthal将正在发生的加密货币灾难与 2008年的抵押贷款危机相提并论。 虽然这些危机乍一看似乎很相似,但Weisenthal认为,它们之间的主要区别在于人们仍然需要住房。另一方面,没有必须通过加密货币来满足的基本人类需求。 Weisenthal表示,对加密货币价格的投机是该行业唯一的收入来源。这就是为什么关键的“基本面”在熊市期间也会急剧下降。[2022/11/23 7:58:39]
图二:blacksmith.sol中的updatePool()函数
如图二第75行所示,在updatePool()函数中修改的当前流动性证明代币的pool数据是一份存储在storage中的数据,与在deposit()中存储在memory中当前流动性证明代币的pool数据是两份数据。在图二第84行lpTotal的值代表当前合同中总共存入的流动性证明代币数目,由于该变量数值较小,因此通过84行公式pool.accRewardsPerToken的数值将会增大,更新过的accRewardsPerToken值存储在storage中。
以太坊信标链质押量突破1440万,验证者突破45万:10月25日消息,据欧科云链OKLink多链浏览器显示,以太坊信标链上质押数已突破1440万枚ETH,截至目前为14,431,447枚,占当前以太坊总流通量的12.06%,验证者总量为450,531。按当前市场计算,信标链质押ETH总价值已逾193亿美元。[2022/10/25 16:38:13]
图三: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。
安全建议
为了确保数字资产不因任何非技术原因遭受损失,项目方应及时为项目产品购买保险,增加项目方和投资者的安全保障方案,确保其因受到攻击所造成的损失可以被及时补偿。
2020年10月中旬,深圳以财政出资1000万元,以注册成功的个人抽签中标方式投放5万个红包,通过指定银行转换成数字人民币,在设定区域具备接收条件的商家限期消费.
1900/1/1 0:00:00撰文:7一份包含超过27万条账户信息的数据库文件成为了成为了比特币硬件钱包制造商Ledger挥之不去的梦魇,这份文件在RaidForums上被已极低的售价卖出.
1900/1/1 0:00:00上一期我们做了NVIDIA爆款RTX3060Ti的挖矿性能测评,相信大家对这个机器的挖矿性能也有了一定的了解.
1900/1/1 0:00:00比特币的估值不断提高,目前正与市场活动规模相匹配,多个指标正在指示变化,并且数字资产行业存在一种紧迫感.
1900/1/1 0:00:00撰文:蔡彦,NGCVentures董事总经理自今年6月以来,我们见证了DeFi引导的加密货币牛市,并且看到越来越多的项目涌现出来。代币价格起起伏伏,有时被一些庄家操作.
1900/1/1 0:00:00证券时报记者安仲文刚超越台积电,比特币市值就在1月3日超过了阿里巴巴。比特币价格1月3日再次大涨超13%,截至记者发稿时,比特币价格已接近3.5万美元,高达4万亿元人民币的市值,足以在全球上市公.
1900/1/1 0:00:00