宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 酷币 > 正文

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

作者:

时间:1900/1/1 0:00:00

近一个月内,区块链安全公司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并保存。开奖流程如下图所示:

穆迪:美联储6月会议加息的可能性仍然存在:金色财经报道,穆迪称,鉴于美国经济的强劲表现,美联储可能会在6月或7月再次加息;美国经济放缓,但需求持续存在和高通胀使得美联储6月会议加息的可能性仍然存在。[2023/6/12 21:32:11]

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)如果计算得知最后的帐号能中奖,则使该帐号的开奖通知失败,那么这个开奖序号被保留下来,直到最后的帐号中奖;

Coinbase将推出美国支持加密货币的广告活动:金色财经报道,加密货币交易所Coinbase将推出美国支持加密货币的广告活动。[2023/5/23 15:19:35]

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

Jack Dorsey将其2.4%推特股份转换为新公司股份,为马斯克收购省下约10亿美元:11月1日消息,根据提交给美国证券交易委员会的一份文件,Jack Dorsey同意将他在推特中剩余的2.4%的股份转到马斯克为推特设立的新控股公司X Holdings I Inc.。文件显示,Dorsey所持约1,800万股股票的价值略高于10亿美元。这意味马斯克不必收购Dorsey持有的这部分股分,也就是Dorsey为马斯克收购推特省下了10亿美元。

尽管有传言称Dorsey将投资马斯克收购推特,但他尚未证实有任何这样做的计划。文件显示,今年4月,Dorsey同意了其股份展期。周四,Dorsey正式将其股票展期至推特新公司,同一天马斯克正式成为推特的所有者。

此前报道,推特创始人Jack Dorsey仍持有推特2.4%的股份。(雅虎财经)[2022/11/1 12:03:38]

比特币一度突破25000美元/枚,涨幅3.34%:行情显示,比特币一度突破25000美元/枚,涨幅3.34%,现回落至24935美元/枚。[2022/8/14 12:24:28]

标签:EOSBLOLOCKLOCeos币还有希望吗blockchain钱包安卓版下载YieldLockFLOC币

酷币热门资讯
忽然稳定在3500美元区间?原来芝商所比特币期货合约快到期了

加密货币市场近期经历了一系列的高波动之后,比特币价格从本周二开始表现出了一些触底反弹的迹象,其横盘整理已经来到了略高于3500美元的心理支撑位。就在本文撰写时,比特币价格大约为3734美元,较前一交易日收盘价上涨了1.58%.

1900/1/1 0:00:00
案例详解 Reg A+ 的 STO 解决方案

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

1900/1/1 0:00:00
星球日报 | 比特币创世区块诞生十周年;火币传深圳分公司全体裁员;BCH矿池存51%算力攻击风险

头条 比特币创世区块诞生距今已10周年2009年1月3日,比特币首个区块诞生,距离今日已经10周年。在比特币刚刚诞生之时,一枚比特币只能兑换人民币约0.005元。目前一枚比特币价格折合人民币超过25000元.

1900/1/1 0:00:00
实锤!85万BTC变动已确认,你要知道的都在这里!

二、熊市资产清理凸显成本优势本次Coinbase整理钱包属于正常交易所定期更换地址行为,本次的拆分汇集整理资金都从遗留地址转移到SegWit“bc1”地址,这种操作有效的降低了交易费用.

1900/1/1 0:00:00
尚未解决的区块链分片问题

编者按:本文来自财经网链上财经,作者:AlexanderSkidanov,编译:LornaQ,来源:medium,Odaily星球日报经授权转载。区块链分片的核心问题是链上的节点无法验证所有分片中的区块.

1900/1/1 0:00:00
当美国币圈媒体也开始被大规模封号的时候……

本文来自:区块律动BlockBeats,作者:区块律动0x22,星球日报经授权转发。上周二的早晨,想要像往常一样打开区块链媒体平台的人们发现,又一波封号潮来临了。BABI财经、核财经都已经打不开了.

1900/1/1 0:00:00