原文地址https://www.4 Hou.com/technology/5979.html
上个月,我们共享了一些反射式DDoS攻击数据。 SSDP攻击的平均大小为12 Gbps。 我们记录的最大的反射型DDoS攻击如下。
1. 30 Mpps (每秒百万数据包) )。
2. 80 Gbps (每秒十亿位)。
使用940k反射器的IP
几天前,我们注意到xldhcSSDP超扩大情况的发生。 这是因为由于SSDP的扩大因素,网络设备可能成为DDoS攻击的目标。 这将导致使用SSDP协议生成100 Gbps DDOS流量的阈值,值得深入研究。
攻击中每秒数据包的数据如下图所示。
带宽使用如下。
基于该IP分组的洪水攻击持续了38分钟,但根据我们采样的netflow数据,使用了930k反射器服务器。 估计在38分钟内,每个反射器向Cloudflare发送了112k数据包。
反射器服务器遍布全球,在阿根廷、俄罗斯、中国有很多业务。 以下是每个国家的IP分布图。
可见,ASN上的反射器IP分布非常典型,几乎完全遵循世界上最大的住宅ISP(residential ISP )定律:
什么是SSDP攻击?
智能设备通常采用即插即用(UPnP )协议作为网络通信协议,而UPnP设备检测是源端口为1900的ssdp (simpleservicediscoverypport )
利用SSDP协议进行反射攻击的原理与利用DNS服务、NTP服务类似。 它们都冒充攻击者的IP地址向互联网上的许多智能设备发出SSDP请求,然后被请求的智能设备根据源IP地址将响应数据包返回给受害者
当新设备(如笔记本电脑)加入网络时,您可以向本地网络咨询特定设备,如互联网网关、音频系统、电视和打印机。
UPnP安全标准较低,但这是用于M-SEARCH框架规范的代码片段。
将控制点添加到网络中后,UPnP发现协议允许控制点搜索网络上感兴趣的设备。 通过向保留地址和端口(239.255.25033601900 )多播模式或目标等于设备或服务类型或标识符的搜索消息来实现。
为了在网络搜索中进行发现,设备必须向多播地址发送请求的源IP地址和端口的单播UDP响应。 如果M-SEARCH请求的ST标头字段为“ssdp:all”、“upnp:rootdevice”、“uuid :”,后跟与设备发出的uuid完全匹配的uuid,或者M-SEARCH为
这在实践中非常有用。 例如,Chrome浏览器经常请求搜索智能电视:
帧发送到多播IP地址,用于搜索地址并支持此特定ST (搜索)多屏幕类型的其他设备。
除了对特定设备类型的查询外,还有两种常见的ST查询类型:
1.UPnP :搜索根设备
2. ssdp:all :搜索所有UPnP设备和服务
要模拟这些查询,请运行此python脚本。
以下是我的家庭网络上显示的两个设备。
防火墙的因素
综上所述,实际上提供M-SEARCH框架的方法有两种
1 .我们以上提出的组播地址
使用普通单播地址直接启用UPnP/SSDP主机
后者的方法效果最好。 以当前使用的打印机的IP地址为例进行说明。
如上图所示,SSDP协议不会检查查询端是否与设备位于同一网络上,而是通过公共互联网提供的M-SEARCH进行响应。 所有这些都是由防火墙中的小配置错误引起的。 端口1900 UDP向外开放,UDP扩展目标可用。
由于设定了错误的目标,我们的脚本很乐意在网上工作。
放大因素
真正的攻击是由ssdp引起的。 因为所有ST类型都是通过它进行的,所以ssdp的增长可能会导致网络设备成为DDoS攻击的目标。
在这种特殊情况下,一个SSDP M-SEARCH包会触发八个响应包。 tcpdump视图如下:
该目标公开了8倍的分组计数扩展和26倍的带宽扩展,这是SSDP的典型使用特征。
IP欺骗因素
攻击的最后一步是欺骗易受攻击的服务器以覆盖目标IP。 因此,攻击者必须欺骗自己的查询方IP地址。
通过分析用于100 Gbps攻击样本的反射器IP,发现在920k的反射器IP中,只有350k(38% )仍在响应SSDP检测器。
在响应的反射器中,平均每个发送7个数据包:
响应的数据包平均有321字节,我们采样的请求包有110个字节。
根据我们对ssdp的分析,所有M-SEARCH攻击者都能够实现:
1. 7倍的包数放大
2. 20倍带宽放大
我们可以估计43 Mpps 或 112 Gbps攻击可以大致生成:
1. 6.1 Mpps的欺骗能力
2. 5.6 Gbps的欺骗带宽
换句话说,能够执行IP欺骗的单一连接好的10Gbps服务器可以提供超强的SSDP攻击。
更多SSDP服务器的因素
由于我们探测到易受攻击的SSDP服务器,因此可以收到最常见的服务器头值:
我们看到的最常见的ST标头值如下:
可以看出,易受攻击的IP似乎大多是无保护的家庭路由器。
开放的SSDP竟然是一个漏洞
允许家庭打印机的UDP端口1900接入互联网是十分危险的,自2013年1月至今,这个安全风险日益严重,所以通用即插即用的安全漏洞的防护就是禁止你的设备连网。
显然,SSDP的开发者没有考虑UDP的扩增潜力,按照我们的理解M-SEARCH仅在局域网中作为组播查询才有实际意义。
与DNS响应速率限制技术类似,单播M-SEARCH支持应该被弃用或至少限制速率。
M-SEARCH响应应该只发送到本地网络,通过网络路由的响应几乎没有意义和公开的描述漏洞。
如何预防超大DDoS 流量攻击
1. 网络管理员应确保入站UDP端口1900在防火墙上被阻止。
2. 不应该允许互联网服务供应商在其网络上执行IP欺骗, IP欺骗是攻击的根本原因,比如臭名昭着的BCP38。
3. 互联网服务提供商应允许他们的客户使用BGP流量来限制入站UDP源端口1900流量,以减轻大型SSDP攻击期间的拥塞。
4. 互联网提供商应在内部收集网络流量协议样本,需要netflow来识别攻击的真正来源。使用netflow可以轻松了解许多信息,比如“我的哪个客户向端口发送了6.4Mbps的流量?”这将足以跟踪DDoS攻击。
5. 开发人员应在仔细考虑UDP扩展问题的情况下推出自己的UDP协议。 UPnP应适当标准化和审查。
6. 终端用户应使用脚本扫描其网络以启用UPnP设备,这样做是为了考虑是否允许这些设备要接入互联网。
此外,还有一些在线检查网站。如果你想知道你的公共IP地址是否具有易受攻击的SSDP服务,请单击https://badupnp.benjojo.co.uk/查询。
令人遗憾的是,我们在分析中发现路由器保护最弱的国家竟是中国、俄罗斯和阿根廷。