昨日,DeFi借贷协议bZx年内第三次遭到攻击,由于代码重复事故导致共计损失价值超800万的资产,这距离BZx新版本部署仅不到两周。受此影响,bZx代币BZRX过去?24小时跌近30%,从0.6679USDT一度跌至0.4USDT,发文时暂报0.44USDT。
BZRX30分钟K线图,来源:币安
与此同时,bZx?锁仓量较昨日暴跌99.71%,几乎归零,目前仅为176美元。
北京时间9月14日下午3点半左右,bZx发现其协议总锁定价值出现显著下降。大约3小时后bZx确认多个iToken发生了重复事故,即iToken合约中的_internalTransferFrom()函数出现异常行为,攻击者利用了相同的_from和_to地址调用了传输函数。确认问题后bZx随即暂停了放贷操作。
DeFi贷款协议bZx公布BZRX地址,代币将于7月13日开始释放:7月12日消息,DeFi贷款协议bZx在推特表示,其代币BZRX地址已经确定为0x56d811088235F11C8920698a204A5010a788f4b3,目前正在等待更新代币logo。
此前报道,bZx团队决定将分配给众筹所用的代币置于一个为期4年的锁定合约,最短生效期(cliff)为6个月,BZRX代币释放的时间为美东时间7月13日10时,即北京时间7月13日22时开始计算。不过,目前团队并没有公布更多信息,包括可购买该代币的交易平台以及代币价格等。[2020/7/12]
bZx表示,目前该函数异常行为已被修复,协议也已恢复正常运行。借款和交易未受到影响,用户不会受到资金风险。bZx也已部署了新版本的iToken合约,并针对重复事故重设了余额。修复后的代码已发送给区块链安全公司Peckshield和Certik进行审查。目前iToken的铸造和销毁已恢复。
动态 | 受bZx事件影响,Fulcrum保险池或无法立即弥补损失:金色财经报道,最近的两起针对DeFi贷款协议bZx的攻击可能会对贷款和保证金交易平台Fulcrum构成生存威胁。随着攻击消息的传播,DAI和ETH池的利用率飙升至100%,阻止了任何进一步的取款。由于Fulcrum保险池无法立即弥补损失,用户被建议尽快撤出资金。据此前消息,DeFi贷款协议bZx曾被非法利用,导致一部分ETH丢失,预计损失达35万美元。而后再次遭遇攻击,攻击者或获利64万美元。在攻击发生后的数小时内,DeFi生态中锁定资产价值下跌了近1.42亿美元。[2020/2/28]
bZx披露的信息显示,此次重复事故发生后已将以下债务添加至其保险基金中,包括近22万LINK、4502ETH、175.64万USDT、141.20万USDC、以及66.80万DAI,按当前价格计算,总价值逾800万美元,具体如下:
动态 | 1inch团队:bZx拒绝停止智能合约并打算隐藏整个事件:加密货币兑换聚合器公司1inch.exchange官方推特今日发布详述其与bZx团队接触过程的文章,文中提到,1月11日,bZx的Fulcrum平台在以太网上发布其FlashFlash贷款功能,我们发现其中有一笔交易可能会窃取3个池中的250万美元用户资金。于是向Fulcrum提供了指向黑客证明交易的链接,希望他们能够立即停止其智能合约。但Fulcrum方拒绝了,他们认为在构建和排队补丁的过程中,有必要冒着用户资金损失的风险,以避免造成负面关注。Fulcrum团队还试图用35000美元使我们沉默并隐藏整个事情。对此,bZx联合创始人Kyle Joseph Kistner在推特上留言称,1inch团队威胁了我们。随后1inch回应称,我们并没有行威胁之事,我们只是说你不应该在截图上公开我们的照片和名字,否则我们有办法阻止。[2020/2/21]
219,199.66LINK
动态 | bZx再次遭受攻击,DeFi生态中锁定资产减少1.42亿美元:由于去中心化金融(DeFi)贷款协议bZx再次遭受攻击,DeFi生态中锁定资产价值在数小时内减少1.42亿美元。此前报道,bZx再次被攻击,损失2388枚ETH,约64.5万美元。(Cryptonews)[2020/2/18]
4,502.70ETH
1,756,351.27USDT
1,412,048.48USDC
667,988.62DAI
去中心化借贷协议Compound创始人RobertLeshner表示,这意味着bZx损失了价值800多万的资产,并建议bZx重新审计合约,而不是仅向用户表示「nobigdeal」。
针对bZx协议被攻击一事,Bitcoin.com首席工程师MarcThelan表示,昨晚其在bZx中发现了该漏洞,有价值超过2000万美元的资产处于危险之中。MarcThelan称其将该漏洞告知了bZx团队,但该团队反应过于缓慢。等到bZx团队获悉该漏洞时,攻击者几乎已经耗尽了Dai和USDC资产。如果攻击者有更多时间,可能会耗尽整个池子。bZx的一位创始人在电报群中表示,团队安全小组建议给MarcThelan1.25万美元的赏金。
声音 | Ethhub创始人:bZx疑似再次发生攻击 或损失2388个 ETH:以太坊爱好者、Ethhub 创始人 Eric Conner 在推特上表示,bZx 攻击疑似再次出现,如果确认的话,这一次攻击者获利 2,388 个 ETH(约 64.4 万美元)。Eric 表示,攻击者疑似借了 7500 个 ETH,换成 WETH 后,抛售换成 Synthetix 合成的 sUSD。[2020/2/18]
1inch联合创始人AntonBukon此前也发现了该漏洞,其表示,「我们发现有人在两天前就利用该漏洞将自己的余额增加到1.536亿枚iUSDT,并开始从USDT池中转走,直到bZx协议管理员销毁了1.519亿枚iUSDT,这表明似乎有170万USDT被盗。」
关于bZx协议管理员销毁iUSDT一事,以太坊开发人员RomanSemenov解释称,bZx协议管理员使用了一个允许其销毁任何用户资金的后门,然后将代币的实现状态更新为未经验证。在销毁一些涉及攻击的用户资金后,他们再次将其更新为漏洞修复后的正常实现。
bZx进一步解释称,该协议此前已经过区块链安全公司Peckshield及Certik的安全审计,并进行了大量的自动化测试,但通过审计并不能确保协议100%安全。Peckshield及Certik正在分析此次事件的根本原因。
DeFi项目频繁遭受攻击,刺激去中心化保险需求
事实上,这并不是bZx协议首次受到攻击。今年2月中旬,bZx协议曾两次受到攻击,共计损失价值逾90多万的资产。当月中旬,bZx联合创始人KyleKistner表示,「部分ETH已损失,此次事件是因为一个合约被利用导致的,其他资金是安全的。」业内人士估测,此次损失金额约为35万美元。
3天后,bZx再次受到攻击。bZx表示又发现了一次使用闪电贷进行的可疑交易,攻击者后续使用了Synthetix交易,不过没有影响到Synthetix系统。
除bZx之外,近期随着DeFi热度的大幅提升,安全问题成为了DeFi行业的最大挑战。据PeckShield数据显示,八月共发生安全事件28起,其中DeFi市场就发生了8起。
正因如此,去中心化保险的市场需求应运而生。NexusMutualTracker数据显示,截至目前,去中心化保险NexusMutual的有效保额突破了2亿美元,较之两个月前,该数值已经增长逾20倍。
而在过去短短的24小时左右时间里,该数据就大涨130%,今日bZx的安全事故显然成为了去中心化保险「大跃进式」增长的重要催化剂。
去中心化保险NexusMutual的有效保额,来源:NexusMutualTracker
可以想象,随着DeFi市场的持续发展,去中心化保险、预言机等细分市场有望继续保持增长势头。
bZx协议代码安全漏洞的技术细节与进展更新
根据bZx发布的漏洞?报告,此次事件发生后的团队所采取的进展以及技术细节如下:
团队注意到协议总锁定价值出现了异常变动;
在iToken上识别出与_internalTransferFrom()函数相关的异常行为;
团队在确定修复方案后暂停了iToken的铸造和销毁,不过,借款和交易并未受到影响;
部署了新版本的iToken合约,并重设了余额;
修复后的代码已发送给Peckshield和Certik进行审查;
恢复iToken的铸造和销毁。
在以太坊ERC20代币中,TransferFrom()函数是将一定数量的代币从一个地址转移至另一个地址的执行操作,即从地址_from发送_value个token到地址_to。
此次iToken重复事故正是攻击者利用了相同的_from和_to地址调用了传输函数。
有误的代码
当_from和_to地址相同时,会导致_balancesFrom和_balancesTo相等。
有误的代码
上述问题导致再减少_balancesFrom余额的情况下增加了_balancesTo的余额,并且还保存了_balancesFromNew和_balancesToNew,这会导致用户能够人为地增加自己的余额。
修复后的代码在balances余额减少后,会进行balancesTo余额的转移,从而防止用户人为增加自己的余额。
修复后的代码
撰文:张改娟
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。