AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

如果游戏被 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:451143

评论

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

JAVA面向对象(十一)--多态

加百利

Java 6月日更 多态

使用 Java 编写 Apache APISIX 插件

API7.ai 技术团队

Java 云原生 后端 插件 网关

如何设计好一个接口

🎄新

架构 设计 接口

测试开发之网络篇-IP地址

禅道项目管理

IP 协议 IP地址

Kafka 源码解析:Server 端的运行过程

华为云开发者联盟

kafka 网络 Server 端 SocketServer

同样都是使用接口,JAVA和Go差距咋就这么大呢?

面向加薪学习

融云年中大促 新老用户同享超值优惠

融云 RongCloud

深入浅出 LVS 负载均衡(四)实操 DR 模型、Keepalived DR 模型的高可用

UCloud技术

负载均衡

拍乐云 x 美上美学|监管当下,如何回归教育本质,打造品质和体验?

拍乐云Pano

RTC

构建WEB项目的 25 个HTML建议

devpoint

html 6月日更

浪潮云说丨叮!这是一份浪潮云物联网平台的简历,请查收!

云计算

从五大结构体,带你掌握鸿蒙轻内核动态内存Dynamic Memory

华为云开发者联盟

鸿蒙 内存管理 结构体 动态内存 Dynamic Memory

anyRTC 重磅推出在线实时 K 歌解决方案

anyRTC开发者

音视频 WebRTC 实时通讯 在线KTV

一觉醒来,发现自建的数据库被勒索了,好可怕…

华为云数据库小助手

数据库 高可用 安全性 DAS

“区块链指导意见”重磅发布 场景化应用昭示新蓝海

旺链科技

区块链应用 区块链供应链金融落地

bzz|chia矿池挖矿系统APP开发搭建

薇電13242772558

区块链

HarmonyOS 实战—服务卡片初体验

爱吃土豆丝的打工人

HarmonyOS 服务卡片 鸿蒙卡片

云小课 | 云硬盘不用了如何处理?

华为云开发者联盟

华为云 云硬盘 退订 删除 回收站

一进商场就迷路?ThingJS用室内导航拯救路痴!

ThingJS数字孪生引擎

程序员 大前端 可视化 3D可视化 数字孪生

带你掌握4种Python排序算法

华为云开发者联盟

Python 编程 算法 排序 冒泡排序

破局团伙作案风险——图卷积神经网络(GCN)算法

索信达控股

金融科技 数字化转型 数据建模 风险管理 图卷积神经网络

超清音质实时会议系统的背后 ,深入剖析 AliCloudDenoise 语音增强算法

阿里云CloudImagine

阿里云 音视频 语音 视频会议 算法实践

原来 spring.xml 配置的 destroy-method 需要用到向虚拟机注册钩子来实现!

小傅哥

Java spring 注册虚拟机钩子 init-method destroy-method

去中心化的互联网,区块链域名如何对抗在线审查

CECBC

Rust从0到1-自动化测试-如何编写测试

rust 自动化测试 如何编写测试 Automated Tests

不知道我写的链表是否能看懂

八点半的Bruce.D

php 数据结构 链表

高性能计算对生命科学研究有何帮助?

北鲲云

云计算 高性能计算 生命科学 虚拟筛选

马士兵强推面试前必刷:Alibaba内部Java高级架构师380道面试题

Java架构追梦

Java 阿里巴巴 面试 java架构

Docker被谁干掉了?

BUG侦探

Docker 云计算 Go 语言

RS485通信如何设计EMC电路?

不脱发的程序猿

电路设计 通信总线 RS485 EMC设计 通信抗干扰

从网络平台到城市平台——城市数字化的另类思考

CECBC

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