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

浏览次数: 215 快讯区域: 全国
有效期至: 长期有效 发布时间: 2020-12-29 21:00
详细内容留言咨询
区快洞察消息,针对 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 代币增发。

广告

区快洞察消息,以太坊链上期权协议 Primitive 宣布已在主网上部署 v1 版本,即将将接口部署到 IPFS,对 Connector 合约库进行智能合约审计,以及在页面上抽象化 WETH 的使用,方便用户直接使用 ETH。之后,Primitive 将对核心期权智能合约进行几项升级,如使用许可进...

区快洞察消息,零知识证明研发机构 StarkWare 为其图灵完备框架「Cairo」发布 Cairo 工具链的首个版本 v0.0.1,包括编译器、虚拟机、调式器(Tracer)、IDE 扩展等。另外,StarkWare 即将为太坊二层扩容方案 StarkEx 2.0 发布 Cairo 代码。区快洞察此前报道,本月初...

该企业最新头条微商机
 
区块联盟媒体主

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

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