游戏行业DDoS 6年谈:什么样的架构才可以对DDoS免疫?

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
云安全中心 防病毒版,最高20核 3个月
云安全中心漏洞修复资源包免费试用,100次1年
简介: 接触DDoS相关技术和产品8年,其中6年,都在探究游戏行业的DDoS攻击难题。 在我看来,游戏行业一直是竞争、攻击最复杂的一个“江湖”。许多游戏公司在发展业务时,对自身的系统、业务安全,存在诸多盲区;对DDoS攻击究竟是什么,怎么打,也没有真正了解。

接触DDoS相关技术和产品8年,其中6年,都在探究游戏行业的DDoS攻击难题。

在我看来,游戏行业一直是竞争、攻击最复杂的一个“江湖”。许多游戏公司在发展业务时,对自身的系统、业务安全,存在诸多盲区;对DDoS攻击究竟是什么,怎么打,也没有真正了解。

我曾看到充满激情的创业团队、一个个玩法很有特色的产品,被这种互联网攻击问题扼杀在摇篮里; 也看到过一个运营很好的产品,因为遭受DDoS攻击,而一蹶不振。

这也是为什么想把自己6年做游戏行业DDoS的经验,与大家一起分享,帮助在游戏领域内全速前进的企业,了解本行业的安全态势,并给出一些可用的建议。


image


在与游戏公司安全团队接触的过程中,看到游戏行业对安全有两个很大的误区。

第一个误区是:没有直接损失,就代表我很安全。

事实上,相比其它行业,游戏行业的攻击量和复杂度都要高一筹。 每个游戏公司,每个应用,其实都遭受过攻击。但许多游戏安全负责人,仍然会“蒙在鼓里听打雷”,没有察觉正在发生的攻击,或者干脆视而不见,由此埋下安全隐患。

第二个误区是:很多游戏行业安全负责人会认为,只要装了防火墙,就能挡住绝大部分的攻击。

然而,防火墙的功能其实很有限。这也从侧面说明了许多游戏行业安全薄弱的根源:只去做好一个点,却看不到整个面。

然而,攻击者总会从意想不到的薄弱点,攻陷整个游戏行业的内部系统。

image


以DDoS攻击为例,2016年,全球有记录的DDoS峰值已近600G,300G以上的DDoS攻击,在游戏行业内已经毫不稀奇。

为什么游戏会是DDoS攻击的重灾区呢?这里说几点主要的原因。

首先是因为游戏行业的攻击成本低廉,是防护成本的1/N,攻防两端极度不平衡。随着攻击方的打法越来越复杂、攻击点越来越多,基本的静态防护策略无法达到较好的效果,也就加剧了这种不平衡。

其次,游戏行业生命周期短。一款游戏从出生,到消亡,很多都是半年的时间,如果抗不过一次大的攻击,很可能就死在半路上。黑客也是瞄中了这一点,认定:只要发起攻击,游戏公司一定会给“保护费”。

再次,游戏行业对连续性的要求很高,需要7*24在线,因此如果受到DDoS攻击,游戏业务很容易会造成大量的玩家流失。我曾经见过在被攻击的2-3天后,游戏公司的玩家数量,从几万人掉到几百人。

最后,游戏公司之间的恶性竞争,也加剧了针对行业的DDoS攻击。

image


而针对游戏行业的DDoS攻击类型也非常的复杂多样。总结下来,大致分为这几种:

首先是空连接:攻击者与服务器频繁建立TCP连接,占用服务端的连接资源,有的会断开,有的一直保持;比如开了一家面馆,“黑帮势力”总是去排队,但是并不消费,那么此时正常的客人也会无法进去消费。

其次是流量型攻击:攻击者采用udp报文攻击服务器的游戏端口,影响正常玩家的速度;还是上面的例子,流量型攻击相当于坏人直接把面馆的门给堵了。

再次,CC攻击:攻击者攻击服务器的认证页面,登陆页面,游戏论坛等,这是一类比较高级的攻击了。这种情况相当于,坏人霸占了收银台结账,找服务员去点菜,导致正常的客人无法享受到服务。

而后,假人攻击:模拟游戏登陆和创建角色过程,造成服务器人满为患,影响正常玩家。

还有对玩家的DDoS攻击:针对对战类游戏,攻击对方玩家的网络使其游戏掉线或者速度慢和对网关DDoS攻击:攻击游戏服务器的网关,游戏运行缓慢。

最后是连接攻击:频繁的攻击服务器,发垃圾报文,造成服务器忙于解码垃圾数据。


image


我以常见的DDoS和CC攻击为例,对他们的攻击方式做一个解释。

DDoS攻击的主要的方式是syn flood,ack flood,udpflood等流量型的攻击,本身从攻击方式来是非常简单的,无论是哪种方式,流量大是前提。如果防御方有充足的带宽资源,目前的技术手段防御都不会是难事;针对UDPflood,实际上很多游戏目前都不需要用到UDP协议,可以直接丢弃掉。

而CC攻击分为两种。一般针对WEB网站的攻击叫CC攻击,但是针对游戏服务器的攻击,很多人一般也叫CC攻击,两种都是模拟真实的客户端与服务端建立连接之后,发送请求。

针对网站的CC如下,一般是建立连接之后,伪造浏览器,发起很多httpget的请求,耗尽服务器的资源。

针对游戏服务器的CC,一般是建立连接之后,伪造游戏的通信报文保持连接不断开,有些攻击程序甚至也不看游戏的正常报文,而是直接伪造一些垃圾报文保持连接。


image


那么,游戏公司如何才能判断自己是否正在被攻击?

假定可排除线路和硬件故障的情况下,突然发现连接服务器困难,正在游戏的用户掉线等现象,则说明很有可能是遭受了DDoS攻击。

目前,游戏行业的IT基础设施一般有两种部署模式:一种是采用云计算或者托管IDC模式,另外一种是自拉网络专线。但基于接入费用的考虑,绝大多数采用前者。

无论是前者还是后者接入,在正常情况下,游戏用户都可以自由流畅的进入服务器并参与娱乐。所以,如果突然出现下面这几种现象,就可以基本判断是“被攻击”状态:

(1) 主机的IN/OUT流量较平时有显著的增长
(2)主机的CPU或者内存利用率出现无预期的暴涨
(3)通过查看当前主机的连接状态,发现有很多半开连接,或者是很多外部IP地址,都与本机的服务端口建立几十个以上的ESTABLISHED状态的连接,则说明遭到了TCP多连接攻击
(4)游戏客户端连接游戏服务器失败或者登录过程非常缓慢
(5)正在进行游戏的用户突然无法操作或者非常缓慢或者总是断线

image


在知道难点,和攻击状态的判断方法之后,来说说我所了解的DDoS防护方法。

目前,可用的DDoS缓解方法,有三大类。首先是架构优化,其次是服务器加固,最后是商用的DDoS防护服务。

游戏公司需要根据自己的预算、攻击严重程度,来决定使用哪一种。

在预算有限的情况下,可以从免费的DDoS缓解方案,和自身架构的优化上下功夫,减缓DDoS攻击的影响。

  1. 如果系统部署在云上,可以使用云解析,优化DNS的智能解析,同时建议托管多家DNS服务商,这样可以避免DNS攻击的风险。
  2. 使用SLB,通过负载均衡减缓CC攻击的影响,后端负载多台ECS服务器,这样可以对DDoS攻击中的CC攻击进行防护。在企业网站加了负载均衡方案后,不仅有对网站起到CC攻击防护作用,也能将访问用户进行均衡分配到各个web服务器上,减少单个web服务器负担,加快网站访问速度。
  3. 使用专有网络VPC,防止内网攻击。
  4. 做好服务器的性能测试,评估正常业务环境下能承受的带宽和请求数,确保可以随时的弹性扩容。
  5. 服务器防御DDoS攻击最根本的措施就是隐藏服务器真实IP地址。当服务器对外传送信息时,就可能会泄露IP,例如,我们常见的使用服务器发送邮件功能就会泄露服务器的IP。

因而,我们在发送邮件时,需要通过第三方代理发送,这样子显示出来的IP是代理IP,因而不会泄露真实IP地址。在资金充足的情况下,可以选择DDoS高防服务器,且在服务器前端加CDN中转,所有的域名和子域都使用CDN来解析。

image

也可以对自身服务器做安全加固。

  1. 控制TCP连接,通过iptable之类的软件防火墙可以限制某些IP的新建连接;
  2. 控制某些IP的速率;
  3. 识别游戏特征,针对不符合游戏特征的连接可以断开;
  4. 控制空连接和假人,针对空连接的IP可以加黑;
  5. 学习机制,保护游戏在线玩家不掉线,通过服务器可以搜集正常玩家的信息,当面对攻击的时候可以将正常玩家导入预先准备的服务器,新进玩家可以暂时放弃;
  6. 确保服务器系统安全;
  7. 确保服务器的系统文件是最新的版本,并及时更新系统补丁;
  8. 管理员需对所有主机进行检查,知道访问者的来源;
  9. 过滤不必要的服务和端口:可以使用工具来过滤不必要的服务和端口(即在路由器上过滤假IP,只开放服务端口)。这也成为目前很多服务器的流行做法。例如,“WWW”服务器,只开放80端口,将其他所有端口关闭,或在防火墙上做阻止策略;
  10. 限制同时打开的SYN半连接数目,缩短SYN半连接的timeout 时间,限制SYN/ICMP流量;
  11. 认真检查网络设备和主机/服务器系统的日志。只要日志出现漏洞或是时间变更,那这台机器就可能遭到了攻击;
  12. 限制在防火墙外与网络文件共享。这样会给黑客截取系统文件的机会,若黑客以特洛伊木马替换它,文件传输功能无疑会陷入瘫痪;
  13. 充分利用网络设备保护网络资源;
  14. 禁用 ICMP。仅在需要测试时开放ICMP。在配置路由器时也考虑下面的策略:流控,包过滤,半连接超时,垃圾包丢弃,来源伪造的数据包丢弃,SYN 阀值,禁用 ICMP 和 UDP 广播;
  15. 使用高可扩展性的 DNS 设备来保护针对 DNS 的 DDoS 攻击。可以考虑购买DNS商业解决方案,它可以提供针对 DNS 或 TCP/IP3 到7层的 DDoS 攻击保护。

image

再就是商用的DDoS解决方案。

针对超大流量的攻击或者复杂的游戏CC攻击,可以考虑采用专业的DDoS解决方案。目前,通用的游戏行业安全解决方案,做法是在IDC机房前端部署防火墙或者流量清洗的一些设备,或者采用大带宽的高防机房来清洗攻击。

当宽带资源充足时,此技术模式的确是防御游戏行业DDoS攻击的有效方式。不过带宽资源有时也会成为瓶颈:例如单点的IDC很容易被打满,对游戏公司本身的成本要求也比较高。

在阿里云,我们团队去颠覆带宽“军备竞赛”的策略,是提供一个可信的访问网络,这也是游戏盾诞生的初衷。

游戏盾风控模式的初衷,是从收到访问的第一刻起,便判断它是“好”还是“坏”,从而决定它是不是可以访问到它想访问的资源;而当攻击真的发生时,也可以通过智能流量调度,将所有的业务流量切换到一个正常运作的机房,保证游戏正常运行。


image


所以,通过风控理论和SDK接入技术,游戏盾可以有效地将黑客和正常玩家进行拆分,可以防御超过300G以上的超大流量攻击。

风控理论需要用到大量的云计算资源和网络资源,阿里云天然的优势为游戏盾带来了很好的土壤,当游戏盾能调度10万以上节点进行快速计算和快速调度的时候,那给攻击者的感觉是这个游戏已经从他们的攻击目标里面消失。

游戏盾,是阿里云的人工智能技术与调度算法,在安全行业中的成功实践。

而随着攻防进程的推进,网络层和接入层逐步壮大,我们希望“游戏盾”的风控模式,会逐步延展到各个行业中,建立起一张安全、可信的网络。这张网络中,传输着干净的流量,而攻击被前置到网络的边缘处。所有的端,在接入这张网络时,都会经过风险控制的识别,网内的风控系统,也让坏人无法访问到他锁定资源。

未来,以资源为基础的DDoS防护时代终将被打破,演进出对DDoS真正免疫的风控架构。

而我们所做的,只是一个开始。

相关文章
|
2月前
|
设计模式 存储 人工智能
深度解析Unity游戏开发:从零构建可扩展与可维护的游戏架构,让你的游戏项目在模块化设计、脚本对象运用及状态模式处理中焕发新生,实现高效迭代与团队协作的完美平衡之路
【9月更文挑战第1天】游戏开发中的架构设计是项目成功的关键。良好的架构能提升开发效率并确保项目的长期可维护性和可扩展性。在使用Unity引擎时,合理的架构尤为重要。本文探讨了如何在Unity中实现可扩展且易维护的游戏架构,包括模块化设计、使用脚本对象管理数据、应用设计模式(如状态模式)及采用MVC/MVVM架构模式。通过这些方法,可以显著提高开发效率和游戏质量。例如,模块化设计将游戏拆分为独立模块。
188 3
|
3月前
|
网络协议 网络架构
《黑神话:悟空》的网络架构与多人游戏实现
【8月更文第26天】《黑神话:悟空》作为一款备受期待的动作冒险游戏,其网络架构对于支持多人在线游戏体验至关重要。本文将详细介绍游戏在网络架构方面的设计思路,以及如何实现稳定且高效的多人游戏体验。
161 0
|
4月前
|
弹性计算 负载均衡 网络协议
在缓解DDoS攻击方面,如何优化业务架构?
**缓解DDoS攻击的策略:** 1. 缩小暴露面,隔离业务并隐藏非必需服务端口。 2. 使用VPC以增强内网安全。 3. 优化业务架构,进行压力测试,部署弹性伸缩和负载均衡。 4. 优化DNS解析,智能解析并屏蔽异常DNS响应。 5. 提供充足带宽以防攻击时影响正常流量。 6. 服务器安全加固,更新补丁,限制服务和端口,使用防火墙。 7. 建立应急响应预案,定期演练。 8. 考虑采用Web应用防火墙和专业DDoS防护服务。
184 17
|
5月前
|
SQL 存储 运维
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
随着网易游戏品类及产品的快速发展,游戏数据分析场景面临着越来越多的挑战,为了保证系统性能和 SLA,要求引入新的组件来解决特定业务场景问题。为此,网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不断地扩张,目前已发展至十余集群、为内部上百个项目提供了稳定可靠的数据服务、日均查询量数百万次,整体查询性能得到 10-20 倍提升。
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
|
5月前
|
安全 网络安全 调度
游戏行业如何做好安全,避免DDOS攻击
随着网络游戏行业的迅速发展,网络游戏问题也不可忽视,特别是目前网络攻击频发,DDoS攻击的简单化以及普及化,对游戏来说存在非常大的安全威胁。
|
存储 网络协议 Java
为什么王者荣耀、原神等游戏不使用微服务架构?
王者荣耀、原神作为家喻户晓的手游,能够支撑这么多人同时在线,其底层的架构自然令我们好奇,出乎意料的是,它并没有采用目前炙手可热的微服务架构,到底为什么会这样呢?本文结合知乎问答内容:https://www.zhihu.com/question/359630395撰写,本人其实也是个游戏迷,这次也是想深扒一下其底层的架构设计。
|
6月前
|
负载均衡 安全 网络协议
突发!亚洲游戏行业遭遇史上最大黑客 DDoS 攻击
游戏行业遭受频繁DDoS攻击,导致服务中断,例如欧洲国家安道尔全国近断网半小时。黑客利用低成本的DDoS手段勒索,尤其是针对中日韩印的手游市场。最常见的攻击方式是UDP洪水。防御措施包括使用硬件防火墙、抗D盾、负载均衡、SCDN流量清洗和分布式集群防御。游戏公司需平衡成本与安全,以确保服务稳定和玩家体验。在中国,此类攻击属犯罪行为,最高可判处有期徒刑。
|
6月前
|
运维 Kubernetes Cloud Native
冠赢互娱基于 OpenKrusieGame 实现游戏云原生架构升级
冠赢互娱基于 OpenKrusieGame 实现游戏云原生架构升级
|
移动开发 定位技术 iOS开发
游戏跨服架构进化之路
游戏跨服架构进化之路
85 0
|
Web App开发 存储 Linux
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)(下)
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)
下一篇
无影云桌面