原文标题:ReDAN: An Empirical Study on Remote DoS Attacks against NAT Networks

原文作者: Xuewei Feng, Yuxiang Yang, Qi Li, Xingxiang Zhan, Kun Sun, Ziqiang Wang, Ao Wang, Ganqiu Du, Ke Xu

原文链接: https://dx.doi.org/10.14722/ndss.2025.230972

发表会议:NDSS 2025

笔记作者:王彦@安全学术圈

主编:黄诚@安全学术圈

编辑:张贝宁@安全学术圈

1 总体介绍

NAT(网络地址转换)广泛用于 IPv4 资源紧张的场景中,如 4G/5G、公共 Wi-Fi 和云网络。其通过隐藏内部客户端的真实地址,通常被认为具有一定的安全性。然而,本文指出这种安全性在面对特定远程攻击时是虚假的。攻击者甚至不需要处于 NAT 网络内部,就能远程识别 NAT 设备并干扰其连接。

目前的 NAT 设备在路径 MTU 探测(PMTUD)机制中的实现存在一致性缺陷。这种缺陷导致 NAT 设备发出的 ICMP 报文与内部主机的 TCP 报文不一致,进而被远程攻击者利用形成副信道。这为攻击者实现精确定位 NAT 设备铺平了道路。在此基础上,如果 NAT 设备对 TCP RST 报文缺乏合法性验证,攻击者还可进一步欺骗 NAT 设备删除映射条目,从而破坏 NAT 后用户的 TCP 会话。

本文提出了 ReDAN 攻击流程,包括 NAT 设备识别与连接中断两个阶段,并在多种系统、固件、商用设备中验证了攻击的广泛适用性。最后还提出了针对性的防护建议,如强化 NAT 对 TCP 包合法性的校验及同步路径 MTU 状态等,呼吁厂商重视相关安全问题。

2 背景知识

NAT(Network Address Translation)允许私有网络中的多个设备共享一个公网地址访问互联网。其通过在出口设备维护 NAT 映射表实现地址与端口的转换。每次内部设备发起连接时,NAT 设备会记录源地址与目的地址等信息,并更新状态。

路径 MTU 探测(PMTUD)是 TCP/IP 协议族中用于发现路径最大传输单元的机制,从而避免 IP 分片。发送方通过设置 DF 标志并观察路径中间设备返回的 ICMP 报文来确定最大可传输分段大小(MTU)。然而在 NAT 场景中,内部主机更新了 MTU 值,但 NAT 设备本身并未同步更新,导致后续报文长度不一致,成为攻击者利用的副信道

此外,TCP 协议允许通过 TCP RST 报文中断连接。正常情况下,操作系统应对 RST 报文的序列号合法性进行校验。然而大多数 NAT 设备并不具备类似逻辑,因此攻击者只需伪造 RST 包即可诱使 NAT 删除映射,导致连接断开。

3 方案设计

ReDAN 攻击流程分为两个阶段:首先是识别 NAT 设备,然后是DoS攻击阶段。

NAT 识别阶段利用 PMTUD 机制的不一致性构造副信道。攻击者通过布设 HTTP 诱导链接,引导目标用户访问其控制的 HTTP 服务。服务端发出伪造的 ICMP 报文(类型为 Fragmentation Needed),诱使客户端降低与服务端的路径 MTU。然后攻击者对该地址发送固定长度的 ICMP Ping 包,通过观察返回包是否被分片判断是否为 NAT 用户。若返回包为未分片的完整包,则说明响应是由 NAT 设备直接返回的,确认该 IP 是 NAT 公网地址,如图3所示,图b中NAT主机的ICMP reply报文的长度仍为1500,而图a中未使用NAT服务的ICMP reply长度为mtu_x。

DoS攻击阶段中,攻击者伪造来自服务端的 TCP RST 报文,目标地址为识别出的 NAT 设备公网地址,目标端口覆盖常用端口范围(如 32768-61000)。由于 NAT 设备不检查 RST 包序列号,可能会删除映射,破坏已有连接。随后攻击者伪造 PUSH/ACK 包诱导服务端回应重复 ACK,其中携带客户端的真实序列号。再由 NAT 设备发送合法序列号的 RST 给服务端,最终导致服务端主动关闭连接。

攻击共分为三个阶段(详见图5):

  • 第一阶段(移除NAT映射):通过大量TCP RST/ACK伪包误导NAT清除TCP映射;

  • 第二阶段(操控TCP状态):攻击者伪造NAT发出的PUSH/ACK报文触发服务端回复ACK,进一步造成连接混乱;

  • 第三阶段(终止连接):服务器向客户端回送带有正确序列号的RST包,完成连接强拆

4 实验评估

作者构建了一个端到端的实验环境(如图 6),包括受控 NAT 设备、不同操作系统的 NATed 客户端、受害服务端与攻击者控制的观察点。首先在 6 个操作系统、8 种路由器固件、30 款商用 NAT 路由器上验证了 PMTUD 漏洞的一致性,发现所有测试系统都存在路径 MTU 同步缺陷,攻击者均可利用此副信道识别 NAT 地址。

为进一步评估 DoS 效果,作者在真实网络中选择 180 个 NAT 网络场景,包括 90 个 4G/5G 网络、60 个公共 Wi-Fi 与 30 个云服务器 NAT,结果显示其中 166 个网络(占比 92%)存在漏洞,均可被攻击者远程切断 TCP 连接。

表 III 显示了不同操作系统与设备中 NAT 实现对 TCP RST 处理的差异。Linux 5.1 及以上版本具有校验机制而不受影响,但早期内核、FreeBSD、OpenWrt 22.03 及以下版本、绝大多数商用路由器均可被攻击者通过伪造 RST 轻易移除映射。

实验还包括 SSH 与 FTP 两类服务的 DoS 攻击案例。图 8 展示了完成攻击所需的带宽统计,平均仅需约 5.72MBps 的攻击带宽,即可中断 NAT 网络中的所有 SSH 会话,且攻击包未被防火墙拦截。针对 FTP 下载也可实现类似效果,平均所需带宽为 5.06MBps,显示了攻击的低成本与高破坏性。

最后,表 IV 与表 VI 分别展示了通过副信道识别出的 NAT 设备全球分布情况及在实际 NAT 网络中的成功攻击比例。图 10 可视化了不同类型网络(如 Wi-Fi 4/5/6、云服务提供商)中受攻击比例,突显了该漏洞的广泛存在。

5 结论

本文揭示了NAT规范中长期存在但未被关注的一个路径MTU侧信道问题,并进一步利用该漏洞实现了一种可规模化远程TCP连接中断攻击。研究显示,该攻击无需客户端配合,也不依赖复杂的入侵手段,实用性极强。最关键的是,现实中主流NAT实现(特别是商用路由器与固件)普遍存在该漏洞。

相比以往依赖复杂侧信道或客户端配置的NAT检测方法,该方法无需额外权限,具有更强适用性。作者所提出的防御措施——对PMTUD机制补强与对RST包严格校验——已在OpenWrt等系统中部分采纳,具备可推广性。

从攻击角度来看,该技术极具隐蔽性和破坏力;从防御角度来看,相关NAT实现厂商亟需升级协议处理逻辑。此文对实际部署的NAT设备安全性具有重要警示作用。

安全学术圈招募队友-ing

有兴趣加入学术圈的请联系 secdr#qq.com

声明:本文来自安全学术圈,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。