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

引言:

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. Oracle的用户,权限以及角色

    一.用户 1.创建用户 创建用户u密码为aa. SQL> create user u identified by aa; 2.为用户赋予权限 这个用户还不能连接数据库,必须为其赋予一些权限才可以 ...

  2. android中xml tools属性详解(转)

    第一部分 安卓开发中,在写布局代码的时候,ide可以看到布局的预览效果. 但是有些效果则必须在运行之后才能看见,比如这种情况:TextView在xml中没有设置任何字符,而是在activity中设置了 ...

  3. 实现Windows数据绑定

    dataSet数据集   dataset驻留于内存临时存储数据简单的理解为一个临时数据库将数据源的数据保存在内存中独立于任何数据库创建dataset对象引入命名空间:system.Datadatase ...

  4. selenium2自动化测试学习笔记(二)

    chromedriver报错问题解决了,真是无语 是因为chromedriver与浏览器版本不一致 http://chromedriver.storage.googleapis.com/index.h ...

  5. Linux下的硬链接与软链接

    本文总结自: https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html#fig2 一个文件可以用下图表 ...

  6. hibernate框架学习笔记7:HQL查询、Criteria查询简介

    HQL查询:hibernate独有的查询语言 适用于不复杂的多表查询 示例: 实体类: package domain; public class Customer { private Long cus ...

  7. 记录python接口自动化测试--pycharm执行测试用例时需要使用的姿势(解决if __name__ == "__main__":里面的程序不生效的问题)(第三目)

    1.只运行某一条case 把光标移动到某一条case后面,然后右键,选择"Run..."来运行程序 此时,pycharm会只运行光标所在位置的这一条case 2.如果想执行全部ca ...

  8. python每日一函数 - divmod数字处理函数

    python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: ...

  9. AS 实机测试 ADB.exe 提示

    adb fail to open error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: 通常每 ...

  10. Spark性能优化总结

    1. 避免重复加载RDD 比如一份从HDFS中加载的数据 val rdd1 = sc.textFile("hdfs://url:port/test.txt"),这个test.txt ...