作者:腾讯游戏云资深架构师 vince
本篇文章主要是分享游戏业务面临的安全风险场景,以及基于这些场景的特点,我们应该如何做好对应的防护。
背景:游戏行业ddos攻击愈演愈烈
《2017年度游戏行业DDoS态势报告》显示,中国成为全球ddos攻击最大受害区,占比84.79%。
第二个特点是,大流量攻击越来越多,其中百G以上攻击占比逐年加大:
第三个特点是游戏行业被攻击情况严重,已是最大受害行业。而其中棋牌类被攻击尤其严重,百G以上攻击棋牌类占比57%:
另外,国内已经开始出现超大流量攻击。在今年4月8日,腾讯云防护了1.23T的超大攻击流量,DDoS攻击越来越凶猛。面对越来越严峻的安全攻击现状,如何构筑我们的业务防线,这是所有游戏研发和发行商都要面对的问题。
常见游戏风险场景
鉴于游戏业务面临日益严峻的安全攻击风险,我们有必要对其进行进一步的剖析,为后续建立相应的安全防护打好基础。游戏安全场景由两部分要素组成。一部分是业务属性,另一部分是技术和部署架构;业务属性包括了游戏类型、攻击趋势、延迟要求等,决定了被DDoS的概率、攻击流量的大小,需要使用什么类型的防护资源,如BGP还是三大运营商的单线线路;技术和部署架构,包括使用的通信协议、部署架构等,决定了需要使用什么防护产品来对抗。
业务属性
业务属性可以从以下图中的几个方面来展开:
1、 游戏类型
近几年随着手游的持续走热,越来越多的手游类型出现,常见的手游类型如MOBA,MMO,以及16年开始兴起的棋牌等。MOBA和MMO等游戏由于地域属性粒度较粗,基本是以国家维度来做发行,竞争激烈但基本是良性竞争居多;而棋牌主要集中在国内发行,由于地方特色玩法各异,所以地域属性极强,竞争对手较为明确,容易产生不当竞争行为,典型的就是利用DDS攻击打击竞争对手。
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的防护资源,在攻击超过这个基数时也可以提供防护?总结说,是否可以以“保底+弹性”的防护模式,做到防护效果和成本的均衡?
技术和部署架构
1、 通用游戏架构
从游戏通用架构上来看,玩家通过cdn下载更新资源包,通过域名登录游戏,然后连接分配的游戏服开始游戏。其他游戏周边服务都在内网。恶意攻击者通过伪装成正常玩家,拿到所有直接公网暴露给游戏玩家的域名、公网IP等,从而通过其控制的互联网的巨量肉鸡对游戏进行攻击;在这个游戏架构场景中,可能被攻击的对象是CDN,DNS,登录服入口,游戏服入口等暴露在公网的服务。其中CDN和DNS一般都是平台型的服务,攻击不多。重点攻击对象是登录服,游戏服务等。
2、 不同延迟需求
在防护时,登录、支付等服务相比游戏服,延迟容忍度更高一下;所以防护措施与游戏服不同,可以考虑电信联通等单线的大带宽高防资源;游戏服的延迟要求与类型密切相关,可以参见上述提及的延迟要求。
3、 可否更换 IP
从业务技术架构上看,能否更换IP,决定了防护的灵活性;若可以更换IP,则可以灵活的调度多个IP实现“游击战”式的灵活防护;如果不能更换IP,只能用带宽先把攻击流量承接下来,然后再做清洗;这种情况在攻击量超过带宽上限时,服务端公网入口已经被拥塞至几近瘫痪,业务请求几乎都不能被正常处理。
4、 是否可多地域部署
此外,如果业务可以多地域部署,则可以更好的利用多地的高防资源防护,并且玩家游戏体验更好。
防护思路总结
架构设计阶段
把安全防护考虑在内,尽量采用公网IP可更换或服务端提供域名访问、可多地域部署的架构
业务部署阶段
规划好暴露在公网的服务(即需要防护的目标)的数量,使其处在一个合理区间,以便在单点攻击发生时,不会影响全部玩家;同时也要综合考虑防护成本和效果;
根据游戏类型,以及自身的竞争环境是否健康,规划游戏是否需要独立的防护资源,游戏内不同玩家分组,不同业务模块是否需要独立防护;否则多业务可以共享防护资源;
根据延迟要求,选择防护资源的地域和线路;一个游戏内的不同服务,延迟要求可能也不相同,例如大厅服通常相对游戏服的延迟要求就低一些;
根据业内攻击数据统计,以及自身的竞争现状,规划是否需要保底+弹性的灵活防护模式,以平衡防护效果和成本;
业务被攻击时
根据攻击情况,调整保底和弹性模式;结合攻击频率,调整防护策略。如果是大流量攻击,但是还在防护带宽内,可以考虑继续使用大带宽防护或者适当升级带宽以保障防护效果;如果是大流量带宽攻击频繁,超过可以购买的带宽或者防护成本过高,可以考虑多高防 IP调度的方式;
如遇到频繁且复杂的攻击场景,有必要建立多层防护。例如使用多 IP 灵活调度作为第一层,第二层可以使用大带宽的三网防护兜底,针对 CC 可以做到有效防护,在一些复杂场景,一定程度上可以做自定义防护;
腾讯云专家助力
在以上各阶段,可以联系腾讯云团队,可以一起更有效的做好多轮次攻防。
腾讯云游戏高防产品-宙斯盾
结合上述的防护思路,在面对越来越严峻的安全威胁时,可以使用腾讯云提供的高防服务宙斯盾来保障业务安全。腾讯云宙斯盾安全防护提供了全方位多层次的 DDoS 防护方案,可以完全契合上述防护思路。您可以根据业务部署特点选择 DDoS 高防 IP、DDoS 高防包,并根据防护需求配置高级安全策略、CC 防护策略、水印防护策略等以灵活应对多种 DDoS 和 cc攻击威胁。
防护域名
防护域名提供智能解析和自动切换的能力。 在同时具备包括BGP的多线路防护资源时,优先解析到BGP;若发生攻击导致BGP线路被封禁,系统会自动切换到三网防护资源,此时会根据访问者的来源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攻击。
原文链接:https://www.163.com/dy/article/DSKKTTJO0548138I.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/21100