写点什么

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

评论

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

【名师代练】带你玩转 RocketMQ,角逐「RocketMQ 首席评测官」

阿里巴巴云原生

阿里云 云原生 Apahce RocketMQ

TDengine 3.1.0.0 版本成功发布,涉及五大板块功能更新!

TDengine

tdengine 时序数据库

SpringBoot3集成ElasticSearch

Java elasticsearch 架构 springboot SpringBoot3

【学习课程送福利!】InfoQ最新Java开发课程喊你来领奖品!100%中奖!

SoFlu-JavaAI开发助手

什么是主数据管理?企业主数据管理方法论

优秀

主数据管理 主数据

提速 40%,融云基于 QUIC 深度优化通信协议

融云 RongCloud

网络 协议 融云 QUIC 通讯

融云出海:两极分化的网红大户「拉美」如何出海制胜

融云 RongCloud

互联网 泛娱乐 出海 社交娱乐 社媒

Apache Dubbo 云原生可观测性的探索与实践

阿里巴巴云原生

Apache 阿里云 云原生 dubbo

对线面试官 - TCP 经典面试题

派大星

Java 面试题

报表分析工具免费试用:瓴羊Quick BI带你快速解析数据

夜雨微澜

Presto 设计与实现(一):开篇

冰心的小屋

数据湖 presto SQL引擎

【数据库原理 | MySQL】一文打通 DDL语句 - ARTS 打卡第 一 周

计算机魔术师

QT使用QML实现地图绘制虚线

芯动大师

商业智能工具 bi工具是什么,瓴羊Quick BI能给企业主带来哪些优势?

对不起该用户已成仙‖

20. 异常处理

茶桁

Python 异常

文心一言 VS 讯飞星火 VS chatgpt (76)-- 算法导论7.3 1题

福大大架构师每日一题

福大大架构师每日一题

ASR 语音识别接口封装和分析

非晓为骁

AI 语音识别 ASR AIGC

云原生 AI 工程化实践之 FasterTransformer 加速 LLM 推理

阿里巴巴云原生

阿里云 AI 容器 云原生

智能标签系统如何助力智能推送服务

MobTech袤博科技

前端开发 消息推送 APP开发 前端开发工具

低代码平台技术分享官丨工作流应用场景之动态驳回

inBuilder低代码平台

Apache 官方限定社区周边,Community Over Code 亚洲大会参会礼包抢鲜看!

Apache IoTDB

融云:以对话为场景本质,AIGC 将如何改变游戏规则

融云 RongCloud

人工智能 AI 算法 AIGC 通讯

ARTS 打卡第 6 天

自由

从“智能涌现”到“价值涌现”,讯飞星火又一次“登月”

脑极体

讯飞

免费物联网平台好用吗?物联网平台卷蒙圈了,集体不要钱,白嫖的到底能不能用?

Geek_a6511e

物联网平台 物联网 物联网低代码平台 物联网平台选型

什么是业务敏捷,如何实现业务敏捷?

CODING DevOps

敏捷开发

【Python】一键查询依赖生成文件 requirements.txt

ReturnTmp

火热的低代码和无代码赛道

互联网工科生

软件开发 低代码 无代码 应用开发

一个好用的低代码平台应具有哪些素养?

树上有只程序猿

低代码 零代码 应用开发

如何落地复杂系统的架构治理?

码猿外

架构设计 软件架构治理

锐炫无畏,助威亚运!英特尔锐炫显卡成为杭州亚运会官方指定图形处理器

E科讯

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