就了解比较轻松的话题和游戏相关的一些安全那首先来做个自我介绍那我2013年加入腾讯一直在这个腾讯游戏安全工作负责游戏这边端游反外挂的方案建设以及安全对抗阴影保障端游的这种安全问题在加入腾讯之前我在趋势科技工作了大概8年那主要的经验是在病毒杀伤分析和最终交本引擎方案的一些建设那回到正题游戏安全到底是什么呢这边有没有不玩游戏的想问一下举个手有不玩游戏的那还是只有两个人去说还好大部分都玩游戏游戏安全其实是什么可能大家不知道有没有听过外挂那玩Windows少雷一般我们正常来讲高手的话大概可能两到三分钟能够把这种高级局完成就ok了但是呢如果换我去玩用一些外挂软件的话那可能一秒钟就搞定了其实我们做安全的其实很思路很野了应该这么讲像这种Windows少雷直接拖到这种IDA立项去分析看一下其实它很简单它的少雷它的雷是放在内存速度里面的然后把它没举出来然后直接就点开少雷游戏开始然后就一秒钟就搞定了这是一个小例子给大家认识一下什么叫外挂所谓外挂就是说我用一些非法的非常规的手段去破解游戏那实现一些超额的受益在这种少雷游戏里面其实玩得快没有什么但是在现实的网络游戏如果你使用外挂其实受益是非常明显的那我们现在看个例子我们可以看到这种这种墙上面都有这种人物这个在FPS游戏里面简行的叫做人物透正常来讲这些人物都应该是在墙后面的那它为什么会在墙前面呢其实就是外挂它修改了这个游戏的逻辑外挂知道这种大部分这种FPS游戏它的人物其实是在本地客户端其实坐标已经下来了那在渲染的时候只是在墙后面渲染的时候因为它的那个Z轴的位置是比墙要深的所以渲染不出来那外挂通过乎克第三滴直接把Z轴渲染给关掉或者是深度置为零那就可以去实现这种人物透如果你打游戏遇到的都是这样的使用外挂的对手基本上你是不可能有影的所以这个收益是非常高的那其实现在在手机游戏上面也有这样的外挂不过那做外挂的它其实是让这些它是用来卖的这些人他其实是也要去讲究收益的所以在做外挂的上面他也会去考虑用户UI因为我们传统的这种手机瓶比较小所以他会去做这种天线不知道大家看不到这种紫色的线那通过这种天线的这种方式同时加上我们看到的人物透那可以比较好的这种提前感知对方的一个出现这个是CF手游像POPG手游其实和平精英啊这些都有很多所以这边是一些外挂的在局内的一些收益的一些表现那么下面我聊一下就是说整个游戏hike和这种外挂的这些历史其实从游戏单身的开始从最早的游戏像那种我们DOS上面的游戏像什么赤兜人啊其实就有hike的这种技术那到了这种Windows时代然后这种端游的这种新奇啊其实hike的技术就越来越多像传统的PC游戏若联网的情况下其实我们去通过一些工具chat enginefpe 金山游侠去搜索内存值然后可以很容易的修改这些游戏的内存属性啊人物属性啊包括存档那实现一些快速通关的一些功能像最早以前玩那个可能这边大部分人可能没有玩过像那个90年代的时候有那个金虹群下钻基本上我们都是通过修改游戏快速通关啊那到了这个网络游戏时代那其实hike的技术就越来越多了所以我们刚才前面讲到的去修改这种游戏的这种人物对象啊内存属性啊那其实在FPS一上游戏刚才看到的透视那除了透视以外FPS上面还有自描那所谓自描就是说那我去开枪的时候其实大部分人开枪可能没有那么准可能是瞄准身体的某一个部分但自描的外挂它可以帮助你快速锁定头部那基本上枪枪抱头是比较对写新的一些外挂那在网络游戏时代因为有协议的网络协议的一个交互所以这种网络针对网络协议的这种hike然后去修改其实也是非常多的那我后面会有一些具体的一些例子在这边可以简单的讲一下像如果我们把整个协议讲一下危害如果我们把整个协议全部hike了以后那我其实可以在客户端完全不需要客户端我只需要自己写个卡蒙兰那的方式或者一个小英文我就可以跟服务器交互那使让我在游戏里面就可以发明那这有什么作用呢在游戏里面有最多的一类危害就是打击工作室它批量的去上号小号那整个游戏里面如果全是打击工作室整个游戏 经济各方面其实就崩溃了那除了这个游戏上面的这种攻击手段的话其实还有这种传统的一些DDoS那DDoS有什么作用呢不知道大家有没有玩过玩种荣耀或者那种英雄联盟有没有还是有不少朋友玩过这个的那DDoS如果你要输了你怎么办OKDDoS这种游戏服务器这样子你这局就不输了然后你的排名可以保持永远不败这是现实的例子就是在腾军遇到过的这种安全的例子所以只有你想不到没有外挂做不到它能想到各种收益的一些方式那在这个手机游戏时代其实还有另外一个分析更大的一些问题那传统的这种PC时代其实我们做安全防护的我们有Root的权限可以写驱动但是在PC时代基本上没有手游会去带的有Root权限可以写个驱动而对于写外挂写这种打击工作室的人其实他可以写他可以去把那种开源的手机模拟器N9模拟器找过来那这样子你整个游戏是跑在一个模拟器里面他想怎么控制你的行为就怎么控制你的行为输入所以手游的时候他可能会有另外的一些风行OK我聊一下整个这种在游戏之快的一个挥产的一个情况我们看到其实可能大家觉得写外挂的人都是一些hiker 或者是说这样的一个情况其实有一小部分是的可能他凭兴趣还靠写一点外挂但真正的一个情况其实在国内我们可以看到大部分的外挂其实他一个作者他并不直接参与受卖那他会把他交给总代理商总代理商会去把这个外挂去进行不同的打包那可能会去一部分作为类部挂卖给这种打金工作室这种样本你是在外面是拿不到的那可能会去交给淘宝的客服淘宝的客服可能会有QQ群或者是淘宝的群然后售卖这种外挂那这些客服是非常专业的因为它是一个充分竞争的市场它可能会说为了建立我的品牌那我可能会说如果我外挂被检测到了那我可能又退款我可能即使不退款我可能会延长你的使用期所以它也是像做生意一样的那另外还有一部分其实这个产业它会这样子就是说有些人他自己不做外挂但是他去破解别人的外挂然后重新绑定一个版本通过绑定木码绑定这种挖矿程序的方法去进行收益所以整个产业量是非常大的在游戏这么多收入的时候大家都定上这块肥肉可想而知这是一个DNF我们看到比较老的一个截图我们去看DNF工作室的一个比较老的一个截图那你可以看到它其实多频去显示DNF在跑的一个情况很多画面都做了一些分辨率的降低为了跑更多的客户端真正的是这个样子的跟挖矿也没什么区别也是批量的去生产在中国其实腾讯对外挂说你做的比较领先我们在2018年也会看到一些外挂上面的一些变化其实总结下来可能也就是这么极点越热门的游戏外挂越多这个是必须的因为这样子才有买家可能有些外挂真的不是很便宜譬如如果我是一个外挂作者我可能专门给那种主播定制款外挂我只卖几个主播这个价格可能是大家想不到可能一个月可能好几万这种都不是问题因为主播他有流量有粉丝主播打不过别人他找一些等门的挂这种挂可能都是定制的版本所以外挂可能会价格会超出大家的一个想象范围好几万也是有可能的很多这种因为游戏打击的利度比较强加上大部分游戏是免费游戏所以我们减套的号可能都是一些新进号虽然这些可能是做挂的老手使用一些新进号来去作弊在中国还有一个现象大概60%的外挂使用的范围其实是在网吧这也跟产业链有关因为有些网吧业主他说我去吸引一些更多人到我这里来玩他可能会去找一些免费的外挂放到他的网盘里面去像PUBG在网吧里面这么火他就会去用这种方式做吸引玩家在2018年其实FPS游戏非常火非常火的情况下其实我们可以看到FPS的外挂实际上是非常多的拿PUBG决定求生来讲我们大概2018年看到有超过2700款外挂高峰期每天可以有一百块万挂进行这种更新2018年有60款的60款以上的这种决定求生内的这种游戏基本上我们发现没有游戏是没有外挂的大概是这样然后外挂火到什么程度我不知道大家有没有听说过APEX这个游戏这个游戏是个新游戏今年2月5号发售那个是EA的一个游戏它三天DAU过千万就在这三天我们已经看到它有60款以上的外挂出来了所以只要你游戏火一定会有人盯上你我前面讲的都是一些外挂的一些概况和历史那我现在讲聊一下外挂它常用使用的一些技术那我个人其实在传统的安全信息领域有一些经验在外挂这边分析和对抗上面也有一些经验所以我会把这两者结合起来讲传统的信息安全领域以我的理解我会把它分为三大块第一大块可能是漏洞挖掘和这种软件Bug相关的第二块可能是跟网络安全相关的包括写意包括DDOS第三块可能是跟服务器相关安全的那可能是说服务器防护防止这种社会注入或者是这种入侵检测从游戏的角度来讲这三块也是同样的重灾问题比较严重的地方在传统的软件领域我们可能研究Chrome的漏洞或者PDF的漏洞我们可能通过这种漏洞去做溢出去做逃逸在游戏安全领域那可能有点不一样我们是通过这种游戏的Bug去找一些高收益的一点下面的每一些小点我可能后面都有一些例子来具体的一些讲可能在和传统漏洞还有一点不一样的地方是因为大部分游戏其实有很强的客户端逻辑而这种客户端的逻辑和数据在服务器是没有办法做到完全交易的所以漏洞方面我们也会特别关注这客户端的逻辑相关的一些东西另外还有一个游戏安全方面的分析就是倒板问题其实现在市面上也还是有单机游戏主机游戏的倒板问题其实游戏安全方案解决算其实也提供了很多防倒板的手段但是这个拦不住这种制作外挂或者这种研究游戏的人把它去破解了然后去免费或者是想一些方法去送卖网络协议这边我刚才前面讲了一个炸房DDoS的一个例子其实还有更复杂的这种针对协议的一些破解在业游上面会用的比较多一些服务器相关的会好一些因为服务器其实安全产品安全防护已经做的相对来说这个市场已经比较成熟了但是对于游戏来讲它仍然需要去关注因为一旦服务器被别人拿下可能面临的是整个游戏数据库的修改可能会你的用户被脱裤会去转到其他的游戏上面别人可能会去把你的用户导流导到其他的游戏上面去我现在举一些具体的例子软件Bug是什么这个游戏大家有没有玩过大波罗大波罗这个游戏其实是暴雪的一个纪念款它有什么漏洞这也是我们程序员买下的坑游戏的复杂度其实远远超过一个常规的软件你要做的冲锋测试即使像暴雪的这样的公司其实它也没有办法完全这就是一个真实现实中的例子大波罗发售的时候有玩家很快试出来我同时可以做到金币复制和物品复制它怎么做我们拿两个PSP的手柄去捏服务器那大小号同时灯在暴雪看来这是很正常的一件事情但是有一个玩家他把自己的装备丢在地上然后不存檔手柄A直接退出因为B是同样的号但是它是小号角色他没有看到他发现这个物品还在等大号重新所以它整个游戏是没断线的这时候大号强行退出了以后重新灯发现身上的装备还在所以装备很快一边二 二边四这种就进行了复制其实这就是一个程序员在实现的前面那个同步的一个问题没有做好大家觉得可能这个问题比较低级其实这样的bug太多了就拿程序家自己的游戏DNF来讲还有邮件复制发出去的邮件可能物品并没有从身上拨掉这样子的一个情况所以这种bug其实理论上是可以测出来的但是现实来讲其实确实是有这样的bug而且对游戏的一个经济损害是非常大的因为整个如果是玩家可以这种复制装备的话它这个经济很快就崩溃了OK第二类软件漏洞上面的问题就是我前面讲的就是客户端的逻辑和服务器端的逻辑其实在游戏实现的情况下它没有办法做到百分之百同步尤其是一些比较注重游戏体验的一些一些经济类的游戏它可能在对实施性要求的情况下它必须把一些客户端逻辑放在必须把一些逻辑放在客户端那典型的就是我们大家可能会去想到去修改人物属性修改各种各样的攻击力这样的其实做外挂的人他思路非常广他不光会修改自己的还会修改怪物的你检测人物属性正常了那他就去把怪物权修改掉然后你的宠物各种啊总之你想不到的属性他都能修改那常用的一些工具是什么呢就像这个截图C1切成Engine它可以比较好的去搜索值当然这个还是比较初级的一个攻击手段大部分服务器如果做了一些教研的话它简单的修改属性那可能都会去被游戏保护去处罚所以那在不修改游戏逻辑也不 hook 的情况下怎么去做呢那其实它可以去扣游戏的函数譬如我前面讲的一个字秒的一个实现其实它可以去掉用第三滴里面人物槽向修改去调整人物槽向的函数那在这样的情况下它不需要扣任何代码那它直接去锁定对方的头部那就实现了这样的功能那包括可能我客户端逻辑可能是碰撞检测尤其是穿墙子弹穿墙人物穿墙的这样的功能其实很多都是在客户端去实现的那只要去把这部分逻辑进行干扰那或者修改那就可能会有问题那如果真正的游戏其实像像英雄联盟其实来讲外挂是比较少的那是不是做不出什么外挂呢其实也不是的那其实游戏还有很多资源资源这块也可以利用一般来讲我们的思路可能说资源利用可能就是一个对本地游戏或者那种弱联网的手游可能会有效果那你可能是一个自于自嗨的一个效果但是在网络游戏时代你可能自这种自嗨的效果可能是超出你想象的这是英雄联盟一个放大的人物的一个模型它修改了本地的一个效果收益是什么呢正常来讲我们对局里面如果都是五个小人在跑的话其实你要去观察那个视角你没有全局视角你可能会打得有点乱但是如果你有一个这么超大的人物模型其实你的整个视角你这个大局观就出来了所以你可能水平就上了一个台阶那其实像这种同样的它还可以去修改这种上色这种自源文件那这个是一个透视加上色它不完全是本地自源效果的一个截图这是保理职业的一个透视截图OK前面讲的都是一些游戏客户端逻辑漏洞相关的一些东西协议这块游戏是不是比较成熟了因为协议发展的很多因为像很老的协议研究什么SHSSH都研究很多年了对吧加密学对称学都很多那是不是协议上面就没有问题显然不是的那就拿我们最新的刺激那个绝地求生来讲外挂作者真的很聪明他知道这个绝地求生是Unreal引擎做的Unreal引擎其实是开源的他去研究Unreal引擎的这个代码把网络协议部分完全解析清楚了以后了解清楚了以后他做出了一款这款在PC上没有任何痕迹的外挂他怎么做的他做了一个代理一个服务器通过协议解析直接把所有的人物出现的位置显示在这个不好意思显示在那个手机上所以我们从一个主播上面看到那个效果所以那个主播其实他可以预知你人在什么地方他也没有你要去检测他他没有任何痕迹他本机PC上没有任何痕迹网络是有个代理很正常对吧但是这个外挂做出来以后是非常难对抗和保护的一个功能所以协议这块并不是像我们想的就是可能大家觉得这种现在技术已经比较成熟了就外式OK了不过协议现在最重要的最主要的威胁还是在这种业游和一些弱联网的一些手机游戏上面OK前面讲了一个讲了罗阿鲁这种炸房的这种问题那其实现在都比较成熟像这个截图实际上是一个DDOS的一个平台你可以直接在上面输你想攻击的IP像门那个那其实都是比较很自动化的其实腾讯现在其实你要去DDOS罗阿鲁的服务器是没有用了因为我们做了防护而且我们有基于协议级的这种DDOS检测那有时候其实还是跟软件设计有关DDOS再有一些我们想不到的一些场景譬如它可能会去修改一部分协议结合DDOS适利拒绝服务包括安全服务器都会受到攻击像我们真实遇到过的例子在飞车里面就会导致我们安全服务器出问题然后逃避我们的一些检测OK另外那个协议的问题其实还有一些在这个黑产的样子里面还有一个就是它相互有些中小厂商不大规范的中小游戏厂商它可能会相互攻击可能会买一些扭量的情况最后讲一个安全技术这边一个是相对和游戏比较直接的一个技术因为在其他的安全领域里面没有那是什么呢就是模拟按键模拟按键除了我们刚才讲的这种锁定人物 头部资料这样的一个功能其实大部分模拟按键被用在工作室这个截图是一个卢阿鲁上面工作室的一个脚本脚本的一个截图它会自动去选择副本去完成推塔这种功能但是大家可能没有遇到过那这种大家会觉得可能模拟按键在Windows上面肯定是比较好防护的那我有驱动我就搞定了其实情况还真不是这样子的工作室用的是什么工作室它可能会用的是纯硬件的解决方案它可能会把它自的脚本录下来然后通过USB再插上去再给你剥一遍所以这是一个纯硬件的方案能不能帮我放一下录像对这边有个录像对现在可以它连这个都不用了它搞了一个单片机机械臂然后可以去这样子去直接这样子玩游戏这个是在DNV上面的一个工作室OK视频比较短19秒OK前面讲了一些外挂攻击的一个手段那怎么去防御这个游戏安全给游戏一个更好的一个保障其实游戏防护和传统的病毒防护可能最大的不一样的地方还是可能我先讲一下传统的传统的其实你有个病毒或者有个挖矿程序一定是程序普通的人不想要的有病毒一定要杀死如果有挖矿程序也一定要干掉平养服务 清运行但游戏就不一样游戏我称之为它是一个平衡的艺术游戏里面有三类人第一类是游戏玩家第二个是打击工作室第三个是游戏开发商和运营那游戏玩家如果他遇到用外挂的他一定很生气我要去举报我要去把这个外挂给举报掉但是如果游戏很复杂很难他可能需要一些外挂来辅助他我们看到其实像魔兽里面其实有一些外挂他可能最终会变成一个反而变成游戏开发商的一个功能会去提供给玩家一些辅助的一些功能所以玩家在这边对外挂的态度是很暧昧的如果真正想用外挂的玩家经常还做一件很就是很很难解释的事情就是外挂说你不要相信沙毒软件这个我是没有读的你把沙毒软件关掉所以很多玩家他可能是在使用外挂的情况下他是配合外挂的打击工作室这边是像就尽可能的一个高速易但是打击工作室其实不止一家太多家去盯到同一款游戏上面的这种打击工作室所以打击工作室他们之间也要比效率比生产效率最后就是游戏开发商和运营了他可能在他的角度外挂多了那肯定不行这个游戏太烂了对吧但是如果这个玩家抱怨得很厉害你这游戏太难玩了存而从不幸的劳动那他可能也希望有一些外挂能帮玩家去减轻一些负担同时对打击工作室也是一样如果你把打击工作室全部给消灭掉了那玩家没有地方去买金币那就会觉得你自己游戏开发商提供的这种金币这种太贵了那他可能也是想找一个中间商或者说找一个情况但是如果你满屏都是工作室那对玩家影响到玩家体验和游戏的口碑的时候那从游戏开发商的一个角度那他是坚决要去打击的所以坚于在玩家打击工作室和游戏开发商之间他需要找一个平衡所以我们在打击外挂上面其实可以分为两条思路第一OK第一条是飞技术的思路就产品运营内的思路那在这样那个思路我们可能会用社群的力量就是可能会在玩家他遇到外挂的时候去进行举报那我们可以有视频举报可以有截图举报那截图的举报以后可以做人工的审核那可能是玩家之间审也可能是交给我们的工作人员原来审那在处罚上面我们也会灵活的去考虑这种游戏运营的这种要求除了封号如果项目组或者游戏开发商他非常强硬那我们可能会封机器如果他觉得这部分作弊还好的话那我们可能会把他踢下线这样子那对一些核心玩法上面我们可能刚才前面讲了就是说有一些新进玩家特别多而新进玩家又特别容易作弊的情况下我们可能不允许新进玩家去玩一些核心模式这个是一个飞技术册的一个东西那技术册我们怎么去做怎么去保护方案呢技术册我们主要我把它分为大概两大方面第一个是通用检测第二个是基于行为的检测那通用检测是什么通用检测就是说我其实跟你游戏的逻辑绑得比较紧我主要是以样本或者技术防护的思路去做那行为检测很简单其实大家都可以理解那正常一个玩一个副本可能我们需要二十分钟或者是三十分钟但是你两分钟就通关了这个就是一个超出超额收益大部分情况下是有问题的所以行为检测可能是基于它的一个收益点去看的我下面具体讲一下这两方面首先通用检测里面它包含基本的一些保护那基本的保护其实在我们传统的安全领域已经做得比较深了我们包括这种反条式加壳比较强的混小的VMV颗那我们会对方案进行完整性保护检测 现成检测这种代码那我们会有在腾讯会有驱动级的一些保护那基于腾讯我们会有基于VT的保护那在其他的厂商我们是没有看到说有基于的VT的驱动来保护OK那通用车检测还有基于样本的检测样本的检测其实有点像沙豆软件但比沙豆软件做可能更难一些因为这是一个强运营的事情它并不是说所有的外挂要一票干死难点还在于说我们很多样本其实是很难拿到这些其实我拿前面讲的那种主播外挂它其实你根本拿不到或者有些玩家不配合它也不承认它用了外挂你很难拿到这样的样本我们想去买样本对吧人家一看你是深圳地区来的那肯定就不迈给你对吧在深圳地区开不起来这些做外挂的其实它还是有很多思路的即使你拿到了样本这些样本和传统的那些病毒都还不大一样它譬如加了一些强壳那些强壳可能你也没有办法一刀切在外网说只要有VMOPC运行的程序我游戏就不让玩那这样子游戏开发商他也不愿意这样做本身分析加了强壳你也没有办法去做比较好的一个分析另外最后一点就是跟传统的沙豆软件一样的就是万一出错特征可能引起外挂的突发的分析而对这种做外挂的人他不管他难了就难了或者他也不想什么那作为游戏他还是要比较负责任的对玩家负责任他还是不能够在样本运营这块出任何风险那基于行为的检测其实他有两大类数据第一大类数据就是人物本身的一些数据包括通关时间包括他在玩游戏的时候一些人物属性然后相关的一些东西那基于游戏数据其实可以解决很多的一些问题大部分的问题可以解决难免在于什么呢就是有一些外挂他修改的没有那么变态就是没有那么超出超和收益他可能譬如我去跑飞车我就做个1.1倍的加速那在1.1倍加速你很难去体现他和高手和普通人的一个区别所以行为收益上面有他自己一个误判的风险和这样的一个情况另外一类数据来自于我们客户端方案去收集一些你对游戏的修改那你是不是有一些可疑的一些进程然后这样的一些东西包括我们会去结合他的一些历史战技去做一些行为上面的一些风险那我最后其实讲两个这个就是题外的这种小技术点吧也是现在的这种AI是比较热前面卢阿鲁工作室聊得比较多了那在现在我们在这是腾讯的一种方法并不是全部我们怎么做呢我们会发现卢阿鲁里面工作室他走过的路径和这种正常人走过的路径不一样大家看到的这个红色花生形状的其实是在卢阿鲁的每一句对局里面我们看到那种工作室他们走过的很近而在普通玩家它是后面背景黑色的一个很近为什么呢因为现在的卢阿鲁工作室其实还是比较简单它基本上基于一些石色然后一些原理这个花生代表什么呢因为大家在卢阿鲁里面有一个副本模式很少去玩的叫柳驱森林大部分工作室它把它自己的号就在这个里面念所以大家可能感知不到它把这个号念起来了30几以后了在淘宝上面卖一个卢阿鲁的账号淘宝上面可以卖30块钱就是有些人他不想自己去念他去找一些淘宝的账号去去买过来那图图方便嘛这样子项目组也是睁一只眼闭一只眼从我们存技术上来看这个问题其实如果我们知道是这样的情况就是比较容易去解决了那我们利用比较流行的这种深度学习的框架那我们可以去做一个CNN的模型去识别在同一局里面那哪些人是工作室可疑的工作室哪些是是普通的玩家那我们同时也做了GUS Team的序列模型去对比效果那发现CNN的效果还是会好一些但是这个大部分跟你的数据源有关所以反外挂的思路其实是比较广的最后讲一个这个基于深度学习的这种识别这种人物透的东西那我们用了优劳的这个模型我们会把这种模型用人工先标记好然后去学学习了以后然后那个当有一个玩家被举报的时候我们会去看是否图片上截图上能够匹配上它正好在作弊使用了透视外挂OK行我今天的分享给大家在游戏安全上面带来一些初步的一些认识