0x00概述
7月19日,Ruckus公司发布公告,宣称修复了SmartZone系列产品的重大安全漏洞,并对百度安全智云盾团队发现并协助其修复漏洞表达感谢。
图1 安全公告
6月29日,百度安全智云盾团队首次定位到一种反射源名称为SmartZone的新型反射放大攻击。经过安全专家进一步分析,确认是Ruckus公司的SmartZone系列设备存在安全风险。通知厂商后,他们积极组织技术人员进行排查,在此期间我们也多次提供安全建议和验证方法。7月19日该公司正式对外发布安全公告。这是一起”无穷大”倍数的反射攻击,在他们修复后我们将反射原理进行分享并预警。
0x01反射原理
攻击者采用反射方式实施DDoS攻击时,不是直接攻击受害者IP,而是伪造了大量受害者IP的请求发给相应的开放服务,通常这类开放服务不对源进行校验而是立即完成响应,这样更大更多的响应数据包发送到受害者IP,从而实现了流量的反射,这类开放服务就是反射源。原理如下图所示:
图2 反射攻击原理示意图
图2中攻击者P伪造了请求包BA并发送到PA,但BA的源IP是PV,所以PA响应的时候发送BV给到PV。反射攻击一方面隐藏了攻击IP,同时还有一个重要特征是放大,上述原理图中的BV往往是BA的好几倍,甚至是成千上万倍。正是有了这样的特性,黑客组织乐此不疲的使用这一攻击方式,并不断的研究新型反射攻击增强攻击效果。
0x02攻击分析
智云盾系统检测到攻击时,自动对攻击流量进行采样,安全专家对采样包及时进行了深层次的分析和演练。本次攻击事件共涉及反射源802个。
1)攻击包分析
通过分析智云盾的攻击采样包发现,反射流量的端口来自于UDP 9001,下图红色箭头指向的是反射源端口:
图3 反射源端口
分析采样包发现,攻击流量中含有大量的IP分片包,这些IP分片包均来自于UDP 9001端口的反射流量,由于反射包大小超过了数据传输链路的MTU值,IP协议就会进行分片,如下图所示:
图4 攻击包存在大量分片
反射数据包的payload存在很多明文信息以及网关配置名称VNet01,如下图所示:
图5 反射数据包payload
我们对反射源进行指纹识别后获取到设备通用名称为vSZ与SmartZone100,vSZ是Virtual SmartZone的缩写,SmartZone是Ruckus公司生产的一系列网络控制器的名称。
图6 反射源名称
结合payload中展示的网关配置名称VNet01,可以判断是一起利用SmartZone网络控制器的DDoS反射放大攻击。
2)攻击模拟
在Ruckus公司授权后,我们选取其中一部分反射源进行发包模拟攻击,我们使用nc命令向反射源发送攻击payload为空的UDP数据包,并针对反射源IP进行抓包,最后发现反射源的9001端口会响应大量消息。复现攻击如下图所示:
图7 抓包结果
通过模拟攻击确认,发送一个0字节的请求(IP包长42),会收到4个数据包,包括1个udp包(890)和3个分片包(1514)。
3)放大倍数
按照我们前期对反射倍数的研究结果,科学的统计放大倍数,应当包括数据包协议头和网络帧间隙。详细的方案可以参阅《MEMCACHED DRDoS攻击趋势》一文。协议头和网络帧间隙计算为:14(以太头)+20(IP头)+8(UDP头)+4(FCS头)+20(帧间隙)=66字节,请求包长小于60字节会被自动填充,所以请求包所占带宽为(60+20+24)=84字节。响应包包含分片,由于分片包头不包含UDP头,所以计算得到的响应包所占带宽为(1514+24)x3+890+24=5528字节。最终我们计算得到的放大倍数为5528/84=65.8倍,这个放大倍数已经超过了很多我们所熟知的反射攻击。如果按照传统放大倍数的计算方法,攻击payload为0的情况下,这将是”无穷大”倍数的反射攻击。
0x03漏洞详情
1)漏洞原因
Ruckus公司修复后发布了安全公告(https://support.ruckuswireless.com/security_bulletins/312)
图8 安全公告
Ruckus宣称该攻击发生的原因是因为SmartZone控制器的eAut模块中存在一个漏洞,该漏洞允许未经身份验证的远程攻击者发送任意请求,对另一网络设备执行DDoS攻击。该漏洞是由于eAut模块的代码处理不当造成的,详情可查看公告链接。根据Statista最新数据,目前全球共约750亿台联网设备。数以百亿的设备接入网络,同时也带来了大规模的软件服务暴露到互联网上,攻击防护刻不容缓。
2)如何防范?
一方面我们会持续关注新型攻击,及时预警;另一方面我们也呼吁为了减少开放服务成为攻击者的帮凶,希望各厂商重视安全,做好相应服务的防护治理。参考以下建议进行预防:
企业设计软件时,需要对端口连接对象进行身份认证和鉴权,对未授权请求不予响应,或减少响应
禁用UDP;不能禁用时,设计的UDP服务应确保鉴权前,响应数据包不大于请求数据包长
没有公网访问需求,不启用公网IP,如有需要,应添加防火墙规则
敏感数据传输,要进行加密处理,避免明文传输
来源:freebuf.com 2021-07-24 15:47:57 by: 百度安全实验室
请登录后发表评论
注册