区块见闻 区块见闻
Ctrl+D收藏区块见闻

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

作者:

时间:

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

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

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

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

金色财经合约行情分析 | BTC高位走弱,放量大跌:据火币BTC永续合约行情显示,截至今日16:00(GMT+8),BTC价格暂报9506美元(-6.08%),20:00(GMT+8)结算资金费率为0.010000%。

昨日晚,BTC在10200美元处走弱,随后出现放量急跌,最低至9257美元。根据火币交割合约数据,BTC季度合约成交额较昨日持平,持仓量大跌超20%,精英多头占比略增,季度合约正溢价收窄。BTC在昨日晚的一小时大跌后,价格在低位保持长时间的窄幅盘整,值得注意的是合约费率仍保持正数,市场并未在大跌后出现完全悲观情绪,后续方向有待观察。

USDT于火币全球站OTC的报价为7.05元,溢价率为-0.74%。[2020/6/3]

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

金色财经合约行情分析 | BTC震荡反弹,价格或有反复:据火币BTC永续合约行情显示,截至今日16:00(GMT+8),BTC价格暂报8840美元(-1.24%),20:00(GMT+8)结算资金费率为0.010000%。

昨日晚,BTC在触碰9000美元后下跌,再次测试下方8700美元一带支撑,后迅速拉起。根据火币交割合约数据,BTC季度合约成交额继续减少,持仓量震荡上涨,精英多头占比略减,季度合约保持微幅的负溢价。随着BTC成交持续缩量,持仓量整体保持恢复态势,市场正在积蓄力量。

USDT于火币全球站OTC的报价为7.12元,溢价率为-0.46%。[2020/5/27]

技术分析?

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

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

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

分析 | 金色盘面:BTC/USDT 30分钟行情分析:金色盘面综合分析:BTC/USDT30分钟K线图显示,在调整接近下轨时多头发动了反击,目前看这个上升通道依然有效,多空持平,如果像任何一方突破,都会带来市场的波动。[2018/8/10]

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

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

图一:Thedeposit()functioninblacksmith.sol

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

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

图二: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。

安全建议

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

标签:VERITHPOOLBITFantaverseWITH价格YFNPOOLbitc币行情

欧易交易所热门资讯
VER:合成资产协议Coinversation宣布参与波卡插槽拍卖!_COI

本篇文章为Polkadot社区志愿者组织提供的第三篇文章。12月18号消息,波卡上第一个合成资产协议Coinversation正式宣布参与波卡插槽拍卖.

DOT:浅谈Swarm网络的三大激励措施_WEBOO

Swarm的经济模型和我们所接触的大部分项目不一样,为了激励更多的用户参与,大部分项目都会设置固定的产出比例和产出时间,但是Swarm网络并没有设置相对应的产出,那么.

BIT:加拿大上市矿企Bitfarms宣布对董事会和高管团队进行调整_ITF

据Businesswire消息,加拿大上市矿企Bitfarms宣布对董事会和高管团队进行调整,以应对市场形势,并为2021年的持续增长和新机遇做好准备.

POO:行情分析丨以太坊、莱特币和BCH本轮行情走势_POODL

昨天我在文章中和大家分享了对以太坊的猜想。简单地说就是我相信以太坊未来市值很有可能超过比特币,但如果在本轮行情中币价就达到甚至超过3800美元,就证明行情的风险太高了.

CKB:财富500强埃森哲遭比特币勒索软件攻击,数据已在暗网泄露_ckb币为什么会到4元一个

据Decrypt8月12日消息,财富500强、咨询公司埃森哲遭遇了黑客组织Lockbit的比特币勒索软件攻击.

比特币:比特币在12月将修正到什么深度?_WAR

比特币的价格似乎正在失去立足点,因为价格在过去8小时内就下跌了5%。考虑到这种情况,接下来可能会有更多的下跌。但跌幅有多大?也许,平均下跌30%也是可以预期的,特别是在牛市运行期间.