DRDoS预警:WdbRPC与BACnet协议可被反射攻击利用

Posted 百度安全实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DRDoS预警:WdbRPC与BACnet协议可被反射攻击利用相关的知识,希望对你有一定的参考价值。

0x00概述

随着互联网的快速发展,DDoS攻击已经演变成全球性的网络安全威胁,从早期的SYNFlood攻击,到近年来兴起的各种反射放大攻击,DDoS攻击愈演愈烈,无论是受控主机还是攻击对象,都日益呈现出大规模化和多样化的态势。

百度安全智云盾团队在长期与黑客的攻防对抗中,已经首次发现了多种新型反射放大攻击。黑客在利用传统反射攻击时,也在不断的研究挖掘各种新型反射放大攻击。凡事预则立,不预则废。智云盾团队在对抗攻击的同时,也在挖掘可能发生的新型DDoS反射放大攻击。在对大量的UDP协议进行深入研究分析后,我们挖掘出两类可以被利用发起反射放大攻击的协议,相关情况也分享同步与业界同行。

0x01常见反射攻击

从2020年智云盾观测到的反射型攻击的TOP5来看,SSDP、NTP、DNS、CLDAP、Memcache、SNMP占据前五的位置,近些年来,越来越多的新型反射攻击被黑客利用,进入现网的攻防对抗场景中,如WS-Discovery、DHDiscovery、Plex、Ubiquiti等协议。这些新型协议的反射放大攻击区别于上述常见的反射攻击,放大倍数从几倍到几万倍,这给传统的DDoS监测和防御提出新的挑战。

笔者整理了部分常见UDP反射放大协议,传统放大倍数与科学计算的放大倍数对比,看看到底谁的放大威力更强。

名称

特征(端口)

传统倍数

科学倍数(监测的攻击包)

发现时间

DNS

53

28-54

24.6

2013

NTP

123

556.9

460

2013

SNMP

161

6.3

4.8

2013

SSDP

1900

30.8

26.5

2014.07

PORTMAP

111

7-28

16.9

2018.09.24

CHARGEN

19

358.8

330.5

1996

TFTP

69

60

45.6

2016.03.21

Memcached

11211

10000-50000

149166.2

2018.01

CLDAP

389

56-70

68.4

2016.10

WSDP

3702

70-500

7-14

2019.02


图1 常见反射攻击

这些常见的DDoS反射攻击通常会利用有缺陷的公网服务器实施反射放大攻击,反射源数量的多少决定了反射流量的大小。然而随着公共服务的维护方式越来越标准,安全性也越来越高,可被利用的公共服务器也越来越少。2018年初爆发的Memcached反射攻击事件后,由百度智云盾团队监测到的数据表明,反射源数量超过1000的攻击次数,近几年呈现出明显减少的趋势,很明显可以被利用的反射服务器越来越少,但是,从事黑产的DDoS攻击者从来没有停止对新型反射放大攻击新方式的寻找和尝试。

百度智云盾团队在进行大量的UDP协议分析时,发现了两类协议可以被利用作为反射放大攻击,从互联网暴露的情况来看,这些协议服务数据量较大,黑客完全可以利用发动一起规模较大的反射攻击。下文详细介绍这两类协议可以被利用发起反射放大攻击的原理。

0x02 WdbRPC协议

1)协议介绍

WdbRPC协议是应用于VxWorks系统上的一类系统服务,被广泛用于物联网嵌入式设备及工业控制领域,该服务主要用于支持用户进行远程调试,以UDP方式通信,使用固定UDP端口17185,用户可以通过该服务获取系统详情、配置信息和其他重要数据。

2)全网资源

为了调查WdbRPC协议在全球范围内的使用情况,我们及时与ZoomEye团队进行了技术沟通,ZoomEye是国内最优秀的网络空间搜索引擎之一,ZoomEye团队在收到反馈后及时针对全网进行扫描,很快获取到4302个IP使用了WdbRPC协议(截止统计时,扫描还在继续),这些IP在全球范围内均有分布,主要来自于美国、中国和韩国等国家。下图展示了WdbRCP在互联网上暴露的情况。

DRDoS预警:WdbRPC与BACnet协议可被反射攻击利用

图2 WdbRPC协议的全网数据

3)反射原理

我们在一台纯净的机器上安装VxWorks系统,并对WdbRPC服务进行调试分析,在协议的开发文档中我们查询到了协议的请求说明,根据文档的描述,我们构造一个请求发送到服务器,并进行抓包分析。下图展示了我们发送一个较小的数据包,服务端响应了一个较大的数据包,构成了放大倍数。

DRDoS预警:WdbRPC与BACnet协议可被反射攻击利用

图3 WdbRPC协议的请求与响应(测试)

我们在模拟攻击的过程中,发送一个69+24=93字节的数据包,收到一个706+24=730字节的数据包,科学计算的放大倍数为730/93=7.85倍。

0x03 BACnet协议

1)协议介绍

楼宇自控协议(BACnet)全称Building Automation Control NETworks,是在建筑中应用的一种为楼宇自控网络制定的数据通讯协议,通过软件系统管理智能建筑物内相互关联的中央空调系统、给排水系统、供配电系统、照明系统等,它使不同厂家的楼宇设备能够实现相互通信,定义了各种兼容系统实现开放性与互操作性的基本通信规范。

楼宇自控协议(BACnet)在应用层使用UDP协议进行数据传输,BACnet-APDU(APDU代表应用层协议单元)定义的远程设备管理服务绑定在UDP47808端口上,接受BACnet客户端的证实请求消息(如查询网络内楼宇设备信息),随后响应设备的供应商ID、供应商名称、软件版本等信息。

2)全网数据

我们在zoomeye上搜索查询UDP47808与bacnet关键字,获取到5w多条数据,源IP主要来自于于美国、加拿大和法国等北美和欧洲国家,其中美国占比最多。这也符合协议当前的应用情况。协议的官方文档没有要求服务固定绑定在UDP47808端口上。因此可以判断,互联网上存在的开放应用会更多。下图展示了zoomeye上查询的全网数据情况。

DRDoS预警:WdbRPC与BACnet协议可被反射攻击利用

图4 BACnet协议的全网数据

BACnet协议是楼宇自控领域内唯一的ISO标准,已经在北美和欧洲等国家得到了全面的推广和应用。随着智能建筑的不断增多,该协议将会在全球范围内得到更多的应用,互联网上开放的服务也会随之增多。

3)反射原理

我们在一台纯净的机器上部署BACnet服务,并对BACnet服务进行调试分析,在协议的官网文档中我们查询到了协议的请求说明,根据文档的描述,我们构造一个请求发送到服务器,并进行抓包分析。下图展示了我们发送一个较小的数据包,服务端响应了一个较大的数据包,构成了放大倍数。

DRDoS预警:WdbRPC与BACnet协议可被反射攻击利用

图5 BACnet协议的请求与响应数据包

我们在模拟攻击的过程中,发送一个79+24=103字节的数据包,收到一个234+24=258字节的数据包,科学计算的放大倍数为258/103=2.5倍。

我们在分析协议规范时,没有发现有关安全性的表述,详情参考:

http://www.bacnet.org/Tutorial/BACnetIP/index.html,随着该协议的广泛应用,我们可以确信,利用该协议的反射攻击会浮出水面。

0x04总结

防御技术的不断完善,攻击技术则不断进化。反射攻击近年来越来越流行,一方面由于反射攻击伪造源IP,难以溯源;另一方面,反射攻击通常利用反射倍数较大的服务发动攻击,达到四两拨千斤的效果。在这一背景下,DDoS黑产的从业者会更努力的挖掘新型协议的漏洞,我们可以猜测,这两种潜在可能的攻击方式一定会得以实施,让我们拭目以待。

0x05防范建议

我们本文介绍的两种潜在的攻击可能,仍然是利用UDP协议的无状态以及服务端返回包大于请求包的特点。

建议参考以下方式提升防护能力。

  • 对互联网服务应避免被滥用,充当黑客攻击的帮凶

  • 禁用UDP服务,不能禁用时,应确保响应与请求不要有倍数关系

  • 启用的UDP服务应采取授权认证,对未授权请求不予响应

  • 对企业用户应做好防范,减少DDoS对自有网络和业务的影响

  • 如果没有UDP相关业务,可以在上层交换机或者本机防火墙过滤UDP包

  • 寻求运营商提供UDP黑洞的IP网段做对外网站服务

  • 选择接入DDoS云防安全服务对抗大规模的DDoS攻击

智云盾团队介绍

百度智云盾是百度安全专注在互联网基础设施网络安全攻防的团队,提供T级云防、定制端防和运营商联防等DDoS/CC防御解决方案。一直服务于搜索、贴吧、地图、云等百度业务,在保障百度全场景业务之余也进行防御能力外部输出,为互联网客户提供一体化的防御服务。

以上是关于DRDoS预警:WdbRPC与BACnet协议可被反射攻击利用的主要内容,如果未能解决你的问题,请参考以下文章

认识BACnet协议

深度剖析 Memcached 超大型DRDoS攻击

转载深度剖析Memcached超大型DRDoS攻击

海腾数据丨深度剖析Memcached超大型DRDoS攻击

无惧1.35TB Memcached DRDoS攻击,华为云安全一直在行动

核弹级Memcached DRDoS的攻守道