欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

作者:腾讯DDoS安全专家、腾讯云游戏安全专家 陈国

0x00 引言

近期,腾讯云防护了一次针对云上某游戏业务的混合DDoS攻击。攻击持续了31分钟,流量峰值194Gbps。这个量级的攻击流量放在当前并没有太过引人注目的地方,但是腾讯云游戏安全专家团在详细复盘攻击手法时发现,混合攻击流量中竟混杂着利用TCP协议发起的反射攻击,现网极其少见。

众所周知,现网黑客热衷的反射攻击,无论是传统的NTP、DNS、SSDP反射,近期大火的Memcached反射,还是近期出现的IPMI反射,无一例外的都是基于UDP协议。而本次攻击则是另辟蹊径地利用TCP协议发起反射攻击。本文将对这种攻击手法做简单分析和解读,并为广大互联网及游戏行业朋友分享防护建议。

0x01 攻击手法分析

本轮攻击混合了SYNFLOOD、RSTFLOOD、ICMPFLOOD等常见的DDoS攻击,攻击流量峰值达到194Gbps。但是其中混杂着1.98Gbps/194wpps的syn/ack(syn、ack标志位同时置位,下同)小包引起研究人员的注意。

首先,syn/ack源端口集聚在80、8080、23、22、443等常用的TCP端口,目的端口则是被攻击的业务端口80(而正常情况下客户端访问业务时,源端口会使用1024以上的随机端口)。

除此之外,研究人员还发现这些源IP的syn/ack报文存在TCP协议栈超时重传行为。为此研究人员判断这次很有可能是利用TCP协议发起的TCP反射攻击,并非一般随机伪造源TCP DDoS。

经统计分析:攻击过程中共采集到912726个攻击源,通过扫描确认开启TCP端口:21/22/23/80/443/8080/3389/81/1900的源占比超过95%,很明显这个就是利用现网TCP协议发起的反射攻击。攻击源IP端口存活情况如下

备注:由于存在单个IP可能存活多个端口,所以占比总和会超过100%。

从源IP归属地上分析,攻击来源几乎全部来源中国,国内源IP占比超过99.9%,攻击源国家分布如下:

从国内省份维度统计,源IP几乎遍布国内所有省市,其中TOP 3来源省份分布是广东(16.9%)、江苏(12.5%)、上海(8.8%)。

在攻击源属性方面,IDC服务器占比58%, 而IoT设备和PC分别占比36%、6%。由此可见:攻击来源主要是IDC服务器。

0x02 TCP反射攻击

与UDP反射攻击思路类似,攻击者发起TCP反射攻击的大致过程如下:

1、 攻击者通过IP地址欺骗方式,伪造目标服务器IP向公网上的TCP服务器发起连接请求(即syn包);

2、 TCP服务器接收到请求后,向目标服务器返回syn/ack应答报文,就这样目标服务器接收到大量不属于自己连接进程的syn/ack报文,最终造成带宽、CPU等资源耗尽,拒绝服务。

可能有人会疑惑:反射造成的syn/ack报文长度比原始的syn报文更小,根本没有任何的放大效果,那为何黑客要采用这种攻击手法呢?其实这种攻击手法的厉害之处,不在于流量是否被放大,而是以下三点:

1、 利用TCP反射,攻击者可以使攻击流量变成真实IP攻击,传统的反向挑战防护技术难以有效防护;

2、 反射的syn/ack报文存在协议栈行为,使防护系统更难识别防护,攻击流量透传几率更高;

3、 利用公网的服务器发起攻击,更贴近业务流量,与其他TCP攻击混合后,攻击行为更为隐蔽。

为此,TCP反射攻击相比传统伪造源的TCP攻击手法,具有隐蔽性更强、攻击手法更难防御的特点。

0x03 防护建议

纵使这种TCP反射攻击手法小隐隐于野,要防范起来比一般的攻击手法困难一些,但成功应对并非难事。

1、根据实际情况,封禁不必要的TCP源端口,建议接入腾讯云新一代高防解决方案,可提供灵活的高级安全策略;

2、建议配置BGP高防IP+三网高防IP,隐藏源站IP,接入腾讯云新一代解决方案BGP高防;

3、在面对高等级DDoS威胁时,接入云计算厂商的行业解决方案,必要时请求DDoS防护厂商的专家服务。

0x04 总结

腾讯云游戏安全团队在防护住一轮针对云上游戏业务的DDoS攻击后,对攻击手法做详细分析过程中发现黑客使用了现网极为少见的TCP反射攻击,该手法存在特性包括:

  • 攻击报文syn/ack置位;
  • 源端口集聚在80/443/22/21/3389等常用的TCP服务端口,而且端口的源IP+端口真实存活;
  • syn/ack报文tcp协议栈行为超时重传行为;
  • 源IP绝大部分来源国内,且分散在全国各个省份;
  • 流量大部分来源于IDC服务器;
  • 由于攻击源真实,且存在TCP协议栈行为,防护难度更大。

综上所述:黑客利用互联网上的TCP服务器发起TCP反射攻击,相比常见的随机伪造源攻击,TCP反射攻击有着更为隐蔽,防护难度更大等特点,对DDoS安全防护将是一个新的挑战。

腾讯云宙斯盾DDoS防护系统核心底层来自于腾讯安全平台部,沉淀腾讯业务十余年DDoS攻防对抗经验,具有业内先进的DDoS检测/防护算法,同时引入了AI、大数据领先的防护方案,服务于QQ、微信、王者荣耀、英雄联盟、CF、绝地求生等多款腾讯内部业务,能够有效抵御各类型DDoS和CC攻击行为,提供先进可靠的DDoS防护服务,致力于保障游戏客户业务的安全、稳定。

腾讯安全应急响应中心也将携宙斯盾防护系统亮相5月23-24日的腾讯云2018云+未来峰会展区和游戏分论坛,届时欢迎各位游戏行业和安全界人士一起莅临峰会,共话DDoS攻防。

2018腾讯云云+未来峰会报名入口:https://cloud.tencent.com/developer/summit/2018-guangzhou

问答

如何防范DDos攻击?

相关阅读

1.23T,腾讯云成功防御了国内最大流量DDoS攻击

初识常见DDoS攻击手段

深入浅出DDoS攻击防御

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

小隐隐于野:基于TCP反射DDoS攻击分析的更多相关文章

  1. UDP反射DDoS攻击原理和防范

    东南大学:UDP反射DDoS攻击原理和防范 2015-04-17 中国教育网络 李刚 丁伟 反射攻击的防范措施 上述协议安装后由于有关服务默认处于开启状态,是其被利用的一个重要因素.因此,防范可以从配 ...

  2. 分享下今天研究的流量上限DDos攻击分析和解决方式

    分享下今天研究的流量上限DDos攻击分析和解决方式 常常听到或者碰到某个站点被攻击.一般都是流量攻击.今天自己写了个程序測下相关的上限,程序仅仅简单做了个get html操作(不包括图片等资源文件). ...

  3. DNS反射放大攻击分析——DNS反射放大攻击主要是利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器

    DNS反射放大攻击分析 摘自:http://www.shaojike.com/2016/08/19/DNS%E6%94%BE%E5%A4%A7%E6%94%BB%E5%87%BB%E7%AE%80%E ...

  4. 全年DDoS攻击分析|知道创宇云安全2018年度网络安全态势报告

    *本报告由知道创宇云安全出品* 数据来源:知道创宇云防御平台 前言 2018年,网络安全领域暗流涌动,攻击趋势不断攀升,T级DDoS攻击多次爆发.数据泄露事件层出不穷.勒索软件大行其道.此外,随着我国 ...

  5. 服务器被ddos攻击?分析如何防止DDOS攻击?

    上周知名博主阮一峰的博客被DDOS攻击,导致网站无法访问而被迫迁移服务器的事情,引起了广大网友的关注及愤慨,包括小编的个人博客也曾接受过DDOS的“洗礼”,对此感同身受.所以,本文我们一起来了解下DD ...

  6. 2018上半年DDoS攻击报告:流量峰值达1.7Tbps

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 2018年上半年DDoS攻防仍如火如荼发展,以IoT设备为反射点的SSDP反射放大尚未平息,Memcached DDoS又异军突起,以最高可 ...

  7. 浅谈 DDoS 攻击与防御

    浅谈 DDoS 攻击与防御 原创: iMike 运维之美  什么是 DDoS DDoS 是英文 Distributed Denial of Service 的缩写,中文译作分布式拒绝服务.那什么又是拒 ...

  8. DDOS攻击与防御简单阐述,列出DDOS的攻击方法和防御方法

    参考1:https://www.hi-linux.com/posts/50873.html#%E7%BD%91%E7%BB%9C%E5%B1%82-ddos-%E6%94%BB%E5%87%BB 什么 ...

  9. 游戏行业DDoS攻击解决方案

    行业综述 根据全球游戏和全球移动互联网行业第三方分析机构Newzoo的数据显示:2017年上半年,中国以275亿美元的游戏市场收入超过美国和日本,成为全球榜首. 游戏行业的快速发展.高额的攻击利润.日 ...

随机推荐

  1. AngularJS进阶(三十七)IE浏览器兼容性后续

    IE浏览器兼容性后续 前言 继续尝试解决IE浏览器兼容性问题,结局方案为更换jquery.angularjs.IE的版本. 1.首先尝试更换jquery版本为1.7.2 jquery-1.9.1.js ...

  2. map.js的编写(js编写一个对象的方式)

    // 定义map function Map() { this.container = {}; } // 将key-value放入map中 Map.prototype.put = function(ke ...

  3. [前端]Emmet 基本语法快查

    Emmet 是一种快速写html的语法,通过几个简单的缩写,就可以拓展成html标签,工作中写html多多少少会有一些,使用的语法都是基础语法,这里总结下最常用的几个,备查. 这个插件支持非常多的ID ...

  4. Android平台根目录文件

    > 系统分区 # adb shell # mount rootfs / rootfs ro 0 0 tmpfs /dev tmpfs rw,mode=755 0 0 devpts /dev/pt ...

  5. Concurrent包常用方法简介

    1 Executor接口 留给开发者自己实现的接口,一般情况下不需要再去实现.它只有一个方法 void execute(Runnable command) 2 ExecutorService接口 它继 ...

  6. LeetCode之“字符串”:最短回文子串

    题目链接 题目要求: Given a string S, you are allowed to convert it to a palindrome by adding characters in f ...

  7. shell脚本里面相互调用时路径不要用pwd获取

    shellA调用shellB,如果shellB 里面需要使用路径作为变量,去寻找其它文件.那么要注意,不用pwd,其返回的是系统中用户当前所在位置的路径,也就是shellA的路径,这样就错了.应该用d ...

  8. 【nginx】4xx,5xx 保持自定义header

    问题 nginx使用中,如果请求返回的状态code类似404或者50x这种,仍然返回自定义的header. 分析和解决 nginx文档中关于 add_header的部分 有这么一句 Adds the ...

  9. DB Query Analyzer 5.02 is distributed, 53 articles concerned have been published

    DB Query Analyzer is presented by Master Gen feng, Ma from Chinese Mainland. It has English version ...

  10. mybatis中autoCommit自动提交事务

    今天学习了下mybatis, 对其中的autoCommit自动提交事务比较好奇, 研究了下,把配置和代码都放上 mapper.xml如下: <?xml version="1.0&quo ...