探究随机数漏洞背后的技术原理:EOS.WIN竞猜游戏是如何被攻破的?

近一个月内,区块链安全公司PeckShield已经发现并披露了EOSBet、EOSCast、FFgame、EOSDice、EOSWin、MyEosVegas、LuckyGo、EOSLelego等超8款EOS竞猜类游戏遭到了黑客攻击,黑客总共获利170,503.5个EOS,以此前行情均价35元/个估算,黑客已从此类游戏上获利超5,967,662.5元,已严重威胁到正常的EOS生态秩序。PeckShield安全人员通过对多款游戏的攻击特征进行提取,初步发现:1、攻击者背后有不同黑客团伙在实施有组织且针对性的攻击;2、大部分成功攻击的原因都和随机数漏洞有关;3、类似的攻击有可能愈加频繁,且他们的攻击效率有逐渐提升的迹象。由于绝大部分EOS竞猜类游戏尚未开源,为了厘清随机数漏洞背后的技术原理,摸清楚黑客屡屡攻击得手的原因。PeckShield安全团队以较为典型的EOS.WIN游戏为样本进行了黑客视角还原,带大家领略下随机数漏洞攻击背后的奥秘。11月12日,据PeckShield态势感知平台数据显示:上午08:59至09:00,不到一分钟时间,黑客共计向EOS.WIN游戏合约发起10次攻击,获利超9,180个EOS。PeckShield安全人员跟踪分析发现,黑客先是于昨晚22:46实施小额测试攻击,在攻击165次掌握攻击方法后,选择于次日9时许采用多个关联账号实施快速攻击。尽管该款游戏也采用了较为稳妥的两次延迟交易的信息作为随机数的组成部分,但是黑客仍然巧妙地绕过了这些限制,成功地实施了攻击。黑客攻击原理及开奖过程:EOS.WIN主要是由猜数字和21点两个游戏组成,猜数字游戏玩法,用户可以任意选取一个数字,系统会根据用户所选大小给出相应赔率,然后系统会随机给出一个数字,如果结果和用户的大小选择匹配则视为中奖,获得金额为投入金额乘以赔率。该游戏的开奖过程为:游戏合约收到玩家的交易请求,延迟1.5秒后执行开奖方法,并在开奖方法中使用开奖序号参与随机数生成,同时通过内联调用方式将开奖结果信息通知给玩家,再将开奖序号加1并保存。开奖流程如下图所示:

Starknet社区发起提案投票,拟将Alpha v0.12.0版本部署至主网:7月6日消息,以太坊Layer2扩容解决方案Starknet发起投票,拟将 Alpha v0.12.0 版本部署至主网。目前投票赞成率为100%,投票截止时间为6月11日。

此前报道,Starknet 已于测试网上推出 Starknet Alpha v0.12.0。新版本将对定序器进行重大改进,包含定序器性能、取消 Pending 状态与区块哈希系统调用。[2023/7/6 22:21:21]

PeckShield安全人员分析发现,该合约的随机数是通过get_random函数获得,影响该随机数生成的因素有:txid为交易哈希ID,tapos_block_num成交块高度,tapos_block_prefix区块ID前缀,bet_id全局开奖序号等。为了进一步深入了解,先得科普几个背景知识:1、延迟交易与tapos_block_prefix:常见的随机数生成方法中,大多使用tapos_block_num和tapos_block_prefix作为重要的组成部分,在交易中指定未来某个区块的信息,来保证不可预测性。如果合约中使用了延迟交易的方式,也就是说在交易时指定了延迟的间隔,看似是使用未来信息,其实在发出这个交易时,系统就已经指定使用当前同步到的最新块信息,进而tapos_block_num和tapos_block_prefix也是确定的。2、交易状态信息回滚:在EOS的交易中,如果一个交易中的某个动作执行异常,会导致整个交易状态的回滚。例如在自己的帐号中部署合约,在每次收到转账通知时抛异常,可以导致整个转账过程失败,所有的状态信息,包括余额等都保持原样。3、计算交易哈希ID:一个交易中可以包含多个action,如果所有action参数信息都确定,那么再结合前面提到的tapos_block_prefix信息,就能自己计算出交易哈希ID。简而言之,攻击者利用了开奖序号参与随机数生成和内联调用失败可导致状态信息回滚的特性,在同一时间控制多个合约帐号同时发送交易请求,来尽量保证最后请求的帐号能够获得期望的开奖序号参与生成随机数,以赢得奖励。以EOS.WIN为例,攻击者先是用5个账号佯攻实施小金额投注,在掌握更高概率后,用最后1个金额最大的账号主攻投注,从而以更高概率斩获奖金。具体攻击过程如下:一、攻击者部署了6个攻击合约,调用攻击方法时,在攻击合约中同时让这6个帐号发送交易请求,这样这些请求将会在同一个块中开奖,由于过程一致,开奖交易中的tapos_block_num和tapos_block_prefix是一样的,只有bet_id可能不同。二、攻击者的前5个攻击合约,在收到开奖通知时,能够获取到当前的bet_id,并判断此id能否让最后的帐号中奖。1)如果计算得知最后的帐号不能中奖,则该帐号的开奖通知正常执行,使得后面的帐号使用新的开奖序号来计算随机数;2)如果计算得知最后的帐号能中奖,则使该帐号的开奖通知失败,那么这个开奖序号被保留下来,直到最后的帐号中奖;

观点:模因币热潮减弱导致Optimism网络活动下降:金色财经报道,根据Artemis的数据,继4月和5月的模因币热潮导致Optimism(OP)的每日活跃地址数量激增59%后,L2网络的网络活动自6月中旬以来开始下降。在OP主网上,自6月15日以来,每日发送链上交易的唯一钱包地址数量呈下降趋势,7月2日记录的每日活跃地址数量为81,480个,此后在过去19天内下降了45%,过去5天OP主网的每日交易量下降了22%。

此外,Optimism的去中心化交易所(DEX)完成的每日链上交易总量在6月30日有所下降,上周累计造成了59%的下跌。尽管过去7天DEX活动有所下降,但Optimism网络中锁定的资产总价值(TVL)同期却大幅上涨,截至发稿时,该网络的TVL自6月29日以来增长了10%。[2023/7/5 22:18:32]

获奖概率:从上述的开奖和攻击过程可知,每增加一个佯攻的帐号,就多了一次提前计算最后主攻帐号能否获奖的机会。按猜数选择20来算赔率为5倍,6个帐号会提高中奖概率至大约74%,虽然仍无法保证每次攻击必中奖,但攻击者10次攻击能中奖6次,已经是超高且扰乱正常游戏的秩序的获奖概率。安全建议:在诸如此类EOS.Win的游戏中随机数受到攻击者可控制的变量即游戏开奖序号的影响,因此PeckShield在此建议开发者,在DApp的随机数生成上,需要去除攻击者可控制的变量如游戏开奖序号等影响,同时避免开奖动作和通知动作在同一个交易中,从而避免交易状态的回滚,进而阻止来自黑客的攻击。

Finst完成440万美元种子轮融资,Deribit母公司领投:4月5日消息,荷兰加密货币交易平台Finst宣布完成440万美元种子轮融资,本轮融资由Deribit母公司Sentillia领投。本轮资金将用于扩大Finst的产品范围,以推动其国际扩张计划。

Finst的交易平台于今年年初首次亮相,并表示自那以后,它通过提供加密货币交易吸引了荷兰的数千名活跃用户,其费用平均比在荷兰中央银行注册的八家交易平台低82%。[2023/4/5 13:45:48]

英国监管机构发现挑战者银行应对金融犯罪风险的主要缺陷:金色财经报道,在金融行为监管局(FCA)最近的一次调查后,发现几家挑战者银行在金融犯罪控制方面存在重大缺陷,他们需要加强对金融犯罪风险的整体评估。FCA 市场执行董事 Sarah Pritchard 表示:挑战者银行是英国零售银行业务的一个重要组成部分。然而,在快速便捷的开户和强有力的金融犯罪控制之间不能有任何权衡。挑战者银行应该考虑这次审查的结果,并继续加强自己的金融犯罪系统,以防止伤害。

Encompass Corporation法规事务主管Henry Balani分享了他对此事的见解:近年来,挑战者银行和数字银行的客户群经历了巨大的增长,然而,这种快速的扩展意味着合规计划并没有始终保持同步。在向新市场扩张的同时处理增加的客户和交易量,增加了反金融犯罪举措的复杂性。采用同类最佳的 KYC 自动化是银行有效解决问题的唯一途径,使用创新技术可确保持续保持高标准的大规模合规性,同时改善客户旅程和体验。

总的来说,Revolut等挑战者银行的数字专业知识是众所周知的。尽管如此,为了维持高水平的消费者增长,同时管理不断上升的金融犯罪威胁,所有金融机构都需要不断创新。(finbold)[2022/4/24 14:44:16]

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

银河链

DOGE案例详解 Reg A+ 的 STO 解决方案

中国和美国的监管和募资环境,经过标准共识的相关探索和知识普及,目前的环境已相对明晰:全球范围来说,区块链的泡沫正在破灭,各国的的相关监管更加严格。而对于刚兴起的数字化证券,近期北京互金协会发出警告:数字化证券涉嫌非法金融活动.

MEXC全新BTC数据周报(2018年第8期)

链上多组数据印证市场正在走出恐慌的阴霾,市场重拾信心需时间,仍要谨慎操作报告要点从市场交易数据来看,上周BTC平均价格在低位震荡,但成交量节节败退。交易所间的价格变异系数趋势性迅速回归。充提币数据的相关系数正在修复前期出现的背离.

[0:0ms0-2:102ms