Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

从黑客攻击谈EOS游戏类DApp的安全性需求

0
0

随着高频结算的竞猜类DApp在上大火, 新进场用户携大量资金起到了助推作用。但EOS竞猜类智能合约的安全形势极为严峻,DApp不断遭受黑客攻击,多款博彩类游戏被盗走大量代币。

比如月初热门一时的EOS Cast被黑客转走7万多EOS,导致项目损失达200多万。好在项目方及时修复漏洞,并在用户没有实际损失的情况下,承担了奖金池被盗的损失。

今天我们就从EOS Cast这款游戏入手,谈谈这些游戏类DApp为何屡次遭受攻击,我们又应该选择怎样的平台才能安全又公正?

1.EOS Cast初体验

EOS Cast是一款基于EOS生态开发的去中心化彩票平台。 EOS Cast游戏开奖结果是利用每分钟开始的连续的EOS区块号作为开奖依据,区块号的ID是一个32字节的数字,是由EOS主网通过非常复杂的加密算法产生的随机数,不受任何人控制。而且区块链游戏的公平性,也可以经过第三方区块链浏览器验证,所以区块链+游戏的结合完全是可以做到公平、公正和公开的。

这款游戏具体是怎样的玩法呢?首先要有一个EOS钱包,并创建EOS账号,转一些EOS过去。这里推荐麦子钱包,通过麦子钱包可以直接打开内置应用DApp浏览器输入网址 www.eoscast.cc ,然后使用Scatter登陆。


从黑客攻击谈EOS游戏类DApp的安全性需求

开奖号码一共有5位数字组成,游戏利用每分钟开始的连续的EOS区块号的最后一位数字来做为上一期的开奖号码。如果某个区块号的ID最后一位不是数字,则顺延到下一个区块。 EOS区块号的ID是一个32字节的数字,它是根据一系列非常复杂的加密算法随机生成的,通常的显示方式为16进制,而开奖号码正是利用了这样一个真正的随机的结果来做为开奖号 码。 游戏每分钟开一期,每天1440期,全年 无休 。如下图所示,可以清楚看到EOS区块号的ID,这也是游戏公平性的体现。


从黑客攻击谈EOS游戏类DApp的安全性需求

投注玩法就不多介绍了,很多文章说的很详细。目前可以单独投注某一期的单、双和具体数字,也可以一起投注。如果具体数字多中几个,那直接暴富了。下面主要分析一下游戏的安全性,这也是大家最关心的。

2.EOS Cast被黑客攻击真相还原

10月30日EOS Cast第一次上线,上线后,由于该款游戏非常火爆,自然引起了黑客的注意。当奖池资金达到7万EOS时,黑客发起了攻击。

10月31日凌晨,有区块链媒体报道,游戏平台EOS Cast遭到黑客攻击,7万多EOS被黑客转走。随即区块链安全公司PeckShield对相关账号链上数据展开深入分析发现,当天凌晨 00:15起,黑客“refundwallet”尝试对EOS Cast游戏合约“eoscastdmgb1”实施攻击,黑客先以“假EOS”攻击方式进行转账攻击8次,未能得逞,后又采用“假EOS攻击变种”的方式成功攻击9次。 黑客使用的这个地址下面有N多的假币,虽然名字和EOS一样,实际这个“EOS”是钻了现在EOS网络发币便捷的空子,随便发的没有成本的代币。另外这个地址下的OTC,BLACK等等代币应该也是假的。
从黑客攻击谈EOS游戏类DApp的安全性需求

发现被攻击后,EOS Cast项目方在被攻击10分钟内紧急修复了漏洞,但为了各方安全起见,暂时下架了游戏。 项目方全面检查了游戏的安全性(合约审计、前端审计等),以确保游戏的安全。另一方面, ECAF针对此事件即时响应,并发了仲裁order,将涉及到攻击的六个账户refundwallet等予以冻结。EOSLaoMao团队则根据ECAForder的消息,决定将这6个账号更新到节点的黑名单中。

随后, 慢雾安全团队第一时间协助进行分析发现,游戏合约在apply里没有校验transfer action的调用方必须是eosio.token或者是自己的游戏代币合约。这个漏洞点和EOSBET第一次被黑的原因是一样的,慢雾安全团队很早就在《EOS 智能合约最佳安全开发指南》上做过分析,并再次提醒广大合约开发者注意。
从黑客攻击谈EOS游戏类DApp的安全性需求

对此,EOS Cast项目方事后发表声明,除了修复漏洞和安全检测等措施外,由于游戏第一次上线时玩家太多,导致服务器出现卡顿,因此在下架期间,项目方对服务器进行了升级,并且优化了游戏的前端和UI,以全方位提升游戏的流畅度和使用体验。

这样还不够,本次游戏上线后,项目方承担了上次被盗的全部损失,并补足了奖金池(项目投入EOS总数量,相当于双倍被盗数量),充分表达了诚意和体现出项目方的责任。

3.黑客事件的思考

据《IMEOS研究院》11月最新发布的《EOS平台DApp生态数据分析报告》显示,自7月份至今的发生的18次EOS DApp安全漏洞中,有多达7次是随机数攻击,即随机数产生的规律被黑客破解。 像EosRoyale被攻击,原因已经查明,是随机数发生器的漏洞,黑客找到了这个漏洞,然后设法通过先前块的信息来计算随机数发生器算法的未来数量,从而窃取了数字资产。

用通俗的话来说就是,EosRoyale的随机数其实是伪随机数,存在一定规律。黑客找到了规律,算出了之后会出现的随机数,然后进行攻击。 再简单点说, 就是黑客通过之前的开奖结果,算出之后的开奖结果,疯狂下注,疯狂捞钱。 所以问题就出在这个随机数发生器上,或者说随机数算法上。

无论是随机数发生器还是加密算法上出现问题,很有可能是因为开发者用了自己的 私有算法 。 从历史上看,私有算法都会被破解, 因为没有经过万千黑客的锤炼和验证,可靠性和安全性完全无法估量。

而现在世界上公开的被认为强度较高的加密算法,几乎都是经过密码破译者长期尝试破解未果而存活下来的。因此,如果认为“公司开发的加密算法比公开的密码算法更强”,那么只能说是过于自大和无知。

据IMEOS报告称,上述安全漏洞除EOSBET已成功找回之前被黑客攻击并转移到bitfinex和poloniex交易所的14.2845万个EOS外,其余被盗事件均通过仲裁被冻结或者被黑客成功套现。此外, 与资金相关的EOS智能合约目前只有EOS CAST开源,被黑客攻击过两次的EOS.WIN近日发消息称将于近期开源合约。 这让我对这两款游戏好感大增,敢于将智能合约开源,说明对自己的安全性有信心,正面面对黑客,是一种负责任的态度。

事实上,开发者只有将加密算法的详细信息及程序源代码全部交给专业密码破译者,并且为其提供大量明文和密码样本,如果在这样的情况下破译一段新的密文依然需要花上相当长的时间,才能说明这是高强度的密码。 然而,大部分被攻击的DApp的开发者明显没有这样做。 他们不仅没有采用现有、公开、安全的加密算法,而且也没有找安全审计机构进行审计,最终导致了被攻击的结果。

无论任何技术都应该追求务实,哪怕走在潮流前沿的DApp也一样,新兴的是业务概念,而底层技术都是市面上已存在的成熟方案堆砌起来的。 而对于用户来说, 有必要做好一定的风控措施,无论是DApp的选择上,还是投入金额的控制上,都留个心眼。比如 专门申请一个账号用来玩博彩类的DApp, 以保证大额钱包的安全。再就是尽量选择开源的项目,安全性更高。当然如前所述,游戏的公平公正性也是重点需要考虑的。


Viewing all articles
Browse latest Browse all 12749