Bootstrap

腾讯游戏安全高级工程师胡和君:定制化对抗——游戏反外挂的安全实践

11月18号,2017看雪安全开发者峰会在北京悠唐皇冠假日酒店举行。来自全国各地的开发人员、网络安全爱好者及相应领域顶尖专家,在2017看雪安全开发者峰会汇聚一堂,只为这场“安全与开发”的技术盛宴。

如今很大一部分人会通过游戏来进行适当的娱乐放松,在这个过程中玩家最关心的就是游戏的公平性问题,然而由于外挂的存在使得一些玩家轻轻松松就开启了“上帝模式”,因此如何反外挂就成了众多游戏公司最头疼的问题。腾讯游戏安全高级工程师胡和君在主题分享中,以FPS类型游戏的自瞄外挂功能的对抗为例,通过对自瞄外挂实现原理的解析,阐述了如何使用定制化的技术思想,达到对外挂作弊功能的持续压制。分享中还谈及游戏漏洞挖掘的核心思路和方法技巧,游戏开发者自身提升游戏安全性的技术手段,安全防守方定制化方案分析、开发、实现的方法和技巧等内容,相信能给相关工作者带来一定的启发。

图片描述

腾讯游戏安全高级工程师胡和君

以下为演讲速记:

胡和君:大家好,今天我分享的议题是“定制化对抗——游戏反外挂的安全实践”。我来自腾讯游戏安全中心,09年就开始做穿越火线的外挂对抗,现在也是负责多款FPS类游戏的安全工作。与透视、自瞄这样的外挂功能对抗了8年,因此今天来分享一下在这8年的实践中,积累的一些解决思路。

游戏的抽象

图片描述

定制化对抗是什么?大家先来看下一张图。这个图,就是三个字母,IPO。看着好像挺熟悉,想想也挺激动。可是我这里的这个IPO,并不是为了做公司上市的IPO,而是对游戏的一个抽象。游戏被抽象成什么呢?被抽象成为了一个输入,一个输出,和一个处理过程。游戏其实也就是通过一些输入,比如动动鼠标、敲敲键盘、划划屏幕、或是摇摇手机。然后通过游戏的一些逻辑或是处理流程,最终给到玩家一个反馈,比如移动了、攻击了、成功了、失败了、吃鸡了等等。而其实除了游戏以外,其他任何的虚拟世界的一个场景或是一个是业务都是可以被抽象成一个IPO的过程。而我们的安全问题,其实也就是和这个IPO过程相关。安全的问题,往往要么是制造一些非法的输入,比如通过精心构造的参数进行漏洞的触发和利用,要么是对中间过程进行一些篡改,比如病毒对系统的劫持感染,又或是对输出的结果的攻击,比如勒索病毒将正常的文件进行加密,或是诈骗木马将浏览器劫持访问一些非法的网站。而对于游戏来看,常见的一些外挂功能,比如模拟按键是针对输入的攻击、比如修改内存实现的秒杀无敌等功能是针对中间过程的攻击、而透视这样的外挂功能则是给游戏的输出进行了攻击,让你看到了本来不应该看到的东西。

通用的防御

图片描述

而说道防御,通常的方案往往是铸建一个类似城墙的东西。把所有的各式各样的攻击拦截在外面,使得我们的游戏或是其他业务逻辑的IPO能够正常并顺利的运行下去。但是我们是知道的,天下没有不透风的墙。所以世上没有绝对的安全。那我们还可以怎么做呢ÿ

;