Play to Earn blockchain games

×
《第二宝石》SGEM官网首页

当前位置 :首页>新闻资讯 > 正文

新闻资讯/NEWS 当前位置:主页 > 新闻资讯 > 行业动态 > 正文

区块链游戏开发者需要注意的4种攻击方式(上)

发布时间:2020-09-22 14:16

一直以来,区块链游戏都以分布式、不可篡改等安全特性为人们所认知。但由于智能合约开发的复杂性以及自身缺陷,区块链游戏还存在许多安全隐患,不得不引起区块链游戏开发者十二分警惕。
区块链安全公司慢雾区在近日的警告发布中称,多个EOS主网上的游戏遭受攻击,攻击者用假的同名币对游戏合约进行攻击,骗取真币提出。这类攻击事件已经不是第一次发生, 且每次发生都会对区块链游戏开发者和玩家造成巨大的损失。那常见的区块链游戏攻击方式都有哪些呢?

溢出攻击

2018年7月25日,EOS主网上仿照Fomo3D的狼人游戏遭受溢出攻击,导致奖励池中累计94000个EOS一夜之间变为负数。次日,区块链游戏开发团队发布声明,“溢出漏洞”的存在导致了“数据混乱”,致使6万个EOS被攻击者套现。这款火爆的游戏仅维持4天生命。

而溢出攻击也是区块链游戏中比较常见的攻击形式。无论是以太坊还是EOS,一个整型变量只能有一定范围的数字表示。例如,一个uint8,只能存储在范围[0,255] 的数字。试图存储 256 到一个 uint8 将变成0。不加注意的话,只要区块链游戏开发者没有检查用户输入又执行计算,导致数字超出存储它们的数据类型允许的范围就会产生溢出,并可以被用来组织攻击。

越权调用攻击

区块链游戏开发者在创建智能合约时构造函数失配或者修改owner的函数未添加调用者检查,都会导致此类漏洞的形成。构造函数一般担负着合约初始化以及owner地址绑定的功能,如果构造函数声明方式不正确,那么,其会变成一个普通函数,任何人都可以调用他,并将自己设置为合约管理者,从而窃取合约部署者的ETH。

根据链安科技的调查报告,一款名Ether Cartel的放置类游戏在2018年5月便是遭受到了越权调用攻击。该款区块链游戏开发者的构造函数(DrugDealer)和合约名(EtherCartel)不一致,存在构造函数失配漏洞,导致DrugDealer变成一个普通的函数。


Ether Cartel的玩法比较常见,主要是让玩家购买一些基本品,再由这些基本品“制造”产成品,通过售卖产成品来获取加密数字货币,并且玩家拥有的基本品数量越多,其产成品数量越多,获取的收益也越多。然而因为漏洞的存在,任何人都能够调用该函数变成合约的管理者。根据后面的代码逻辑,黑客可以收取原本应该打入区块链游戏开发者所部署的合约里的ETH。

THE END

敬请期待!

好的

《第二宝石》全球创世封测即将开启马上加入Discord社区抢限量邀请码

好的