简介: 作为新型反射类型,目前仍存绕过防御可能性。

阿里云安全近期发现利用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反射攻击分析的更多相关文章

  1. 基于XMPP协议的aSmack源码分析

    在研究如何实现Pushing功能期间,收集了很多关于Pushing的资料,其中有一个androidnp开源项目用的人比较多,但是由于长时间没有什么人去维护,听说bug的几率挺多的,为了以后自己的产品稳 ...

  2. TCP协议数据包及攻击分析

    TCP/IP协议栈中一些报文的含义和作用 URG: Urget pointer is valid (紧急指针字段值有效) SYN: 表示建立连接 FIN: 表示关闭连接 ACK: 表示响应 PSH: ...

  3. 小隐隐于野:基于TCP反射DDoS攻击分析

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯DDoS安全专家.腾讯云游戏安全专家 陈国 0x00 引言 近期,腾讯云防护了一次针对云上某游戏业务的混合DDoS攻击.攻击持续了 ...

  4. 放大倍数超5万倍的Memcached DDoS反射攻击,怎么破?

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯游戏云 背景:Memcached攻击创造DDoS攻击流量纪录 近日,利用Memcached服务器实施反射DDoS攻击的事件呈大幅上 ...

  5. STUN协议简介

    STUN简要 STUN(Simple Traversal of UDP over NATs,NAT 的UDP简单穿越)是一种网络协议.它同意位于NAT(或多重NAT)后的client找出自己的公网地址 ...

  6. 基于python实现的DDoS

    目录 一个简单的网络僵尸程序 一个简单的DOS攻击程序 整合网络僵尸和DoS攻击--DDoS 代码地址如下:http://www.demodashi.com/demo/12002.html 本例子包含 ...

  7. 集成基于CAS协议的单点登陆

    相信大家对单点登陆(SSO,Single Sign On)这个名词并不感到陌生吧?简单地说,单点登陆允许多个应用使用同一个登陆服务.一旦一个用户登陆了一个支持单点登陆的应用,那么在进入其它使用同一单点 ...

  8. DDOS学习笔记(《破坏之王-DDOS攻击与防范深度剖析》)

           最近花了点时间把<破坏之王-DDOS攻击与防范深度剖析>看了一遍,坦白来说,这本书比较浅显,可以说是入门书,当然对于我这种对DDOS一知半解的人来说,也是一本不错的书,起码我 ...

  9. STUN协议简析

    http://blog.csdn.net/mazidao2008/article/details/4934257 ——————————————————————————————————————————— ...

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

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

随机推荐

  1. x86架构的内存溢出攻击原理演示(加强对计算机运行原理的理解,说明内存溢出的危害)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  2. 瑞云科技CTO赵志杰出席广州广告数字创意峰会并发表演讲

    3月23日下午,广州广告数字创意峰会暨穗广协企业家大讲堂年度巡礼活动在广州图书馆圆满举行.本次峰会由广州市人民政府统筹,中共广州市委宣传部.广州市文化广电旅游局.中共广州市天河区委.广州市天河区人民政 ...

  3. C#开发计算器类库

    C#开发计算器类库:开发中所涉及到有虚方法,继承,简单工厂等基础知识(编程借鉴'小菜变成成长记'https://www.jb51.net/article/2851.htm) 1.创建父类:计算(Ope ...

  4. NA嵌入Flutter页面

    目录介绍 01.Android承载flutter容器 02.过时的NA跳转flutter方案 03.升级版本NA跳转Flutter处理 04.如何处理NA跳转flutter传参 05.思考遇到的几个问 ...

  5. nginx 自定义日志格式输出

    修改 nginx.conf 自定义日志格式.路径 log_format my_format '$remote_addr $msec $http_host $request_uri'; 使用精准配准,对 ...

  6. OGNL表达式注入分析

    OGNL基础 依赖 <dependency> <groupId>ognl</groupId> <artifactId>ognl</artifact ...

  7. #最小生成树,Trie#CF888G Xor-MST

    题目 给定 \(n\) 个结点的无向完全图.每个点有一个点权为 \(a_i\) . 连接 \(i\) 号结点和 \(j\) 号结点的边的边权为 \(a_i\oplus a_j\) . 求这个图的 MS ...

  8. 直播预告丨OpenHarmony标准系统多媒体子系统之音频解读

    今晚19点,OpenHarmony开源开发者成长计划知识赋能第五期"掌握OpenHarmony多媒体的框架原理"的第四节直播课,即将开播! 深开鸿资深技术专家苑春鸽老师,将在Ope ...

  9. 【直播回顾】OpenHarmony知识赋能第八期:手把手教你实现涂鸦小游戏

     OpenHarmony第八期知识赋能直播已经在9月29日圆满落幕!从9月15日起,资深OS框架开发工程师巴延兴老师于每周四进行分享,通过实现涂鸦小游戏来帮助大家全面了解ArkUI框架的应用,拓宽知识 ...

  10. js获取select标签的 value 和 text

    <select name="" id="test"> <option value="a1">yi</optio ...