关于影响超600W设备的通用型路由循环漏洞分析
字数 1924 2025-08-10 00:24:01
IPv6路由循环漏洞分析与防护指南
漏洞概述
2021年1月,清华大学(网络研究院)奇安信集团网络安全联合研究中心研究员发现了一种普遍存在的IPv6路由循环漏洞,影响数十家路由器厂商的近600万设备。攻击者可利用该漏洞在任意网络位置发送精心构造的攻击数据包,实现拒绝服务攻击(DoS),严重降低或完全破坏目标路由器的可用性。
背景知识
IPv6地址分配特点
- 地址空间巨大:IPv6提供128位地址空间,远大于IPv4的32位
- 地址分配方式:终端用户通常获得至少一个/64的前缀,而非单个地址
- 全球可路由性:IPv6地址设计为全球可路由,降低了攻击门槛
- 最佳实践:RFC 6177规定应为终端用户分配至少一个/64前缀
漏洞成因分析
网络拓扑结构
典型运营商宽带网络环境下:
- 用户端路由器(CPE Router P):
- 从运营商路由器获得一个/64的WAN Prefix
- 生成WAN侧IPv6地址(WAN Address)
- 运营商路由器(Provider Router P):
- 向用户端路由器分配小于64位的LAN Prefix(如/60)
- 用户端路由器从中选取/64子网前缀(Subnet Prefix)分配给子网
漏洞产生情形
情形1:WAN Prefix使用不当
- 用户端路由器获得WAN Prefix(如2001:db8:1234:5678::/64)
- 生成WAN Address(如2001:db8:1234:5678:IID)
- 为WAN Address添加路由表项指向自身WAN侧网口
- WAN Prefix下其他未使用地址(NX Address)被默认路由转发给上层运营商
情形2:LAN Prefix使用不当
- 用户端路由器获得LAN Prefix(如2001:db8:4321:8760::/60)
- 选择其中/64子网前缀(如2001:db8:4321:8765::/64)
- 为Subnet Prefix添加路由表项指向自身LAN侧网口
- LAN Prefix下其他未使用前缀(Not-used Prefix)被默认路由转发给上层
路由循环机制
- 去往不存在地址的数据包被运营商路由器转发到用户侧路由器
- 用户侧路由器通过默认路由将其转发回运营商路由器
- 数据包在二者间循环转发,直至Hop Limit耗尽
- 产生ICMPv6 Time-exceeded消息,造成流量放大
漏洞利用方式
攻击方法
- 攻击者向受害者路由器的以下地址发送任意IPv6数据包:
- 前缀下的不存在地址
- 未被使用子网前缀下的地址
- 数据包类型:ICMPv6、TCP、UDP等均可
- 放大效应:
- 假设网络跳数为p,最大转发(255-p)次
- 放大倍数可达(255-p)倍
- 增强攻击:
- 伪造源地址指向"不存在的地址"
- 使超时消息回复也被多次转发
漏洞影响评估
受影响范围
- 厂商影响:
- 20家路由器厂商的至少99款设备
- 4大开源路由器操作系统
- 设备数量:
- 近600万真实设备受影响
- 涵盖3,877个AS和132个国家
影响程度
- 拒绝服务(DoS)攻击
- 网络可用性严重降低或完全丧失
- 流量放大效应加剧网络拥塞
解决方案
修复措施
- 路由表配置:
- 将所有分配给自身的地址和前缀指向自身
- 将未使用的地址和前缀配置为不可达
- 固件升级:
- 及时更新路由器厂商提供的修复固件
- 网络监控:
- 监测异常的ICMPv6 Time-exceeded消息
- 检测异常的路由循环流量
防护建议
- 用户侧:
- 及时更新路由器固件
- 关闭不必要的IPv6功能
- 厂商侧:
- 重新设计IPv6地址和路由模块
- 严格遵循IPv6地址分配最佳实践
- 运营商侧:
- 部署异常流量检测系统
- 过滤可疑的IPv6数据包
总结与启示
- IPv6的部署带来了新的安全挑战
- 传统IPv4的处理策略不适用于IPv6环境
- 厂商需重视IPv6功能模块的安全性设计
- 学术界和工业界需加强对IPv6安全性的研究
- 该漏洞反映了IPv6过渡期的典型安全问题
研究工具
相关测试工具已集成到XMap扫描器中,可用于检测此类漏洞。
参考文献
[1] Xiang Li, Baojun Liu, Xiaofeng Zheng, Haixin Duan, Qi Li, Youjun Huan. 2021. Fast IPv6 Network Periphery Discovery and Security Implications. In Proceedings of the 2021 IEEE/IFIP International Conference on Dependable Systems and Networks (DSN '21).