新型DDoS来袭 | 基于STUN协议的DDoS反射攻击分析
简介: 作为新型反射类型,目前仍存绕过防御可能性。
阿里云安全近期发现利用STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)服务发起的DDoS反射攻击。阿里云DDoS防护系统在秒级识别到攻击,实时对攻击流量做了清洗,保护客户业务不受DDoS攻击影响。
背景概述
STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)是一种网络协议,目前定义了三种STUN用途:Interactive Connectivity Establishment(ICE)[MMUSIC-ICE],交互式连接建立、Client-initiated connections for SIP [SIP-OUTBOUND],用于SIP的客户端初始化连接、NAT Behavior Discovery [BEHAVE-NAT],NAT行为发现。该协议由RFC 5389定义。STUN支持使用UDP协议来发送,STUN请求/响应事务的可靠性是通过客户端应用程序本身重新传输请求消息来实现的。黑客利用UDP无状态的这种机制,伪造攻击目标请求STUN服务器,把开启该服务的主机作为反射源,进行DDoS反射攻击,实现伪装和攻击。
攻击方式分析
攻击包分析
STUN的UDP端口默认使用3478端口,如下图所示:

利用了STUN服务(其中software取决于服务器部署的软件名称及版本)的反射攻击载荷的示意图如下:

STUN协议分析
STUN是一种Client/Server的协议,也是一种Request/Response的协议,默认端口号是3478,支持UDP和TCP。
STUN-UDP协议通信过程,发送一个Request,服务器处理验证,返回一个Response,response常见返回值MAPPED-ADDRESS(表示客户端地址),RESPONSE-ORIGIN(表示响应的地址端口),SOFTWARE(软件名称及版本),FINGERPRINT(指纹扩展),响应长度依赖于不同版本的STUN。详情参见RFC5389(https://www.rfc-editor.org/rfc/rfc5389.html)。
攻击模拟复现
模拟发送Binding Request请求,响应Binding Response报文:
模拟攻击返回的响应载荷与攻击载荷一致,复现完成:
模拟发送20字节的Binding Request/数据帧62字节,获取到的响应载荷为124字节/数据帧166字节,放大倍数166/62=2.67倍。
STUN服务器Softwafre的名称及版本不同,服务器IP长度不同,均会影响Response的长度,目前观察到的最大响应载荷为156字节/数据帧198字节,放大倍数198/62=3.19倍。
Software版本示例如下:
Software: Coturn-4.5.1.3 'dan Eider'
Software: Amity-systems.com 0.96
Software: restund v.E5.1.140.1273 ( - / win32 )
Software: zt v0.4.13 (x86\_64/linux)
Software: TANDBERG/4137 (X12.5.9)
Software: Citrix-3.2.3.8 'Marshal West'
发送错误的Request到服务器,返回校验错误的response时,可以放大更大倍数,194/63.0=3.07倍,可以造成更明显的放大效果。

目前观察到的攻击反射源以海外地区为主,在zoomeye中查询3478开放端口IP数量级23万+,说明STUN服务可利用的IP量级还是比较大。STUN协议本身协议设计上已经优化过,response虽然会比request要大,但不会放大很多倍请求,利用成本会很高。对比其他常见反射攻击的反射倍数,STUN的反射倍数并不理想,但是作为新型的反射类型,市面上DDoS防护系统不一定能全部覆盖防御该攻击方式,反而可能攻击效果更佳。
防护建议
对于STUN互联网应用提供者,可限制可访问的源IP的地址范围减少利用情况,或者使用tcp发送STUN协议,对于企业用户,推荐接入DDoS防护产品对抗大流量DDoS攻击。
本文为阿里云原创内容,未经允许不得转载。
新型DDoS来袭 | 基于STUN协议的DDoS反射攻击分析的更多相关文章
- 基于XMPP协议的aSmack源码分析
在研究如何实现Pushing功能期间,收集了很多关于Pushing的资料,其中有一个androidnp开源项目用的人比较多,但是由于长时间没有什么人去维护,听说bug的几率挺多的,为了以后自己的产品稳 ...
- TCP协议数据包及攻击分析
TCP/IP协议栈中一些报文的含义和作用 URG: Urget pointer is valid (紧急指针字段值有效) SYN: 表示建立连接 FIN: 表示关闭连接 ACK: 表示响应 PSH: ...
- 小隐隐于野:基于TCP反射DDoS攻击分析
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯DDoS安全专家.腾讯云游戏安全专家 陈国 0x00 引言 近期,腾讯云防护了一次针对云上某游戏业务的混合DDoS攻击.攻击持续了 ...
- 放大倍数超5万倍的Memcached DDoS反射攻击,怎么破?
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯游戏云 背景:Memcached攻击创造DDoS攻击流量纪录 近日,利用Memcached服务器实施反射DDoS攻击的事件呈大幅上 ...
- STUN协议简介
STUN简要 STUN(Simple Traversal of UDP over NATs,NAT 的UDP简单穿越)是一种网络协议.它同意位于NAT(或多重NAT)后的client找出自己的公网地址 ...
- 基于python实现的DDoS
目录 一个简单的网络僵尸程序 一个简单的DOS攻击程序 整合网络僵尸和DoS攻击--DDoS 代码地址如下:http://www.demodashi.com/demo/12002.html 本例子包含 ...
- 集成基于CAS协议的单点登陆
相信大家对单点登陆(SSO,Single Sign On)这个名词并不感到陌生吧?简单地说,单点登陆允许多个应用使用同一个登陆服务.一旦一个用户登陆了一个支持单点登陆的应用,那么在进入其它使用同一单点 ...
- DDOS学习笔记(《破坏之王-DDOS攻击与防范深度剖析》)
最近花了点时间把<破坏之王-DDOS攻击与防范深度剖析>看了一遍,坦白来说,这本书比较浅显,可以说是入门书,当然对于我这种对DDOS一知半解的人来说,也是一本不错的书,起码我 ...
- STUN协议简析
http://blog.csdn.net/mazidao2008/article/details/4934257 ——————————————————————————————————————————— ...
- 全年DDoS攻击分析|知道创宇云安全2018年度网络安全态势报告
*本报告由知道创宇云安全出品* 数据来源:知道创宇云防御平台 前言 2018年,网络安全领域暗流涌动,攻击趋势不断攀升,T级DDoS攻击多次爆发.数据泄露事件层出不穷.勒索软件大行其道.此外,随着我国 ...
随机推荐
- 12_采样格式&音频重采样
采样格式 通过前面学习我们知道FFmpeg和SDL都有自己的采样格式的表达式,那么他们都表示什么意思呢? FFmpeg的采样格式的表达式: enum AVCodecID { ...... AV_COD ...
- Libcurl & Log4cplus 移植和使用 以及 Jsoncpp 简单使用
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 工作记录:8个有用的JS技巧
这里给大家分享我最近学习到的8个有用的js小技巧,废话不多说,我们上代码 1. 确保数组值 使用 grid ,需要重新创建原始数据,并且每行的列长度可能不匹配, 为了确保不匹配行之间的长度相等,可以使 ...
- 记录--h5端调用手机摄像头实现扫一扫功能
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.前言 最近有遇到一个需求,在h5浏览器中实现扫码功能,其本质便是打开手机摄像头定时拍照,特此做一个记录.主要技术栈采用的是vue2,使 ...
- 记录--vue组件划分的思考
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 对vue项目来说,组件是构成项目的基本单元,为了方便理解,这里定义两类组件:页面组件,功能组件.为什么需要划分这两类组件是从组件复用来考虑 ...
- 记录-JS简单实现购物车图片局部放大预览效果
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.实现效果 二.代码实现 代码不多,先看一下 HTML 里面结构很简单,初始化 MagnifyingGlass 对象来关联一个 IMG ...
- PowerDesigner操作要点
一.PowerDesigner解决name和code同步问题 工具-常规选项-General Options-Dialog-Name to Code mirroring√去掉 二.PowerDesi ...
- 工具推荐-personal kanban
工具推荐 -- personal kanban 看板工具 在项目中接触到项目管理工具pingcode中含有看板工具 但是实际使用时一般一周才看一下项目进度 这个看板的参与度实际上很低 为了将日常的工作 ...
- KingbaseES 临时表
临时表在数据库管理和数据处理中有着广泛的应用,主要用于存储临时数据或进行中间计算.临时表中的数据对会话是私有的,每个会话只能看到和修改自己会话的数据. KingbaseES支持本地临时表和全局临时表. ...
- KingbaseES V8R6 集群运维案例 -- 集群备份到nfs共享存储初始化错误
案例说明: 在主备库建立nfs共享存储的文件系统,作为sys_rman备份的repo-path,在备库作为repo-path节点执行备份,出现数据库连接到'5432端口的错误',数据库实际的服务端口为 ...