游戏DDoS防护新方案–SDK版

目前游戏行业还是攻击的重灾区,这个产品也应运而生,采用分布式节点部署,攻击流量分散在不同的节点上,可以无上限防御ddos,cc攻击其他协议攻击等。非常全面的防御各种攻击入侵渗透,同时为用户访问加速。

此产品设计之初并没考虑过商用,仅仅是“江湖救急”为了帮助几个朋友的游戏和在线教育平台抵抗大流量攻击,后来朋友介绍朋友,不断有平台接入测试,为不少平台轻松防护了棘手的流量攻击。由于传统高防的不足,针对TCP端口的CC攻击没有太好的过滤策略,外加流量攻击量不断飙高,依靠硬防生抗效果不理想同时防护价格昂贵等,产品经过不断历练进行了三次重构。目前技术实现已经足够稳定。

这个产品是一款专注于C/S架构的安全防护产品,利用分布式云集群拦截针对用户服务器的CC攻击、DDoS攻击,通过在APP客户端集成SDK防御模块,来实现精准快速的切换以及链路加密通讯,由于采用了隧道加密通讯技术,使用动态虚拟IP连接,因此,任何DDoS攻击流量都无法进入隧道,同时还可以隐藏真实服务器IP。

整个防护由三大模块组成,分别是客户端SDK、智能调度和身份验证

简单演示一下大概效果,有感兴趣的朋友可以进行沟通交流。市面上有不少同类商用产品,各有各的优点,这个产品并未考虑商用,有需要的可以免费提供部署和搭建。后续根据实际情况考虑开源。

一、生成SDK文件

通过搭建jenkins在线生成SDK文件

 

产品支持androidioswindows三端的源码和无源码集成。

随便从百度找了一款游戏app进行演示,因为直接下载的apk文件并无源码,因此,通过逆向的方式将sdk集成进去。

通过脚本进行集成之后进行测试(三端无源码集成过程后续单独写一个独立的介绍)。

二、抓包分析

先安装原版app进行抓包分析。

通过原版抓包能看到大量dns请求以及http明文请求数据。

再将逆向集成sdk的app进行安装并抓包。

由于sdk跟节点之间是加密传输的,因此抓包也无法获取dns解析记录以及http等明文信息,全部都是私有协议进行了封包。(截图中dns解析记录应该是在app启动sdk之前或者手机其他app解析请求)对比原版app的dns解析记录。

 

 

62001端口为sdk跟节点加密通讯端口。所有数据都被加密传输,同期还能起到加速功能。

上图为节点里面进行dns解析服务,所有的客户端dns解析都会在远端节点进行解析(httpdns),从而防范了dns污染和劫持。也可以避免攻击者获取域名信息。

 

抓包看到sdk跟分配的节点117进行通讯,在IP为117的节点里面将加密隧道程序断开,模拟节点被攻击产生无法访问的情况。抓包看到sdk迅速切换到分配给用户的第二个可用IP154.所有的切换都是无感知进行的。为了避免攻击者重复拉取全部节点池,sdk的验证端做了身份识别,token、deviceid等方式进行验证。每个用户分配的一组3个ip都不会重复,如果攻击者打死分配给他的节点IP,也只会影响到黑客自己。

SDK方案优点主要是不依靠生抗来防护,而是通过大量分布式节点调度防护。

其次能完美防护cc攻击,因为节点对外不提供任何业务端口,只对外开放一个加密传输隧道端口。

SDK节点切换都是瞬间切换,不依靠域名dns解析方式。cname防护集群切换依靠域名解析同时无法实现无缝切换,并且防cc效果依然不理想。

 

 同时还可以通过控制台进行各项配置。后续单独写一篇控制台使用。

 

 

 

 

 

 

 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>