在小学/中学电脑课机房学会用U盘拷游戏或使用浏览器玩Flash游戏之前,《扫雷》这款微软Windows XP系统内置游戏大概就是诸多同学唯一的消遣娱乐了。我们瑟瑟发抖地按下一个方块,等待着背后的数字或者炸弹跳将出来,如果是前者继续游戏,如果是后者全盘皆输。
对于高手来说,一盘高级局通常需要两到三分钟通关。然而,这款游戏在知晓外挂的骇客眼中,通关只需一秒。
“将游戏直接拖动到IDA进行逆向分析,就可以分析出雷其实是被放在内存数组里面,把它们列举出来然后点击开始,前后刚好一秒。”Joey如此说道。
游戏外挂真有说的那么神?它又会为游戏行业带来哪些影响?
在刚结束的DEF CON China 1.0上,记者遇到了腾讯游戏安全研究员Joey,他针对上述问题进行了详细解答。
作弊神器:游戏外挂
你玩过无敌版的超级马里奥游戏吗?没错,无限续命就是外挂的一种。
通俗来讲,游戏外挂就是利用电脑技术针对一个或多个软件,通过改变游戏本体的部分程序制作而成,为玩家谋取利益的作弊程序。
其实,早在吃豆人游戏流行的年代,外挂就已经出现了;到了Windows时代,PC游戏的兴起加速了外挂产业的蓬勃发展,而随着网游的盛行,提供游戏外挂的灰色产业链不断壮大。
和信息安全领域类似,游戏安全主要关注的也是软件漏洞、网络安全和服务器、数据安全三大块,基于上述三个方向,游戏安全风险又可以分为若干小块:
游戏Bug——游戏前期开发中埋下的坑,轻则被玩家吐槽,重则影响游戏公平性,打乱交易规则。
通常游戏的复杂度远超过常规软件,如某款游戏《**破坏神》。游戏发售期间,很快有玩家发现可以无限制复制游戏金币。
首先,这名玩家使用两台PSP手柄同时登陆自己的大小号。游戏中,大号将装备仍在地上,然后在未存档的情况下退出登录。因为小号在线,大号的装备不光没有随后消失不见。待大号重新登录,身上的装备还在,并且可以捡起地上的装备。
通过这种方式,这名玩家反反复复退出了若干次,游戏装备也跟着一变二,二变四越来越多。要知道,这些装备要是在商城里正经购买,可都是价格不菲的。
客户端逻辑——大部分游戏都有很强的客户端逻辑,对于玩法丰富一些的游戏而言,为了保障游戏体验,其人物、物品、怪物等属性必须在客户端运算,因此很难全部在服务器端进行全部校验。这样的弊端在于,一些作弊玩家可以利用外挂来直接修改。即使外挂不直接修改各种属性,也可以通过调用函数的形式,来实现很多功能,比如通过调用朝向函数来实现磁性自瞄。另外,还可以劫持一些系统函数。
以人物透为例,明明隔着一堵墙,却老早就被对面玩家锁定。如果你也有这样的经历,那很可能是遇到了外挂玩家。
这种外挂修改了游戏的基本逻辑——大部分FPS游戏中的人物在本地客户端的坐标都是已知的,人物渲染的时候Z轴的位置相对于墙面要深一些,因此不会被显示出来。而外挂通过HOOK D3D强行关闭了Z轴渲染或者将深度参数改为0,以此实现穿墙透视。
服务器攻击——一旦服务器被骇客攻入,游戏运营商可能面临的结果就是游戏数据库的篡改,这会使得用户信息全部被拖库转移到其他游戏上面。
其中,基于DDOS的破解最为常见。DDOS导致游戏服务中断,如果在pvp中快要输掉对局时使用,收益非常高。这种操作在LOL这类游戏中尤其常见。此外,可以通过WPE/WireShark分析协议来实现脱机挂。
针对网络游戏,服务器异常可造成移动加速或攻击*伤力加倍,通过WPE/WireShark实现脱机,甚至通过强行登陆实现炸房(挤爆游戏房间)。
协议破解——通过协议解析,骇客能够在毫无痕迹的情况下实现外挂的作弊功能。
以某生存类游戏《**求生》为例,这是一款使用开源引擎UnReal开发的游戏,骇客通过解析协议制作出了代理外挂,这一外挂可以实现将《绝地求生》游戏中敌人出现的位置实时显示在手机上,而PC端没有任何痕迹。
盗版问题——尽管游戏安全方案解决上提供了很多防盗版的手段,但是依然有人能够对游戏进行破解,并且以廉价去进行售卖。
毋庸置疑,玩家在使用外挂时也随时面临个人信息及财产被窃取的风险。而一款游戏频繁出现外挂,也会直接毁坏游戏环境,严重的会导致交易、运营等方面的重大事故。
外挂市场的“爱恨情仇”
越热门的游戏其附属外挂也就越多。在中国,绝大多数作弊者都是新进玩家,60%作弊发生在网吧。据统计,仅2018年,某爆款生存游戏就有超过2700款外挂被监控到,高峰期每天超过100款外挂进行更新;就连最新2019年2月发布的国外某游戏来腾讯也通过渠道监控到三天之内有超过60个外挂在进行售卖。
“外挂买卖是一个充分竞争的市场,这里的客服大多都十分专业。”
大部分外挂作者不会直接参与外挂的售卖。他们通常会将自己的作品交给外挂代理商,然后再由这些代理商根据类型进行不同的打包。之后,这些外挂一部分会被售卖给打金工作室,另一部分则会被直接交给淘宝客服。
无论是打金工作室还是淘宝商,为了建立自身在外挂行业的品牌效应,一旦外挂产品被安全应用检测到某些店铺还会提供无理由退货的服务。
产业里还有另外一群人,他们自己不制作外挂,,但是会想尽办法去破解别人的外挂。通过绑定木马、绑定挖矿程序的方法批量运行进行收益。
外挂的危害不言而喻,贩卖、购买和使用外挂除了是违法行为,要面临法律处罚外;在使用外挂时也随时面临个人信息及财产被窃取的风险。
那么,如何有效治理游戏安全的问题呢?
“游戏安全中设计的外挂问题并不是要‘赶尽*绝’,游戏安全的防御是一种平衡的艺术。”
在传统信息安全领域,对于病毒的防护,可能是尽可能的查*。然而,在游戏安全领域,外挂在整个游戏市场担任的角色十分微妙,其方向也更加注重找到一些高收益的风险点进行防护,而非一网打尽。
Joey称,在游戏中会有三类人出现,玩家、游戏开发商和运营商。
1、据统计,玩家对于外挂的态度很是暧昧——如果外挂商家对玩家声称自己的产品没有病毒,并要求关闭其设备上的*毒软件,大多数玩家就会照做。
2、另一边,某些游戏过于复杂,玩家重复性操作比较多,开发商为了增加其可玩性反而会允许一些辅助,甚至后续合并开发后成为官方的功能模块。
3、过多的外挂产品上线,无疑会提升游戏的运营难度。同时,越来越多的外挂会导致玩家对于游戏的好感下降,从而严重影响游戏的用户留存,因此运营商对于外挂这种行为是忍无可忍的。
4、而对于打金工作室而言,众多的同类外挂产品在同一款游戏出现,为了更好地抢占市场,他们也需要以更好地品质赢得用户的芳心。
基于上述情况,打击外挂可以分为两套思路进行。
第一,从产品运营的角度,通过设区的力量鼓励玩家举报使用外挂的行为,通过人工审核对于用问题的游戏账号进行封号处理。如果新进玩家的举报率较高,则会不允许新进玩家体验游戏的核心模式,一次避免外挂冲突。
第二,技术侧通过通用监测和行为监测两种方式发现外挂:
通用监测——就是以样本为参考的基础防护思路来进行比对,主要分为样本收集、外挂识别、特征提取、白名单测试、对抗监控特征发布五个步骤形成闭环,例如EAC(Easy Anti-Cheat),BattleEye(at PUBG)。
行为监测——从游戏数据(通关时间、人物属性、坐标)和数据挖掘(修改点、样本、历史战绩)等特征下手,基于人工智能算法识别外挂。