基于 OpenAFS 文件系统的反射攻击深度分析
01.概述
百度智云盾团队在2022年3月首次捕获到利用OpenAFS服务的反射放大攻击。据现有资料表明,这种反射攻击方式尚属全网首次出现,智云盾系统在2秒内识别攻击,实时对流量做了隔离和清洗,保障用户免遭DDoS的伤害。
经过深入分析,我们确认了本次攻击是黑客利用了基于OpenAFS系统的客户端服务发起的DDoS反射攻击,OpenAFS是一套成熟的分布式文件系统,客户端在UDP7001端口提供服务,由于OpenAFS 多个版本存在安全漏洞,导致开启该服务的主机容易被黑客利用作为反射源进行DDoS反射攻击。
02.反射原理
攻击者采用反射方式实施DDoS攻击时,不是直接攻击受害者IP,而是伪造了大量受害者IP的请求发给相应的开放服务,通常这类开放服务不对源进行校验而是立即完成响应,这样更大更多的响应数据包发送到受害者IP,从而实现了流量的反射,这类开放服务就是反射源。
原理如下图所示:
图1 反射攻击原理示意图
图1中攻击者Attacker伪造了请求包PVA并发送到反射服务器A,但PVA的源IP是V,所以A响应的时候发送PAV给到V。
反射攻击一方面隐藏了攻击IP,同时还有一个重要特征是放大,上述原理图中的PAV往往是PVA的好几倍,甚至是成千上万倍。正是有了这样的特征,黑客组织乐此不疲的使用这一攻击方式,并不断的研究信息反射攻击增强攻击效果。
03.攻击分析
智云盾系统检测到攻击时,自动对攻击流量进行采样,安全专家对采样包及时进行了深层次的分析和演练。本次攻击事件共涉及反射源2594个。
a.攻击包分析
通过分析智云盾的攻击采样包发现,反射流量的端口来自于7001端口,下图红色箭头指向的是反射源端口:
图2 采样包内攻击来源端口图
采样包中udp携带的攻击载荷如下图所示:
b.攻击模拟(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端口有响应。复现攻击如下图所示:
|
|
|
|
|
|
|
|
05.防范建议
反射攻击与传统的flood攻击相比,能更好的隐藏攻击者,并且产生的流量更大,因而反射攻击越来越受到黑客青睐。
建议参考以下方式提升防护能力。
1.对互联网服务应避免被滥用,充当黑客攻击的帮凶
禁用UDP服务,不能禁用时,应确保响应与请求不要有倍数关系
启用的UDP服务应采取授权认证,对未授权请求不予响应
2.对企业用户应做好防范,减少DDoS对自有网络和业务的影响
如果没有UDP相关业务,可以在上层交换机或者本机防火墙过滤UDP包
寻求运营商提供UDP黑洞的IP网段做对外网站服务
-
选择接入DDoS云防安全服务对抗大规模的DDoS攻击
百度智云盾是百度安全专注在互联网基础设施网络安全攻防的团队,提供T级云防、定制端防和运营商联防等DDoS/CC防御解决方案。一直服务于搜索、贴吧、地图、云等百度业务,在保障百度全场景业务之余也进行防御能力外部输出,为互联网客户提供一体化的防御服务。