慢雾分析 Cover 协议攻击流程:rewardWriteoff 新旧参数差值导致计算出更大的铸造奖励数量

点击图片查看原图
  • 发布日期:2020-12-29
  • 有效期至:长期有效
  • 头条微商机区域:全国
  • 浏览次数279
  • 留言咨询
详细说明
区快洞察消息,针对 DeFi 保险项目 Cover 协议被攻击一事,慢雾安全团队对整个攻击流程进行了简要分析:1. 在 Cover 协议的 Blacksmith 合约中,用户可以通过 deposit 函数抵押 BPT 代币;
2. 攻击者在第一次进行 deposit、withdraw 后将通过 updatePool 函数来更新池子,并使用 accRewardsPerToken 来记录累计奖励;
3. 之后将通过 _claimCoverRewards 函数来分配奖励并使用 rewardWriteoff 参数进行记录;
4. 在攻击者第一次 withdraw 后还留有一小部分的 BPT 进行抵押;
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 代币增发。

该企业最新头条微商机
 
更多>最新产品信息:
联系方式

您还没有登录,请登录后查看详情

推荐资讯
最新
最新头条微商机
陶瓷头条 | 空调头条 | 卫浴头条 | 洁具头条 | 油漆头条 | 涂料头条 | 地板头条 | 吊顶头条 | 衣柜头条 | 家居头条 | 老姚之家 | 灯饰之家 | 电气之家 | 全景头条 | 陶瓷之家 | 照明之家 | 防水之家 | 防盗之家 | 博一建材 | 卫浴之家 | 区快洞察 | 深圳建材 | 香港建材 | 佛山建材 | 广州建材 | 东莞建材 | 惠州建材 | 南宁建材 | 崇左建材 | 来宾建材 | 河池建材 | 贺州建材 | 百色建材 | 玉林建材 | 贵港建材 | 钦州建材 | 防城港建材 | 北海建材 | 梧州建材 | 桂林建材 | 柳州建材 |
建材 | 720全景 | 企业之家 | 移动社区 | 关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图 | 排名推广 | 广告服务 | 积分换礼 | 网站留言 | RSS订阅 | sitemap |
(c)2015-2017 BO-YI.COM SYSTEM All Rights Reserved
Powered by 家纺头条