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

最近小区出现了一些流浪狗,听说邻居家有孩子看到狗吓得就跑,结果反而被狗狂追咬了一口。还好父母机智,给孩子上了个意外险,几针狂犬病疫苗下来没怎么花钱。作为币民如果加密资产不幸被盗,但项目方或者你个人购买了保险,那么也大可放心让保险公司偿还损失的资产。可还有最差的一种情况:但是如果连保险公司都出了安全事故,受到攻击了呢?

北京时间12月28日晚,CertiK安全技术团队发现CoverProtocol发生代币无限增发漏洞攻击。攻击者通过反复对项目智能合约进行质押和取回操作,触发其中包含铸造代币的操作,对Cover代币进行无限增发,导致Cover代币价格崩盘。技术分析

《广东省数字经济促进条例》:重点培育区块链等战略性产业集群:日前,《广东省数字经济促进条例》由广东省第十三届人民代表大会常务委员会第三十三次会议通过,将于9月1日起施行。中南财经政法大学数字经济研究院执行院长、教授盘和林接受采访时认为,《条例》划定了广东省各级政府在推动数字经济方面的职责和任务,从多个角度细化扶持数字经济发展的政策,是广东省未来发展数字经济的纲领性文件。 对于产业集群的数字化转型,《条例》作出了明确规定,推动产业集群利用工业互联网进行全要素、全产业链、全价值链的连接。重点培育新一代电子信息、软件与信息服务、超高清视频显示、半导体与集成电路、智能机器人、区块链与量子信息、数字创意等战略性产业集群。(南方日报)[2021/8/11 1:47:41]

主要攻击分为以下步骤:1.攻击者设置攻击必要的NOCLAIM代币。2.攻击者使用NOCLAIM代币,为BalancerPool提供流动性:①总计向BalancerPool提供了2,573个DAI的流动性②攻击者通过向BalancerPool提供流动性,获得了约132,688个Balancer流动性证明代币BPT3.攻击者向CoverProtocal中的Blacksmith.sol智能合约质押(stake)前一步中所得的所有Balancer流动性证明代币。质押时,攻击者调用位于0xe0b94a7bb45dd905c79bb1992c9879f40f1caed5的Blacksmith.sol智能合约中的deposit函数,如图一所示:

浙江大学蔡亮:区块链天然结构可实现食品供应链流程可追溯:浙江大学区块链研究中心常务副主任蔡亮表示,区块链技术具有分布式、难篡改、可追溯的特性,应用在保障食品安全领域,可以发挥安全、透明、高效的优势。借助区块链天然的块链式结构,可以实现食品从加工、包装、运输到零售的完整供应链流程的可追溯;同时,参与者可以交叉审核数据的真实性,任何一方均无法单独篡改数据,信息更为可信和安全,这还有助于食品生产企业与消费者建立信任。(中国科学报)[2020/5/21]

图一:Thedeposit()functioninblacksmith.sol通过调用deposit函数,攻击者将得到的BPT流动性证明质押到coverprotocol中。首先通过图一中118行将当前流动性证明代币的pool数据读取到memory,然后调用121行代码对当前pool的数据进行更新。

21世纪经济报道:区块链等技术为智慧城市建设提供应用场景支撑:3月11日,21世纪经济报道刊文称,在智慧城市建设中,云计算是底座,为整个智慧城市的运转提供算力支撑,而AI、区块链、大数据等技术则为具体应用场景进行支撑。比如疫情期间,可以看到阿里、腾讯等公司都紧急扩容了数以万计的服务器,激增的需求能否满足,归根结底还是要看是否有足够的算力来支撑。[2020/3/12]

图二:blacksmith.sol中的updatePool()函数如图二第75行所示,在updatePool()函数中修改的当前流动性证明代币的pool数据是一份存储在storage中的数据,与在deposit()中存储在memory中当前流动性证明代币的pool数据是两份数据。在图二第84行lpTotal的值代表当前合同中总共存入的流动性证明代币数目,由于该变量数值较小,因此通过84行公式pool.accRewardsPerToken的数值将会增大,更新过的accRewardsPerToken值存储在storage中。

动态 | 山西16家试点银行加入区块链服务平台 融资金额21.3亿元:继今年10月山西省正式获批开展跨境金融区块链服务平台试点以来,截至12月11日,累计完成出口应账款融资31笔、融资金额折合人民币21.3亿元。 截至11月,山西省共有16家试点银行加入该平台,利用区块链分布式账本的不可篡改和数字签名等技术,建立银企间信息交换和有效核验、银行间贸易融资信息实时互动等机制,实现对传统融资业务流程的优化再造,受到银行、企业特别是中小企业的广泛欢迎和认可。(人民网)[2019/12/15]

图三: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()之后:

动态 | 数位身份识别证利用区块链或代码技术:据中时电子报报道,“行政院长”赖清德决定,“内政部”2020年下半年全面换发“数位身份识别证”(New eID)。“国发会”主委陈美伶针对泄露个资疑虑表示,数位身份识别证只是一把钥匙,并不是贮存资料的晶片,因此会跟自然人凭证结合,透过政府的骨干网路,利用区块链或代码技术,跟政府机关的资料库在需要时于云端取用,数位身份证基本上只有办识功能,跟个资没有直接相关,不会侵害个人隐私。[2018/12/30]

withdraw()之后:

攻击者通过反复执行deposit和withdraw函数,可以使Blacksmith函数无限铸造代币,并将代币转到自己的地址中,由此获利。攻击发生后,截止发稿时,cover官方已经将blacksmith迁移到安全版本:有漏洞的blacksmith地址:0xe0b94a7bb45dd905c79bb1992c9879f40f1caed5临时修复后的blacksmith地址:0x1d5fab8a0e88020309e52b77b9c8edf63c519a26临时修复后的blacksmith合同临时禁止了一切质押和取回操作,以此阻止攻击者继续实行攻击。本次攻击最初攻击者共获利440万美金,约合人民币2900万人民币。有其他攻击者利用该漏洞发动类似攻击,例如Grap.finance项目官方参与了利用该漏洞的攻击,获利4350个ETH代币。在攻击发生后几个小时,Grap.finance项目官方通过Twitter声称对本次攻击负责,并表示已将所有的获利退回给了CoverProtocol。安全建议

为了确保数字资产不因任何非技术原因遭受损失,项目方应及时为项目产品购买保险,增加项目方和投资者的安全保障方案,确保其因受到攻击所造成的损失可以被及时补偿。作为世界顶尖的审计公司,CertiK目前已经进行了超过369次安全审计,审计了超过198,000行代码,并保护了价值超过100亿美元的加密资产。近期,CeritK推出了CertiKShield去中心化资金保障计划。CertiKShield不仅可以为项目及其社区成员提供保障,同时,CertiK作为主营业务为审计的安全公司,我们确保自己的保险项目拥有更高的安全性。相比于纯粹的保险公司,安全技术的背书及团队对于安全的重视和一系列的保障,CertiKShield是安全领域内构建的保险,并且有着巨大的成长和发展空间。欢迎访问https://www.certik.foundation/进入CertiKfoundation官网访问更多CertiK安全产品相关信息!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:15ms0-4:41ms