1. 搜链信息首页
  2. 区块链

TokenInsight:数十万EOS被盗真相复盘推演

文字链广告位 QQ 80164590

相较于其他部分公有链,EOS 区块链并不记录失败的交易,浏览器也无法查询,这是 EOS 在架构设计方面的缺陷。

北京时间 2018 年 12 月 19 日凌晨,EOS 网络中,包括 BetDice 在内的数个游戏 DApp 遭受黑客攻击,损失数十万枚 EOS 通证

TokenInsight 认为本次事件是由于部分游戏 DApp 为增强游戏体验,在自建节点中运行 DApp,导致链上数据同步时出现错误。

因为部分代码和数据未被公开,攻击的重现难度较高。据 TokenInsight 推演,黑客可能的攻击手段如下:

EOS 被盗流程推演图

TokenInsight:数十万EOS被盗真相复盘推演

来源:TokenInsight

1. 黑客向 DApp 发送参与游戏的请求;

2. 黑客直接向 BP 节点发送取消游戏的请求,或使账户余额不足而导致转账失败;

3. DApp 将黑客的游戏请求发送至 BP 节点,并在自建节点上运行黑客的游戏结果,若运算出玩家胜利的结果,则向 BP 节点发送给予玩家奖励的请求;

4. BP 节点先后收到“黑客取消游戏”请求、“DApp 发送游戏”请求、“DApp 给予游戏奖励”请求。因为时间顺序和转账冲突的原因,“黑客取消游戏”请求被执行,而“DApp 发送游戏”请求执行失败,“DApp 给予游戏奖励”请求被执行。

5. 黑客收到 DApp 的转账,一次攻击完成。

首先,应对该种攻击手段,可将 DApp 读取的状态数据改为 read-only 模式,read-only 模式下数据库包含传入区块的更改,但不影响 speculative 交易处理。

此外,关于此次 EOS 的安全事件,Anchain CEO Victor 指出,Anchain 在 Ethereum 以及 EOS 有关安全的问题上有着较丰富的经验与技术积累,并且也提供有关代码的安全检测服务,这次的安全事件是完全可以避免的。比如,DApp 可以使用 ref_block 功能,在给玩家发放奖励前,判断用户是否真的转账成功。同时,Victor 还指出,这个安全问题背后还暴露出了在 EOS 中更加严重的问题,相较于其他部分公有链,EOS 区块链并不记录失败的交易,浏览器也无法查询,这是 EOS 在架构设计方面的缺陷。

风险提示:搜链信息所载文章、仅供参考,不代表本公司任何观点。
发布者:区块链,如有侵权或者违规,请邮件[email protected],欢迎举报。本文链接:https://www.searchain.net/blockchain/68257.html

联系我们

176-9654-3888

在线咨询:点击这里给我发消息

邮件:[email protected]

工作时间:周一至周五,9:30-18:30,节假日休息

QR code