课题研究 IPv6演进安全 子课题01 · 第04页 / 共8页
01子课题 · IPv6攻击面与威胁建模

IPv6攻击面与威胁建模第04页:多地址模型与SLAAC信任攻击面

IPv6一类接口可同时持有链路本地、全球单播、唯一本地、临时地址等多类地址——访问控制与审计的对象模型从"一机一地址"变为"一机多地址动态集合"。本页梳理地址类型与攻击面、接口标识符(IID)生成谱系(EUI-64→临时地址→稳定隐私地址RFC 7217)及其可推理性、SLAAC信任链四环节(RS/RA/DAD/生效)的完整攻击面、RDNSS/DNSSL静默DNS劫持面、DAD拒绝服务、RFC 6724地址选择策略绕行,以及临时地址时代"审计锚点重建"的正确路线。

地址架构SLAACIIDEUI-64RFC 7217RFC 8981DAD攻击RDNSS地址选择审计锚点研究状态:研究中
所属专题互联网基础设施安全 › IPv6演进安全
目标受众网络架构师、审计与合规团队、准入控制(NAC)工程师
前置知识建议先读第3页(ICMPv6);RA伪造的链路层攻击链全景见第5页

01 · IPv6地址类型与攻击面

IPv6主机的一类接口可同时持有多个地址——链路本地、全球单播、唯一本地、临时地址、组播成员关系并存(地址架构见RFC 4291)。多地址不是便利性功能那么简单:它使访问控制、审计、准入与情报系统的对象模型从"一机一地址"变为"一机多地址动态集合"。下表梳理各类地址的生成方式与安全敏感点:

地址类型前缀/机制生成方式安全敏感点
链路本地地址fe80::/10自动配置(IID派生),仅链路范围有效NDP消息的源/目的载体;不能跨路由但承载最高权限的配置消息(RA/NS/NA)
唯一本地地址(ULA)fc00::/7本地分配(fd00::/8为本地指派,含随机Global ID)类似IPv4私网地址;跨站点误泄漏与策略混淆风险;与全球地址并存时源地址选择影响出向标识
全球单播地址2000::/3SLAAC(RA前缀+IID)或DHCPv6有状态分配对外暴露面;IID生成方式决定地址可推理性(见§02)
临时地址(Privacy)同上,短期轮换SLAAC+随机IID,按RFC 4941(2007)/RFC 8981(2021)机制轮换反追踪的隐私机制;对IP-based审计/封禁模型构成挑战(不能因噎废食禁用,见§05)
组播地址ff00::/8按组播组加入(MLD管理成员关系)组播泛滥面、MLD伪造面(第3页);全节点组ff02::1、全路由器组ff02::2是NDP基础设施
任播地址与单播同空间多节点共享同一地址,路由就近投递语义上"最近者响应",会话迁移敏感;用于DNS等服务时应评估任播漂移对会话与溯源的影响
嵌入IPv4地址::ffff:0:0/96(v4-mapped)等双栈表示表示法混淆面:日志与ACL中"::ffff:10.0.0.1"与"10.0.0.1"的匹配一致性需核查

02 · 接口标识符(IID)生成谱系与可推理性

SLAAC地址的可预测性由IID生成算法决定。IID机制经历了清晰的演进谱系,每一步都是对前一代隐私/安全缺陷的回应:

机制规范机理已知问题
EUI-64派生RFC 4291 附录A由接口MAC地址插入0xFFFE扩展并按位翻转生成64位IID地址与硬件绑定→跨网络追踪主机;MAC厂商信息泄漏;RFC 7721(2016)系统分析了该类生成机制的安全与隐私问题
临时地址RFC 4941(2007)→RFC 8981(2021)随机IID+地址优先级轮换,对外通信用短期地址解决追踪问题;引入审计/封禁适配挑战(见§05)
稳定隐私地址RFC 7217(2014)以网络前缀+密钥+网络接口标识为输入的哈希生成IID:同网络内稳定(利于运维),跨网络不可关联(抗追踪)当前推荐基线;RFC 8064(2017)明确推荐SLAAC使用RFC 7217机制

攻防含义(与RFC 7707衔接):①仍在使用EUI-64的环境(部分IoT/嵌入式与老旧系统),其全球地址可从MAC推知——地址熵分析使单/64前缀内主机枚举工程可行;②RFC 7217/8981机制下地址不可推知,攻击面转向被动情报(DNS、CT日志、流量观测);③地址可推理性是资产测绘的前提条件之一,本子课题的评估输出直接服务于子课题04的测绘管道设计。

03 · SLAAC信任链:从RS到生效的完整攻击面

SLAAC(RFC 4862)让主机仅凭RA消息即可自主完成全球地址配置——没有中心控制点,也意味着没有天然的可信控制点。全流程四个环节各自暴露攻击面:

环节协议行为(RFC 4861/4862)攻击面
RS(路由器请求)主机上线主动组播 solicits 路由器可被监听用于主机发现在线状态;伪造应答的起点
RA(路由器宣告)路由器周期性/响应式宣告前缀、MTU、默认路由、选项最高风险环节:伪造RA劫持默认路由与DNS(RDNSS/DNSSL,RFC 8106,选项类型25/31);无认证、无授权检查
DAD(重复地址检测)地址启用前NS探测,收到NA即冲突攻击者持续应答可阻止主机获得地址(DAD拒绝服务);或抢先宣告占用地址
地址生效与使用地址加入接口,按RFC 6724规则参与源/目的地址选择多地址并行使策略匹配复杂化;临时地址轮换改变审计锚点

3.1 RDNSS/DNSSL:DNS配置的静默劫持面

RA可携带递归DNS服务器地址(RDNSS,选项类型25)与DNS搜索列表(DNSSL,选项类型31)(RFC 8106,2017年3月)。该设计的便利性与风险并存:

  • 劫持机理:伪造RA+恶意RDNSS→受害者DNS解析指向攻击者→域名级钓鱼/流量重定向,全程无需操作系统漏洞、无需恶意软件——是"配置权威无认证"问题的最纯粹表达;
  • 实现面风险:Windows TCP/IP栈在RDNSS选项解析上的缓冲区溢出漏洞(CVE-2020-16898,"Bad Neighbor",2020年10月修复)证明:即便不利用协议信任模型,解析实现本身也是内核高危攻击面;
  • 治理:RA-Guard(RFC 6105,含RFC 7113加固)阻断非信任端口RA;主机侧对RDNSS变更的监测告警;企业网评估DHCPv6集中管控与RDNSS受控使用的取舍(详见子课题02深度分析)。
SLAAC地址生成与信任依赖流程
从RS到地址生效的四环节及其信任假设(概念示意)
说明:红色环节为本课题判定的高风险信任断点;防护机制深度评估见子课题02。

04 · DAD攻击与地址冲突滥用

  • 拒绝服务形态:攻击者持续响应该链路内所有DAD探测(伪造NA"地址已占用"),新加入主机无法完成地址配置——表现为"新设备拿不到地址"的隐蔽可用性故障;
  • 抢占形态:攻击者对目标即将使用的地址抢先完成DAD并启用,后续合法主机被迫换址或触发冲突处理——可用于干扰特定服务上线;
  • 检测思路:DAD交互基线建模(正常冲突率低且短促);异常特征为"高频率NA应答DAD"与"同一应答者覆盖多个地址";
  • 缓解:与NDP防护体系联动(RA-Guard+SAVI+NDP监测),从接入层压制伪造NA来源。

05 · 地址选择、审计与准入:多地址模型的运营面风险

5.1 源地址选择(RFC 6724)的策略绕行

当主机持有多个可用源地址时,按RFC 6724的默认规则(目的地址优先级、前缀策略表、范围匹配等)自动选择——选择结果可能与管理员预期不一致。攻击场景:链路内注入ULA/额外前缀宣告,诱导主机对某些目的改用攻击者期望的源地址标识(影响溯源与策略匹配)。治理上应显式维护前缀策略表并在关键主机静态化。

5.2 审计与准入挑战

  • 临时地址轮换 vs IP审计模型:同一主机在一段时间内使用多个不同源地址,基于"IP=主机"的日志关联失效;
  • 正确路线(反对"禁用临时地址"):以SAVI绑定表(RFC 7039)、DHCPv6地址租用日志、NAC准入记录与流量日志的时间窗关联重建"地址→主机"映射——用机制弥补而非牺牲隐私;
  • SLAAC无租用记录的现实:纯SLAAC环境下无中心分配日志,审计锚点只能依赖SAVI/流量侧——这是DHCPv6与SLAAC安全对比的核心差异项之一;
  • 准入控制粒度:ACL/微分段策略应以前缀/绑定为基础而非单一地址;多地址接口要求策略表达式支持地址集。

本节参考来源(第4页)

[1]

IETF RFC 4291《IP Version 6 Addressing Architecture》(2006年2月,附录A EUI-64 IID生成):rfc-editor.org/rfc/rfc4291。

[2]

IETF RFC 4862《IPv6 Stateless Address Autoconfiguration》(2007年9月):rfc-editor.org/rfc/rfc4862;RFC 4861《Neighbor Discovery for IP version 6 (IPv6)》(2007年9月):rfc-editor.org/rfc/rfc4861。

[3]

IETF RFC 7217《A Method for Generating Semantically Opaque Interface Identifiers with IPv6 Stateless Address Autoconfiguration (SLAAC)》(2014年4月):rfc-editor.org/rfc/rfc7217;RFC 8064《Recommendation on Stable IPv6 Interface Identifiers》(2017年2月):rfc-editor.org/rfc/rfc8064。

[4]

IETF RFC 4941《Privacy Extensions for Stateless Address Autoconfiguration in IPv6》(2007年9月):rfc-editor.org/rfc/rfc4941;RFC 8981《Temporary Address Extensions for Stateless Address Autoconfiguration in IPv6》(2021年3月):rfc-editor.org/rfc/rfc8981。

[5]

IETF RFC 7721《Security and Privacy Considerations for IPv6 Address Generation Mechanisms》(2016年3月):rfc-editor.org/rfc/rfc7721;RFC 7707《Network Reconnaissance in IPv6 Networks》(2015年3月):rfc-editor.org/rfc/rfc7707。

[6]

IETF RFC 8106《IPv6 Router Advertisement Options for DNS Configuration》(2017年3月,RDNSS选项类型25/DNSSL选项类型31):rfc-editor.org/rfc/rfc8106。

[7]

IETF RFC 6724《Default Address Selection for Internet Protocol Version 6 (IPv6)》(2012年9月):rfc-editor.org/rfc/rfc6724;RFC 7039《Source Address Validation Improvement (SAVI) Framework》(2013年10月):rfc-editor.org/rfc/rfc7039。

[8]

Microsoft安全响应中心:CVE-2020-16898("Bad Neighbor",2020年10月):msrc.microsoft.com。