游戏开发者都会碰到外挂破解,以及工作室的安全威胁,它会影响游戏平衡,用户流失,最终导致游戏运营周期的缩短,以及游戏最后的收入也会受到很大影响。网易作为游戏大厂也碰到安全问题,网易云易盾作为网易安全部门,首当其冲承担起游戏安全的作用。

此次 GitChat 分享的议题是易盾如何帮助游戏开发者一步步提高游戏的安全性,构建一套安全的护城河。主要内容包括:

  • 安全对产品团队的影响。

    • 对开发者的影响;
    • 对运营团队的影响;
    • 对于游戏产品的影响。
  • 如何构建安全护城河?
    • 手游全生命周期解决方案;
    • 手游安全分析;
    • 手游加固系统特点;
    • 创新性功能介绍-函数级加密;
    • 手游反外挂后台数据分析;
    • 手游反外挂后台用户中心展示
  • 游戏产品效果展示
    • 加固前后性能对比分析;
    • 网易手游保护效果展示。

本文作者:卓辉,网易移动安全总监。从事移动安全系统开发和研究工作 10 年,2011 年加入网易,负责网易旗下移动安全相关工作,包括移动应用防护、手游安全系统建设,在移动安全方面有丰富的实践经验。

游戏开发者常会碰到外挂破解,工作室的安全威胁等问题,它会影响游戏平衡,造成用户流失,最终导致游戏运营周期的缩短,甚至对游戏的收入产生极大的影响。

那么该如何解决这个问题,构建游戏安全的“护城河”呢?我想从外挂的影响、如何构建、以及实际效果三方面谈谈自己的认识和心得。

前两款外挂对反外挂团队来讲,技术难度并不是很大,因为它会存在电脑里面,具备相应的特征,计算都能够解决。

随着对抗的深入,我们会发现一些外挂制作团队会慢慢升级,可能会猜测或者分析你的检测逻辑,所以慢慢就会出现图中最右边的按键盒子,它外表很像U盘,插到电脑上检测到只是多了一个USB键盘和鼠标,实现原理是在盒子里面开发相应的脚本。也就是说,前两款外挂所有的自动任务或者自动功能的脚本会运行在这个盒子里面,在游戏反外挂里面再也检测不到所运行的脚本,会对反外挂带来很大的挑战。

我们后来发现,也会出现同步控制器,好比小时候老师让我们抄作业,比如抄 10 遍,我们会想办法用三四只铅笔同时去抄。它的原理相类似,你输入一个键盘和鼠标,会有三四五六个输出,可以同时控制比如说六台电脑的决策行为,这样在游戏里就会看到很整齐划一的游戏角色行为,所有角色全部站在一个坐标点上,正常的玩家是做不到的。而且他们所有的技能输出、跑动的路线都是一模一样的,虽然这样的一些行为对游戏本身不会带来非常大的威胁,但是它给其他玩家造成了很大的影响,这时候很多玩家会把类似角色整齐划一排成一条线的截图放到游戏论坛,然后发给我们的运营去投诉。这样会对其他玩家造成很坏的影响,他们会觉得这个游戏里外挂非常多。在这种情况下我们又要升级反外挂系统,去打击这样的行为。

上面介绍了端游外挂的情况,下面关注下手游的安全状况。国内某款火爆的吃鸡类游戏,仅在 2018 年 1 月份就封禁了超过 100 万个帐号,比很多游戏的终身销量还高。

手游更多是通用型外挂,可以提供一个平台或者工具,对某一类游戏实现作弊行为。因为手游本身一些设计上的局限,或者考虑到用户体验,可能很多数据在客户端完成计算,这个层面会实现很多作弊行为,并且很多时候通过这样的途径可以达到和付费玩家同样的效果,这样一来很多用户可能不会再去付费,对于一些已经付费的玩家来讲,也会受到很大的伤害。

对于游戏厂商,外挂问题带来的影响究竟有哪些?

1. 对开发者的影响

当游戏出现外挂的时候,首当其冲的是游戏开发工程师,他们会收到很多运营需求或者很多策划需求,类似去做怎样的一套反外挂的系统,或者怎么样保护游戏的数据。

但是开发者很多时候忙于做游戏的核心玩法、核心逻辑,根本无暇顾及反外挂的开发,所以最后的结果基本都是不了了之。

2. 对运营团队的影响

对运营团队来讲,如果游戏里面有很多外挂和投诉,会给运营增加很大的工作量。他们需要去确认,比如玩家举报的是不是真的外挂,在游戏里面是不是存在一些工作室。工作室会破坏游戏的经济系统,如很多游戏的金币兑换成人民币价格是在浮动的,如果这个区游戏工作室数量过多的话,经济系统就会出现非常严重的通货膨胀,大大损害游戏开发者的利益。

运营很多时候会存在误封的形象,根据你获取的利益、游戏的表现以及跟你的角色是否匹配,会做出处罚。有时候会出现误封的情况,最后可能会反过来要求开发工程师增加相应的功能,比如你要增加他是不是在使用外挂,是不是存在各种各样的行为,需要开发工程师去配合运营做这样的升级,对开发者、运营者来讲,反外挂这件事情会给他们带来很大的工作负担。

3. 对游戏产品的影响

业内一权威机构统计数据:当有 23% 的用户发现游戏里面有外挂的话,会选择放弃这个游戏。综上来看,不管对开发者、运营者也好,最后都会导致产品口碑越来越不好,比如某一款吃鸡游戏,网上言论也好、论坛也好,会发布很多外挂用户的截图或者留言,对整款游戏口碑越来越差,最后用户流失可能会非常严重。对产品来讲,这时候可能就要考虑怎么样做反外挂,他要花更多时间和精力去招聘安全人员。

我们做过统计,如果因为各种各样的安全问题,最后对游戏的损失是超过 5% 的,可能会涉及到产品的口碑会有影响,对游戏使用用户数量会越来越少,用户付费意愿越来越低。像吃鸡游戏,如果外挂严重收入下降是超过5%的。

作为游戏大厂的网易常会碰到各类游戏安全问题,网易云易盾是网易的安全部门,在安全领域拥有 20 年的经验累积。那么易盾是如何帮助游戏开发者提高游戏安全性,构建一套安全的护城河呢?接下来为各位“揭秘”。

如何构建安全护城河?

1. 手游全生命周期解决方案

首先把安全产品分成三个阶段,在开发阶段要解决的是游戏数据安全问题,也就是数据的通信和存储问题;第二步的测试阶段会帮助游戏做安全测试,这有别于普通 APP 的测试,因为游戏安全问题跟普通 APP 安全问题不一样;第三阶段是主动防御核心,也就是应用加固。

2. 手游安全分析

通过静态和动态两个方向对游戏做相应的数据分析,包括数据通信过程中是不是存在风险,存储在本地的数据有没有风险,所有这些外挂是不是可以应用在被测试的游戏上面……最后会输出(如下图)右边这个报告,告诉游戏产品在哪一方面存在安全问题,需要怎么去改进。

3. 加固

整套主动防御最核心的是游戏加固,其实游戏加固核心,可能做过朋友都知道,DEX 层本身没有太多游戏的核心代码,比如资源文件、游戏引擎 SO 文件、U3D,都是需要保护的方向。我们提供的主动防御,主要是针对游戏反修改器和反加速器,概括起来主要是四点:

  • 业界首推 U3D 函数级加密,U3D 静态资源加密,U3D Assetbundle 资源加密等技术
  • 强度领先,使用函数级加密,DLL 脚本代码时刻处于加密状态
  • 覆盖面广,覆盖范围包括通用反模拟器,反模拟点击,游戏文件防篡改等
  • 一键加固,支持三大平台,速度快且兼容性好,支持本地化部署等优点带给用户绝佳体验
创新性功能-函数级加密

刚刚提到的函数级加密技术是我们的一大创新,易盾团队在前面两代的保护上升级了第三代的函数级加密。

函数级加密实现的逻辑非常复杂。这里简单介绍一下:在加载 DLL 文件的时候可能会先运行 B 函数,比如 DLL 文件第二个函数,这时候之前所有的 DLL 没有解密出来,是运行到 B 函数的时候才把 B 函数代码做一个解密,在一块重新分配的内存上,把 B 函数解密到 B 内存上,再在 B 内存上运行 B 函数。这时候本身还有其他的内存操作,在运行到 C 函数的时候,再解密到内存的位置。这时候发现整个内存布局不连续,比如 D、E、F,这些函数可能没有运行到,而这些函数不会被解密出来,这样可以对抗内存端口的破解,破解者在内存里没有办法找到 DLL 内存。

游戏反外挂后台数据分析

下面是整个游戏反外挂运行的流程:

手游 APP 上会集成 SDK,收集游戏相关数据,然后上传到反外挂后台进行分析,最后返回到官网中心。

手游反外挂系统会建立一套游戏信用体系,把设备指纹和用户操作的行为,以及在游戏上做的一些其他动作记录,将这些数据全部收集到数据模型里面,根据这个模型的行为判断,去做出行为分析。

比如,收集很多游戏设备指纹,在 A 设备上曾经使用过外挂,或者 A 设备是一个工作室设备,就会把这样的设备标记为有问题的设备,构建游戏的信用体系。

这样如果以后再有新的帐号或者其他的帐号在这个手机上登陆过,这个帐号又在其他手机上登陆过的话,通过对数据做联动分析,就可以得出这可能是一批工作室的帐号。

当然这是一个很简单的游戏信用体系的功能,但我们做的事情会比这个更复杂,比如刚才提到反同步器的功能,会分析这四个角色所有的游戏操作和游戏行为是不是在同一时间点发生的,而且所有操作行为是不是完全一致的,这样就可以从行为上判断是不是在使用同步器的一个外挂。

手游反外挂后台用户中心展示

游戏团队看到的官网用户中心,主要分成两块,一块是检测纬度,最后输出给产品的是测到多少的外挂,外挂的统计详情,以及游戏是否存在破解情况。因为我们发现游戏本身的签名会因为渠道的不同而不同,如果简单通过签名而判断是不是盗版,这个方案行不通。所以我们后面会根据不同渠道做签名的数据挖掘分析,来发现比如在百度渠道上是不是存在盗版。第二块是效果纬度,比如我刚才提到的主动防御,有一些反修改器、反加速器功能,最后防御效果到底是怎么样的,会给出产品详细的数据统计。

分享一个真实的,也是我们客户的一个案例。

这个客户前期接入的是反外挂功能,因为游戏玩法和类型不同,并没有接我刚才提到的主动防御这块的功能。这个游戏因为本身还是在封测阶段,所以很多功能在不断完善。它前期做了一个功能,当检测到外挂的时候把游戏玩家踢下线。

我们发现这个功能刚上线前两天效果不错,但后来效果慢慢趋于平和,这个曲线到最后使用外挂的数量还是维持在一定的水平。因为手游重新登陆的难度也不是很大,手机上帐号密码都是记录的状态。游戏开发到第二阶段的时候他做了一件事情,当他发现你再使用外挂超过 30 分钟的时候,他把游戏受益降低,像很多工作室也好或者使用外挂的玩家也好,可能是为了获取一些游戏的收益,游戏的产品做了一些修改,当发现使用外挂的时候把收益调的非常低。如果你做的是一个无感知的对抗,这时候工作室根本没有办法知道你为什么把我的收益调那么低。

第三阶段的时候,游戏开发了一个水牢功能,当它检测到玩家使用外挂超过两次或者三次之后,会直接把玩家丢到水牢里面,如果想出来必须交保释金,也就是必须在里面充值。这个时候我们会发现,运营统计不光帮助游戏定位一些有问题的外挂玩家,还可以结合游戏运营自定义策略来升级整套的打击效果。到最后我们会发现,交保释金这个功能还帮助游戏增加了一个收入。

所以要打造整套游戏防御护城河,必须在主动防御和无感知对抗相结合来做,也就是一方面要做好主动防御,包括游戏核心代码、资源的安全,防止内存数据、存档数据、运行速度、地理位置等等被修改,另一方面要有游戏安全风险感知功能,跟游戏策略结合,这样可以大大提升打击效果。

游戏产品效果展示

最后通过部分数据和用户截图带大家看一下实际的反外挂效果。

1. 加固前后性能对比分析

安全很多时候跟性能很难兼顾,它就像天平两端,强度做的很高,游戏性能可能会下降。对于一款游戏来讲,绝大部分玩家都是一些非外挂玩家,所以不能因为加强游戏保护而导致游戏性能的下降。我们对游戏加固做了很大的优化,(如下图)可以看到游戏启动时间、游戏内存等等的增加都是非常小的,对游戏性能的影响可谓是无感知。另外,反外挂数据收集对于游戏流量的影响非常小,每小时只增10KB的流量,这个流量在现在情况下可以忽略不计。

2. 手游保护效果展示

我们安全团队会每个月对游戏保护强度进行升级,每周更新两次检测方法。所以我们现在达到的覆盖率 99% 以上,也就是说,市面上 99% 以上的外挂都可以通过检测系统筛查掉。

在行业内我们率先推出了一些加固主动防御拦截成功率概念,而且把它做到了 95% 以上,也就是说,可以拦截 95% 以上游戏的作弊行为,这样对于游戏来讲可以直接杜绝掉 95% 以上的外挂玩家。就拿某款很火的吃鸡游戏来讲,这款反外挂产品至少可以拦截其 95% 以上玩家去使用外挂。

上面的两组数据也很好的印证了这一点,这是真实客户反馈的数据,他在接入加固之后,使用外挂作弊数量减少了将近 30 倍,而用户举报量减少了 99%。可想而知之前用户举报量是非常大的。

纵观国内外游戏行业,那些曾创造辉煌战绩的爆款游戏,基本都是以创造更好的用户体验为愿景,他们对于外挂秉持着坚决的零容忍态度,我想这种严格把控游戏质量的做法,正是他们取得成功的原因之一吧。


本文首发于GitChat,未经授权不得转载,转载需与GitChat联系。

阅读全文: http://gitbook.cn/gitchat/activity/5bac3bc69a273e20368f0e32

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App , GitChat 专享技术内容哦。

如何构建游戏安全护城河相关推荐

  1. 社区分享|腾讯海外游戏基于JumpServer构建游戏安全运营能力

    编者注:在2022年7月9日举办的"2022 JumpServer开源堡垒机城市遇见·深圳站"活动中,腾讯海外游戏安全运营负责人林鼎盛分享了题为<锻造行业领先游戏安全技术与运 ...

  2. 触手可及大数据 下载_计算器触手可及

    触手可及大数据 下载 Most of the time I do my calculations in Excel, but occasionally I reach for a calculator ...

  3. 信任中心2.0重装上阵,安全触手可及

    数字化转型加速了智能世界的发展.华为云致力于提供稳定可靠.安全可信.可持续创新的云服务,赋能应用.使能数据.做智能世界的"黑土地".客户认可并践行"业务上云,安全当先&q ...

  4. 倍市得CEM-ISV合作共创:体验加持,共建数字化产品护城河

    随着国内体验思维在各类垂直领域中持续深入应用,客户体验成为企业驱动增长曲线的核心命脉.据相关调研数据显示: CEM使反馈回收率提升20%, NPS分值每提升5%,将带来获客成本节省50%.老客复购率提 ...

  5. 10种创新方式 | 教你尝试用多种创新构筑企业护城河

    在当今的数字化经济中,竞争护城河最经常来自创新的力量.企业如何从哪里着手创新?厌倦了把时间浪费在创新集思会议,抑或改善现有的产品也改变不了增长?发明并不总是导致创新.德勤的创新咨询Doblin团队提出 ...

  6. 科技垄断正在朝着纵向发展

    来源:CSDN 译者:弯月 以下为译文: 科技垄断有关的话题,相信大家都不陌生,而纵向垄断指的是通过技术栈深入到硬件的纵向集成.在本文中,我们来讨论一下为什么当下科技垄断开始朝着纵向发展,这种垄断会产 ...

  7. 央视深入报道,国内主流芯片真实水平如何?

    来源:芯师爷 摘要: 站在风口上,猪都会飞!--用这来概括当下国内芯片领域再恰当不过了.自中兴事件之后,很多创业者纷纷将商业计划的关键字调整为"芯片".与此同时,投资者也将目光转移 ...

  8. 阿里BCG重磅报告《人工智能,未来致胜之道》

    阿里BCG重磅报告<人工智能,未来致胜之道> 阿里云研究中心.波士顿咨询公司以及Alibaba Innovation Ventures合作共同推出的<人工智能:未来制胜之道>这 ...

  9. 食品新消费的2021:站在逻辑跑通与成为品牌的隧道期

    (图片来源于网络,侵删) 文 | 易不二 来源 | 螳螂观察 "宝洁系"进攻,能催生一个食品消费界的"宝洁"? 被称为中国互联网行业的第五大人才"票仓 ...

最新文章

  1. RESTful之权限Permissions
  2. Android10.0 Binder通信原理(四)-Native-C\C++实例分析
  3. 视图解析jstlView支持便捷的国际化功能
  4. C# json解析字符串总是多出双引号_Python小白必备知识:Python字符串详解
  5. 清洁代码_清洁单元测试
  6. 消息人士:苹果正与比亚迪宁德时代洽谈电动汽车电池供应事宜
  7. Linux中如何使用帮助
  8. linux centos7.9中安装docker的3种方式-图解
  9. Cocos2d-x Tiled地图编辑器(一)基本使用
  10. cygwin-1.7 离线安装包_【软件安装管家】ArcGIS 10.7 软件安装包+安装教程
  11. Linux四剑客详解——sed
  12. unity3d android自动打包,Unity自动化打包(二)
  13. matlab 无线仿真教学视频教程,视频教程 | MATLAB 及机电系统仿真
  14. mtk2503 如何支持使用epo?
  15. MIUI 13 去除输入法广告
  16. visualstudio 2017 工具栏隐藏解决办法
  17. 如何用spss客户端和SPSS AU在线进行单样本T检验操作?
  18. 安慕希酸奶推出草莓味了
  19. VGA驱动之-显示例程(最简单)
  20. 识别IOS和android方法

热门文章

  1. NYOJ【268】荷兰国旗问题【字符串】
  2. EasyCVR云端录像和设备录像如何区分?哪些接入协议支持设备录像回看?
  3. 使用Element进行前端开发
  4. AQS中公平锁和非公平锁区别,你知道么
  5. 油田设备租赁行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  6. 人事管理系统开发流程图
  7. 什么是所谓的车规级?
  8. 开放第三方支付平台,“谷歌税”、“苹果税”会就此湮没吗?
  9. Springboot毕设项目北京冬奥会志愿者管理系统611yc(java+VUE+Mybatis+Maven+Mysql)
  10. u盘安装完linux系统没镜像,U盘刻录kali linux启动盘提示找不到镜像解决方案