作者:腾讯云宙斯盾安全团队&腾讯安全平台部

引言:

DDoS攻击势头愈演愈烈,除了攻击手法的多样化发展之外,最直接的还是攻击流量的成倍增长。3月份国内的最大规模DDoS攻击纪录还停留在数百G规模,4月,这个数据已经突破T级,未来不可期,我们唯有保持警惕之心,技术上稳打稳扎,以应对DDoS攻击卷起的血雨腥风。4月8日,腾讯云宙斯盾成功防御了1.2Tbps的超大流量攻击,也是目前国内已知的最大攻击流量,这篇文章就此次攻防事件简单地为大家做一个梳理和分析。

国内已知最大攻击流量来袭

4月8日,清明节后第一个工作日,腾讯云一个重要的棋牌游戏客户突然遭受大流量DDoS攻击,棋牌类游戏遭受攻击习以为常,但是本轮攻击流量峰值竟达到了1.23Tbps,刷新国内DDoS攻击最大流量记录。

不过凭借腾讯云宙斯盾超大防护带宽以及腾讯安全平台部十余年DDoS防护技术积累的支撑下,腾讯云携手该棋牌游戏客户成功防护了这次超大流量攻击,护航客户棋牌业务稳定运行。

那么这么大的攻击怎么来的呢?又是怎么被成功防护的呢?

攻击分析

本次攻击手法主要为拥塞带宽型攻击手法(SSDP反射,攻击原理下文介绍),在总体流量中占比97%,攻击流量达1.2Tbps,和协议缺陷型(SYNFLOOD和ACKFLOOD),在总体流量中占比3%。

SSDP反射

只要对DDoS有一定认知的同学,肯定不会对SSDP反射攻击陌生,作为现网最常见的DDoS攻击手法之一,SSDP反射由于可用的反射终端数量庞大,放大系数可观,而备受攻击者青睐。

在攻击思路上跟其他反射攻击一样,攻击者发起SSDP反射的大致过程为:

  • 通过IP地址欺骗方式,攻击者伪造目标服务器IP,向开放SSDP服务的终端发起请求;
  • 由于协议设计缺陷,SSDP服务无法判断请求是否伪造,并向目标服务器进行响应。就这样数量极其庞大的SSDP响应报文同时发往被攻击服务器;
  • 更可怕的是在特定请求下,一个SSDP请求报文可以触发多个响应报文,而每个响应报文比请求报文体积更大,最终造成攻击流量约为30倍的放大。

来源IP分析

本次攻击共采集到攻击源16.6万个。其中国内占比68%,海外占比32%,TOP 3国家分别是:中国(68%)、俄罗斯(13%)、美国(8%)。

在国内方面,攻击主要来源省份:山东省(40%)、辽宁省(20%)、河北省(16%)等环渤海区域,其次是浙江省(10%)、台湾省(9%)。

国内攻击源的主要运营商来源为中国电信(占比66%)和中国联通(占比24%)。

在攻击源属性方面,主要来自于个人PC,占比57%,IDC服务器占比28%,值得注意的是,物联网设备在此次攻击源中占比达到15%。攻击者在攻击武器方面,物联网设备作为攻击源的数量呈明显增长趋势。眼下物联网设备安全问题不容忽视

由此可见,公网上开放SSDP服务的终端数量非常庞大,而且分布广泛,为攻击者实施攻击带来便利。

防护方案

为了有效防护DDoS攻击,建议游戏厂商和开发者做好以下几个事项。

(1)预估攻击风险,必要时接入高防

不同类型的业务遭受外部DDoS攻击的风险完全不一样。所以运营者应根据自身行业的攻击威胁态势,以及自己业务历史遭受的DDoS攻击情况,来判断是否会被黑产"盯上"及是否需要接入高防。

而不可不提的是,游戏行业的高利润、行业恶性竞争等因素决定了该行业成为DDoS的高发区。根据腾讯云数据统计表明,超过66%的DDoS和CC攻击均针对游戏业务。所以对于游戏业务运营者来说,更需预估攻击威胁,必要时接入高防,方能保障业务稳定运行。

(2)接入高防后,切勿暴露源站

接入高防后,腾讯云会分配专门的高防代理IP,而为了避免黑客直接攻击源站,此时必须要注意:隐藏源站IP!

  • 接入高防前的源站IP不能再使用(已经暴露);
  • 梳理游戏逻辑,确认游戏逻辑不会暴露源站IP;
  • 对服务器做安全扫描,避免被植入后门。

(3)基于业务特性,定制防护策略

接入高防后可以通过高防IP的超大带宽抵抗大流量DDoS攻击,但是黑客往往会在大流量攻击同时混杂着消耗服务器资源的小流量攻击,如本轮攻击除了SSDP反射和SYNFLOOD还夹杂着CC攻击。故为了达到更优的防护效果,可以咨询腾讯云游戏安全团队:基于业务特性,深度定制防护策略。策略定制常见的维度包括:

  • 梳理业务协议和端口情况,封禁非必要协议和端口,减少被攻击面
  • 对HTTP业务,可在控制台上根据实际情况配置CC防护,提前防备CC攻击。
  • 如果是私有协议,可以让腾讯云宙斯盾安全团队介入。团队可对业务流量进行统计分析,并深度定制防护策略,以有效解决各种疑难杂症。例如该客户历史还遭受过四层CC攻击,腾讯云宙斯盾安全团队深度定制策略,有效防护,业务稳定运行!

备注:四层CC攻击是指黑客控制肉鸡对目的服务器建立TCP连接后模拟业务流量发起攻击,耗尽服务器资源的攻击手法。

总结

只要有利益的地方就竞争,只要有互联网的地方就会有DDoS攻击。我们建议游戏厂商和开发者提前评估业务风险、选择可信赖的云服务商,必要情况下购买高防服务,与专家团队深度定制防护方案,有力保障好游戏安全生命线。

腾讯云限时推出宙斯盾产品优惠,现购买一个月及以上任何档位高防产品,可免费获赠一个月的使用时长。点击链接,立即申请产品优惠!

链接:https://wj.qq.com/s/2023496/3223

问答

如何防范DDos攻击?

相关阅读

【观点】“云”时代:网络安全的中国式突围

让子弹多飞一会 | 论如何优化DDoS

深入浅出DDoS攻击防御

此文已由作者授权腾讯云+社区发布,原文链接:https://cloud.tencent.com/developer/article/1100719?fromSource=waitui

实战分享:如何成功防护1.2T国内已知最大流量DDoS攻击的更多相关文章

  1. (转)网站DDOS攻击防护实战老男孩经验心得分享

    网站DDOS攻击防护实战老男孩经验心得分享 原文:http://blog.51cto.com/oldboy/845349

  2. nRF24L01+组网方式及防撞(防冲突)机制的实战分享

    利用多个nRF24L01+模块组网通信的实现方式 这里讨论的组网方式,不包含使用6个通道实现的多对1通信方式,因其只限于6个发送端,局限性很大,可以附加其他技术实现更好的组网,暂时这里不讨论.这里分享 ...

  3. SharedSDK微信分享不成功,分享之后没有反应

    对于一般来说,使用SharedSDK的时候,分享不成功不外乎下面几个原因: 1.测试没有打包2.打包的keystore跟微信开放平台上面的不一致, 导致MD5码不一致3.分享参数错误4.应用没有审核通 ...

  4. .NET Core中的验证组件FluentValidation的实战分享

    今天有人问我能不能出一篇FluentValidation的教程,刚好今天在实现我们的.NET Core实战项目之CMS的修改密码部分的功能中有用到FluentValidation,所以就以修改用户密码 ...

  5. Dubbo入门到精通学习笔记(十一):Dubbo服务启动依赖检查、Dubbo负载均衡策略、Dubbo线程模型(结合Linux线程数限制配置的实战分享)

    文章目录 Dubbo服务启动依赖检查 Dubbo负载均衡策略 Dubbo线程模型(结合Linux线程数限制配置的实战分享) 实战经验分享( ** 属用性能调优**): Dubbo服务启动依赖检查 Du ...

  6. 如何在github中插入图片,链接,图片链接(给图片加上链接),文字+图片链接,的实战分享!

    如何在github中插入图片,链接,图片链接(给图片加上链接),文字+图片链接,的实战分享! markdown 1.文字链接: [link-Text](link-URL) [home](https:/ ...

  7. 实战录 | 一起唠唠那些常见的DDoS攻击

    <实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士系统架构师高鹏,将带来常见的DDo ...

  8. Ddos攻击防护

    Ddos攻击防护 首先我们说说ddos攻击方式,记住一句话,这是一个世界级的难题并没有解决办法只能缓解 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要 ...

  9. 如何防护DDOS攻击策略

    DDoS是目前最凶猛.最难防御的网络攻击之一.现实情况是,这个世界级难题还没有完美的.彻底的解决办法,但采取适当的措施以降低攻击带来的影响.减少损失是十分必要的.将DDoS防御作为整体安全策略的重要部 ...

随机推荐

  1. TensorFlow拟合线性函数

    TensorFlow拟合线性函数 简单的TensorFlow图构造 以单个神经元为例 x_data数据为20个随机 [0, 1) 的32位浮点数按照 shape=[20] 组成的张量 y_data为 ...

  2. java中使用ReentrantLock锁中的Condition实现三个线程之间通信,交替输出信息

    本文直接附上源代码,如下是自己写的一个例子 面试题需求: 使用Condition来实现 三个线程 线程1 线程2 线程3 三个交替输出 [按照 线程1(main)-->线程2-->线程3] ...

  3. JavaScript(第三十三天)【总结:封装基础前端框架】

    源码地址:https://github.com/whisper540/Base

  4. python中functools.singledispatch的使用

    from functools import singledispatch @singledispatch def show(obj): print (obj, type(obj), "obj ...

  5. 使用ArrayList时代码内部发生了什么(jdk1.7)?

    前言 ArrayList(这里的ArrayList是基于jdk1.7)是在项目中经常使用的集合类,例如我们从数据库中查询出一组数据.这篇文章不去剖析它的继承和实现,只是让我们知道实例化及增删改查时它的 ...

  6. JAVA_SE基础——36.static的实际应用

    什么时候定义静态函数 如果功能内部没有访问到非静态数据(对象的特有数据.那么该功能就可以定义为静态) P.S. 静态方法作为类和接口的重要组成部分,可以通过类名或接口直接访问,通常将那些使用频率较高的 ...

  7. phalcon环境的搭建和dll扩展下载与选择

    phalcon需要下载一个扩展的dll文件才能运行项目 其中需要注意dll放在一个php扩展目录中windows下php/ext/,还需要在两个Php.ini文件中增加扩展说明,一般只需要更改 D:\ ...

  8. c 语言typedef 和 define的使用和区别

    #define是C的指令,用于为各种数据类型定义别名,与typedef 类似,但是有一下几点不同 1,typedef仅限于为类型定义符号名称,而#define不仅可以为类型定义符号名称,也能为数值定义 ...

  9. Python3 re模块(正则表达式)

    一:什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. (在Python中)它内嵌在Python中,并通过r ...

  10. 阿里云API网关(9)常见问题

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...