游戏漏洞挖掘

关于游戏漏洞挖掘

网络游戏在中国一直处于快速发展的阶段,而伴随着智能手机以及近两年手游的飞速崛起,整个游戏市场规模进一步扩展,2015年已超1400亿元人民币。但随之而来的各类安全问题层出不穷, 不仅直接影响游戏开发/发行/渠道/运营/线下产业等各关键节点的正常市场环境,更对亿万玩家公平健康的游戏环境产生巨大影响, 伤害玩家感情。腾讯游戏安全始终致力于专业的游戏安全产品的开发及运营工作,积累了大量实际对抗经验, 期望通过本栏目能够让所有游戏安全爱好者对网络游戏基础理论、外挂基础原理、反外挂以及各类实际对抗技术快速入门,提升大家对于游戏安全领域的整体认知。

如何阅读?

专题内容分为游戏漏洞挖掘、游戏漏洞挖掘基础知识、基于玩法的游戏漏洞、基于协议的漏洞挖掘以及游戏漏洞挖掘的展望5个部分,其中具体的技术部分又会细分成多个单元,方便阅读时进行快速选择。 每一个较独立的技术单元又会包含完整的技术引言、内容、参考书目或资料、对应实现代码、学习自测等多个栏目,通过栏目内容的学习,进一步阅读更多的扩展知识, 并通过自测、试题来实际检验自己的学习情况。路漫漫其修远兮,安全技术的大厦需要广大技术爱好者不断添砖加瓦,相信未来会有更多的有志之士投入到游戏安全行业来共同创建绿色网游的美好家园!

01 游戏漏洞挖掘

漏洞一词,在信息安全界并不陌生,从2014年的Heartbleed(CVE-2014-0160),到2017年的WannaCry(CVE-2017-0144),每一次重大影响的安全大事件,总离不开一个漏洞的爆发。那到底什么是漏洞呢?

百度百科上定义到:“漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。

文章内容分为漏洞与游戏漏洞、游戏漏洞价值、游戏漏洞挖掘思想、游戏漏洞挖掘流程和游戏漏洞挖掘目标5个方面来讲解,其中具体的技术部分又会细分成多个单元,方便阅读时更好的理解。

02 游戏漏洞挖掘基础知识

“工欲善其事,必先利其器”,漏洞挖掘离不开工具的辅助,常用工具可以分为两个方向,一是逆向相关,主要作用是分析和确定协议,二是编程相关,主要是为了方便操作协议验证漏洞,内容分为IDA、OllDbg、Cheat Engine、Net-Peeker等几个工具。

另外协议分析也是游戏漏洞挖掘的关键,确定游戏的协议是漏洞挖掘的前置条件。游戏客户端与服务器间通过事先定义的协议进行通信。只不过通信的数据往往被加密后,难以从信道上直接获取有效信息。弄清楚数据打包的过程,便是协议获取的关键。分析方法会通过协议获取、协议分析等几种方法进行解读。

03 基于玩法的漏洞挖掘

公平、公正、稳定的游戏环境,是合法玩家的核心利益。漏洞的存在,很容易财产的损失、游戏中非法行为的存在,会导致游戏数据丢失和篡改、隐私泄露乃至金钱上的损失。

在游戏中,漏洞指的是可被利用的、利用后能给自己带来好处(利己)或者其他人带来破坏(损人)的行为缺陷。例如在FPS游戏中,常见的透视、瞬移、飞天等功能。本章将列出游戏中的10种风险向你解读游戏漏洞挖掘,每小节还提供定义与实际案例,方便更好的了解与解读。

基于协议的漏洞挖掘

游戏的种类无穷无尽,不同游戏的玩法也是不计其数。但是仅仅通过基于游戏玩法去进行漏洞挖掘,只会随着玩法的增加,而不断的增加测试用例,导致风险验证变得越来越繁杂臃肿,而基于游戏逻辑去进行挖掘,又会导致自己在逆向分析游戏逻辑上耗费大量时间, 随着游戏版本的更新替换,验证的复杂度会大大增加。

基于游戏协议进行的漏洞挖掘,避免了不同种类玩法带来的测试案例的变化,也避免了逆向分析游戏逻辑的繁杂,通过分析游戏的协议交互,从协议上进行漏洞挖掘,简单高效,通用性较强,是目前主流的游戏漏洞挖掘方法。