腾讯安全团队&只玩游戏联合专访会:《半盏复古行》如何击退黑客攻击?

来自 游戏葡萄 2021-09-16

[ 游戏葡萄原创专稿,未经允许请勿转载 ]

腾讯安全团队&只玩游戏联合专访会:《半盏复古行》如何击退黑客攻击?

9月9日,腾讯安全团队与只玩游戏在广州召开联合专访会。只玩游戏联合创始人雨林、技术合伙人苏打,腾讯安全产品研发总监董文辉、腾讯云游戏行业高级架构师王睿出席了专访会,向到访媒体讲述了只玩游戏发行产品《半盏复古行》遭遇黑客攻击后,如何与腾讯安全团队展开合作,并成功击退黑客的事件全貌。之后,四人还共同回答了到会记者的问题。

截屏2021-09-16 下午6.55.03.png

以下是本次专访会的内容节选。

雨林:我们的产品在8月19日首发,在8月18日进行预下载。当时我们发现有非常多的注册帐号,所以我们在这个过程中进行检测,并且把这些恶意情况进行屏蔽和删除,这一波没有对于我们产品造成本质的影响。 

但是到了第二天开服的时候,早上七点钟,我们开始准备做10点钟的首发,在这个过程当中,就发现资源占比及其不正常,我们很多服务器开始出现占用率百分之百,各个的端口情况都是非常异常的,还有各种大流量的清洗。

我们从早上一直到11点钟,对前端的架构、服务器的设置进行了调整,抵御了非常多方式的攻击,但是因为我们一些服务器上面仍然还有漏洞,哪些黑客继续去找我们并没有找到的漏洞,继续进行巨大的流量攻击。

我们到了中午的时候,觉得凭借自己的能力去抵御这个事情比较困难,所以我们就去联系腾讯安全的同事。应该就是只发了10分钟不到,腾讯就组建起来一个20人左右的团队,直接开始对接,并把他们的经验以及产品的情况全部介绍给我们,以当前最适合使用的方式以及产品一一进行培训和部署。

从中午开始一直到第二天的凌晨两点钟,我们进行的各式各样的策略的配置以及各种产品的使用,最终在两点钟左右的时候,服务器真正才真正起来。

整个事件从8月18日开始,当我们自己去抵御攻击的时候,是到8月19日的中午,通过各种各样的努力,仍然没有办法去解决所有的这种攻击。我们在19日中午,一直到第二天20号的凌晨两点钟,我们才真正抗住了黑客的攻击。

整个攻防的过程当中,我们是进行了多次来回的,我们每次部署一个新策略,就会有黑客会更新一套攻击方式,我们根据攻击的方式、当时的情况去处理。我们经历了大概十几轮的攻击跟防御,最终在凌晨的两点多钟我们整个服务器才稳定。到了后期因为我们攻防这个体系控制比较好,后面黑客确实没有找到门路,整体的攻击的情况就缺乏。产品才得以正式上线。

 记者提问

我很想知道腾讯这边的视角这个事件怎么样的,腾讯如何做到像这样一个快速响应,包括刚才提到快速的选定可以使用的产品等等,这些相关的细节?

王睿:这个事情我比较熟悉,8.19中午的时候应该是从商务侧反馈到只玩这个客户受到攻击了,因为只玩这个客户在我们腾讯云,目前来说刚起步阶段,但是对于我们腾讯云来说任何客户受到攻击,如果他有紧急的需求,无论是大客户还是小客户都是紧急帮他解决的。我以前也是做游戏的我知道,他上线第一天被攻击,没有办法开服,那些资源无论是营销的资源还是广告的资源都是在浪费中的。所以,我站在他的角度上来说我也是特别着急的。所以整个事情我首先跟他沟通判断攻击类型是什么然后在匹配到碰相应的安全产品,刚才说的WAF产品,匹配到产品再去找产品的同学,刚刚我说的过程其实就是组建整个团队的过程,找到同学跟只玩的同学进行对接,然后协助他们如何过滤正常的玩家的流量,然后去抓包,抓攻击的流量,然后通过攻击的流量来分析用什么策略。再进行匹配,整个过程的票是就是整个过程,对于刚刚只玩的同学说,虽然我们接的这个,但后面攻击还是在持续,他之前在封测的时候,部分的那些服务器的ip被暴露了,那些攻击绕过了防火墙,打到了他真实的服务器上,这个时候后面做了一些加固然后提了一些建议,首先当天晚上比较紧急的情况就让他更换了真实服务器的IP,攻击的流量就打不过来了,后面建议在整个架构上做一个收敛。

对于真实服务的服务器他的服务的IP不要对外,要收敛到防火墙后面,这样攻击就无法绕过防火墙。

在黑客攻击的部署当中,最让你们头疼的点是什么?

苏打:CC攻击的比较多,他会去模拟很多正常的用户去登录我们的帐号,去攻击平时用户很少访问的接口,导致我们会做比较多的差群和消耗资源,有类似一种新的方式攻击,包括我们一些综合限制的一些接口,还有他要找一些我们平时放的比较少,没有放CDN的资源,非常非常少的也很隐晦的,他通过这个也会大量的去读取我们的资源,导致我们这个资源被电脑去刷,这个量刷的非常的多,那个接口是没有防护的一个资源,这个后面也通过一个数据把他屏蔽掉的。

最令我们头痛的是哪一种,他还是说他准备了很多大量正常的用户,他其实我们也有很多正常的用户,他的那些用户也是正常用户,无论是IP还是一些帐号注册情况,他都是跟正常没有什么太大区别的。而且我们也区别不出他那个是正常用户还是非正常用户,因为他的操作什么,基本都可以模拟,他的IP都是一致的,通过观察很难去识别他,是否是一个非正常的用户。这个区别就很头疼。

王睿:我说一下这次攻击和其他攻击区别在哪里,很多新游戏上线的时候,他会遭受一些类似于那位媒体说的DDoS攻击,DDoS攻击他相当于大流量,然后把带宽打爆。所有正常的流量都无法进入到服务器,这个时候无论做什么策略其实都是很难抵御住的,只有靠硬件资源去清洗。对于这次攻击他区别在于不是用大量没有意义的流量去打爆他的带宽,而是说应用层面去模拟真实的玩家,然后向服务器发送正常的请求,类似于你可以理解,服务器当天他准备了10万人的资源但是事实上有1000万人,几百万人同时去向服务器发送请求,而且那些玩家发送的请求其实是不是正常玩家发送的请求,而是会访问一些玩家很少访问到的接口,导致他服务器资源占用量超过100%。

那么,取胜的关键点是什么?

董文辉:我先说一下,游戏攻击里面,可能比较多的类型是比较低成本的攻击,但是防护相对来说也比较好防,我只要流量怼上去就可以了,把他清洗掉就可以了。

但是这次攻击有一个很不一样的地方在哪里?他跟传统攻击很不一样,因为他对你的用户对你的业务也很熟悉,要踩点,各种秒播IP各种各样的工具用进来了,所以黑客攻击的成本很高。

首先我要做几步事情,第一我要看到这个东西,先要看见才能防的住,这是流量进来之后我们通过自己专业团队去看,然后很多安全的能力,识别真实的攻击的流量,他可能会用到秒播代理就像刚才的苏打说的他会用到很多的真实的IP,真实的手机号码,真实的身份证号码,他的这些IP会叫做秒播,我们会有一个比较好情报的东西,我知道哪些IP可能经常会被黑客拿来利用。对你们来说可能看不见,对我们来说是有我们正常做的事情。这是第一个。 

第二个还要分析他的行为特征。正常他的游戏是手机端的游戏,如果你在电脑上PC上面过来访问的十有八九就不正常,他平时用PC来发起进攻的所以我们会识别出这是手机的行为还是PC端的行为。

如果他要攻击,用手机端攻击的话他的成本会很大,黑客攻击是讲成本的,攻防之间讲成本的他的成本很高他就不打了。

第三个本身我们自己会有很多CC防护的规则,会有一些行为识别,看到你这个东西是一个真人还是一个假人,正常情况下面,他在电脑上操作的时候,他的行为轨迹不太容易固定。不管你如果是用机器攻击很容易识别出来,虽然你可能经常换,但是实际上我也识别出来他的路径可能固定在四、五步,或者五、六步,正常情况下还有鼠标会移动。我能识别出来他是一个真实的点击还是一个非真实的点击,大概有几步,总结一下,对我们来说这个事情,我们也见的比较多,你要说“挑战”我个人觉得还好,我要几步,第一步数据要进来,我们要看到他的行为是什么样子,这是第一步;第二步,通过情报的能力,做一个IP的摸底;第三步我们看了机器人的对抗,一项是端上的电抗,我知道你这个是一个真实的行为还是异常的行为,开了端上的规则,还有一个开了CC的防护规则,其实我们看起来大概比较快,大概我们同时跟着专家们一起大概花了一点的时间把规则建立起来之后,基本上就稳住了。

游戏产品在构建整个安全防御中,在事前、事中、事后都有哪些应该遵循的?

王睿:游戏产品在构建安全防护过程中,事前应该要遵循一些防御性编码的规则以及安全部署规范,在事前还需要进行一些安全防护的演练,比如说DDOS攻击或者说应用层攻击的一些演练,以及一些QA的验证测试。

对于事中的话,其实攻击已经开始发生了,这个时候我们主要的目的:

第一,切断攻击源。

第二,尽快地恢复业务。

事后我们会对整个攻击事件进行复盘,找到其中的一些漏洞。事实上很多游戏厂商在没有攻击的时候也会做一些像混沌工程这种东西,就是说自己主动造成一些混乱,或者说自己攻击自己,然后来发现自己整个体系中是否有一些漏洞,然后进行补全。

从技术的角度,应用防火墙的防御措施如何演进的?

董文辉:这个防火墙从攻击者的视角来看他的演进我们碰到很多,黑客从黑客攻击你怎么攻击进来,漏洞会看你有没有漏洞,第二可能去爬你的东西,或者刚才你做的CC攻击有各种各样的,从防御的演进来看或者未来的变化来看,他基本上从基础到网上偏应用的防御整一套我们都有,现在对这个措施都有相应的对应,基础的我要增加很多安全规则。

我第二个在防御机制里面我们会有三个层次的防御手段,一个是说在端上面去做机器人的识别,刚才讲到有模拟,如果机器人的话一定不是人,他会有一些手段完全识别他是真人还是假人。

第二个是在情报侧,情报的能力比较强,经验比较多,比如说这个IP他就是一个秒播,比如说只玩这个案例来看,他有国外的有国外的业务有国外的防线是不对的,第二IP在变化,就是秒播,他有可能会买这种IP。

第三个这两种防御手段失效以后我们还有大数据的防御手段,大数据去分析他的行为他的路径是什么样的把这个识别出来,把非真人的这种攻击识别出来,这个是第二个层面,第三个层面在整个的刚才讲到的规则,我们现在慢慢的攻击越来越大量,我们会把很多AI的能力,把他放进来,通过AI去识别在野的攻击,技术这块我们通过AI,仿精确的通过三段前端对抗、情报对抗、后端大数据分析。

我想问一下王总,你们作为云游戏的服务方,你们现在面对的游戏厂商,近年来他们面对的攻击有哪些?

王睿:我觉得可以从两个方面来看,第一个从目的来看,目的他想让你的服务不可用,这种目的会有DDoS攻击,以及刚刚CC攻击,他的主要目的,让你服务不可用,他其实不在乎用什么方式,他其实到机房里,把你的网线拔了也是攻击的方式,比较常用的就是DDoS,这个成本比较低,因为他不需要破解你任何的协议,不需要管你游戏里如何实现,他只要用流量就可以实现。还有一种目的就是他希望在游戏里获利,这样就需要他破解你客户端和服务端的协议,伪造这个协议去刷一些漏洞,或者打击这个很多东西。

您刚刚说黑产有盈利,都有什么盈利方式?

董文辉:应该有几类吧,根本还是获利,对黑产来说根本还是获利,有几种表现形式,一种形式可能是同行竞争,要把你打一下。第二种就是敲诈勒索,第三种就是刚才讲的可能会偷源代码,还有打金,这种也有,但是可能成本会比较高。当然还有个人炫技,这种就太少了。

雨林:除了这些内容可能还有对于游戏的生态的一个影响,游戏里面都是有货币,都是有这些物品,特别是竞争对手对于我们常规的打击都比较困难的话,他有可能有更多的方式,比如说破坏平衡性的方式,比如说刚刚提到的外挂,外挂也是破坏平衡性的巨大的影响,比如说我们都是用人肉在玩游戏,但是他们会用外挂,用机器去处理。

第二,找到我们游戏本身的漏洞,因为游戏本身也是代码写成的,也有可能出现漏洞,通过倒刷物品、倒刷货币,获得额外的收益。

第三,在游戏体制内,它里面其实也有通货膨胀这个概念,所以说对于这种他也很快的能把这个游戏的生命周期缩短,所以这些都是我们黑产其中的一部分内容,他不仅仅只是不让我们进这个游戏,在游戏攻防完了以后,在游戏的内容、游戏的生态、游戏的经济体系里面仍然还有很多可以做首要的,这就带来了刚刚提到的打金的情况,各种商人,在这些交易平台里面会有非常多卖账号的,偷账号的,偷你的这些物品的,非常多的这种情况都有可能发生。

假如有人提出敲诈勒索,可能敲诈勒索的金额不大,或者你们判断当时首发的资源投入太多,那就先给他吧,先保证首发的情况,你们会不会这样做呢?

雨林:从8月20号上线以后,在这个过程当中确实没有团队来认领这件事情,但是从我们的角度来看,无论是一个组织还是多个组织,不管是怎么样,我们还是要以修炼内功为主,可能这家勒索完了,停息了,如果还有另外一家,如果我们自己的漏洞依然存在,我们防护的体系依然没有建立起来,它还是会有另外的人去看的,有可能是黑客组织,有可能是竞争对手,有可能是恶作剧,很多种情况。

这些组织不是世界上只有一个,所以说我们坚信一定是以自己能够把实力建起来为终极目标。

王睿:我们作为安全能力提供方,我们肯定是不会向黑客妥协的,然后我们对于厂商的建议,我们是尽可能的去帮助厂商抵御攻击,但是厂商如何做决策的话,我觉得主动权在厂商,这是一方面。

以我接触到的客户来说,他们其实很少愿意向黑客妥协,因为一旦向某一次攻击的黑客妥协,那后面其他的黑客就知道他是那个容易妥协的厂商,攻击会向他集中过来。

花大投入大力气建设安全,对于中小厂商而言可能并不容易做到。从腾讯安全角度来说,如何改变这个困境?

董文辉:这就像打仗一样,你要有一个好的士兵。对于中小厂商来说投入比较大,安全在市面上的人才还比较紧缺,抓到一个好的比较难。现在中小企业我们防护的建议,第一个要把整个安全防线给拉起来,我们把这个叫做工具,刚才介绍了我们WAF这样的产品,帮他把防线拉起来,同时还有后面有DDoS,主机安全,后面配套一些管理类的工具。

第二个也需要用好的战士——也就是服务这块,人也会有一些建议,交给专业厂商,代运维,比自己投入要省很多钱,一般像大的公司,他的安全能力,他的投入也比较大,有专业安全团队,有的3、5个,有10几个成个成本挺高的,如果你把这个服务交给第三方或者是交给腾讯云厂商来代管也是OK的。

王睿:我做游戏这么多年,如果你在运维的过程,或者开发的过程你有意识的去避免,防御式编程你在运维部署的过程中,去做一些最小权限的管理,做各种控制权限的事情,防止自己不必要的暴露,这个都是可以做到这也是不花钱的。我觉得作为游戏从业者把经历放在内容制作上,当然是自己的本职工作也是最重要的工作,但是做游戏内容的同时也要有一种安全防御的一种思想,无论开发和部署运维过程中,这样会给自己的公司省一大笔钱。

考虑到重要企业安全防控投入的人力和物力,腾讯安全的优势是什么?

董文辉:我现在是这样的一个是工具的打造,第二是服务团队的构建,在工具这个地方不用说主要在服务这块,是对服务商有什么优势?刚才讲,黑客的攻防其实太依赖于经验,和安全专家的能力水位,我们来说腾讯二十多年我们积累了大量的跟黑灰产对抗的经验,有一支很大的团队再做专业的事情,对我们来说主要讲多年我们现在应该差不多,有腾讯的一天开始腾讯也是一样跟各大厂商一样,也是面临非常多的黑客的攻击,在这个过程当中我们建立了很多攻防的经验,也有一个专业的服务团队去保障我们客户的安全,所以这个地方主要的优势,主要是经验,和完善的产品能力及情报的能力,这个应该是我们的优势。


你们观察,现在对有一些公司攻击不管是突发的还是一些大型的攻击是不是越来越多,越来越严重?背后原因是什么? 

王睿:这个黑产在行业内一直存在,不论大公司还是小公司都会经历过这些,只不过大公司安全规范比较好,技术实力比较强,资源比较充分,所以大公司对于这些攻击他可以抵挡的住,造成的影响也比较小,大家在新闻上看到也比较小,但是对于小公司来说还难抵御出来相同量级的攻击。

整个攻击变的越来越多,还是越来越少,其实我觉得并不是一个可以预测的一个趋势,主要是他攻击的目标是那些热度很高的。只玩同学也说了,热度很高的游戏,或者非常受用户欢迎的游戏,因为攻击这些游戏,他的投入比是最高的,因为他用相同的成本去攻击一个热度很高的游戏,造成影响会更大,他可以勒索更多的钱,竞争对手会给他更多的报酬我觉得后面的趋势还是看游戏的热度,如果有很多爆款的游戏,那些黑客动作可能会更加频繁。

腾讯安全如何看待游戏行业未来的安全建设呢?

董文辉:一点小建议,其实我觉得不仅是在未来,还要关注当下,因为攻防是动态的,现在基本上你还是要把很多该做的防御措施,包括研发阶段的,包括运营阶段的很多防御手段要上,比如说上产品,上一些流程规范等,这是当下要去做的。基础的一些安全能力都没有的话,肯定是立马要上的。

你的防御体系要先建起来,配套一些安全运维规范和开发的一些安全规范,就可以解决不少的问题了。

因为我们其实还看到一种APT的攻击,就是针对游戏大厂的,我们真实抓到的,他的主要目的是去偷源代码。我们回溯这个问题,大概在我们客户那里潜伏了四五百天时间,同时有攻击七八家游戏厂商,他就是偷源代码。

APT攻击这个东西是很难的,它非常的专业,前面我讲的这些东西,基本上百分之八九十的问题都能解决掉,攻击其实讲成本的,黑客攻击也是讲成本的。

你们个人觉得游戏黑产的治本之道是什么?

董文辉:我觉得从利益在哪个地方的点来看,安全攻防是没有一招制敌的法宝的。他是动态的,你随着他的演进你的防御体系。除非里面没有利益可言,只要他没有利益他的攻击自然就小时了。把防御体系建好,这个我认为是一个比较务实的一个做法。他很难说你能把他干掉,所以很难有治本之道。

雨林:有关于黑客产业这个确实是他的角度跟动机都是多元化,并不是通过一些简单的控制或者是一小部分团队的一个落网能够避免的,这个是一个全世界的行为并不是游戏行业,他是整个的互联网生态里面都是有的,所以我们确实是记者提到的情况,我们不管怎么样一定是要加强自己的内功,这个才是解决问题的根本之道,把自己的防御,包含自己的安全体系做到是足够好能够抵御住更多的情况,并且希望能够找到一个长期的合作伙伴能够共同的进步,这个技术特别是黑客的攻防技术他不是停滞的,他是一直在发展的,所以包含了黑客自己的人力,包含了自己反黑的能力都是在提升,这个过程一定是要有一个长久合作伙伴能够共同的成长和陪伴。

我们马上会研发几个产品都是国风的还会在海外去做,所以确实希望腾讯安全这边能够继续跟我们一起陪伴,让我们产品能够让更多的玩家见到。


文章评论
游戏葡萄订阅号