01 · 中间设备的处理模型:可见性与状态
防火墙、IPS、WAF、负载均衡、NAT64翻译器等中间设备对IPv6报文的处理质量,决定了扩展头与分片攻击面在真实网络中是"被治理"还是"被绕过"。处理模型可分解为两个正交维度:
- 可见性维度(解析深度):设备能看到报文的哪一层——仅IPv6头?扩展头链?分片头?重组后的完整数据报?ESP之后的密文对绝大多数设备天然不可见;逐跳/路由/分片头的解析深度因设备而异(有的按Next Header链逐跳解析,有的只解析固定前几跳)。
- 状态维度(关联能力):分片的后续分片不含上层头信息——设备必须以(源、目的、Identification)三元组建立关联状态,从首分片提取五元组并校验后续分片一致性;无状态设备面对分片只有"全放行/全丢弃"两个粗放选项,前者等于绕过通道,后者等于业务伤害。
关键论断:"设备对异常报文的处置"与"设备记录并上报了什么"同等重要。一致性测试(第04节)同时检验两者:处置差异制造绕过空间,日志差异制造检测盲区。基线核查应要求设备对每一类异常报文给出明确的、文档化的处置策略。
02 · 标准基线族:八份核心RFC的处置要求
| 标准 | 年份 | 核心处置要求 | 对设备的含义 |
|---|---|---|---|
| RFC 5095 | 2007 | 废弃路由头类型0(RH0) | 含RH0报文应被识别并可丢弃;识别能力是前提 |
| RFC 5722 | 2009 | 禁止重叠分片;接收方必须整包丢弃 | 分片缓存需实现区间重叠检测;检测粒度=8字节位图 |
| RFC 7045 | 2013 | 传输路由器不得因扩展头存在而丢弃报文;同时不禁止安全设备按策略过滤 | 转发面透传义务与安全面过滤权利并存;设备需区分"转发角色"与"过滤角色" |
| RFC 7112 | 2013 | 首分片必须包含完整头链+完整上层头,否则丢弃并发ICMPv6 Parameter Problem | 设备应执行首分片完整性校验;截断于上层头中间的报文属异常 |
| RFC 6946 | 2013 | 原子分片的接收处理规则 | 历史规则;新设备应识别原子分片形态并告警(生成已被RFC 8021废弃) |
| RFC 8021 | 2017 | 废弃原子分片生成;PTB通告MTU<1280按无效处理 | 合规栈不应产生原子分片;网络中观察到的原子分片即异常信号 |
| RFC 6980 | 2013 | 禁止对ND消息(NS/NA/RS/RA/Redirect)使用IPv6分片;携带分片头的上述ND消息必须被静默丢弃 | "分片ND报文"=标准定义的非法形态;出现即告警,接入层与主机层双重核查 |
| RFC 4890 | 2007 | ICMPv6过滤基线:链路必需类型(ND、PTB等)不得过滤 | PTB必须透传至内网主机;过滤PTB=制造PMTUD黑洞(第6页) |
此外,RFC 8200 §4整合了上述全部更新(5722禁令、7112首分片要求、8021原子分片结论、5095废弃均为现行标准组成部分);RFC 7872(2016年)提供了现实测量基线——携带扩展头的报文在互联网中遭遇显著丢包,证明"透传"在真实世界并未统一达成;RFC 6092(2011年)给出了住宅CPE场景的推荐过滤能力集,可作为企业网关基线的参考蓝本。
标准化动态(进行中):IETF 6man工作组正在推进《Limits on Sending and Processing IPv6 Extension Headers》(draft-ietf-6man-eh-limits,2025年活跃版本)——首次为"解析深度"给出量化基线:需要解析上层协议的中间设备必须能正确转发扩展头链总长≤104字节(等价于聚合扩展头≤64字节)、前置扩展头数量≤8个的报文,并对超限情形给出明确处理指引。该文件尚处草案阶段(非RFC),但已为设备采购声明与一致性测试用例设计提供首个量化锚点;本课题D1维度(链长/嵌套上限)的核查建议以其最新版本为参考基准。
03 · 一致性差异类型学:六个分歧维度
| 差异维度 | 分歧的具体表现 | 可构造的攻击意义 |
|---|---|---|
| D1 链长/嵌套深度上限 | 设备解析扩展头链的层数上限不一(8/16/无显式),超限后丢弃、截断或直通各异 | 超长链筛选"解析深度最浅的设备"成为网内短板标记 |
| D2 未知类型处置 | 未知Next Header值:丢弃+回送ICMP / 静默丢弃 / 直接转发 | 回送行为构成可远程测绘的指纹;转发行为构成隧道化滥用空间 |
| D3 TLV选项处置 | 未知选项按类型字节高位规则处置的严格程度不一;组播ICMP回送的抑制不一 | "00跳过/01丢弃"分叉制造同报文不同命运 |
| D4 分片关联深度 | 首分片五元组会话化+后续分片一致性校验 vs 无状态粗放放行;重组缓冲是否内置(IPS重组后检测) | 关联缺失=标准绕过通道;重组差异=IPS与终端所见分裂 |
| D5 重叠/异常分片处置 | 5722整包丢弃是否实现;多末片、微小分片、首片截断的告警与记录差异 | 策略差异即绕过配方库(第4页) |
| D6 ICMPv6反馈策略 | Parameter Problem/Packet Too Big的生成、透传、限速差异 | 反馈面是测绘金矿也是放大风险源;PTB处理差异直接关联PMTUD攻击(第6页) |
04 · 一致性测试方法学:用例矩阵与验证流程
4.1 设计原则:单变量变异
在基准合法报文上每次仅修改一个变量,确保观测到的处置差异可归因于该变量。矩阵的三个轴:①头部轴——扩展头种类×出现次数×出现位置(乱序/重复);②分片轴——偏移序列(合法/重叠/乱序/微小)×M位模式×ID模式(随机/可预测/冲突);③组合轴——扩展头×分片×上层协议(TCP/UDP/ICMPv6)的交叉组合。
4.2 用例分级
| 级别 | 用例特征 | 预期合规处置 |
|---|---|---|
| L1 合法基线 | 完全符合RFC推荐顺序、首分片完整、无重叠的常规流量 | 放行;不产生误报(误报本身就是一致性问题) |
| L2 边界合法 | 推荐顺序边缘(目的选项单次出现、链长接近上限、末片极小) | 放行;设备解析深度足以处理 |
| L3 不合规但无害 | 乱序扩展头、重复非关键头、未知"00跳过"选项 | 按容错要求处理并继续;处置差异在此级即可观测 |
| L4 恶意构造 | 重叠分片、首分片截断(违反7112)、多末片、RH0残留、原子分片生成响应 | 丢弃+告警+计数;是否回送ICMP按角色区分(转发设备回送/过滤设备按策略) |
4.3 验证流程(双端观测法)
- 三视角记录:发送端镜像(我发了什么)、设备侧日志(它看到什么/判定什么)、接收端镜像与协议栈计数器(它收到什么)——三者比对形成"处置矩阵";
- 正向与反向双向测试:入站与出站策略对称性核查(出站过滤缺失是隧道外联隐蔽通道的温床,与子课题03衔接);
- 性能伴随观测:测试期间记录设备CPU/会话表/丢包——处置差异若伴随性能拐点,说明实现处于"正确性与资源"的脆弱平衡,需在基线中声明限速与上限。
05 · 公开测量证据:现实与规范的差距
- RFC 7872(2016年):Gont等对真实互联网的测量显示,携带逐跳选项头或目的选项头的报文遭遇显著高于普通报文的丢弃——且丢包并非恶意策略,多数源于实现层面的"深度不足即丢"的保守行为。对运营的含义:部署依赖扩展头的新业务(SRv6、IOAM)前,必须先测量自身网络与目标网络的EH可达性;
- 分片路径的测量常识:中间设备对分片的粗放处置(无状态放行)在现网长期存在——这正是"分片即绕过"经验法则的来源;防御方应以自有测试替代经验假设(第4节方法);
- 对SRv6部署的影响:SRH使路由头重新进入主流流量——RFC 7872时代的"路由头罕见可整体过滤"基线已过时,"按类型白名单+深度核查"成为新基线,同时SRv6中间可见性问题(SID栈解析深度)应纳入一致性测试范围。
06 · 对安全设备的四项硬性要求
- 重组后检测:IPS/WAF对分片流量应在重组还原后实施内容检测;仅检测单分片等于把检测权让给攻击者的分片策略;
- 会话关联完整性:首分片建立五元组状态,后续分片执行(三元组一致、偏移连续、无重叠、单一末片)校验,异常即按策略处置并告警;
- 明确的解析深度声明:厂商文档应声明扩展头链解析上限、分片缓存容量、超限处置动作——采购与基线核查以文档声明为准绳,拒绝"未声明即默认";
- 双栈对称覆盖:IPv6侧检测能力(含EH/分片)应与IPv4侧对齐——"IPv4很严、IPv6形同虚设"的等价性失衡是子课题01的既定课题,此处要求设备级落地。
07 · 基线核查清单(v1.0摘要)
| 编号 | 核查项 | 合规基线依据 |
|---|---|---|
| C-01 | 含RH0报文的识别与处置(应可丢弃并记录) | RFC 5095 |
| C-02 | 重叠分片整包丢弃(含8字节边界相邻误判防护) | RFC 5722 |
| C-03 | 首分片完整性校验(头链+完整上层头) | RFC 7112 |
| C-04 | 分片五元组会话化与后续分片一致性校验 | 有状态检测通用基线 |
| C-05 | 原子分片形态识别与告警 | RFC 8021 |
| C-06 | 扩展头链解析深度上限声明与超限处置 | RFC 7045+厂商文档化要求 |
| C-07 | PTB透传(不得过滤进入内网的PTB) | RFC 4890 |
| C-08 | IPv4/IPv6检测能力等价性声明 | 子课题01等价性框架 |
完整核查流程、取证模板与整改跟踪表见第8页实施路线;本清单与《IPv6攻击面清单》(第7页AS-EH条目)形成"机制—设备—控制"三级对应。
本节参考来源(第5页)
以下均为真实可查的权威来源,用于支撑本页事实性表述。
IETF RFC 7045《Transmission and Processing of IPv6 Extension Headers》(2013年12月):rfc-editor.org/rfc/rfc7045;RFC 7112(2013年1月):rfc-editor.org/rfc/rfc7112。
IETF RFC 5722(2009年12月):rfc-editor.org/rfc/rfc5722;RFC 5095(2007年12月):rfc-editor.org/rfc/rfc5095。
IETF RFC 7872《Observations on the Dropping of Packets with IPv6 Extension Headers in the Real World》(2016年6月,Gont等):rfc-editor.org/rfc/rfc7872。
IETF RFC 4890(2007年5月):rfc-editor.org/rfc/rfc4890;RFC 6092《Recommended Simple Security Capabilities in Customer Premises Equipment (CPE) for Providing Residential IPv6 Internet Service》(2011年1月):rfc-editor.org/rfc/rfc6092。
IETF RFC 6946(2013年5月):rfc-editor.org/rfc/rfc6946;RFC 8021(2017年1月):rfc-editor.org/rfc/rfc8021。
IETF RFC 8754《IPv6 Segment Routing Header (SRH)》(2020年3月):rfc-editor.org/rfc/rfc8754;RFC 8402(2018年7月):rfc-editor.org/rfc/rfc8402。
IETF RFC 6980《Security Implications of IPv6 Fragmentation with IPv6 Neighbor Discovery》(2013年8月):rfc-editor.org/rfc/rfc6980;IETF 6man草案draft-ietf-6man-eh-limits《Limits on Sending and Processing IPv6 Extension Headers》(进行中,以datatracker最新版本为准):datatracker.ietf.org。