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

北京时间12月28日晚,CertiK安全验证团队发现CoverProtocol发生代币无限增发漏洞攻击。本文为你分析事件详情始末。

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

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

数字化管理平台Endowus筹集3500万美元以在香港扩张:金色财经报道,EDBI支持的新加坡财富管理初创公司Endowus筹集了3500万美元的资金。其他投资者包括Citi Ventures、MUFG Innovation Partners,UBS Next、Prosus Ventures、Lightspeed Venture Partners和Singtel Innov8等投资者。新资金使这家成立六年的初创公司的总资金达到9500万美元。

Endowus计划在香港扩张,该公司于4月份开始在香港开展业务。去年11月,新加坡区块链证券交易所ADDX筹集2000万美元来扩大其机构财富管理平台。[2023/8/9 16:16:07]

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

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

波卡平行链Astar Network推出“Astar 2.0 Vision”:金色财经报道,波卡平行链Astar Network创始人Sota Watanabe在社交媒体宣布推出项目新愿景“Astar 2.0 Vision”,其中概述了符合该组织战略的生态系统长期目标,包括重新设计代币经济、组织架构和技术基础等。据悉,Astar Network原生代币ASTR的通胀率、gas费率和质押奖励等关键参数将会有所优化,同时Astar Link将不再局限于游戏领域并拟拓展企业服务市场,此外Astar基金会和Startale Labs还宣布与日本行业巨头丰田汽车公司和索尼网络通信公司达成合作。[2023/7/27 16:02:50]

技术分析?

主要攻击分为以下步骤:?1.攻击者设置攻击必要的假代币。

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

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

Lens Protocol将在巴黎EthCC大会期间发布V2版本:7月12日消息,Web3社交协议Lens Protocol与Aave创始人Stani Kulechov发推表示,去中心化社交协议LensProtocol将在巴黎EthCC(Ethereum Community Conference)大会期间发布V2版本。[2023/7/12 10:49:21]

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

3.攻击者向CoverProtocal中的Blacksmith.sol智能合约质押(stake)前一步中所得的所有Balancer流动性证明代币。质押时,攻击者调用位于0xe0b94a7bb45dd905c79bb1992c9879f40f1caed5的Blacksmith.sol智能合约中的deposit函数,如图一所示:

ParaSpace前顾问Jay:已于今早履行约定辞去在ParaSpace的职务:5月19日消息,ParaSpace 前顾问杰伊·姚(Jay Yao)在社交媒体上发文表示,其已于今早与部分团队成员一起辞去在 ParaSpace 的职务。

此前报道,ParaSpace 创始人 Yubo 昨日在社交媒体表示,该项目两名前顾问托马斯·施密特(Thomas Schmidt)和杰伊·姚(Jay Yao)已同意交出多重签名和官方推特账户权限,但要求承认其为项目做出的贡献并保留联合创始人的头衔为以后使用。两人将在签署两方协议后离开团队。[2023/5/19 15:13:11]

图一:Thedeposit()functioninblacksmith.sol

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

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

ETHGlobal黑客松入围项目Opclave支持使用Apple Face ID与Touch ID发起交易:3月27日消息,伊斯坦布尔大学?Tü Blockchain俱乐部团队开发的Opclave入围ETH Global Scaling 2023黑客松,这是对ERC-4337兼容智能合约账户的OP Stack改进,该智能合约钱包使用与 Apple Enclave 抽象的签名,允许用户创建并使用 Apple Face-ID 与 Touch-ID 的非托管钱包,而无需助记词。其核心理念是将 Apple 设备、iPhone、Macbook 变成硬件钱包,从可信执行环境 Apple Secure Enclave 中发起交易,确保安全。同时,Opclave 还具有社交恢复、批量处理、支持 ERC20 Token 支付、每日支出限额等功能。此后,团队还将开发 2FA、电子邮件登陆等其他账户抽象功能,并支持 Starknet、zkSync、Fuel 等其他链。[2023/3/27 13:28:37]

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

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

安全建议

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

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

地球链

[0:0ms0-1:42ms