写点什么

如果游戏被 DDoS 攻击了怎么办?腾讯云是这样做的

  • 2019-10-29
  • 本文字数:3986 字

    阅读完需:约 13 分钟

如果游戏被DDoS攻击了怎么办?腾讯云是这样做的

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

背景:游戏行业 DDoS 攻击愈演愈烈

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



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



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



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

常见游戏风险场景

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

业务属性

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


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 的防护资源,在攻击超过这个基数时也可以提供防护?总结说,是否可以以“保底+弹性”的防护模式,做到防护效果和成本的均衡?

技术和部署架构

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 自动解析到对应的运营商线路,从而尽可能的保证最优的延迟;

高防 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 防护需求,可以联系腾讯云商务或行业架构师沟通详细需求和新一代高防解决方案方案。


本文转载自公众号云加社区(ID:QcloudCommunity)。


原文链接:


https://mp.weixin.qq.com/s/_dkHh-88uvS2MyK2a77oKQ


2019-10-29 10:451028

评论

发布
暂无评论
发现更多内容

这一次!我在百度告诉你,当你请求百度时都发生了什么...

程序员 架构 面试 计算机

面试侃集合之SynchronousQueue非公平模式篇

码农参上

非公平锁 SynchronousQueue 8月日更

阿里内部推出Spring响应式微服务Boot2Cloud文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

疫情小区离你有多远,百度地图告诉你

百度开发者中心

最佳实践 百度地图

常用正则表达式最强汇总(含Python代码举例讲解+爬虫实战)

Python研究者

8月日更

膜拜!阿里内部都在强力进阶学习springboot实战派文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

阿里P8大牛耗费三年整理的:Java架构之完美设计实战PDF

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

终于有人把操作系统,CPU,基础知识,网络一次讲清楚了,绝绝子

Java~~~

Java 架构 面试 TCP 网络

深层剖析鸿蒙轻内核M核的动态内存如何支持多段非连续性内存

华为云开发者联盟

鸿蒙 内存 结构体 OpenHarmony 动态内容

Go- map的定义

HelloBug

Go 语言 map的定义

Go- map的使用

HelloBug

Go 语言 map的使用

惊!阿里大佬珍之若宝的最强高并发pdf,竟然被上传GitHub开源

Java 编程 架构 面试 程序人生

今天我们来谈谈Golang的同步等待组

Regan Yue

Go 语言 8月日更 同步等待组

Shopee物流业务核心数据库架构演变——权衡取舍的艺术

Shopee技术团队

架构 #数据库 #物流 #供应链 #Shopee

带你读AI论文丨LaneNet基于实体分割的端到端车道线检测

华为云开发者联盟

端到端 网络模型 车道线 实体分割 LanNet

Spark必读!总有一些Spark知识点你需要知道

Qunar技术沙龙

spark hdfs mapreduce Web UI 数据倾斜

超实用?HUAWEI高工总结出15W字的图解计算机操作系统指南手册

Java~~~

Java 架构 面试 TCP 网络

算法推荐规制!《互联网信息服务算法推荐管理规定(征求意见稿)》公开征求意见

郑州埃文科技

比POSTMAN更好用!在国产接口调试工具APIPOST中使用Mock

Proud lion

大前端 后端 Postman 开发工具 接口文档

【墨天轮专访第二期】巨杉数据库萧少聪:重视企业长期需求,打造中国的世界级产品

墨天轮

数据库 人物访谈 国产数据库 巨杉数据库

eKuiper 联手 OpenYurt,解决物联网场景下边缘流数据处理难题

EMQ映云科技

云计算 阿里云 物联网 IoT #Kubernetes#

堡垒机和防火墙的三大区别分析-行云管家

行云管家

网络安全 防火墙 信息安全 数据安全 堡垒机

字节再次出圈!GitHub上爆火一星期的算法刷题手册竟出自这人之手

Java~~~

Java 架构 面试 算法 数据结构与算法

金九银十给我疯狂内卷!GitHub再现星标86K面试手册,37K!妥妥的

Java~~~

Java 架构 面试 算法 JVM

阿里P8大牛终于整理完了564页大话java性能优化神仙文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

使用接口文档快照机制,让接口文档不在频繁变动

CodeNongXiaoW

大前端 测试 后端 接口文档

如何支持亿级用户分流实验?AB实验平台在爱奇艺的实践

爱奇艺技术产品团队

测试 开发 精准测试 AB testing实战

保姆级教程,小白也能2周搞定3个月的Web开发任务!

博文视点Broadview

Alibaba新产!Spring+SpringBoot+SpringCloud全家桶进阶小册

Java~~~

Java spring 架构 面试 Spring Cloud

基于 Formily 的表单设计器实现原理分析 ​

全象云低代码

JavaScript 低代码开发 表单设计

模块六作业

燕燕 yen yen

架构实战营

如果游戏被DDoS攻击了怎么办?腾讯云是这样做的_文化 & 方法_vince_InfoQ精选文章