LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 复盘数十万 EOS 被盗过程,背后是其架构设计缺陷?

复盘数十万 EOS 被盗过程,背后是其架构设计缺陷?

2020-04-14 TokenInsight 来源:链闻

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

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

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

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 在架构设计方面的缺陷。

来源链接:mp.weixin.qq.com

—-

编译者/作者:TokenInsight

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

知识 安全 EOS DApp
LOADING...
LOADING...