编者按:本文来自36氪战略合作区块链媒体“Odaily星球日报”(公众号ID:o-daily,APP下载)
12 月 18 日晚间至 19 日凌晨,多个 EOS 头部 DAPP 遭受攻击。EOSMax、ToBet、BigGame 和 BetDice 遭受交易回滚攻击,分别损失 55000 EOS、22000 EOS、14903.18EOS、200000 EOS。此外,黑客利用重放攻击漏洞向竞猜类游戏 TRUSTBET 发起攻击,获利 11501 EOS。几款游戏共损失 303404.18 EOS,以 EOS 单价 18 元来估算,合计约 546 万元。
遭受攻击的几款游戏基本为 EOS 头部较活跃的竞猜类游戏。据 PeckShield 报道,其中的竞猜类游戏 BetDice 近一周日均活跃度超 5,000 人,交易额也在 5,000 万 EOS 以上。
PeckShield 创始人蒋旭宪表示,这次攻击背后是同一个团伙或个人。攻击 BetDice 的账号 hnihpyadbunv 创建了账号 eykkxszdrnnc,用来攻击 EOSMax 与 BigGame。账号 eykkxszdrnnc 又创建了子账号 kfexzmckuhat 用来攻击 ToBet。攻击成功后,再频繁创建子账户转移所得资产。
对于这次攻击,蒋旭宪向 Odaily星球日报表示,ECAF 追回盗取的 EOS 预计难度比较大,目前已经牵涉到 1808 个账户,数量还在增长中。
PeckShield 安全人员认为,EOSMax、ToBet、BigGame 和 BetDice 这四款竞猜类游戏被攻击事件,均和 EOS Node 存在漏洞有关。
持有同样看法的还有 EOS MAX,据 IMEOS.ONE 报道,EOS MAX发布公告,称是由于 EOS Node 存在漏洞导致,并非游戏合约存在漏洞。
据业内不具名人士向 Odaily星球日报透露,这次交易回滚攻击与项目方的 nodeos 开启了 speculative mode 有关,开发者需要关闭该 mode 来避免攻击(对于开启 speculative mode 的作用,可以简单理解为可以提升交易速度,但是安全性会降低)。
对于这次交易回滚攻击的具体过程,MEET.ONE 的负责人 Goh 向 Odaily 星球日报表示,认为此次攻击过程如下:
1. 黑客通过攻击合约账户 A 向游戏合约 B 转账下注,游戏合约实时开奖,给账户 A 发放奖励。
2. 游戏合约 B 使用的节点开始往 EOS 网络同步这笔交易 C。
3. 攻击合约账户 A 执行 assert,超级节点未打包交易 C,所有节点回滚交易 C。
4. 黑客获得交易 C 的数据,如果下注胜利,正常执行交易 C,如果失败开始下一次攻击。
币乎的 “胖哥” 分享了佳能和 MYKEY 技术团队对本次回滚攻击调查方式推演的一个推断:
攻击方式是抓住了 DAPP 节点读写没有分离的漏洞,黑客直接运用 DAPP 读的节点去发送交易,那么该节点会最早执行合约逻辑计算 DICE 结果,如果黑客赢那就不做任何操作,等该节点广播同步到块节点就赢了。如果黑客输了,黑客同时发送一笔转账操作到目前正出块主节点,让账号余额不足以完成先前的那笔交易,那么先前的那笔交易就会被废弃,那么黑客就不会输了。
综上运用的方式还是传统的方式:双花!
DAPP 应该自查一下是否讲读写分离以及读节点设置成 read-only。
目前,据 IMEOS.ONE 报道,此前因遭受交易回滚攻击而暂停运营的 EOSMax,经过团队调查、与 BP 商讨解决方案,已经成功修复问题,目前已恢复服务。团队将采用读写分离的方式来修复该问题,读取采用 read-only 的节点,写入采用另一个节点以规避回滚交易漏洞。
此外,对于 TRUSTBET 遭受的重放攻击漏洞,PeckShield 安全人员认为这是一种最早出现于 EOS DApp 生态初期的攻击形态,由于开发者设计的开奖随机算法存在严重缺陷,使得攻击者可利用合约漏洞重复开奖,是一种较低级的错误。
对于这次攻击,MEET.ONE 的负责人 Goh 向 Odaily星球日报表示,这已经不是 EOS 第一次被攻击了,甚至攻击的手法和发现的漏洞都不算有技术难度。只能说 EOS 生态发展地非常快,但项目的研发能力和安全能力相对滞后。对于 EOS 上的项目而言,生产环境就是最好的测试环境,不断地遇到问题后需要不断地迭代。”
纯白矩阵创始人吴啸向 Odaily 星球日报表示,EOS 的愿景是不错的,但是需要更加稳定可能才更适合开发者。目前 EOS 的机制设计方面存在隐患,比如可以替换合约,对开发者的权限限制不足。此外,EOS 还存在 BP 的反映时间长等问题。不过,最近 EOS 发布侧链,BM 又推出 wasm 解释器、扫码登录 PC 端的 Dapp,在安全方面会有所提升,会对 EOS 持续关注。
对于这次攻击,还有人从 EOS 生态的角度给出了观点。DappReview CEO 牛凤轩向 Odaily 星球日报表示,这是一起非常大的安全事故,但是从今天早上开始看到,节点和多个发生被攻击的游戏项目方开始合作,研究如何解决问题。而且,BetDice 还友好地提醒了自己的竞争对手。这些良性的行为对于 EOS 的生态建设很有帮助。
我是Odaily星球日报的齐明,探索真实区块链,日常喜欢和各路大神聊天。项目交流、爆料请加微信qingmoruoshui,烦请备注姓名、公司、职务。转载/内容合作/报道联系report@odaily.com;违规转载法律必究。