mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
平台 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

复盘数十万EOS被盗真相

收藏
分享

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

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

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

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。