看比特币的app|PeckShield:技术解析 DeFi 保险协议 Cover 遭攻击过程
PeckShield 表示该攻击主要是由于业务逻辑错误,导致误算质押用户奖励,并在不同 DEX 抛售套利。
原文标题:《DeFi 保险业新秀 COVER 遭攻击 保险业如何保障自己?》
撰文:PeckShield
进入 9 月后,随着 DeFi 协议流动性挖矿收益锐减,DeFi 市场开始归于沉寂,探索者们向更深广的领域进发。
11 月,凭借 Yearn.finance 创始人 Andre Cronje (AC)的加持,以及治理代币的大涨,去中心化保险 Cover Protocol 崭露头角,引领 DeFi 保险站在了聚光灯下。
有观点认为:「 DeFi 保险项目不仅可以减轻投保人的损失,也让人们可以更放心地参与 DeFi,且有助于健全 DeFi 生态。」
然而,就在 DeFi 保险的概念越炒越热时,Cover Protocol 在短时内遭到两次攻击,其代币价格经历了一场令人惊心动魄过山车。
2020 年 12 月 28 日,DeFi 保险项目 Cover Protocol 疑似遭到黑客攻击,其代币价格在攻击的影响下从 700 多美元一度暴跌至最低 9 美元。
PeckShield (派盾)通过追踪和分析发现,该攻击主要是由于业务逻辑错误,导致误算质押用户奖励,并在不同 DEX 抛售套利。
首先在一段运行时间内,攻击者先给 Blacksmith 打一些 LP token,然后直接调用函数 updatePool(),通过异常的 pool.accRewardsPerToken 来计算 COVER 的奖励;
随后通过 125 和 126 行的函数 _claimCoverRewards() 和 _claimBonus() 记录挖矿者的奖励;
最后记录挖矿者的状态,包括质押的数量和代码 128 行至 131 行所示的函数 rewardWriteoff 和 函数 bonusWriteoff 。
具体而言,当前协议利用 pool.accRewardsPerToken 来计算第 130 行的 miner.amount.mul(pool.accRewardsPerToken).p(CAL_MULTIPLIER) ,由于 118 行的 pool 类型为 memory, 而 121 行的函数 updatePool ()并未对其进行更新,导致最终计算出来的 rewardWriteoff 比预期的数额小。
当下一次同一用户获取质押奖励时,质押合约例如 Blacksmith 将会铸造更多的 COVER,这将大大提升铸币数量。目前,在流通量中铸造了逾 40,000,000,000,000,000,000 枚 COVER。
第二次攻击者被网络标记为 Grap Finance 白帽子的地址,在获利后,他们将所得收益还给了 Cover 团队,销毁了剩余的 COVER ,并留言:下一次,管好你自己的事。
有评论称,白帽子 Grap Finance 是 DeFi 义侠,将 4350 ETH 还给了 COVER 团队。但通过砸盘,让众多的投资者血本无归,这也引起了不少的争议。
对于 DeFi 保险项目而言,其初衷是为其他 DeFi 项目降低风险损失。随着 DeFi 生态的壮大,以及锁仓值持续增长,DeFi 项目遭到黑客觊觎,特别是新兴的 DeFi 保险项目,理应加强安全防护。如今由于自身漏洞遭到黑客攻击,这样的保险项目是否能帮助用户抵御风险有待考察。
在 DeFi 的世界里,崇尚「代码即法律」(Code is Law),项目方不仅要将代码做到极致,还要防患于未然,DeFi 协议开发者应在攻击发生后,自查代码。PeckShield (派盾)提示,如果对此不了解,应找专业的审计机构进行审计和研究。
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。