请选择 进入手机版 | 继续访问电脑版

DeFi协议bZx再次遭遇攻击 损失超过800万美元

2020-9-14 13:02 15 0 编辑:互联网
【版权申明】:

  本网站部分内容摘录或转载属于信息来源,如有侵权请与本站联系,我们将第一时间进行处理。任何媒体、网站或个人从本网站下载使用,必须保留本网信息来源,并自行承担版权等法律责任。


  虚拟99网 DeFi借贷协议bZx再次遭到攻击,而这次攻击共造成了大约800万美元的损失,据bZx联合创始人Kyle Kistner最初提到称:“这似乎是一次预言机操纵攻击。”
  在攻击被发现后,bZx团队立即使用管理密钥暂停了协议,据悉这次攻击交易利用了闪电贷和Synthetix,“但它不会影响Synthetix系统,尽管它确实涉及了sUSD,” bZx在twitter上写道。
  而bZx官方在最新公布的安全报告中提到称:
  “由于一次代币重复事件,协议保险基金暂时累积了一笔债务。除了协议现金流外,保险基金还会得到代币库的支持。”
  以下是这次安全事故的时间线:
  bZx团队注意到协议锁定值(TVL)出现了异常变动;
  发现iToken合约有异常,该异常的发生与 _internalTransferFrom() 函数相关;
  在确定修复方案后,iToken的铸造和燃烧被暂停(借款和交易不受影响);
  受影响的iToken合约的新版本得到部署,余额得到更正;
  团队将补丁代码发送给派盾(Peckshield)和Certik进行审查;
  iToken的铸造及燃烧恢复;
  攻击技术细节
  每个ERC20代币都有一个 transferFrom()函数是用于负责传输代币的。你可以调用这个函数来创建一个 iToken并将其传递给自己,从而允许你人为地增加余额。
  下面是攻击涉及的技术细节:
  使用相同的_from和 _to地址调用了传输函数;
  用相同的参数调用Immediately _internalTransferFrom;
  下面的代码行存在故障:

  当_from和_to地址相同时,会导致_balancesFrom和_balancesTo相等。

  那么 上面的问题导致 _balancesFrom余额的减少,并增加_balancesTo的余额,最后最重要的部分是保存_balancesFromNew和 _balancesToNew。那么攻击者就能够有效地人工增加自己的余额。
  然后,下面就是补丁代码:

  这可以防止攻击者增加自己的余额,据悉,修补后的代码已被发送给Peckshield和Certik进行审查,而双方都批准了这些更改。
  安全事故造成近800万美元债务
  尽管,bZx代码漏洞很快得到了解决,但这次安全事故确实造成了协议很大的损失,根据官方公布的信息显示,这次事件导致了以下这些债务:
  219,199.66 LINK
  4,502.70 ETH
  1,756,351.27 USDT
  1,412,048.48 USDC
  667,988.62 DAI
  以当前市场价计算,这些损失的代币的价值达到了800万美元。

审计并不是灵丹妙药
  根据Bzx团队公开的信息显示,该协议此前已经过安全公司Peckshield及Certik的严格审计,其中Peckshield对bzx协议的审计用到了12人周的工作量,而Certik则花费了7人周的工作量。此外,bzx协议团队还进行了广泛的自动化测试,不幸的是,审计并不是灵丹妙药。
  而在这次安全事件中,由于bzx协议团队控制了管理密钥,因而能够及时地应对这一事件,否则损失问题将会更大。
  显然,这次事故再次为我们敲响了DeFi安全性的警钟,即便是得到审计公司的把关,也无法确保代码不存在漏洞,而近期涌现出来的大量新DeFi项目,它们的安全隐患显然要更大。
  最后,一首凉凉,送给流动性挖矿。
收藏 邀请

呵呵

点赞

鄙视

打酱油

震惊
此篇文章已有0人参与评论

请发表评论

全部评论

精彩阅读

黑科技

网站地图-手机版- 虚拟99


本站内容来自互联网与用户分享,如有侵权请联系我们删除!  
联系QQ:363312702@qq.com  投诉举报邮箱:xuni99@qq.com 赣公网安备36112102000044号 赣ICP备17001544号
虚拟99所登载广告内容均为客户个人或企业单方意见及表达方式,广告实际内容与本站无关。 不允许任何形式的转载以及拷贝,违者必究!
温馨提示:虚拟99仅提供互联网信息平台发布、展示、储存服务,所有产品及展示信息均由注册用户自行发布,内容数据不代表本站立场,仅供参考阅读。
风险提醒:虚拟99对用户自主发布的信息真实性无法考究,涉及资金交易问题请谨慎!  虚拟99无法提供资金安全保障,请注意投资风险,提高警惕谨防诈骗!