COV:首发 | 卖意外险的保险公司也遭受了意外?Cover Protocol漏洞分析

本文由CertiK安全验证团队撰稿,授权金色财经首发。

最近小区出现了一些流浪狗,听说邻居家有孩子看到狗吓得就跑,结果反而被狗狂追咬了一口。

还好父母机智,给孩子上了个意外险,几针狂犬病疫苗下来没怎么花钱。

作为币民如果加密资产不幸被盗,但项目方或者你个人购买了保险,那么也大可放心让保险公司偿还损失的资产。

可还有最差的一种情况:但是如果连保险公司都出了安全事故,受到攻击了呢?

北京时间12月28日晚,CertiK安全技术团队发现CoverProtocol发生代币无限增发漏洞攻击。

攻击者通过反复对项目智能合约进行质押和取回操作,触发其中包含铸造代币的操作,对Cover代币进行无限增发,导致Cover代币价格崩盘。

HashKey报告:以太坊流动质押总价值可能在两年内翻倍:金色财经报道,HashKey Capital报告显示,ETH流动质押衍生品(LSD)市场有望出现爆炸性增长,未来两年锁定的总价值可能会增加240亿美元。

报告称,以太坊LSD市场今年锁定总价值(TVL)超过220亿美元,所有LSD项目的总市值达到180亿美元。质押是加密货币持有者将其数字资产投入使用并无需出售即可获得被动收入的一种方式。

到2025年第二季度末,质押的以太坊数量可能会达到以太坊总供应量的31%-45%,这反过来将推高LSD市场的价值。[2023/8/3 16:16:36]

技术分析?

主要攻击分为以下步骤:?

1.攻击者设置攻击必要的假代币。

2.攻击者使用假代币,为BalancerPool提供流动性:

??①总计向BalancerPool提供了2,573个DAI的流动性

a16z CTO:“橙球”谜语推文并非是要推出L2:4月19日消息,a16z 首席技术官 Eddy Lazzarin 回应 a16z 工程师 ncitron.eth 发布的“橙色圆球”即将推出谜语推文称,这并非 L2。a16z 工程师 ncitron.eth 发布橙球推文后,与 Optimism 图像的相似性导致交易者猜测 a16z 可能计划推出自己的 Layer2 区块链,OP Token 此后上涨 3%。

此前报道,Coinbase 于 2 月份发布包含蓝色圆球的推文,并基于 OP Stack 构建了一个全新 L2 区块链 Base。(CoinDesk )[2023/4/19 14:12:34]

??②攻击者通过向BalancerPool提供流动性,获得了约132,688个Balancer流动性证明代币BPT

3.攻击者向CoverProtocal中的Blacksmith.sol智能合约质押(stake)前一步中所得的所有Balancer流动性证明代币。

新加坡法院批准加密货币交易所Zipmex的重组计划:金色财经报道,泰国加密货币交易所Zipmex的安排计划或重组计划已获得新加坡高等法院的批准,为客户取回存款铺平了道路。根据Zipmex网站周四的更新,法院批准为钱包资产不超过5,000美元的债权人设立“行政便利类” 。Zipmex将债权人保护期限延长三周至4月23日的请求也获得批准。[2023/3/31 13:36:16]

质押时,攻击者调用位于0xe0b94a7bb45dd905c79bb1992c9879f40f1caed5的Blacksmith.sol智能合约中的deposit函数,如图一所示:

图一:Thedeposit()functioninblacksmith.sol

通过调用deposit函数,攻击者将得到的BPT流动性证明质押到coverprotocol中。

推特加密货币部门负责人已辞职:金色财经报道,推特加密货币部门负责人Tess Rinearson已经辞职。与此同时,高级软件工程师Hamdi Allam也已离开该部门。据此前消息,马斯克已解雇多名批评他的员工,同时在邮件中警告剩余员工,如果他们想保住工作,就要“长时间工作”。[2022/11/19 13:23:48]

首先通过图一中118行将当前流动性证明代币的pool数据读取到memory,然后调用121行代码对当前pool的数据进行更新。

图二:blacksmith.sol中的updatePool()函数

如图二第75行所示,在updatePool()函数中修改的当前流动性证明代币的pool数据是一份存储在storage中的数据,与在deposit()中存储在memory中当前流动性证明代币的pool数据是两份数据。

加密公司Onramp Invest加入Bosonic网络:金色财经报道,去中心化金融市场基础设施(dFMI)企业Bosonic宣布将加入加密管理解决方案Onramp Invest。Onramp Invest为财务顾问提供了一个全面易用的平台,以帮助他们的客户安全、自信、智能地投资数字资产。通过加入Bosonic Network的托管人和流动性提供者生态系统,Onramp现在可以为其顾问及其最终客户提供最优惠的价格。(finextra)[2022/9/4 13:07:14]

在图二第84行lpTotal的值代表当前合同中总共存入的流动性证明代币数目,由于该变量数值较小,因此通过84行公式pool.accRewardsPerToken的数值将会增大,更新过的accRewardsPerToken值存储在storage中。

图三: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。

安全建议

为了确保数字资产不因任何非技术原因遭受损失,项目方应及时为项目产品购买保险,增加项目方和投资者的安全保障方案,确保其因受到攻击所造成的损失可以被及时补偿。

作为世界顶尖的审计公司,CertiK目前已经进行了超过369次安全审计,审计了超过198,000行代码,并保护了价值超过100亿美元的加密资产。

近期,CeritK推出了CertiKShield去中心化资金保障计划。

CertiKShield不仅可以为项目及其社区成员提供保障,同时,CertiK作为主营业务为审计的安全公司,我们确保自己的保险项目拥有更高的安全性。

相比于纯粹的保险公司,安全技术的背书及团队对于安全的重视和一系列的保障,CertiKShield是安全领域内构建的保险,并且有着巨大的成长和发展空间。

来源:金色财经

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

地球链

Gate交易所ZKS:12/30 子恒论币ETH

午夜ETH策略是:就在724-727附近空单进场,目标5-10-20,风控7?全网公开11:00发的文章,朋友们可以见证,晚间是不是20美金,早间空单也是20美金,午夜空单20美金.

[0:15ms0-0:734ms