据区块链安全公司PeckShield安全盾风控平台DAppShield监测消息,4月10日23点02分,黑客向波场竞猜类游戏TronWow发起攻击1,203次,共计获利2,167,377个TRX。PeckShield安全人员当即展开分析发现,黑客每投注20TRX,即可获得1,940个TRX作为回报,回报率高达97倍。最终,通过此次攻击,黑客共计投注23,004个TRX,获利2,167,377个TRX。此后,PeckShield安全人员进一步深入分析发现,TronWow合约在检查下注范围时存在缺陷,允许用户在非页面下注时构造恶意输入,从而实现稳赢的游戏结果。攻击细节:
波场TRON世纪挖矿已启动NFT-TRX LP流动性挖矿:据官方信息,APENFT(NFT)已正式上线SUN.io并开启 NFT-TRX LP流动性挖矿,此外,现在参与波场TRON世纪挖矿即可获得 TRX、SUN、BTT、JST、WIN、YFX、NFT七种代币奖励。
据悉,APENFT是以以太坊Ethereum及波场TRON底层技术为支持,结合全球最大的分布式数据存储系统BitTorrent File System,致力于将艺术品NFT化与区块链化的基金会。APENFT基金会于2021年3月29日在新加坡正式注册成立。而NFT作为APENFT基金会官方发行的唯一通证,是基于ERC-20/TRC-20协议开发的去中心化数字资产,也是APENFT基金会的权益证明;NFT持有者将拥有投票、分润、参与等权益。NFT发行总量恒定量999,990,000,000,000枚。[2021/5/31 22:59:47]
TronWow是一个典型的dice类游戏。玩家通过选定下注数字和押大押小来进行一轮游戏。如下图所示,当用户在TronWow游戏页面中参与游戏,无论选择Under模式或Over模式,都被限制了下注数字的范围和胜率。其中Under模式可下注数字为,Over模式可下注数字为,游戏随机生成数字范围为,Under和Over两种模式的胜率均为,奖励倍数为。
波场TRON官方首个挖矿项目太阳币SUN已正式登陆OKEx:据官方消息,波场TRON官方首个挖矿项目太阳币SUN已正式登陆OKEx。据悉,OKEx是全球主流区块链数字资产交易平台。太阳币SUN的定位是波场上的比特币,零VC投资,零私募投资,零预挖,零团队预留,完全依靠社区与开源智能合约。太阳币SUN已于9月2日正式开启创世挖矿,太阳币SUN挖矿请遵守官网的指示公告,支持TronLink、imtoken、Tokenpocket、Bitpie等钱包。[2020/9/11]
PeckShield安全人员在深入逆向分析TronWow合约时发现,TronWow合约在检查下注范围时存在缺陷,允许用户在非页面下注时构造恶意输入。换而言之,一旦用户避开游戏页面,直接调用游戏合约的下注函数,即可设法绕过合约中的下注范围检查条件,实现100%胜率以及最高回报倍数。下面以正常下注交易和恶意下注交易对该合约漏洞进行说明。在TronWow合约代码中,函数placeBet(uint24_betMask,uint256_commit,bytes32_r,bytes32_s)为下注函数,参数uint24_betMask为玩家的下注信息。其中正常下注交易调用placeBet函数时输入如下:
动态 | 委内瑞拉新货币将与Petro币挂钩:委内瑞拉正在用一种新的货币取代本国货币bolivar,据说这种货币将与有争议的Petro币挂钩。[2018/7/26]
这是一个选择了Under模式且下注数字为95的正常交易,换而言之,当游戏生成的随机数小于等于95时玩家获胜。在此交易中,参数_betMask的值24321转换成十六进制为0x005F01,我们将其分拆为三个字节,分别如下:
其中:0x00为十进制0;0x5F为十进制95;0x01为十进制1.其中第一部分0x00表示若当该轮游戏产生的随机数计算结果处于之间,则玩家获胜;相反,前两位不为0x00时表示若该轮游戏产生的随机数计算结果处于之外,则玩家获胜。在逆向过程中,我们将下注函数的部分汇编指令还原成伪代码,如下图所示:
被Tron1.2亿美元收购后 BitTorrent称其商业模式不会改变:据Coindesk消息,BitTorrent周二发布在其官网发布了一篇声明,称公司“没有改变商业模式的计划”,也不会对任何服务收费。该公司还表示“目前以及将来都没有开发加密货币的计划。”[2018/6/20]
阅读上述下注函数伪代码可以发现,合约只对玩家下注信息中的胜率百分数进行了检查,要求其小于等于95,却未对下注数字做数值限制。故玩家可通过构造下注数字来绕过该检查。下图为攻击者发起的诸多攻击交易之一:
其中_betMask参数被构造为130971,十六进制为0x01FF9B。其中前两位0x01表示若该轮游戏产生的随机数计算结果处于之外,则玩家获胜。而0x9B、0xFF对应的十进制分别为155、255,则根据合约撰写的胜率百分比计算规则,winRate=100-(0xFF-0x9B)+1,即等于1,从而成功绕过下注范围检查函数,并将本次交易的奖励倍数设置为97。需要特别强调的是,在页面下注中,奖励倍数最高仅为48.5倍。接着,我们将开奖函数settleBet(uint256_reveal,bytes32_txHash)的判断游戏输赢部分汇编指令还原成伪代码:
其中rollResult为本轮游戏的随机数计算结果,取值范围为。而在攻击者设置的恶意参数中,rollResult必然处于区间之外,满足赢得本轮游戏的条件,从而确保了攻击者游戏结果稳赢。总结:
对于TronWow合约被攻击事件,PeckShield安全人员分析发现:TronWow合约在检查下注范围时存在缺陷,允许用户在非页面下注时构造恶意输入,实现100%胜率。需要注意的是,该漏洞已在TronWow上线的新版本合约中被修复,游戏方增添了对下注范围的约束检查。在此,PeckShield安全人员提醒广大项目方及交易所应当重视区块链世界中的任何安全问题,确保项目方及用户的资产安全可靠。安全无小事,采取不公布源代码来抵御黑客攻击的行为,在黑客面前形同虚设。DApp开发者应杜绝侥幸心理,在合约上线前做好必要的安全措施和已知攻击特征检查,必要时可联系第三方安全公司进行漏洞排查,避免造成不必要的数字资产损失。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。