开发者能怎么减少游戏的外挂现象?

现在手游外挂问题严重,有什么方法可以减少或者防止外挂出现?
2016-10-20 19:40 添加评论 分享
已邀请:

最佳回复

1

御安全 - 移动应用安全研究者

赞同来自: ask

一、 反外挂系统:现有的反外挂系统主要分为终端侧反外挂系统以及服务器侧反外挂系统。
1)服务器端防外挂系统
①游戏时间相关校验。客户端计时不可信,需要在服务器校验客户端上传的时间参数是否合理,校验游戏过程数据和时间之间的关系是否合理(例如里程、时间、速度关系)
②游戏核心逻辑校验。每次操作均通过协议上传,服务器认可后再实际执行操作,每次操作服务器均要进行合理性判断,且判断结果实时反馈。
③玩家间数据相互校验。各玩家的操作经过服务器中转对其它玩家同步,如果核心逻辑在每个客户端单独计算,各玩家需定时上传各自游戏局势数据,服务器进行对比校验,如果核心逻辑在部分客户端计算,其他玩家需从该客户端同步局势数据,服务器需要校验主逻辑数据是否合理。
④游戏操作时序相关校验。部分操作有明确的时序要求,打乱时序可能导致额外收益。服务器端通过对客户端发送的操作时序进行校验,来判断客户端发送的请求时序是否合理。
服务器端防外挂的缺点:
(1)容易导致误杀
目前很多游戏的反外挂系统采用范围性的数值验证,由于本身的设计原因或者弱网络的原因,很多时候会造成误杀。
(2) 服务器端的设计非常复杂
由于服务器端的数据及流程校验和游戏的代码逻辑息息相关,所以服务器端防外挂的数据以及代码逻辑需要根据客户端的代码逻辑及数据进行设计和开发,这样会导致服务器端防外挂设计和客户端的代码逻辑进行紧耦合。客户端只要进行代码逻辑的修改,也有可能导致服务器端的防外挂系统进行修改。
(3)服务器端防外挂功能无法通用
每一款游戏都有自己的代码逻辑以及各种数据,所以服务器端的防外挂功能无法做到统一标准,对每一款游戏都使用。往往是只能针对特定的游戏进行定制化开发防外挂功能。
(4) 服务器端外挂系统维护成本高
综上所述,由于服务端外挂系统的复杂性以及定制化的多样性,必然导致开发成本以及维护成本不断增高。另外需要在服务器端进行各种逻辑和数据的校验,随着游戏的增多,系统设备的扩容以及系统的计算资源消耗也会越来越大,必然导致硬件成本及数据流量成本的增加。
2)客户端防外挂系统
针对服务器端防外挂系统的不足,御安全加固系统开发出了一种基于客户端加固的防外挂系统,它是一种基于APK加固和防外挂系统相结合的一种防外挂方案。
御安全APK加固技术主要功能:
①DEX文件保护。
采用分片式按需加载技术,攻击者无法在内存中获取完整的DEX文件,再加上DEX内存分散功能,攻击者无法从一片连续的内存中Dump出DEX文件,大大加大了攻击者获取DEX的难度
②SO文件保护。
御安全加固保护逻辑,通过源码级的混淆,采取多种混淆方式,攻击者无法逆向其代码逻辑,另外,基于动态加载的SO加壳技术,也使得攻击者无法逆向保护逻辑以及原APK中SO的代码逻辑。
③资源文件保护。
御安全加固系统,可以针对APK的Assets,Raw及Res目录下的所有文件进行加密保护并进行完整性校验,经过御安全加固系统加固后的APK,资源无法被篡改,例如无法增加广告界面,也无法盗版APK里面的资源。可以很好地保护开发者的知识产权。
④内存保护。
防止通过动态调试的方式对APK进行调试,加固APK在被调试,或者其内存被篡改后,加固APK将自动退出。也可以防止通过进程调试的方式对加固APK进行进程调试,加固APK被进程调试的时候,加固APK也将自动退出。经过御安全加固系统加固后的APK,可以防止市面上所有主流的外挂软件对加固APK进行内存修改,如烧饼修改器,八门神器,叉叉修改器等上十种主流外挂软件。
⑤防止内存dump。
APK在运行时候,会在内存中释放全部或者部分源码,攻击者可以在运行时刻利用dump命令把这些源码导出。御安全加固后的APK,可以有效防止攻击者从内存中复制源代码。
⑥防游戏加速。
攻击者或者游戏玩家,通过市面上的外挂软件,可以加快游戏速度,破坏游戏平衡,用于加快战斗速度或者等待时间等场景。御安全加固后的APK,一旦发现玩家或者攻击者有加速或者减速游戏的行为,APK将自动终止运行。
御安全的整体APK保护方案以及对协议关键代码的保护,可以防止攻击者逆向协议的流程或者算法,避免攻击者对协议进行攻击,防止外挂软件通过破解协议的方式,攻击加固后的游戏。

二、 云-端结合防外挂攻击
相对于服务器端的防外挂软件系统,终端侧的防外挂方法也有其弱点,因为攻击者能够得到终端侧防外挂功能的逻辑实体,尽管我们对其做了严密的保护,但是也难免可能被攻击者绕过防外挂功能。因此如果腾讯御安全加固系统能和服务器端防外挂系统的有效结合,就可以很好地阻止外挂软件对加固游戏的攻击,从而减少游戏开发商的损失。另外御安全加固APK,采取一键式的保护方式,可以方便,快捷地为游戏开发商提供保护服务器。加固后的APK,兼容性接近100%,加固后的APK运行Crash率控制在0.02%以内。启动速度以及其它性能影响,对用户无任何感知。

要回复问题请先登录注册

退出全屏模式 全屏模式 回复