PeckShield预警“玩家”高回报异常获利
7月27日凌晨3点至上午10点,PeckShield安全盾风控平台DAppShield监测到THeRTT开头的地址在参与MULTI.TODAY合约游戏时,持续获得高回报异常获利,短短数小时内便获利102,652个TRX。
PeckShield安全人员分析发现,该“玩家”采用了一种针对游戏机制的“卡位”回滚投注方式,通过部署脚本合约来参与游戏,利用游戏本身存在的运营机制“不平等”特性,成功实施“卡位”进而获取最大的投资回报率。
这类似于互联网上利用脚本程序恶意刷单,把原本属于普通玩家的收益权限给侵占了。这让人想起,去年Fomo3D火爆时,黑客利用以太坊公链因gas费用机制存在的交易拥堵问题,成功制造阻塞,拿走10,469个ETH奖金的攻击事件。
OpenAI已在意大利下线ChatGPT:金色财经报道,据外媒报道,OpenAI已在意大利下线ChatGPT,此前意大利数据保护局Garante在3月31日暂时禁止了该聊天机器人,并对其涉嫌违反隐私规则展开了调查。
意大利数据保护局Garante认为,3月20日ChatGPT平台出现了用户对话数据和付款服务支付信息丢失情况。此外平台没有就收集处理用户信息进行告知,缺乏大量收集和存储个人信息的法律依据。OpenAI公司必须在20天内通过其在欧洲的代表,向意大利数据保护局通报公司执行保护局要求而采取的措施,否则将被处以最高2000万欧元或公司全球年营业额4%的罚款。OpenAI表示,应Garante的要求,它已为意大利用户禁用了ChatGPT。[2023/4/1 13:38:51]
这个“聪明”的玩家,采用了类似Fomo3D式的“特殊方式”,狠狠地薅了MULTI.TODAY游戏一把羊毛。
调查:尼日利亚、南非以及肯尼亚是非洲加密持有者最多三个国家:12月21日消息,摩洛哥智库新南方政策中心(PCNS)进行的最新研究结果表明,在接受调查的33个非洲国家中,尼日利亚拥有最多的加密货币持有者(占比40.5%);南非是排名第二的非洲国家,估计有771万加密货币持有者;肯尼亚估计有600万加密货币持有者,排名第三。并且,上述三国中加密唯一持有者占总人口的比例均超过10%。(news.bitcoin)[2022/12/21 21:59:29]
“wojak”重现江湖
这个“聪明”的玩家究竟是何方神圣呢?
PeckShield安全人员进一步分析发现,THeRTT开头的地址就是此前大名鼎鼎的“wojak”,他曾经攻击过TronBankPro,并因此获利2,673万个TRX。
当时TronBankPro遭攻击的原因是,其合约代码中留有“后门”,而“wojak”则成功地命中了后门,并将合约余额全部取走了。尽管这件事情本身扑朔迷离,是巧合还是背后有阴谋,到现在都没人说得清楚,然而,这倒让“wojak”这一代号名扬四方了。不禁要问,此次“wojak”重现江湖,又会掀起怎样的风浪呢?
MULTI.TODAY游戏玩法说明
要理清这个问题,我们得先系统了解下MULTI.TODAY游戏。按照官方说明,所有参与投资的玩家会组成一个队列,每次排名队列首位的玩家会获得投资额的11%—41%作为回报,之后该玩家会被移除队列。
只要不断有玩家参与投资,那么先参与游戏的玩家都将获得丰厚回报,同时,为了避免最后一位玩家吃亏,游戏还规定如果持续30分钟没有后续玩家投资,那么最后一位玩家将获得奖池的5%作为回报。
“wojak”的卡位回滚操作技术原理
MULTI.TODAY于每天的22:00GMT3(北京时间凌晨3点)开启新的一轮游戏,只有当游戏正式开始后,玩家的投资才会被认可。由于游戏规则的设定,所有玩家都争抢着第一个参与。
通过PeckShieldTRON大数据分析平台,可以看到在北京时间07月27号凌晨3点之前,多个玩家尝试参与游戏,但因为游戏时间还没有开始,交易都被回滚了:
当游戏时间到达后,有多笔交易都被打包进了11315294区块。在这个区块中与该游戏合约有交互的前两笔交易分别为“wojak”发起的Tx1合约交易,以及由普通玩家发起的Tx2交易。
下图2为普通玩家发起的交易,图3为“wojak”发起的合约交易:
“wojak”首先调用TK5HmY地址开头的合约,再由TK5HmY地址开头的合约调用游戏合约完成投资。PeckShield安全人员分析后发现,区别于普通玩家,“wojak”发起的交易可不简单,存在多层调用。
TK5HmY地址开头的合约首先调用MULTI.TODAY智能合约中的startTime(),prizeAmount()等静态方法,以此来判断游戏是否开始,是否已有玩家投资;当确认游戏开始,且尚未有玩家投资后,再多次调用游戏合约的deposit()方法进行投资。虽然游戏合约设置在返利后移除排名队列首位的玩家,但因为该玩家是通过合约来进行多次投资的,可以保证被移除后仍然保持榜首。“wojak”获利的关键是得让这笔合约交易率先被SR节点打包。
在以太坊中,攻击者可以通过提高gasPrice来恶意竞争,让交易被矿工先打包处理,而波场没有类似gasPrice的概念,所有交易是通过SR节点打包产生的。“wojak”事先准备好自动化脚本,在时间到达前通过自动化脚本不断调用合约来完成交易,这会比普通玩家的手速要准确的多。同时,智能合约中的交易都是原子操作的,只要上链,合约可以保证交易中的所有操作按顺序进行,这就大大提高了合约交易率先被SR节点处理的概率。
从链上数据分析看,“wojak”通过合约投资32次,单笔交易就获利近10万个TRX。他确实是一位极度聪明的玩家,当其他玩家还在拼手速时,他已经通过部署合约的方式,制造了不平等特殊权限,获取了丰厚回报。
下图为“wojak”的合约调用流程:
“wojak”除了在MULTI.TODAY每轮游戏开始时争当头名玩家外,PeckShield安全人员还发现,针对游戏第二种类似Fomo3D式的玩法,“wojak”也一直在“守株待兔”。
例如TKjcLB地址开头的账户于07月27号09:13:57发起了一笔投资,在此之后的30分钟内没有玩家参与,直至09:43:57,“wojak”发起了另一笔交易,在最后时刻成功阻拦TKjcLB地址开头的账户获得大奖。跟之前分析类似,“wojak”的这笔交易也是调用游戏合约的stage(),getCurrentCandidateForPrize()等静态方法,获取游戏当前回合数和投资资金,以此判断30分钟内是否有玩家参与。
事件后续
PeckShield安全人员在发现该问题后,第一时间和游戏项目方取得了联系,项目方也及时升级了合约。
需要说明的是,“wojak”并没有攻击MULTI.TODAY合约,MULTI.TODAY游戏本身也不存在相关智能合约的漏洞,“wojak”只是聪明地利用了合约的设定规则,达到了“薅羊毛”获利的目的,不能称其为一次黑客攻击行为。
不过,透过事件本身我们看出,上次TronBankPro事件并非偶然,“wojak”确实是一位不折不扣的“技术牛人”。
写在最后
虽然此次事件并非因漏洞诱发的黑客攻击行为,仅是聪明“玩家”合理利用游戏机制实施的高智商薅羊毛行为,但其暴露的问题却值得我们深思:
1、游戏运营机制设计的缺陷同样会威胁到游戏的参与体验,透支并伤害大部分普通用户对游戏本身的信任;
2、合约玩家对如今DApp生态而言是把双刃剑,合约会帮助黑客以最低的成本,扫荡全网大量DApp,且总能找到疏漏之处,进而下手;
3、游戏项目方应完善自身的风控应急响应机制,一旦监测到异常获利或攻击行为,应立即对游戏实施一键暂停,终止正在进行的攻击行为,必要时可寻求第三方安全公司帮助,进而减少或避免数字资产损失;
4、游戏玩家在参与游戏时,应时刻注意项目官方或者安全公司发出的预警消息,对于已经遭受攻击尚未停止运营的游戏,应避免再次参与,以免遭受更大的数字资产损失。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。