Akamai 博客 | TCP 中间设备反射攻击:一种逐渐逼近的 DDoS 攻击阴影
作者:Akamai 安全智能响应团队
执行摘要
上一周,Akamai 安全研究人员检测到针对 Akamai 客户发起的一系列 TCP 反射攻击(其峰值攻击强度达到 11 Gbps 和 1.5 Mpps),并对这些攻击进行了分析。
该攻击通过一种称为“TCP 中间设备反射攻击”的技术进行了放大,滥用存在漏洞的防火墙和内容过滤系统,将 TCP 流量反射到受害者设备上并予以放大,由此引发高强度 DDoS 攻击。
中间设备在全球分布广泛,类型各异,从民族国家审查系统(如中国的长城防火墙),到企业使用的企业级内容过滤系统。
马里兰州大学和科罗拉多州大学的研究人员在去年八月曾介绍过这种新型技术;不过这还是我们第一次在现实中看到这类攻击。
这类攻击的危险之处在于,它降低了 DDoS 攻击的门槛,因为从容量型攻击的视角来看,在某些情况下,攻击者发动攻击所需带宽仅为防御者应对攻击所需带宽的 1/75。
根据部分中间设备的实施方式,攻击者可以在 TCP 容量型攻击的基础之上,在攻击中添加大量 SYN、ACK 或 PSH+ACK 恶意请求。
根据我们的观察,已经成为攻击目标的企业涉及银行、旅游、游戏、传媒以及网络托管行业。
虽然当前攻击流量相对而言并不高,但由于这类攻击技术为攻击者提供了可观的放大能力,我们预计此类攻击将在未来显著增长。
前言
从最近几周起,Akamai 研究人员观测到多次针对 Akamai 客户发起且包含 SYN 泛洪流量的分布式拒绝服务 (DDoS) 攻击活动,其峰值攻击强度达到 11 Gbps 和每秒 150 万个数据包 (Mpps)。在检查攻击中使用的 TCP 数据包之后,我们认识到,这些攻击使用的是称为“TCP 中间设备反射攻击”的新技术。
TCP 中间设备反射攻击这种新型 DDoS 攻击媒介最初是在 2021 年 8 月披露的,马里兰州大学和科罗拉多州大学的研究人员撰写了一篇论文:《中间设备成为 TCP 反射式放大攻击武器》,其中介绍了攻击者如何在 TCP 反射攻击中利用防火墙和内容过滤系统等中间设备。中间设备 DDoS 放大攻击是一种全新的 TCP 反射/放大攻击,给互联网造成了重大风险。
这是我们第一次在真实攻击活动中观测到这种技术。在这篇博客中,我们将探讨这一攻击媒介,解释其工作原理,展示我们亲眼见证的一些攻击实例,并分享一些信息,包括这类攻击给互联网造成的风险,以及或许对抗击这类攻击的防御者有所帮助的缓解技术。
TCP 中间设备反射——一种新型 DDoS 攻击媒介
中间设备是一种联网设备,它位于相互通信的两个终端主机间的路径上,可以实时监控、过滤或转换数据包流。不同于路由器和交换机等传统网络设备,中间设备不止会操作数据包的报头,还会使用深度数据包检测 (DPI) 技术操作数据包载荷。
如前所述,TCP 中间设备反射攻击技术最初是在 《中间设备成为 TCP 反射式放大攻击武器》一文中披露的。 在那篇文章中,几位作者尝试对照广为人知的基于 UDP 的放大技术,证明基于 TCP 的放大技术的可行性和有效性。该团队利用网络中间设备存在的 TCP 不合规问题,成功创建了基于 TCP 的反射式放大攻击,而且十分有效。
研究团队的几位作者发现,部分此类中间设备在尝试实施内容过滤策略时,不会考虑 TCP 流状态。这些设备可能会设置为响应状态不正常的 TCP 数据包。此类响应中往往包含旨在(非恶意地)“劫持”客户端浏览器的内容,意在防止用户访问内容过滤系统所拦截的内容。但攻击者可能会利用这种经过人为干预的非正常 TCP 实施方式,将 TCP 流量(包括数据流)反射到 DDoS 受害者处。
研究团队的几位作者指出,全球有无数中间设备系统存在可被这种 TCP 反射攻击滥用的漏洞。在测试中,他们发现这种攻击技术的放大比率较高,超出了较为盛行、经常被滥用的 UDP 反射攻击媒介。互联网上部分存在漏洞的系统能实现的放大比率超出了一些最为严重的 UDP 攻击媒介,例如 NTP、RIPv1,乃至是目前恶名昭彰的 Memcached。
攻击:滥用中间设备的 TCP 不合规问题
攻击者可能会精心编排各种 TCP 数据包序列,在其中包含 HTTP 请求报头;这些 HTTP 报头将某个被拦截网站的域名用作主机报头。在配置为禁止终端设备访问相应网站的中间设备收到这些数据包之后,就会做出响应,通常是使用 HTTP 报头的形式响应,有些则会使用整个 HTML 网页的形式响应。这类响应给攻击者创造了发动反射攻击的机会,有时甚至能达到极高的放大系数。
为了滥用这些设备发动分布式反射服务拒绝 (DRDoS) 攻击,攻击者会伪造目标受害者的源 IP 地址,导致中间设备的响应流量发送给受害者。在整个互联网上,可在许多网络中找到通过这种方式配置的中间设备系统,通常是由民族国家用于实施内容审查法律规章,或由企业用于实施内容过滤策略。
在图 1 的示例流量中,您可以看到受此问题影响并在真实攻击中遭到利用的一台中间设备。发送带有 33 字节载荷的一个 SYN 数据包就能触发 2,156 字节的响应:放大系数高达 65 倍 (6,533%)。如此之高的放大比率可以有效提升攻击强度,因为攻击者发动攻击所需的带宽远低于防御者应对攻击所需的带宽。
过去,攻击者在发动容量型 TCP 攻击时,需要利用大量机器和带宽,因此通常只有具备高带宽连接、源伪造能力的超高性能机器或僵尸网络才能驾驭这类攻击。原因就在于在此之前,没有针对 TCP 协议的高放大系数攻击手法;虽然 可以实现一定的放大倍数,但其程度几乎可以忽略不计,至少相较于 UDP 替代攻击方案而言,其放大倍数远低于标准,也谈不上有效。
如果想要将 SYN 泛洪攻击与容量型攻击相结合,攻击者一方所用带宽需要达到与受害者一方所耗带宽 1:1 的比例,这通常通过填充了数据的 SYN 数据包实现。中间设备放大攻击技术改变了人们对于 TCP 攻击的这种长期认知。从容量型攻击的视角来看,在某些情况下,攻击者发动攻击所需带宽仅为防御者应对攻击所需带宽的 1/75,而且由于一些中间设备的非正常设置,攻击者不用付出什么代价就能利用 SYN、ACK 或 PSH+ACK 泛洪流量。
在图 2 中,我们可以看到一台中间设备响应一个 SYN 数据包的情况,但这里的重点在于,出于某种未知的原因,为了响应一个 SYN 数据包,中间设备使用了一个自己的 SYN 数据包。此外,中间设备发送了多个装载有数据的 SYN 数据包,这让情况更加糟糕。这里值得注意的另外一个重要方面在于,中间设备完全忽略了“受害者”发来的 RST 数据包,依然我行我素地在连接中推送自己的数据,不断将填充了数据的 SYN 数据包发送给对方,直至完成自己的任务。
原文作者还有另外一项让人忧虑的发现:有一些设备会处理 RST 数据包。这些设备在收到 RST 数据包时,会重新发送其已经传输过、最初触发了 RST 的数据包,而这又导致对方又一次作出 RST 响应,继而再次发送数据包。因此在某些情况下,一台设备最终会陷入“无限循环”,或者自续式放大。
在这一演示中,这些 RST 数据包发自“受害者”,原因是没有 TCP 服务在侦听 TCP/45678 端口,然而,这还是最好的情况。在下面这张屏幕截图中可以看到,如果攻击者的目标是正在运行一项 TCP 服务的端口,情况还会更糟糕。
在图 3 中,我们看到有一项 TCP 服务目前在 TCP/45678 端口上运行。这项容量型攻击现已变成资源耗尽型攻击:这些以 TCP 应用程序/服务为目标的 SYN 数据包将导致应用程序尝试用多个 SYN+ACK 数据包做出响应,保持 TCP 会话处于打开状态,等待三方握手的剩余环节完成。由于每个 TCP 会话都保持这种半开放状态,系统将会耗用套接字,而这又会耗用资源,从而可能造成资源耗竭。
攻击观测结论——呈现增长趋势的攻击媒介
Akamai 安全运营指挥中心观察到多次中间设备攻击活动,攻击目标包括银行、旅游、游戏、传媒和网络托管行业。迄今为止,相较于利用其他媒介的攻击,我们所观察到的利用这种技术的攻击仍然较少,但其盛行程度和攻击量级都呈现出增长趋势。
该系列中最早的攻击就已经达到 50 Mbps 的峰值。近期攻击活动背后的攻击者似乎正在完善攻击能力和/或调优其首选的一组反射器。最近使用相同中间设备媒介并针对同一组受害者发动的攻击峰值分别为 2.7 Gbps 和 11 Gbps,其中峰值为 11 Gbps 的攻击的强度达到 1.5 Mpps。
虽然这些攻击目前的流量相对不高,但切实体现出攻击者已经开始采用中间设备攻击技术,并将其用作 DDoS 攻击方法中的另一种工具。
缓解建议
中间设备反射攻击尚属新型技术,但并没有那么特别。其真正的威胁在于,为希望利用这些技术的攻击者降低了门槛。填充数据的 SYN 泛洪攻击是一种常见攻击手法,多年来一直被攻击者广泛利用。从这个角度来看,抵御中间设备攻击时可以利用相同的技术与战术。
在真实攻击场景中,SYN 数据包大多用于发起 TCP 握手,并非用于数据传输。因此,长度大于 0 的 SYN 流量均存在可疑之处,这应作为缓解策略中的一项指标。
此外,SYN 质询还可有效防范中间设备资源耗尽效应。中间设备无法很好地处理由此产生的质询数据包,因此 SYN 数据包不能通过缓解设备,而由于握手永远不能完成,数据流应在传入服务器与应用程序之前被丢弃。
其他方法还有使用能轻松阻止攻击的反伪造模块以及 Out-of-State 攻击缓解模块组合,并利用 snort 等签名工具,丢弃响应流量中的明文模式。此外也可以利用防火墙 ACL,阻止已知不正确的模式,比如下面这样的规则:
deny tcp any eq 80 host x.x.x.x match-all +syn -ack packet-length gt 100
此规则会丢弃从端口 80 传入、数据包长度大于 100 的任何 SYN 数据包。
结论
发现新的攻击媒介时,总是难以定夺攻击者是否会利用这种攻击媒介,以及会在何时加以利用。在中间设备攻击理论出现之后,经过数月的时间,我们才在网络上观测到真正利用这种技术的攻击,这样的间隔时长超出了我们最初的预计。
如今,TCP 中间设备反射攻击技术已在真实网络中得到了测试和验证,攻击者很有可能会继续采用这种攻击技术。此外,攻击者也有可能尝试做出改进,提升攻击强度和整体影响力。
Akamai 安全智能响应团队致力于跟踪、探索、记录和发布全新发现,以保护整个互联网的安全性和稳定性。我们将继续监测这些攻击,并相应地更新本博客。