原来游戏技术行业最大的秘密竟然是...

260 阅读12分钟

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

本文由腾讯游戏云发表于云+社区专栏

本篇文章主要是分享游戏业务面临的安全风险场景,以及基于这些场景的特点,我们应该如何做好对应的防护。

【一、背景:游戏行业DDoS攻击愈演愈烈】

《2017年度游戏行业DDoS态势报告》显示,中国成为全球DDoS攻击最大受害区,占比84.79%。

img

第二个特点是,大流量攻击越来越多,其中百G以上攻击占比逐年加大:

img

第三个特点是游戏行业被攻击情况严重,已是最大受害行业。而其中棋类类被攻击尤其严重,百G以上攻击棋类类占比57%:

img

另外,国内已经开始出现超大流量攻击。在今年4月8日,腾讯云防护了1.23T的超大攻击流量,DDoS攻击越来越凶猛。面对越来越严峻的安全攻击现状,如何构筑我们的业务防线,这是所有游戏研发和发行商都要面对的问题。

【二、常见游戏风险场景】

鉴于游戏业务面临日益严峻的安全攻击风险,我们有必要对其进行进一步的剖析,为后续建立相应的安全防护打好基础。游戏安全场景由两部分要素组成。一部分是业务属性,另一部分是技术和部署架构;业务属性包括了游戏类型、攻击趋势、延迟要求等,决定了被DDoS的概率、攻击流量的大小,需要使用什么类型的防护资源,如BGP还是三大运营商的单线线路;技术和部署架构,包括使用的通信协议、部署架构等,决定了需要使用什么防护产品来对抗。

业务属性

业务属性可以从以下图中的几个方面来展开:

img

1、 游戏类型

近几年随着手游的持续走热,越来越多的手游类型出现,常见的手游类型如MOBA,MMO,以及16年开始兴起的棋类等。MOBA和MMO等游戏由于地域属性粒度较粗,基本是以国家维度来做发行,竞争激烈但基本是良性竞争居多;而棋类主要集中在国内发行,由于地方特色玩法各异,所以地域属性极强,竞争对手较为明确,容易产生不当竞争行为,典型的就是利用DDoS攻击打击竞争对手。

2、 生命周期

不同的业务在生命周期的不同阶段,所可能受到的攻击情况也不同。以棋类,特别是地方棋类为例,在新游上线初期,可能就会被“围殴”打瘫。因为这个时候攻击影响和成本堪称“性价比”最高,新游首发阶段,如果连续被攻击几天,不仅游戏口碑变差,运营投入的广告转换率和留存率也会很低,给发行商带来很大经济损失。

3、 延迟要求

在防护业务时,两个方面需要考虑,一个是防住攻击,第二是尽量不影响玩家体验。能否防住攻击,与高防产品技术、架构和资源有关,后续再深入介绍。为了不影响玩家体验,建议网络延迟不要增加至超过上述延迟的上限。又因网络延迟主要和网络线路质量有关,故建议MOBA,MMO使用BGP线路的防护资源;棋类类可以使用BGP(常态下业务访问+基础防护)+三网(大流量下防护)的组合防护资源。

4、 攻击类型

从近年来的攻击情况看,主要以反射性UDP攻击为主,且流量巨大。18年初出现利用Memcached可以放大5万倍的流量,非常惊人,急需有效的UDP防护策略来防护。从攻击时长和频次来看,一定程度上可以预判攻击意图和后续攻击的情况,便于做防护准备。例如对于攻击时间长,频次高的情况,甚至十分钟左右就是一轮高峰值攻击,这种情况下,对方势必要打瘫目标,所以开发商需要和云厂商一起合作才能做好针对性防护。

5、 攻击大小

从以上2017年的攻击统计情况来看,攻击主要集中在2-4月份,全年有3/4的时间攻击量和频次都不高。 从攻击大小上看,87.1%的攻击是在50G以下,约51.2%的攻击是在10G以下。所以是否常态下置备 50G 或 20G的防护资源,在攻击超过这个基数时也可以提供防护?总结说,是否可以以“保底+弹性”的防护模式,做到防护效果和成本的均衡?

技术和部署架构

img

1、 通用游戏架构

从游戏通用架构上来看,玩家通过CDN下载更新资源包,通过域名登录游戏,然后连接分配的游戏服开始游戏。其他游戏周边服务都在内网。恶意攻击者通过伪装成正常玩家,拿到所有直接公网暴露给游戏玩家的域名、公网IP等,从而通过其控制的互联网的巨量肉鸡对游戏进行攻击;在这个游戏架构场景中,可能被攻击的对象是CDN,DNS,登录服入口,游戏服入口等暴露在公网的服务。其中CDN和DNS一般都是平台型的服务,攻击不多。重点攻击对象是登录服,游戏服务等。

2、 不同延迟需求

在防护时,登录、支付等服务相比游戏服,延迟容忍度更高一下;所以防护措施与游戏服不同,可以考虑电信联通等单线的大带宽高防资源;游戏服的延迟要求与类型密切相关,可以参见上述提及的延迟要求。

3、 可否更换 IP

从业务技术架构上看,能否更换IP,决定了防护的灵活性;若可以更换IP,则可以灵活的调度多个IP实现“游击战”式的灵活防护;如果不能更换IP,只能用带宽先把攻击流量承接下来,然后再做清洗;这种情况在攻击量超过带宽上限时,服务端公网入口已经被拥塞至几近瘫痪,业务请求几乎都不能被正常处理。

4、 是否可多地域部署

此外,如果业务可以多地域部署,则可以更好的利用多地的高防资源防护,并且玩家游戏体验更好。

【三、防护思路总结】

img

架构设计阶段

把安全防护考虑在内,尽量采用公网IP可更换或服务端提供域名访问、可多地域部署的架构

业务部署阶段

规划好暴露在公网的服务(即需要防护的目标)的数量,使其处在一个合理区间,以便在单点攻击发生时,不会影响全部玩家;同时也要综合考虑防护成本和效果;

根据游戏类型,以及自身的竞争环境是否健康,规划游戏是否需要独立的防护资源,游戏内不同玩家分组,不同业务模块是否需要独立防护;否则多业务可以共享防护资源;

根据延迟要求,选择防护资源的地域和线路;一个游戏内的不同服务,延迟要求可能也不相同,例如大厅服通常相对游戏服的延迟要求就低一些;

根据业内攻击数据统计,以及自身的竞争现状,规划是否需要保底+弹性的灵活防护模式,以平衡防护效果和成本;

业务被攻击时

根据攻击情况,调整保底和弹性模式;结合攻击频率,调整防护策略。如果是大流量攻击,但是还在防护带宽内,可以考虑继续使用大带宽防护或者适当升级带宽以保障防护效果;如果是大流量带宽攻击频繁,超过可以购买的带宽或者防护成本过高,可以考虑多高防 IP调度的方式;

如遇到频繁且复杂的攻击场景,有必要建立多层防护。例如使用多 IP 灵活调度作为第一层,第二层可以使用大带宽的三网防护兜底,针对 CC 可以做到有效防护,在一些复杂场景,一定程度上可以做自定义防护;

腾讯云专家助力

在以上各阶段,可以联系腾讯云团队,可以一起更有效的做好多轮次攻防。

【四、腾讯云新一代高防解决方案】

结合上述的防护思路,在面对越来越严峻的安全威胁时,可以使用腾讯云新一代高防解决方案来保障业务安全。腾讯云新一代高防解决方案提供了全方位多层次的 DDoS 防护方案,可以完全契合上述防护思路。您可以根据业务部署特点选择 DDoS 高防 IP、DDoS 高防包,并根据防护需求配置高级安全策略、CC 防护策略、水印防护策略等以灵活应对多种 DDoS 和 CC攻击威胁。

img

防护域名

防护域名提供智能解析和自动切换的能力。 在同时具备包括BGP的多线路防护资源时,优先解析到BGP;若发生攻击导致BGP线路被封禁,系统会自动切换到三网防护资源,此时会根据访问者的来源IP自动解析到对应的运营商线路,从而尽可能的保证最优的延迟;

高防IP

借助BGP高防IP的力量来防护,客户端连接到高防IP,高防IP再转发给游戏服务器;可以转发云外或者云上的服务器。

高防包

对于部署在腾讯云上的业务,高防包就像一层护甲,直接在现有业务IP上生效,做到快速接入高防,业务无需做变更;高防包分两种:

ü 单IP高防包,为腾讯云上一个服务器或者负载均衡提供防护;

ü 多IP高防包,也叫共享高防包,可以防护多个腾讯云服务器或者负载均衡;

高级安全策略

如果DDoS攻击流量的报文中有一定特征,可以通过设置针对性的安全策略,进行有针对性的过滤

CC防护策略

CC防护一直是个难点,通过在CC检测清洗层面,设置自定义的检测和处理策略,可以有效阻击一定的CC攻击。如果一些特殊的CC流量已经到达服务器,也可以通过开启紧急防护模式,收紧防护策略,从而达到防护效果。

空连接防护

在CC防护中,空连接是一种常用的手段。腾讯云后台会先与请求端建立连接,待有非空连接到来时,才使请求端与服务端真正建立连接,避免空连接攻击对服务产生影响。

水印防护

如果CC攻击频繁且攻击量大,急需彻底防护CC,可以使用水印防护的方案。腾讯云新一代高防解决方案通过在业务报文中增加动态标签,即水印的方式,来识别是否是游戏的正常流量,且潜在攻击者无法通过抓取报文进行回放等方式进行攻击,100%有效过滤攻击流量。

【五、常见游戏类型防护方案】

MOBA/MMO

对于 MOBA和MMO 类型的现有项目可以使用BGP高防包覆盖所有公网服务;

新游戏可以使用BGP高防IP或者BGP 高防包覆盖所有公网服务,在发生攻击被黑洞时,可以通过提升防护套餐快速解除黑洞状态,恢复业务访问;

棋类

对于棋类业务来说,攻击情况比较复杂。攻击流量大、类型多样、变化快,攻击人员更专业,攻击周期可能会很长,少数情况甚至长达数月或超过一年。所以需要有一套应对复杂状况的方案。根据经验,我们建立了一个多层次防护体系,可以节节对抗,有针对性的变化防护策略,达到有效防护的目的。

防护方案整体上可以采用防护域名+ BGP 高防IP + 三网高防 IP + 高防IP 灵活调度的策略。第一层防护,使用BGP高防IP防护中小流量,并且作为业务对外正常服务的入口;第二层防护,使用三网高防或BGP高防IP灵活调度来防护、三网高防作为保底措施;第三层,若攻击报文有长度、内容特征,可以使用自定义防护策略,过滤这些报文;第四层,若有明显CC攻击,默认的空连接防护以及紧急防护模式(更严格的过滤策略),可以帮助业务正常提供服务,也可以在研发或上线后逐步接入水印防护,100%有效防护CC攻击。

【六、结语】

以上即是对常见游戏场景和防护方案的简要分析,如有DDoS防护需求,可以联系腾讯云商务或行业架构师沟通详细需求和新一代高防解决方案方案。

问答 如何防范DDos攻击? 相关阅读 小隐隐于野:基于TCP反射DDoS攻击分析 实战分享:如何成功防护1.2T国内已知最大流量DDoS攻击 “吃鸡”全球登顶背后的神助攻,了解一下?

**此文已由作者授权腾讯云+社区发布,原文链接:cloud.tencent.com/developer/a… **

欢迎大家前往腾讯云+社区或关注云加社区微信公众号(QcloudCommunity),第一时间获取更多海量技术实践干货哦~