梦幻成仙,诛灭外挂:《梦幻诛仙手游》的阻击外挂之旅

作者:sheldon,腾讯游戏漏洞测试高级工程师

随着智能手机的全面普及和市场泛娱乐化,移动游戏行业发展迅猛,无论是市场收入还是用户规模,手游在游戏市场上已经占据了半壁江山。如此火热的市场吸引了大量外挂、辅助工作室等非法盈利团队,严重影响了游戏的收益、平衡,缩短游戏的生命周期,外挂对手游形成了这些危害:

图:手游外挂八大危害

为了避免这些损害,腾讯游戏内部的测试流程已经将“手游安全测试”设立为必经环节,腾讯大部分手游上线前都会进行手游安全测试,《王者荣耀》、《穿越火线:枪战王者》等六星级游戏更是每一个版本都主动寻求手游漏洞扫描。《梦幻诛仙手游》同样也是如此。

《梦幻诛仙手游》的加入

《梦幻诛仙手游》是由祖龙(天津)科技有限公司研发的一款3D角色、2D场景的回合制手游,该作由腾讯游戏运营,于2016年12月13日正式公测。

为了提前暴露游戏中潜在的安全风险,最大程度降低上线后外挂打击成本,《梦幻诛仙手游》测试团队选择与腾讯WeTest合作,使用手游安全测试专家模式,对游戏的客户端、服务器、以及通信协议方面的安全质量进行全面检测和把控,WeTest手游安全团队针对游戏核心玩法和游戏中高价值产出点重点进行漏洞挖掘。在顺利上线后,腾讯WeTest团队整理了《梦幻诛仙手游》安全测试过程中的一些思路和实践内容,对外分享。

一、技术难点

《梦幻诛仙手游》属于重度MMORPG类型,游戏功能系统包含战力成长相关系统、交易系统、宠物系统、门派、上古战场、世界BOSS、跨服战、家园系统,各种类型副本以及运营活动等超过50个功能系统,如何在短时间内全面地完成全量内容的安全漏洞挖掘是当时面临的最大挑战。手游安全测试团队一方面使用函数风险智能分析系统、盗刷漏洞扫描和拒绝服务攻击扫描对游戏进行一轮漏洞自动化检测,另一方面根据各功能风险性和优先级对游戏的战斗系统、交易所和战力成长系统进行深度分析和漏洞挖掘。

二、实现方案

测试目标

根据手游安全测试团队对腾讯游戏多年的测试经验,手游安全漏洞主要会出现在客户端、游戏逻辑和服务器三个层面,为了整体全面的发现手游外挂情况,测试团队将手游外挂的风险项细化情况如下:

测试前分析

前文提到不同手游玩法都会使用不同的技术实现,因此在《梦幻诛仙手游》安全测试之初,WeTest安全团队对游戏进行了一个详细的分析与拆解。

《梦幻诛仙手游》核心玩法包括回合制的PVP与多人PVE,经过对战斗过程中服务器与客户端间通信协议的分析,总结游戏特点为战斗实时性要求很弱,客户端的每次操作均有协议上报,属于服务器强校验游戏。鉴于以上特性,WeTest手游安全测试团队确定主要采用协议安全的测试方法为主,函数修改与内存修改测试方法为辅。

以《梦幻诛仙手游》某个版本为例,根据该版本的新增内容,WeTest手游安全测试团队相应的把测试重点聚焦在:

1、经济系统,商会、商城、摆摊、交易行、背包出售。

2、战斗力相关,角色属性,技能、装备、法宝、羽翼、宠物、仙侣等。

3、进行0、负值,数据溢出攻击,并发等漏洞挖掘方式。

测试中发现问题

根据测试前分析确定测试重点后,漏洞挖掘的工作其实就完成了一大半,之后利用安全测试工具对风险进行逐一验证即可。在游戏中发现以下几种类型的漏洞,均属于致命级漏洞:

1、经济系统——致命级安全风险

各个交易系统服务器都对协议中各个字段都有校验,道具购买数量做了0,负值判断,并且服务器对购买个数有上限限制,不同物品限制个数不同。由于购买逻辑,不同物品服务器处理逻辑不一致,导致积分兑换中通过购买可堆叠物品时未做个数限制,导致数据溢出引发服务器耗尽内存宕机。

【示例】

漏洞描述:积分商城使用竞技场积分购买藏宝图,修改协议中字段数量为一个很大的值,导致服务器内存耗尽,游戏无法登录游戏内无法进行任何操作。

修改购买数量为一个很大的值,导致服务器宕机

影响面分析:修改商城购买数量,导致服务器宕机,全服玩家无法游戏。

2、角色属性系统——致命级安全风险

角色属性加点对各个正常逻辑字段均有校验,唯独对加点数值未做负值判断和溢出处理,导致修改次要属性为负值可以获取更多点数分配到主要属性,由于未做数据溢出保护,临界负值相加出现数据溢出,导致结果为超大正值,从而引发刷任意属性值。

【示例】

漏洞描述:梦幻诛仙有多种职业,每个职业有多种属性,根据职业的不同属性加点时配置不同的属性。服务器未做加点属性的负值做判断,可以通过发送负值任意将降低其他属性从而增强该职业的主要属性。 物攻职业削减法术属性以增强其他属性。

通过录制加点协议将某属性修改为负值,将增加的属性点分配到其他属性

影响面分析:任意修改角色属性,严重破坏游戏玩法。

3、宠物系统——致命级安全风险

宠物属性加点同角色属性加点,对各个正常逻辑字段均有校验,唯独对加点数值未做负值判断和溢出处理,导致修改次要属性为负值可以获取更多点数分配到主要属性,由于未做数据溢出保护,临界负值相加出现数据溢出,导致结果为超大正值,从而引发刷任意属性值。

【示例】

漏洞描述:宠物加点协议发送一键异常值后导致宠物战力猛增,宠物直接战斗无敌。通过录制宠物加点协议,然后修改value字段的值为 2147483647,导致宠物战力值异常增大。

通过修改数值导致宠物战斗力异常增大

影响面分析:使用战力异常的宠物参加战斗可以横扫副本,严重影响游戏平衡,导致玩家可以大量获取收益。

三、解决方法

如何修复盗刷类漏洞?

√ 游戏研发初期,规范游戏通信协议定义,对协议结构中字段数和字段类型进行安全性检查

√ 服务器处理购买、结算等物品发放请求时,需要加强对请求中各项信息合法性校验,另外运营侧可以接入运营经分系统,对各种道具和金钱的产出进行实时监控与告警。

如何修复宕机类漏洞?

√ 因程序健壮性导致的服务器宕机漏洞被检测出之后,修复起来比较简单,针对性做好异常值处理就能够修复。

四、最终效果

在项目测试阶段,手游安全测试团队累积为《梦幻诛仙手游》挖掘出了20个致命级漏洞,19个高危级漏洞,28个中危级漏洞,将游戏中潜在的盗号、物品盗刷、伪造身份、服务器宕机等各类致命级、高危级漏洞提前揭露出来,提前制定修复方案进行修复,并评估和验收结果与风险。

WeTest手游安全测试为《梦幻诛仙手游》线上运营提供安全保驾护航,项目上线后未发生安全方面的运营故障,为用户提供安全、公平、健康的游戏环境提供了坚实技术支撑和安全保障。

关于腾讯WeTest手游安全测试团队

腾讯WeTest手游安全测试团队从2011年初开始对手游安全领域进行探索和技术积累,旨在通过提前发现游戏版本的安全漏洞,预警风险,打造出业界领先的手游安全测试技术方案,在工具上已经支持所有腾讯在研和运营的手游项目。团队通过使用与正式服同样的游戏客户端和服务器,模拟外挂工作室制作外挂的过程,依靠自身的技术积累来提高专业程度,持续保持漏洞的发现率。

目前提供了专家测试服务,希望通过提前发现游戏版本的安全漏洞,预警风险,帮助提高腾讯游戏的品牌和口碑。

目前功能已正式对外开放!如需接入请联系企业QQ:800024531。或者点击链接:http://wetest.qq.com/product/sr 申请预约!

商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。

原文链接:http://wetest.qq.com/lab/view/317.html

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算

信“云”你就输了,它不仅仅是安全问题

随着亚马逊的网络服务收入在去年达到了50亿美元(正如亚马逊的财务报表所报告的)和Bessimer公司在 2014年170亿美元的云计算收入,可以看出很多公司都...

2030
来自专栏数据和云

从分层分区传统架构向云网架构转型 ——基于SDN的下一代金融云网络联合研究与应用实践

编辑手记:金融云建设是一项技术集成创新、产业协同创新的重大、复杂性高的系统工程工作,金融机构技术研发应立足于金融科技核心,聚焦于SDN等技术应用之金融机构的特色...

3684
来自专栏大数据和云计算技术

大数据几个思考

这篇文章是我一年半以前写的文章,内容比较简单,没有长篇大论,就是几个对大数据技术的判断。现在翻出来看一看,觉得当初自己简单的想法,现在还是成立的。今天发出来,希...

3296
来自专栏SDNLAB

【8点20】ONOS预热篇之ONOS与OpenDaylight比较(四)

目前以设备提供商为代表的OpenDaylight阵营目前发展势头正劲,而由斯坦福大学和加州大学伯克利分校SDN先驱创立的非营利性组织ON.Lab也紧锣密鼓地推出...

3146
来自专栏IT大咖说

玩转Java开源项目

摘要 开发一个软件,并把源代码发布到github,就是开源么?如何能够开发一个有价值的开源项目、如何能够维持一个健康活跃的社区并让开源项目真正从中受益、如何能够...

3236
来自专栏数据和云

招商银行周伟:Fintech数据开放平台之数据库军规和内功修炼(含PPT)

编者说明:在2018数据库大会上,招商银行的资深数据库架构师周伟,分享了招行金融科技数据开放平台的建设经验。这个主题引起了现场听众的广泛关注,我们在此整理发布出...

852
来自专栏云成本管理

云成本管理方法论(一)——云成本管理模型

由于零固定投资和具有弹性等显著优势,云计算已被绝大多数的企业所采用。但与此同时,由于尚未形成有效的管理实践,云资源的过度使用和浪费已成为云用户关注的最主要问题。

42110
来自专栏IT大咖说

大数据时代,传统数据仓库技术是否已经过时?

内容来源:2017 年 10 月 21 日,深奇智慧联合创始人高扬在“PostgreSQL 2017中国技术大会”进行《基于Greenplum,postgreS...

1173
来自专栏互联网数据官iCDO

如何及为何要建立一个受欢迎的Facebook群组

译者:Amber 审校:Nic 本文长度为4781字,预估阅读时间8分钟。 摘要:本文通过解析作者自身建立网站并成功吸引众多Facebook自然访问流量的经验...

3467
来自专栏CSDN技术头条

微服务与单一整体式架构的优劣浅析

责编/钱曙光,关注架构和算法领域 开发者要么出于本能,要么很快就能在痛苦中发觉:即便一个很小的变化也能改变一切。就像攀岩那样,每次挪移都会影响到未来的抉择,因此...

1907

扫码关注云+社区