freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

基于OpenAFS文件系统的反射攻击深度分析
2022-03-25 11:18:31
所属地 北京

0x00概述

百度智云盾团队在2022年3月首次捕获到利用OpenAFS服务的反射放大攻击。据现有资料表明,这种反射攻击方式尚属全网首次出现,智云盾系统在2秒内识别攻击,实时对流量做了隔离和清洗,保障用户免遭DDoS的伤害。

经过深入分析,我们确认了本次攻击是黑客利用了基于OpenAFS系统的客户端服务发起的DDoS反射攻击,OpenAFS是一套成熟的分布式文件系统,客户端在UDP7001端口提供服务,由于OpenAFS 多个版本存在安全漏洞,导致开启该服务的主机容易被黑客利用作为反射源进行DDoS反射攻击。

0x01反射原理

攻击者采用反射方式实施DDoS攻击时,不是直接攻击受害者IP,而是伪造了大量受害者IP的请求发给相应的开放服务,通常这类开放服务不对源进行校验而是立即完成响应,这样更大更多的响应数据包发送到受害者IP,从而实现了流量的反射,这类开放服务就是反射源。

原理如下图所示:

图1 反射攻击原理示意图

图1中攻击者Attacker伪造了请求包PVA并发送到反射服务器A,但PVA的源IP是V,所以A响应的时候发送PAV给到V。

反射攻击一方面隐藏了攻击IP,同时还有一个重要特征是放大,上述原理图中的PAV往往是PVA的好几倍,甚至是成千上万倍。正是有了这样的特征,黑客组织乐此不疲的使用这一攻击方式,并不断的研究信息反射攻击增强攻击效果。

0x02攻击分析

智云盾系统检测到攻击时,自动对攻击流量进行采样,安全专家对采样包及时进行了深层次的分析和演练。本次攻击事件共涉及反射源2594个。

  1. 攻击包分析

通过分析智云盾的攻击采样包发现,反射流量的端口来自于7001端口,下图红色箭头指向的是反射源端口:

图2 采样包内攻击来源端口图

采样包中udp携带的攻击载荷如下图所示:

图3 攻击载荷

数据包中的攻击载荷固定包含OpenAFS,通过搜索分析,这是一款分布式文件系统。攻击载荷如下图所示:

图4 格式化后的攻击载荷

2.攻击模拟(OpenAFS版本号:1.6)

为了进一步分析,我们在一台纯净的Ubuntu16.04的机器上安装了OpenAFS服务,不同版本的服务在我们的测试中,响应情况不同,此次安装的版本号为1.6。通过对攻击载荷的分析,并借鉴官方文档中查询请求的消息格式,我们编写软件向这几个端口发送攻击载荷为

\x00\x00\x03\xe7\x00\x00\x00\x00\x00\x00\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x05 \x00\x00\x00\x00\x00\x00\x00的udp数据包,并针对反射源IP进行抓包,最后发现7001端口有响应。复现攻击如下图所示:

图5 反射源的响应(版本号:1.6)

我们在模拟攻击请求的验证中,发出一个载荷长度为29字节,获取到的响应包载荷为93字节。

3.攻击模拟(OpenAFS版本号:1.7和1.8)

OpenAFS从1.0到1.9共有10个大版本,我们对每个版本都进行了测试分析,最后发现,1.7和1.8两个较新的版本也存在安全漏洞,但是与1.6版本不同的是,响应包内容不再包含服务器的主机信息。下面展示了我们的验证过程:

版本1.7:

发送一个载荷长度为29字节的请求,共获取到5个载荷为24字节的响应内容,下图为模拟过程:

图6 模拟测试(版本号:1.7)

图7 格式化后的响应内容(版本号:1.7)

版本1.8:

发送一个载荷长度为29字节的请求,共获取到5个载荷为18字节的响应内容,下图为模拟过程:


图8 模拟测试(版本号:1.8)

图9 格式化后的响应内容(版本号:1.8)

4.放大倍数

按照我们前期对反射倍数的研究结果,科学的统计放大倍数,应当包括数据包协议头和网络帧间隙。详细的方案可以参阅《MEMCACHED DRDoS攻击趋势》一文。

协议头和网络帧间隙计算为:14(以太头)+20(IP头)+8(UDP头)+4(FCS头)+20(帧间隙)=66字节。所以三个版本反射倍数计算不同,

1.6版本的实际响应的数据包大小为93+66=159字节,1.7版本的为5x(66+24)=450字节,1.8版本的为5x(60+24)=420字节。请求包大小均为29+66 = 95字节。

最终我们计算得到的放大倍数为

版本号放大倍数

1.6

159/95=1.67

1.7

450/95=4.74

1.8

420/95=4.42

0x03反射源分析

1.全网数据

攻击发生以后,我们联合zoomeye对在UDP7001上存在漏洞的服务进行了全网扫描,对扫描的反射源进行了调查分析,全球共有超过26w的OpenAFS服务存在安全漏洞,主要来源于中国,占比超过48%。下图是IP的全球分布情况:

图10 OpenAFS服务全球分布

0x04防范建议

反射攻击与传统的flood攻击相比,能更好的隐藏攻击者,并且产生的流量更大,因而反射攻击越来越受到黑客青睐。

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

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

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

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

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

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

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

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

智云盾团队介绍

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

# web安全 # 系统安全 # 数据安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
  • 0 文章数
  • 0 关注者