课题研究 IPv6演进安全 子课题02 · 第3页 / 共8页
02子课题 · 邻居发现协议(NDP)安全与防护

NDP安全与防护第3页:NDP攻击分类学与技术原理剖析

本页建立NDP攻击的完整分类学。按"目标层(配置/解析/资源)×机制(伪造/洪泛/竞态)"两维展开六大类攻击:伪造路由器宣告(Rogue RA)——含网关劫持、RDNSS投毒、M标志翻转、RIO精细路由注入四种变体;邻居缓存操纵(NS/NA欺骗)——IPv6形态的中间人;重复地址检测攻击——把"防冲突机制"反转为配置阻断DoS;NDP资源耗尽(RFC 6583)与报文洪泛;重定向滥用;以及工具生态的能力映射(THC-IPv6、SI6工具包、bettercap、Scapy)。每类攻击统一按"前提条件—协议机理—影响面—检测信号"四要素剖析,全部描述控制在概念与检测层面。

Rogue RA / RFC 6104NA缓存投毒DAD攻击NDP耗尽 / RFC 6583RA洪泛重定向滥用THC-IPv6SI6工具包bettercap ndp.spoof研究状态:研究中
所属专题互联网基础设施安全 › IPv6演进安全
目标受众网络与安全运维工程师、SOC与态势感知团队、安全研究人员、攻防演练组织者
全文结构8页:总览 → 协议机制 → 攻击分类 → 防护体系 → 检测监测 → 案例实证 → 风险治理 → 实践路线

01 · 攻击分类学框架

综合RFC 6104/6583的问题陈述与安全研究文献(含Fernando Gont等协议作者的分析),NDP攻击按两个维度组织:

维度取值
目标层配置层(网关/前缀/DNS/路由——RA驱动)、解析层(地址解析——NS/NA驱动)、资源层(邻居缓存/路由器列表/CPU——洪泛驱动)
机制伪造(冒充合法实体发送消息)、洪泛(数量压垮状态表)、竞态(在协议时序窗口内抢先响应——DAD/NUD竞速)
编号攻击目标层机制一句话定义
AT-1伪造路由器宣告(Rogue RA)配置层伪造攻击者发送RA,成为受害主机的默认网关/DNS源/路由注入点
AT-2邻居缓存投毒(NA/NS欺骗)解析层伪造+竞态伪造NA(或抢先应答NS)使受害主机把攻击者MAC当作目标主机MAC
AT-3DAD攻击解析层/配置层竞态应答DAD探测使新主机无法配置地址,或抢占正在配置的地址
AT-4NDP资源耗尽资源层洪泛以海量随机源地址NS/NA撑爆邻居缓存(RFC 6583定义的攻击模式)
AT-5RA洪泛与网关移除配置层/资源层洪泛海量RA淹没路由器列表与CPU,或以Lifetime=0 RA删除合法默认网关
AT-6重定向滥用配置层伪造伪造ICMPv6 Redirect将特定目的地流量牵引至同链路恶意节点

覆盖性说明:六类攻击在目标层上无交集缺失——配置层(AT-1/5/6)、解析层(AT-2/3)、资源层(AT-4)构成完整象限。部分变体跨类(如AT-5兼具配置与资源效果),按主要影响归类。

02 · AT-1 伪造路由器宣告(Rogue RA)

2.1 五种变体

变体机理(概念级)影响检测信号
默认网关劫持伪造RA宣告攻击者链路本地地址为默认路由器(Router Lifetime>0),SLLA选项携带攻击者MAC受害主机默认路由指向攻击者——全流量中间人(需攻击者转发以维持连通,否则DoS形态)RA源非受信任端口;链路上出现非网关设备的RA;默认路由器列表中出现陌生链路本地地址
RDNSS/DNSSL投毒合法网关身份不变,仅注入伪造RDNSS/DNSSL选项DNS解析被劫持——钓鱼引流、凭据收割;对HTTPS站点无法直接窃密但可实现钓鱼域名引流与恶意软件分发RDNSS内容偏离基线;出现未知DNS服务器;DNSSL出现可疑搜索域
M标志翻转伪造RA置M=1,诱导主机向攻击者控制的伪造DHCPv6服务器请求地址结合伪造DHCPv6服务器实现地址/DNS全配置接管(绕过RA-Guard仅在过滤RA时有效——DHCPv6-Shield需另行部署)M标志状态与网络规划基线不符;出现非授权DHCPv6服务器
RIO精细路由注入伪造RA携带高优先级路由信息选项(RFC 4191),针对特定目的前缀默认网关不变、特定流量被精细牵引——隐蔽性最高RIO前缀超出宣告基线;Router Preference=high异常出现
PIO/L标志前缀操纵伪造RA携带PIO且置L标志(on-link,RFC 4861)宣告攻击者控制前缀为"链路上",或宣告合法前缀但极短preferred lifetime(地址过期制造慢性失联)主机将目标地址判定为链路上直接可达——流量不经网关直达攻击者;或过短生命周期使SLAAC地址周期性失效造成间歇性断连(可用性型攻击)on-link前缀列表出现基线外前缀;SLAAC地址频繁重建的DHCP/NDP日志特征

2.2 为什么是"最划算的链路攻击"

一次成功的Rogue RA攻击具备四个特征:①零凭证——无需任何账号或漏洞;②零驻留——不安装任何软件,取证难度大;③全协议栈生效——影响默认路由、DNS、配置策略三层;④可定向可广播——可对所有节点组播投递,也可对单台主机定向。RFC 6104将之列为代表性威胁并非偶然:它是"协议信任模型缺口"被利用的最直接形态。

检测视角补充:被动检测点应覆盖四个层面——报文级(RA源端口/源MAC)、内容级(RDNSS/PIO/RIO基线比对)、状态级(主机默认路由器列表与DNS配置漂移)、行为级(攻击者转发流量时的流量模式异常:单主机承担异常大的转发量)。仅依赖第一层的组织无法发现RDNSS投毒与RIO注入。

03 · AT-2 邻居缓存投毒(NS/NA欺骗)

3.1 机理

地址解析流程中,主机A向"被请求节点组播"发送NS询问目标地址X的MAC;合法主机X单播NA应答(携带SLLA),主机A缓存X→MAC_X。攻击者M实施投毒的两条路径:①抢先应答——M持续监听NS,对目标地址X抢先组播/单播NA(携带M的MAC与Override位置1),合法X的应答后到被忽略;②主动宣告——M周期性发送"非请求式NA"(目标地址X,源为M),直接刷新或替换缓存中X的条目。之后A发往X的流量实际到达M,M转发给X即实现透明中间人。

3.2 与ARP欺骗的关键差异

  • NUD对抗与维持成本:NDP缓存有REACHABLE→STALE→PROBE老化链,欺骗条目在PROBE态会与真实主机的NA竞速——攻击需周期性刷新(相比ARP的"一次投毒、长期有效"更费力,但也因此给检测提供了周期性NA流量这一稳定信号)。
  • 定向投递的隐蔽性:组播组可由目标地址推导,攻击者可只对受害主机可见的组播组投递NA,旁路主机不感知。
  • 协议字段的精细操纵:NA的Override位(是否覆盖现有条目)、Router位(是否宣告路由器身份)、Solicited位(是否请求式应答)组合出多种欺骗策略——检测规则需考虑字段组合而非仅看源地址。

3.3 前提条件与影响面

前提:链路接入(A1)+监听能力(A3)。影响:同链路任意主机间通信的中间人——在汇聚段可截获终端与网关(如明文HTTP管理面)、终端与文件服务器(SMB/NFS未加密场景)、终端与目录服务(LDAP简单绑定)等敏感流量。SAVI(RFC 7039)可阻断"伪造他人地址"类的投递源,但对"以自身合法地址应答他人解析请求"这一形态(攻击者用自己的地址应答,不存在源伪造)的防护有限——这是第7章残余风险分析的重点。

04 · AT-3 重复地址检测攻击

4.1 机理

主机完成地址生成后执行DAD:以未指定地址(::)为源、目标地址本身为请求目标,向被请求节点组播发送NS。若链路上有节点"已经使用该地址",其应答NA则主机放弃该地址。攻击者利用此机制的两种形态:

  • DAD阻断DoS:对网段内每一个DAD的NS都应答NA——新主机(或新启动设备)永远无法完成地址配置,表现为"IPv6网络断断续续/新设备无法入网"。RFC 4862默认DAD Transmits=1,单轮探测失败后行为依实现而异(部分实现退避重试,部分标记地址不可用)。
  • 地址抢占:在合法主机完成DAD之前抢先宣告正在配置的地址为自己的地址——使合法主机的DAD失败,攻击者得以占用该地址(对静态配置地址、服务器地址危害更大,可造成"影子服务"效果)。

4.2 检测与缓解

检测信号:网段内NA应答速率异常(正常网络中NA应答DAD的比例极低);来自同一链路层地址对多个不同目标地址的DAD应答;应答NA的源地址与接口标识模式异常。缓解层面:RFC 7527(Enhanced DAD,2015)提出增强DAD流程以提高抗攻击性,但依赖双端支持;运营层面,SAVI的绑定机制可在接入侧丢弃"声称他人地址"的NA——是较务实的缓解路径。

05 · AT-4/AT-5 资源耗尽与报文洪泛

5.1 NDP邻居缓存耗尽(RFC 6583)

RFC 6583系统定义了此类攻击:攻击者从海量伪造源地址(随机IPv6地址)发送NS或NA,迫使受害设备的邻居缓存为每个伪地址建立INCOMPLETE条目。由于INCOMPLETE条目伴随NS重传(默认3次)与超时等待,有限缓存+固定处理节奏意味着——攻击速率不必很高即可耗尽缓存。RFC 6583给出的缓解方向包括:限制INCOMPLETE状态条目比例、增加每个条目的未完成探测上限、速率限制邻居解析处理等。现代操作系统与设备大多实现了部分缓解,但默认参数在大型网段(/64直连大量主机)仍可能不足。

5.2 RA洪泛与网关移除

两个资源层变体:①RA洪泛——高频伪造RA(随机源/不同前缀/不同RDNSS)使主机频繁更新配置状态、路由表与DNS配置,CPU与状态表双重压力;同时不同Router Lifetime制造默认路由器列表抖动;②网关移除DoS——伪造"Router Lifetime=0"的RA冒充合法网关宣布下线——受害主机立即从默认路由器列表删除合法网关,全网IPv6外联中断。后者速率极低、极难与"合法网关重启"区分,是检测规则设计的难点。

洪泛类型目标状态表典型后果缓解要点(详见第4页)
随机源NS/NA耗尽邻居缓存(INCOMPLETE)合法解析失败、新会话无法建立INCOMPLETE条目比例上限、解析速率限制、SAVI绑定前置过滤
RA洪泛默认路由器列表/前缀列表/DNS状态配置抖动、CPU占用、网络中断RA-Guard端口级限速与过滤、RA内容基线
Lifetime=0网关移除默认路由器列表静默断网(单条报文即生效)RA源合法性验证(报文级)、网关下线行为基线监测
NS/NA定向洪泛(对单主机)单主机邻居缓存与CPU目标主机解析层DoS主机侧邻居条目限速、接入侧异常流量镜像告警

06 · AT-6 重定向滥用

伪造ICMPv6 Redirect(Type 137)使受害主机将发往特定目的IP的流量改投同链路节点M。协议内置约束:主机应只接受来自当前默认路由器的Redirect,且目标必须同链路(Redirect消息必须携带目标的链路层地址选项)——攻击者若已通过Rogue RA建立假默认路由器身份,则该约束失效;否则攻击面限于:冒充"当前默认路由器"发送Redirect。由于Redirect是单播投递且针对特定目的地,其隐蔽性高于RA攻击,但影响面(特定目的地)小于RA(全流量)。检测信号:来自非网关链路层地址的Redirect;Redirect目标的MAC与IP对应关系在地址解析表中不存在/不匹配;主机目的缓存出现非预期的下一跳变更。

07 · 工具生态与攻击能力映射

以下工具均为公开发布的安全研究/测试工具,本课题以"能力映射"方式引用其功能分类(具体使用须在授权环境):

工具NDP相关能力(功能名)映射攻击授权检测/审计用途
THC-IPv6(van Hauser,GitHub开源)fake_router6(伪造RA)、parasite6(邻居投毒中间人)、dos-new-ip6(DAD阻断)、flood_router6(RA洪泛)、redir6(重定向)、ndpexhaust6(NDP耗尽)、kill_router6(Lifetime=0网关移除)、detect-new-ip6/alive6(活跃主机发现)AT-1/2/3/4/5/6全覆盖控制有效性验证、演练载荷、红队授权评估
SI6 Networks IPv6工具包(Fernando Gont)ra6/rs6/ns6/na6/rd6(ND消息构造)、scan6(链路主机发现)、frag6(分片构造,用于RA-Guard绕过验证)AT-1/2/6及RA-Guard绕过验证RA-Guard加固验证(RFC 7113合规测试)
bettercap(开源)ndp.spoof模块(自动化NA投毒中间人)AT-2内网中间人防御验证、演练
Scapy完整ICMPv6/ND消息构造与分片控制全部(自定义构造)检测规则开发的测试报文生成
Nmap / Wireshark / Zeek / SuricataIPv6主机发现、ND流量分析、协议日志与检测规则—(防御侧)第5页检测体系的主力工具链

门槛结论:NDP攻击的载荷构造完全基于公开协议规范,工具实现成熟且开源可得——组织防御体系的假设必须是"攻击者必然具备上述能力",任何依赖"攻击者不了解IPv6"的侥幸在THC-IPv6存在的世界里都不成立。

08 · 攻击的组合与演进趋势

8.1 经典组合链

  • 链路钓鱼链(Toxic Proxies,2016):伪造RA → 主机自动配置IPv6 → 劫持WPAD(Web Proxy Auto-Discovery)发现 → 主机自动采用恶意代理 → HTTP(S)流量经攻击者代理——全程无恶意软件、无漏洞利用。详见第6页案例实证。
  • Rogue RA + RDNSS + 伪造门户:网关劫持+RDNSS投毒后,攻击者将HTTP流量透明重定向至伪造 captive portal/钓鱼页——在访客Wi-Fi场景几乎是"即插即用"的钓鱼装置。
  • 隧道延伸链:6to4/Teredo等自动隧道可跨越无IPv6规划的网络段延伸链路信任域,将物理隔离段纳入NDP攻击面(与子课题03联动分析)。

8.2 演进趋势研判

  • 低速化:洪泛型攻击容易被端口限速发现,定向单主机投递(单播RA/定向NA)成为规避监测的方向——检测规则必须覆盖组播与单播两个投递面。
  • 内容隐蔽化:RDNSS投毒与RIO注入(不改变网关)规避"网关漂移"类粗粒度告警——内容级基线(第5页)成为必需品。
  • IPv6-only不免疫:IPv6-only网络消除了双栈不对称,但NDP攻击的全部机理原样保留——第一跳安全是IPv6-only演进的前置条件而非可选项(子课题06)。

09 · 本节参考来源(第3页)

[1]

IETF RFC 6104《Rogue IPv6 Router Advertisement Problem Statement》(2011):rfc-editor.org/rfc/rfc6104;RFC 6583(NDP耗尽,2012):rfc-editor.org/rfc/rfc6583;RFC 7113(RA-Guard绕过与加固,2014):rfc-editor.org/rfc/rfc7113。

[2]

IETF RFC 4861(NDP)§7(接收处理与状态机):rfc-editor.org/rfc/rfc4861;RFC 4862(DAD流程):rfc-editor.org/rfc/rfc4862;RFC 7527(Enhanced DAD,2015):rfc-editor.org/rfc/rfc7527。

[3]

THC-IPv6攻击套件:github.com/vanhauser-thc/thc-ipv6;SI6 Networks IPv6工具包:si6networks.com/tools/ipv6toolkit;bettercap:github.com/bettercap/bettercap;Scapy:scapy.net。

[4]

Fernando Gont,SI6 Networks《IPv6 Neighbor Discovery (ND) Exhaustion Attacks》技术分析(RFC 6583作者原始研究材料,经其个人站点与IETF档案可查)。

[5]

DEF CON 24《Toxic Proxies - Bypassing HTTPS & VPNs to Pwn Your Online Identity》(Alex Chapman & Paul Stone,Context Information Security,2016;组合攻击链原始公开演示):defcon.org/html/defcon-24/dc-24-speakers.html#Chapman。