腾讯王岳:腾讯手游安全系统的架构及技术

2016年7月26日,『腾讯智营』与『腾讯云』联合举办的第四届游戏运营技术论坛在上海瑞金洲际酒店圆满举行,腾讯移动游戏安全负责人王岳以“游戏运营之营在安全”为主题做了精彩的分享,以下是他的演讲实录。

2016年7月26日,『腾讯智营』与『腾讯云』联合举办的第四届游戏运营技术论坛在上海瑞金洲际酒店圆满举行,腾讯移动游戏安全负责人王岳以“游戏运营之营在安全”为主题做了精彩的分享,以下是他的演讲实录。

背景

游戏安全风险一直伴随着游戏产业,面对这些风险,我们从无知,到逐渐了解,最后以主动的方式去防范风险。一路走来,踩坑无数。游戏运营技术论坛是一个开放性技术分享平台,旨在以开放的态度,展示、分享技术在行业应用中的最新实践,共同探讨和构建游戏运营技术的良好生态,促进互联网游戏行业运营水平的共同进步。

网络游戏面临的安全风险

游戏的安全风险,简单分为以下几类:

外挂

外挂在游戏中所起到的作用有:

01突破游戏限制

通过外挂,打破了游戏本身做的一些限制,可以秒杀、无敌、加速、透视、穿墙、瞬移,从而获得高的奖励或者经验值。

02时间、空间换收益

利用按键精灵等脚本,7*24小时不间断挂机,甚至可以逆向拿到客户端协议,然后在一台机器上跑几十个客户端实现脱机挂(协议模拟),最终影响金融系统。

03利用漏洞攻击其他玩家或服务器

常见方式有炸房间、踢人、登录他人帐号、攻击服务器等。

木马

木马在游戏中所起的作用有:

01盗号

最常见的是利用技术型木马盗号或者是假的客户端钓鱼。技术型木马的对抗方式比较常规,只要找到木马获取游戏账号的侵入点就可以提示用户或者直接阻止木马行为,但对于假客户端,传统的技术对抗思路就行不通了。该客户端和你平时登录界面完全一样,然后把你桌面上的快捷方式指向木马的执行程序,你点击快捷方式本并不是进入到真的游戏,而是启动了一个与游戏登录框一模一样的假客户端,用户输入帐号和密码后木马就直接拿到了。因为木马的客户端可以做到和真正的游戏登录界面完全一致,即使官网上有说明,也无法引导用户有效地去辨别真伪。

02肉鸡、下载器、广告推广类

这种木马的目标并不是你的帐号,而是机器资源,可以发起DDos攻击,在后台偷偷安装其他公司的“全家桶”赚取软件推广费用,也可以利用用户访问网站时,在链接上添加尾巴,从而利用用户电脑资源,赚取网站推广收益。
信息安全(欺诈,黄赌毒)

在游戏中,信息安全也十分重要,我们通常要注意防范以下不安全因素:

01诈骗信息

02色情、赌博信息

03政治敏感信息

游戏安全系统的价值

安全系统的价值就是防范风险,其实最主要的价值还是保障游戏稳定,赚钱,细分到具体措施,则要维护一个公平的游戏环境、保护玩家财产、以及协助政府进行监管。

公平游戏环境

首先是打击恶意玩家行为,保障玩家合理回报。游戏世界中也有金融体系,在真实的体系里面,就相当于中国的央行所做的事情,一个金融体系不稳定,对游戏的寿命和收入都会有较大影响。

保护玩家财产

玩家的财产首先指的是帐号安全,其次是帐号内虚拟财产的安全,如用户的装备等。另外还有用户个人信息、LBS信息、支付信息等用户个人的隐私,目前手机设备里包含用户的大量用户信息,这些数据如果被人非法利用,给游戏玩家带来的风险会更大。

政府监管

玩家在游戏中建立了社交关系,就极有可能是会被非法的不良信息误导,所以我们要配合政府进行监管以下信息:
01黄、赌、毒信息

02非法的政治信息

03其他非法不良信息

游戏安全系统的成本

系统开发成本

01功能及架构设计

02平台、引擎、语言支持

03海量设备适配

04周期性新系统特性支持

开发成本深受以上四点的影响,反外挂系统,说小不小,说大不大,若没有足够的开发经验,其系统将是一个不断打补丁的系统。

操作系统平台存在版本多样性,游戏开发语言也是多种多样,在移动端的机型与系统版本更是五花八门,这些都提高了游戏安全系统的开发成本。

传统的PC游戏客户端更新成本比较低,所以大部分PC游戏基本每周更新的,紧急情况甚至可以一天更新多次,但移动游戏新版本安装时需要下载完整安装包,并且安装过程需要与玩家进行交互,这也大大提高了移动游戏的更新成本,目前移动游戏的更新频率大约是每月一次,而且很多游戏新版本发布后不能限制用户使用旧版本继续游戏。

游戏接入成本

腾讯精品游戏上线前必须通过业务安全中心的评审并接入内部的一套安全方案。由于是所有的精品游戏都要接入,对安全方案客户端、服务端SDK的接入成本就会有比较高的要求,比如接入后对游戏性能的影响,安全方案自身的稳定性、和游戏引擎的兼容性等因素都是必需考虑的,这部分的成本如果过高,也会影响游戏的整体上线计划。

持续对抗成本

外挂的持续对抗的成本是一个长期的成本,这个过程从最开始拿到游戏以后做游戏安全性评估(就是你这个游戏到底有多少安全分析,然后预估我这边需要投入多少人力), 到游戏真正上线会做的样本搜集、样本分析、制订好方案,再到出现目前系统对抗不了的风险,需要进行方案升级(方案的长期维护与持续优化)都会需要持续的人力投入。如果游戏的外挂对抗一致持续,这将是一笔很大的成本。

腾讯游戏安全系统运营效果

2015年PC游戏对抗系统为公司88款PC游戏提供全面安全的服务,2015年对抗外挂功能1554个,处罚作弊玩家2892万、禁言量158W、对抗掉389237个木马变种。

2015年手游对抗系统为公司127款手机游戏提供全面安全服务,覆盖亿级用户,2015年对抗外挂功能421个,处罚送作弊玩家750万,保障公司手游安全运营。

上述良好的游戏安全系统运营效果,得益于腾讯移动游戏安全系统的架构及技术特点。

腾讯移动游戏安全系统的架构及技术特点

安全系统架构及运营体系

下图是一个典型的C/S结构的系统

01.webp

下图是一个安全业务对抗系统的架构图。我们的日常工作都可以在下图中体现出来。在整个对抗流程中,样本搜集和分析是一个非常重要的环节,团队中负责的同事每天会从各个渠道(淘宝、贴吧、论坛等)

02.webp

获取样本信息,然后会有专门的人做测试,测试后有效的样本就会转入实际对抗流程,外挂对抗的另一个数据源是游戏的日志(安全日志、经分日志),以及安全系统采集到的游戏数据,这部分的作用就是从还原玩家游戏过程,在其中找到不合理的玩家行为,对无法获取道样本的外挂进行覆盖。游戏上线后,我们也会针对热门游戏,主动做漏洞挖掘,发现漏洞后会知会到项目组进行修复,同时用安全方案确保外网没有用此漏洞获取非法收益。

启动对抗后,每个外挂功能或者游戏漏洞都会由多条并行对抗线的同事进行处理,这其中有些对抗线是直接使用后台数据进行对抗的,有些对抗线需要发布特征到客户端进行对抗或者数据上报,最终服务端会根据基础数据做一些实时判断,或者是离线判断,最终落地成为处罚。底层的客户端安全方案在复杂的客户端环境中,因为测试不足导致游戏Crash的风险比较大。

所以,如果对抗涉及到特征发布,就必须有一个完整的发布流程,目前腾讯的安全系统特征发布流程,都是从1%的灰度发布,逐渐到100%覆盖全部外网用户,每个阶段都要对上报数据量是否符合预期、论坛、VOC投诉量变化、RDM(RDM是腾讯内部用的Crash上报平台)Crash数量变化等多种数据进行监控和分析,保障游戏的稳定性和对抗的效果。

核心功能模块

01客户端防护系统

客户端防护系统,就相当于大家家里的防盗门,对一个国家来说就是长城这类的保护手段。防盗门这个东西没有是不可能的,但有了就能解决小偷和强盗的问题吗?肯定是不行的。这类方案就属于你必须要有,但并不是有了就能高枕无忧的,简单的说就是门槛类方案,能阻止大部分中低水平的恶意用户和外挂制作者。具体此类方案包括反调式/反注入、客户端加固、数据加密、协议加密、资源文件保护,与传统的PC端方案相比移动安全方案还做了编译器级混淆工具,这是针对苹果做的,因为iOS是不能做二次加壳,只能在编译器做,这个功能目前只用来保护我们自己的游戏安全。

02数据采集系统

数据采集系统主要采集三类数据。其一,客户端环境数据,这里面多少可能会涉及到用户隐私,所以在获取和使用中需要特别注意;其二,App完整性数据,主要采集App完整性数据有没有被篡改,有没有别的模块,我自己的模块有没有被篡改;其三,游戏过程数据,是玩家玩到某一个点的某个状态数据。比如说我游戏一局过程中到底放了多少的技能,用了多少个道具。也可以用游戏日志获取,但是有时游戏日志没有这个数据,特别是手机游戏很多是在客户端做逻辑,所以很多数据并没有传输到服务端。

03策略系统

策略系统后端的系统。前面提到的模块大部分都是客户端的功能,安全行业的人都有一个共识,客户端没有真正的安全。客户端的安全大部分时候只是把墙修高,然后只是在考验敌人值不值得花这个成本翻过你的墙。对于游戏安全这个高价值的领域,必须有一个处罚系统配合才能最大限度提高坏人的成本,保障游戏的安全。腾讯策略系统包含产品策略、后台策略、数据挖掘三个部分。产品策略是从玩法上考虑;后台策略就是从游戏日志和上报的过程数据来判断合理性;数据挖掘这个就是比较厉害的,基于人的行为性划分出作弊的可能性或者是发现新的作弊方法。

04处罚系统

处罚系统原来就是封号,现在是更加柔性,从梯度的封号到禁止模式,禁止PVP的,禁止获取某类收益,非法收益清除等等。

有一段时间我们从VOC投诉中发现处罚了作弊用户以后,其他用户还会投诉,因为你处罚了那部分作弊用户,正常用户还是觉得自己的损失是无法接受的,所以后面还会对正常用户损失进行补偿。除此之外,目前的系统还有举报奖励的机制。

安全能力

安全能力包括三大能力,即:感知能力、阻断能力、回溯能力。如果我们没有感知能力,后面其他模块和功能都是空中楼阁,无法发挥作用。感知到作弊行为后,阻断就会比较容易,无论是客户端的对抗还是后台侧的处罚都可以有很好的压制效果,但由于感知一般都会存在滞后型,为了保证对所有作弊用户的覆盖,数据回溯的能力也是非常必要的。

下图中最底层的是基础防护系统,他挡住了大部分人,但是还会有漏网之鱼,这是最累的活,而且由于很难统计到底挡住了多少恶意行为,往往不好证明系统的价值;紧接着是基于样本的对抗,来一单对一单,这个覆盖率很好,数量也很高;最上层是基于数据的对抗,就是包括游戏日志、动态获取数据的聚集等,这块的数据不仅能指引实时或者离线处罚,还能指引数据挖掘。

图中的上线前安全评审,是腾讯所有游戏上线前都有一个安全评审,如果安全评审给了红灯,则无法上线精品平台。游戏运营期会针对重点游戏漏洞挖掘,一般都会持续做比较长的时间,甚至是每次大版本更新的功能都会安排针对性的挖掘。

03.webp

扩展性

下图展示的是安全系统的扩展性,PC上的网络游戏时代大家升级很容易,像《LOL》等每周都会更新,如果安全系统没有灵活的扩展能力,新的功能发布就要等一个月,即使我们可以接受,项目组肯定也无法接受。图中的每个系统都有自己的适用场景,运营中灵活组合就可以对99%以上的外网变化进行覆盖。

04.webp

腾讯游戏安全的对外服务

知己知彼,百战不殆

不得不承认,游戏安全领域中,我们面对的敌人99%是利益驱动,只有不到1%的人是在进行技术研究,或者因为业余爱好而写外挂。而面对这些风险,由于缺乏专业知识积累和人力,游戏厂商很多时候选择了什么都不做,仅有少部分大公司选择了建设安全团队。目前看,把游戏交给有安全能力的运营商或者是寻求第三方解决方案也是一个在成本和效果上均衡后的不错选择。

腾讯游戏安全的对外服务

腾讯的游戏安全之前一直是对内服务,从2006年至今已有十年的时间,一直定位为服务公司内部游戏,所以没有过多的对外推广。现在随着公司策略有变化,团队的自身定位也有变化,会在对外开放方面做更多尝试。最先推出的对外安全服务是移动端的方案,一部分原因是移动端的方案比较轻,包装对外比较容易;另一个原因就是目前移动游戏的市场增速很快,对安全系统的需求也会在未来几年快速增长。

05.webp

01To B

MTP是首个针对移动游戏专用安全方案,目前对外提供免费试用。轻量,可运营是这个系统的最大特点。这个系统的稳定性、效果已在腾讯游戏中获得验证。访问链接:http://mtp.qq.com

06.webp

定制化安全服务是对外提供的进阶服务,由于要消耗很多人力成本,所以这个服务会是收费的,目前的服务包含提供专业的安全性评测及改进方案建议, 深度游戏安全合作以及游戏安全技术培训等等,如果有其他方面的安全需求也可以联系我们的产品经理。

02To C

GSLAB游戏安全实验室游戏安全行业首个技术交流网站,腾讯游戏安全10年技术积累均在此网站有相关的分享。访问链接:http://gslab.qq.com。

07.webp

微信公众号主要推送安全信息,并提供用户游戏安全服务,如:封号查询、安全模式、举报查询、异常登录、游戏信用、绑定管理、微信安全码、在线查询、冻结解冻等。

08.webp

游戏安全中心(TPHelper)也可以提供帮助。在以前的端游上,安全方案的显性部分只有一个TP的加载进度条,现在右下角还有一个小图标,但大部分用户并没有关注到这个变化。安全中心除了安全类的查询以外,还有客户端体检、清理,甚至是做举报等功能。下图就是我们期望未来做成的功能图,包括柔性处罚,因为之前对抓到作弊的用户是一刀切,实际运营中,项目组并不希望我们一刀切,希望我们细分一下,这个用户是可挽回还是不可挽回的,当然罪大恶极的就是封十年,但是此类的并不多,很多用户只是尝试下,项目组也能最大限度
有了这套系统后,可以在处罚策略上作更多引导,比如首次作弊后担保解封,罚金系统等等,在正向引导用户方面作出更多新的尝试。

09.webp

如若转载,请注明出处:http://www.gamelook.com.cn/2016/09/264815

关注微信