12月29日,针对Cover协议遭受攻击一事,慢雾安全团队对整个流程进行了简要分析,如下:
1.在Cover协议的Blacksmith合约中,用户可以通过deposit函数抵押BPT代币;
2.攻击者在第一次进行deposit-withdraw后将通过updatePool函数来更新池子,并使用accRewardsPerToken来记录累计奖励;
Ledger将推迟发布Ledger Recover功能:5月23日消息,Ledger宣布将推迟发布Ledger Recover(密钥恢复)功能,在发布代码之前不会引入该项新功能。
据悉,Ledger Recover服务将私钥恢复短语拆分为三个加密分片,并将它们分发给三个托管方:Ledger、加密托管公司Coincover和代码托管公司EscrowTech。如果有人丢失了他们的恢复短语,则可以合并三个分片中的两个(等待ID检查)以重新获得对锁定资金的访问权限。该功能引发了部分用户对隐私和安全的担忧。[2023/5/24 15:21:44]
3.之后将通过_claimCoverRewards函数来分配奖励并使用rewardWriteoff参数进行记录;
Ledger加速其开源路线图来解决对其Recover服务的担忧:金色财经报道,硬件钱包制造商 Ledger 表示,它将通过努力加速其开源路线图来解决对其 Recover 服务的担忧。 首席执行官 Pascal Gauthier 表示,Ledger 从不在安全方面妥协。该公司无意通过这项服务的发布来让任何人感到惊讶。我们无意的沟通错误让每个人都感到意外,并影响了我们的客户准确理解 Ledger Recover 的能力、它在不断发展的加密社区中的作用以及 Ledger 的未来产品。[2023/5/24 15:21:34]
4.在攻击者第一次withdraw后还留有一小部分的BPT进行抵押;
Cover Protocol发起新提案:建议将COVER添加回yPIE中:2月8日消息,Cover Protocol发起新提案,建议将COVER代币添加回yPIE中。官方表示已经修复了奖励合约中的漏洞,并对其进行了多次重新审计和审查。目前的奖励合约已经到位,并按照预期正常运作。无限代币铸造攻击将无法实现。该代币目前的最大供应为70200枚(已铸造)。
具体内容如下:1. 添加COVER代币到yPIE;
2. xCOVER即将推出,通过在yPIE策略中部署来提供COVER质押收益;
3. 进一步实现PieDAO与Cover的协作。
此前消息,基于以太坊的代币化投资组合治理层PieDAO宣布推出PieVault,允许指数持有人直接和DeFi各协议进行交互,包括元治理(Meta-governance)、获得资产收益和进行资产借贷,首个推出的PieVault为yPIE。[2021/2/8 19:14:15]
5.此时攻击者将第二次进行deposit,并通过claimRewards提取奖励;
6.问题出在rewardWriteoff的具体计算,在攻击者第二次进行deposit-claimRewards时取的Pool值定义为memory,此时memory中获取的Pool是攻击者第一次withdraw进行updatePool时更新的值;
7.由于memory中获取的Pool值是旧的,其对应记录的accRewardsPerToken也是旧的会赋值到miner;
8.之后再进行新的一次updatePool时,由于攻击者在第一次进行withdraw后池子中的lpTotal已经变小,所以最后获得的accRewardsPerToken将变大;
9.此时攻击者被赋值的accRewardsPerToken是旧的是一个较小值,在进行rewardWriteoff计算时获得的值也将偏小,但攻击者在进行claimRewards时用的却是池子更新后的accRewardsPerToken值;
10.因此在进行具体奖励计算时由于这个新旧参数之前差值,会导致计算出一个偏大的数值;
11.所以最后在根据计算结果给攻击者铸造奖励时就会额外铸造出更多的COVER代币,导致COVER代币增发。
具体accRewardsPerToken参数差值变化如下图:
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。