风险提示:理性看待区块链,提高风险意识!
竞猜类游戏 Fastwin 遭黑客攻击背后:Block.one 官方悄然做了重大更新
首页 > 币界资讯 > 竞争币新闻 2019-02-01 14:00:10

12 月 05 日,新上线的又一款 EOS 竞猜类游戏 Fastwin 遭到黑客攻击,区块链安全公司 PeckShield 态势感知平台捕捉到了该攻击行为并率先进行了安全播报披露。数据显示,当天凌晨 03:18—04:15 之间,黑客(ha4tsojigyge)向 Fastwin 游戏合约(fastwindice3)发起 124 次攻击,共计获利 1,929.17 个 EOS。 PeckShield 安全人员分析发现,该攻击行为是黑客利用 Fastwin 的合约在校验合约调用方时存在的漏洞,导致「内联反射(inlineReflex)」攻击成功。

据研究,截止 11 月底,已经发生了超 27 起 EOS DApp 安全事件,主要集中在假 EOS 攻击、随机数问题等攻击方式,且在不断升级演变。 而这次看似较小的攻击事件背后却暴露出了一个较以往危害性可能更大的新型漏洞:EOSIO 官方系统对调用合约自身函数存在不校验权限的问题。

竞猜类游戏 Fastwin 遭黑客攻击背后:Block.one 官方悄然做了重大更新图一,PeckShield 与 Block.one 邮件沟通

PeckShield 认为这是一个非常严重的漏洞,并第一时间通知了 Block.one 团队(CVE-2018-20163)。Block.one 官方团队接受了该漏洞提议,并告知我们有其他研究团队也事先独立汇报了该漏洞,最终于周四(12 月 13 日)更新了紧急补丁以补救防御,同时次日新发布 1.5.1 和 1.4.5 两个版本,完成了该漏洞修复,避免了更多攻击事件的发生及可能造成的资产损失。

「内联反射 (inlineReflex)」攻击原理

正常的转账流程如图所示:玩家通过调用系统合约 (eosio.token),将 EOS 转账给游戏合约,触发游戏合约的分发逻辑 (apply),进而调用相关函数实现开奖。

竞猜类游戏 Fastwin 遭黑客攻击背后:Block.one 官方悄然做了重大更新图二,竞猜游戏正常转账流程

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

竞猜类游戏 Fastwin 遭黑客攻击背后:Block.one 官方悄然做了重大更新图三,攻击者内联调用自身合约开奖

从图中可以看出,攻击者在自身合约的函数(pushck)中,内联调用了与游戏合约开奖同名的函数(check),再通过通知(require_recipient)的方式将信息发送到了游戏合约。此时游戏合约的分发逻辑(apply)没有过滤掉此信息,并调用了开奖函数(check)。

总之,攻击者利用了 EOSIO 系统中对调用合约自身函数不校验权限的漏洞,进而使用游戏合约(fastwindice3)的帐号权限发起内联调用,致使绕过游戏合约在敏感函数中校验调用者权限的方法(require_auth),从而获取了游戏合约发放的奖励。

修复方法

从上述分析能够发现,攻击者合约的通知信息中,实际调用的合约是攻击者合约(ha4tsojigyge),而非游戏合约(fastwindice3),因此在游戏合约的分发逻辑(apply)中过滤掉此类信息即可。而且从系统定义的宏(EOSIO_ABI 或者 EOSIO_DISPATCH,如图四)中能够看到,分发逻辑处理了此问题。因此 PeckShield 在此提醒开发者在定制化自己的分发逻辑时,需要特别注意其中的调用来源。

竞猜类游戏 Fastwin 遭黑客攻击背后:Block.one 官方悄然做了重大更新图四,系统 EOSIO_DISPATCH 代码

深层次及兼容性问题

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

上一篇: 比特派文浩:「大爆炸」时代已经来临了?什么是杀手级 DApp 的必备条件
下一篇: 慢雾:破解造成 BetDice 项目恐慌的交易回滚攻击手法
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥267,916.95
37,538.63 USDT
+5.68%
ETH以太坊
¥14,653.39
2,053.13 USDT
+4.22%
USDT泰达币
¥7.24
1.01 USDT
+0.2%
BNB币安币
¥1,805.75
253.01 USDT
+3.56%
XRP瑞波币
¥4.61
0.64620 USDT
+3.1%
SOLSolana
¥473.69
66.37 USDT
+16.8%
USDC
¥7.14
0.99980 USDT
-0.02%
OKBOK币
¥425.96
59.68 USDT
+2.6%
ADA艾达币
¥2.72
0.38160 USDT
+7.74%
DOGE狗狗币
¥0.54850
0.07686 USDT
+5.81%
热搜币种
更多
币种
价格
24H涨跌幅
dYdX
¥30.23
4.1719 USDT
+10.27%
Filecoin
¥38.66
5.3346 USDT
+10.62%
FTX Token
¥26.76
3.6921 USDT
+2.5%
PancakeSwap
¥19.44
2.6829 USDT
+5.84%
Solana
¥480.98
66.371 USDT
+16.8%
奇亚
¥197.66
27.2758 USDT
+3.32%
Yield Guild Games
¥3.08
0.4246 USDT
+4.43%
Conflux
¥1.24
0.1711 USDT
+7.47%
火必积分
¥21.87
3.0173 USDT
+5.06%
Terra Classic
¥0.00
8.293E-5 USDT
+3.33%
阿童木
¥71.74
9.8992 USDT
+9.92%
比特币
¥272,034.94
37538.63 USDT
+5.68%
最新快讯
更多
金色午报|11月16日午间重要动态一览
2023-11-16 12:00:55
SoraVentures联创:台湾对任何交易所都没有任何限制
2023-11-16 11:57:40
SoraVentures联创:如果在香港或新加坡运营加密货币基金,投资或言论会受到限制
2023-11-16 11:57:40
SoraVentures联创:如果在香港或新加坡运营加密货币基金,那么的投资或言论会受到限制
2023-11-16 11:57:40
SoraVentures联创:如果在香港或新加坡获得法律许可,那么的投资或言论就会受到很多限制
2023-11-16 11:57:40
比特币网络常规交易手续费升至186sats/字节
2023-11-16 11:56:15
Web3社交协议beoble完成200万美元Pre-Seed轮融资,DCG等参投
2023-11-16 11:54:45
下载币界网APP