SHI:竞猜类游戏Fastwin遭黑客攻击背后:Block.one官方悄然做了重大更新

(图片来源于网络)12月05日,新上线的又一款EOS竞猜类游戏Fastwin遭到黑客攻击,区块链安全公司PeckShield态势感知平台捕捉到了该攻击行为并率先进行了安全播报披露。数据显示,当天凌晨03:18—04:15之间,黑客(ha4tsojigyge)向Fastwin游戏合约(fastwindice3)发起124次攻击,共计获利1,929.17个EOS。PeckShield安全人员分析发现,该攻击行为是黑客利用Fastwin的合约在校验合约调用方时存在的漏洞,导致“内联反射(inlineReflex)”攻击成功。据PeckShield此前发布的《浅析DApp生态安全》的报告显示,截止11月底,已经发生了超27起EOSDApp安全事件,主要集中在假EOS攻击、随机数问题等攻击方式,且在不断升级演变。而这次看似较小的攻击事件背后却暴露出了一个较以往危害性可能更大的新型漏洞:EOSIO官方系统对调用合约自身函数存在不校验权限的问题。

动态 | 竞猜类游戏BitDice遭黑客假EOS攻击:今天早晨06:40-06:50之间,PeckShield安全盾风控平台DAppShield监测到黑客向竞猜类游戏BitDice发起连续攻击,获利四千多EOS,并已转至EXMO、ChangeNOW等多家交易所。PeckShield安全人员追踪链上数据分析发现,黑客采用的是“假EOS”攻击手段。PeckShield安全人员在此提醒,开发者应在合约上线前做好安全测试,特别是要排除已知攻击手段的威胁,必要时可寻求第三方安全公司协助,帮助其完成合约上线前攻击测试及基础安全防御部署。[2019/10/12]

(图一:PeckShield与Block.one邮件沟通)PeckShield认为这是一个非常严重的漏洞,并第一时间通知了Block.one团队。Block.one官方团队接受了该漏洞提议,并告知我们有其他研究团队也事先独立汇报了该漏洞,最终于周四(12月13日)更新了紧急补丁以补救防御,同时次日新发布1.5.1和1.4.5两个版本,完成了该漏洞修复,避免了更多攻击事件的发生及可能造成的资产损失。“内联反射(inlineReflex)”攻击原理正常的转账流程如图所示:玩家通过调用系统合约(eosio.token),将EOS转账给游戏合约,触发游戏合约的分发逻辑(apply),进而调用相关函数实现开奖。

分析 | EOS竞猜类游戏Fishjoy因CPU消耗爆表致开奖延迟:据 DAppTotal 12月14日数据显示,今天上午11点20分,EOS竞猜类游戏Fishjoy出现异常,其正常开奖程序频繁延时。DAppTotal 数据研究人员研究发现,由于开发者没有合理预估游戏承载量,导致当前使用CPU超过了合约所抵押CPU资源上限,致使游戏CPU资源消耗爆表而无法正常开奖。进一步追踪数据发现,Fishjoy游戏昨日活跃用户量为383,交易额为:206,781 EOS,游戏合约支出消耗的CPU数量为435,639.518 ms,玩家花费在游戏上的CPU数量为476,668.494ms,游戏占全网CPU资源总量的12.44%。而当前游戏的DApp交易量全网排名第三,较昨日有大幅提升。分析还发现,有大量玩家单次交易使用CPU超过10ms以上。截止发稿前,Fishjoy游戏CPU还处于爆表状态。DAppTotal在此提示广大DApp开发者,务必注意因交易量过大而可能导致的抵押CPU资源不足问题,且应注意优化合约性能,尽量减少玩家单笔交易所需的CPU资源成本,以确保玩家正常的游戏使用体验。[2018/12/14]

而此次的攻击者(ha4tsojigyge),在自己帐号部署的合约中包含了与游戏合约相同的操作函数,在转账完成后,自行开奖获得奖金。如图所示:

动态 | EOS竞猜类游戏nutsgambling遭黑客交易回滚攻击:据 PeckShield 态势感知平台数据显示:昨天,黑客ybdzmtgouwxn向一款EOS 竞猜类游戏nutsgambling发起攻击,在不到一小时内,共计发起144次攻击,总计获利1,141.71个EOS。为了防止资金流向被追踪,该黑客采用多个子账号顺序将所获资产转移至账号kcbtvwtxeabc中,暂未提取到交易所。PeckShield 安全人员分析发现,黑客是采用交易回滚攻击手段对游戏合约实施攻击。最近一段时间该攻击形态频繁出现,对竞猜类游戏生态造成严重的威胁,广大游戏开发者需提高警惕。[2018/11/28]

从图中可以看出,攻击者在自身合约的函数(pushck)中,内联调用了与游戏合约开奖同名的函数(check),再通过通知(require_recipient)的方式将信息发送到了游戏合约。此时游戏合约的分发逻辑(apply)没有过滤掉此信息,并调用了开奖函数(check)。总之,攻击者利用了EOSIO系统中对调用合约自身函数不校验权限的漏洞,进而使用游戏合约(fastwindice3)的帐号权限发起内联调用,致使绕过游戏合约在敏感函数中校验调用者权限的方法(require_auth),从而获取了游戏合约发放的奖励。修复方法从上述分析能够发现,攻击者合约的通知信息中,实际调用的合约是攻击者合约(ha4tsojigyge),而非游戏合约(fastwindice3),因此在游戏合约的分发逻辑(apply)中过滤掉此类信息即可。而且从系统定义的宏(EOSIO_ABI或者EOSIO_DISPATCH,如图四)中能够看到,分发逻辑处理了此问题。因此PeckShield在此提醒开发者在定制化自己的分发逻辑时,需要特别注意其中的调用来源。

深层次及兼容性问题需要强调的是:这个问题属于EOS公链层的较大漏洞,攻击者在内联调用中可以伪造任意帐号的权限执行,但这个修复可能会给部分开发者造成兼容性问题,如合约内联调用函数,而执行者帐号(actor)不是自己的时候,会导致整个交易(transaction)执行失败,如需解决兼容性问题请给合约赋予执行者帐号的eosio.code权限。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

波场USD:稳定币现状:2018

编者按:本文来自蓝狐笔记,本文作者:MathanSexer,文章来源于medium.com,翻译:蓝狐笔记公众号社群“Chanteur”,Odaily星球日报经授权转载.

以太坊交易300:交易所行业 2018 年度报告

回顾2018年,通证市场从年初的火爆到年末归于沉寂,交易所作为最重要的参与者之一,制造了平台通证、交易挖矿、开放交易平台和去中心化交易所等一个又一个行业热点.

[0:0ms0-1:192ms