其他

干货分享:棋牌游戏如何针对DDOS攻击做好防御?

2017-11-29 手游那点事

随着闲徕、皮皮等这一类新兴棋牌游戏公司的异军突起,今天整个行业都涌现出了大量的棋牌游戏公司。但游戏行业一直是竞争状态,尤其是棋牌行业是目前竞争、攻击最复杂的一个“江湖”。很多公司对这个行业不了解,贸然进行进入,并未对自身的系统、业务安全做很好的认知,存在很大的盲区,一旦被攻击束手无策,尤其是DDoS攻击是什么,怎么打出来的,怎么防护都不了解。

我们见过很多有激情、有技术的团队、玩法相当有特色产品进入市场,但是由于对行业的认知不足,直接被DDoS攻击给扼杀了,甚至在游戏仅在10余名代理商内测的阶段就被DDoS攻击,直接被高额的防护成本扼杀在了摇篮里。

因此阿里云针对棋牌行业的攻防特性及需求,在2017年召开阿里游戏云“棋牌X安全”全国巡回技术分享沙龙。这也是我们希望通过本次机会,能够走进地方,走进棋牌行业刚需,将游戏盾团队在这几年积累的经验能够分享给所有在棋牌行业的客户,帮助棋牌行业看清国内目前的攻击态势,全面提高自身的安全级别。

在11月29日举办的阿里游戏云“棋牌X安全”技术分享沙龙——成都站中,阿里云云盾产品专家黄犊在沙龙中详细解读了棋牌游戏的DDOS防御。

首先需要了解的是整个攻击态势:

阿里云:游戏行业DDoS态势报告(2017年上半年)中提出,90%的在被攻击的3天后业务就会彻底下线,持续攻击2-3天后业务的不稳定会导致客户流失90%以上,而攻击的日损失会在百万元以上!

尤其是棋牌行业,由于同质化竞争严重,棋牌行业已经成为DDoS攻击的重灾区,平均每天会出现30次左右的大流量DDoS攻击,攻击峰值超过600Gb。整个上半年超过300Gb的攻击超过1800次,最大峰值为608Gb。

其次是黑客的主要攻击方式:

1、DDoS

攻击者主要采用UDP报文、TCP报文攻击服务器的游戏服务器的带宽,这一类攻击目前十分暴力,通常反映出来的就是服务器带宽异常升高,攻击流量远远大于服务器所在网络所能承受的最大带宽,直接导致服务器拥塞,正常玩家的请求无法到达服务。

2、BotAttack(TCP协议类CC攻击)

这种攻击相对于DDoS来说更难防御,黑客通过TCP协议的漏洞,利用海量的真实的肉鸡对服务器发起TCP请求,而正常服务器所能接受的请求数都在3000个/秒左右,黑客通过十几万的每秒的速度对服务器发起TCP了解,直接导致服务器TCP队列满,CPU升高、内存过载,进一步造成服务器死机来影响客户的业务,这种攻击的流量通常都很小,有时候隐藏在真实的业务流量中,很难发现,更是很难防御。

3、业务的模拟(深度业务模拟类CC攻击)

除了上面2中常见的攻击以外,由于棋牌类的游戏通信协议相对比较简单,所以黑客进行协议破解的难度很小,目前我们已经发现有黑客会针对棋牌客户的登陆、注册、房间创建、充值等多种业务接口进行协议模拟型的攻击,这种流量和正常业务一样,相对于BotAttck来说和模拟程度更高,防御难度更高!

4、其他针对性手段

另外除了传统的网络攻击以外,有很多棋牌客户还被有针对性的攻击,例如:数据库数据泄漏、微信恶意举报封域名等非常有针对性的攻击,每次出现问题,都会直接影响到业务的发展。

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

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

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

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

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

如何针对这些攻击做好防御呢?

做好攻击防护主要有3个方向:

1、架构优化-好的架构能解决很多问题
2、服务器加固-先做好自己能做的防御
3、商用的DDoS防护服务-选择靠谱的服务提供商最重要

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

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

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

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

对自身服务器做安全加固

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

最后就是商业化的DDoS防护方案

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

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

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

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

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

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

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

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

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

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

阿里游戏云“棋牌X安全”技术分享沙龙下一站继续,详情请关注阿里云游戏微信公众号~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存