腾讯手游如何提早揭露游戏外挂风险?

目前腾讯SR手游安全测试限期开放免费专家预约!点击链接:http://wetest.qq.com/product/sr立即预约!

作者:sheldon,腾讯高级安全工程师
商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。

WeTest导读

随着大量外挂、辅助、工作室等非法盈利团队借由移动游戏产业迅猛发展的东风趁虚而入,对游戏开发商和玩家来说都造成了不小的伤害,安全问题成为手游发展不容忽视的前提。本文告诉你如何从技术的角度来提前曝光这些安全问题和外挂风险。

安全无小事---安全测试开展思路

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

手机网游外挂的八大危害

安全无小事,如何从技术的角度来提前曝光这些安全问题和外挂风险呢?腾讯SR(SecurityRadar,安全雷达,腾讯手游安全测试的专项技术方案)手游安全测试团队从2011年初开始对手游安全这个领域进行探索和技术积累,旨在通过提前发现游戏版本的安全漏洞,预警风险,帮助提高腾讯游戏的品牌和口碑。安全测试,与项目发布同行----为了帮助项目在发布前发现并修复安全问题,在游戏版本转功能测试的阶段SR手游安全专项测试就介入。

SR手游安全测试路径

SR手游安全测试经过若干轮的效率优化,已经将一轮安全测试的时间压缩至3天,可以输出《SR手游安全测试报告》。项目修复漏洞后,仍由SR专项团队进行安全漏洞的回归检查,并确保项目按版本计划进行发布。提早揭露安全漏洞,可以帮助项目在开发阶段进行安全对抗和策略加固,避免在项目运营时,与外挂对抗的被动局面。同时,也从根本上降低了外挂带来的玩家流失和运营损失。

手游安全测试内容概述

专家测试
根据手游安全测试的需求,主要涉及到手游项目中的测试范围及测试内容的规定。提供专家手游安全测试服务,会有腾讯内部的手游安全测试专家进行测试、问题沟通跟进、处理优化检查等等。

  1. 测试设计,根据相应游戏的内容进行测试设计,找出游戏中的获利点,结合SR安全检查项,可以对游戏的内容进行完整覆盖
  2. 专家互评,对风险检查点进行查漏补缺,保证完整覆盖
  3. 测试执行,依据风险检查点,使用SR工具执行测试检查,主要进行函数修改、协议修改、内存修改、变速、脚本修改、静态漏洞扫描
  4. 提交漏洞,测试专家按照SR漏洞模板提交漏洞,依据《漏洞评级标准》进行漏洞定级和内容的审核
  5. 安全报告,由安全专家根据发现的问题和游戏整体对安全性进行评估并输出安全测试报告
  6. 漏洞回归,漏洞修复后,从新提交修复版本进行回归,SR评估漏洞修复情况并反馈结论

自动化测试

  1. 宕机漏洞扫描服务,通过智能分析协议来填充模糊测试case,发送到服务器,测试服务器的可靠性、健壮性2. 协议/函数风险扫描,通过AI算法学习安全风险模型,读取游戏函数、协议数据后进行智能分析,具备2小时输出安全测试报告的能力

SR安全测试技术方案

根据以上的规划思路,SR团队聚焦在漏洞挖掘的能力和效率提升上进行手游安全测试技术创新。整个技术方案最大的难点在于,手游与传统的APP差异很大,不同游戏的玩法、技术实现都不一样,我们如何研发一套普适的方案,来满足不同游戏的安全测试需求。经过几年的研发与优化,SR团队终于做到了,兼容了数百款腾讯自研、代理游戏,打造了业界领先的手游安全测试技术方案。

SR独创的安全测试技术
—— 荣获腾讯公司级卓越研发奖
—— 业界独创的动态修改手游客户端程序的安全测试技术、基于对象的手游内存安全测试技术
—— 多种领先的自动化风险扫描技术
—— 拥有多项国家级技术专利

业界独创的手游测试安全系统

SR手游安全测试团队将审核的内容分为静态安全漏洞和动态安全漏洞。不同类型的问题测试思路和分析手段会有不同,对测试工具和测试方法也会有差别。

手游安全漏洞分析

静态漏洞扫描
主要通过静态扫描的方式,对游戏apk中配置档、资源文件、脚本文件、manifest.xml、so文件,通过自动扫描的方式来进行检查项的确认。(目前此块内容已集成到SR手游安全测试方案中,覆盖了120+条安全检查项和信息安全测试项)

动态风险分析
动态安全测试涉及的内容广泛,主要是根据游戏特定的内容和玩法,针对性地分析安全风险点,通过协议、函数、内存、脚本等技术,多维度检查游戏服务器对相应的风险点是否有完善的校验或反外挂策略。

外挂安全风险项

根据对漏洞类型的提炼,SR手游安全测试团队总结了根据游戏中的获利点而生成的风险点,然后在不同的游戏中,结合具体玩法,又推导出相应的获益方式。通常根据风险点分析的方式,可以完整覆盖到游戏中涉及到安全的部分,结合检查点,就生成了可以在实际操作中执行的用例,形成闭环。

SR手游安全测试深度覆盖

手游安全测试对于技术的要求也是非常高的,需要专业的技术人员进行逆向分析和工具支持,否则上述的测试点很有可能是纸上谈兵,但毫不夸大地说SR手游安全测试已经拥有了这些技术积累。根据对测试检查点的分析,我们需要的安全测试工具包括:函数修改、内存修改、变速修改、协议修改、脚本修改。SR手游安全测试深度解密----在SR工具最新的版本上已经集成了所有安全测试的辅助功能。下面从技术实现和工具效果上来展示各大功能的情况。

1、双端协议修改

SR协议工具在某枪战游戏上的效果展示

SR工具通过直接注入游戏的组包函数,自动解析协议结构,免去了需要依赖测试人员分析二进制数据进行协议破解。在没有协议结构文件时也能自动解析协议结构。手机和web端都可以进行协议数据展示,在手机上可以实施地显示协议发包的效果,在web上可以动态一键修改相应字段,互补不足。

SR协议双端工具在Web上的展示

从目前支持和接入的游戏来看,SR工具已经对目前腾讯在研和运营的游戏达到了100%的支持,从协议类型上支持和引擎类型来看,也基本覆盖了当前所有的游戏类型:

SR协议工具已支持的手游类型/协议情况

2、函数动态修改

函数动态修改原理

对于单局类玩法的手游,函数动态修改具备最强的漏洞能力。但是早期的测试方法效率非常低下,需要每个函数单独编写hook函数、定义函数指针变量、申请独立hook资源、重新编译代码。同时,使用门槛很高,只有专业的安全专项测试人员才能操作。SR函数动态修改通过动态通用hook技术,不需要测试人员再进行hook函数编码。

函数动态web效果展示

方案效果:
—— 函数动态修改方案共覆盖安全检查风险项81项
—— 安全审核单个版本时间由15天减少到3天
—— 函数修改测试成本降低70%

3、内存对象修改

内存对象修改效果展示

业界首创手游内存修改技术,为测试人员直接展示出游戏中对象列表、对象属性名称、属性值等信息,并且可以对象为单位进行搜索,以革新方式告别传统手游内存测试工具搜索“内存数值”方式定位目标内存地址的低效方案,实现该项测试成本降低70%。
—— 内存对象 一目了然
取内存中所有对象、对象名、地址、属性值
—— 对象数据 动态更新
动态更新内存对象
—— 动态修改 实时生效
直接修改对象属性,游戏内即时生效

4、协议字段模糊测试:
拒绝服务攻击即攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。玩家的异常操作、黑客异常发包、批量发包等都可能导致服务器宕机,影响游戏的正常运营,玩家不能正常游戏。早期的协议测试中有设计异常发包case,检查是否会导致服务器宕机。但是这种方式测试效率很低,覆盖的异常点非常少。SR结合外网模糊测试工具和长期协议测试积累的宕机case,研发了这套系统。SR字段模糊测试的case覆盖的协议用例类型包括:

协议模糊测试支持的测试类型

通过对于字段类型的分析后,自动填充相关的字段的异常类型值,来组包发送给服务器,进行服务器的模糊测试。解决了传统协议测试执行效率低、定位问题慢、覆盖分支少的问题。 测试流程如下:

协议模糊测试执行流程

模糊测试执行过程中不需要测试人员过多参与,就可以发现大量的安全问题。支持设备并发执行,智能分配测试机执行任务,执行任务的效率之高。发现问题后可以智能定位协议与字段,帮助开发人员快速定位问题。扫描覆盖检查规则31项,包括数值溢出、sql注入、格式字符串、缓冲区溢出,已经完全覆盖协议模糊测试的类型,且数据还在不断增加中。

自动化效果:
—— 通过自动化扫描发现服务器宕机问题83例
—— 检查所有协议字段的异常值填充,平均每款游戏执行协议异常用例120000+条,填补手工测试无法完成的空缺
—— 单个游戏1小时内可测试用例10000条以上,效率提升巨大
—— 扫描覆盖检查规则31项,包括空指针、数值溢出、sql注入、格式字符串、缓冲区溢出等测试项

5、函数风险扫描技术:

函数风险扫描技术原理图

对大量安全漏洞进行风险定义、特征定义与分类,引入模式识别技术,建立手游安全风险分析模型,自动分析出游戏高危风险函数,有效帮助测试人员省掉最为耗时的风险分析环节,实现单个手游版本漏洞测试时长从3个工作日降低到1个工作日。

SR手游安全测试支持项目情况:

2015—2016腾讯SR渗透测试预警数量

SR手游安全测试方案在工具上已经支持所有腾讯在研和运营的手游项目,依靠自身的技术积累来提高专业程度,持续保持漏洞的发现率。目前在SR手游安全测试团队过审的项目漏洞发现率为100%,得到了越来越多的项目认可。通过对腾讯高星级手游的安全测试发现2213个安全漏洞,且整体的数据呈上升的趋势。各大手游厂商在关注运营留存,收入的同时,这些数据同样值得思考!!

2015—2016腾讯预警高危漏洞类型

通过数据统计我们发现,高危的漏洞反而在手游安全测试的过程中更容易被发现,带来的风险也是更致命的。在腾讯内部,通过SR手游安全测试的推动,这些安全问题也在项目组得到了修复,为腾讯游戏创造了一个公平竞技,安全运营的游戏生态环境。现在SR手游安全测试正式入驻腾讯WeTest,正式将安全测试能力开放对外,有需要的厂商可以联系腾讯WeTest预约服务(wetest.qq.com)。

和大家分享部分案例,案例中的所有问题都已得到了解决。
【案例1】
PVE模式中,动态修改游戏进程中多处代码逻辑,实现“无敌+全屏秒杀外挂”


【案例2】
韩信 [无情冲锋]技能超远距离释放,利用漏洞进行全图范围内的突进功能。[无情冲锋]属于子弹型技能,即释放时需要指定一个突进的方向。将技能类型强制修改为指定施法坐标的类型,指定技能落点位置坐标,就能够获得全图突进效果。


【案例3】
篡改攻击对象list与伤害逻辑,造成全屏秒杀效果


【案例4】篡改使用物品协议请求中消耗数量,实现无限开箱子刷装备


安全漏洞说明:以上安全漏洞在正式环境中都已修复,或加入了反外挂机制。本文以白帽渗透测试的角度,介绍在游戏版本发布前的测试阶段,通过“黑盒测试”的方式逐步分析游戏业务逻辑中的风险点,主动挖掘潜在安全漏洞,最大程度避免最终发布版本中的游戏外挂风险。

SR手游安全测试提供的服务

【专家安全测试】
无漏洞不收费,只需要提供apk包,可在约定时间内拿到一份安全评估报告
【安全测试工具】(即将开放)
开放腾讯安全测试专业工具,降低企业手游安全测试技术门槛

腾讯SR手游安全测试团队经过对手游安全领域多年的探索和技术积累, 打造出了业界领先的手游安全测试技术方案——SR手游安全测试方案,在工具上已经支持所有腾讯在研和运营的手游项目,依靠自身的技术积累来提高专业程度,持续保持漏洞的发现率。目前提供了专家测试和自动化测试,希望通过提前发现游戏版本的安全漏洞,预警风险,帮助提高腾讯游戏的品牌和口碑。

目前腾讯SR手游安全测试限期开放免费专家预约!点击链接:http://wetest.qq.com/product/sr立即预约!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容