01 · IPv6地址类型与攻击面
IPv6主机的一类接口可同时持有多个地址——链路本地、全球单播、唯一本地、临时地址、组播成员关系并存(地址架构见RFC 4291)。多地址不是便利性功能那么简单:它使访问控制、审计、准入与情报系统的对象模型从"一机一地址"变为"一机多地址动态集合"。下表梳理各类地址的生成方式与安全敏感点:
| 地址类型 | 前缀/机制 | 生成方式 | 安全敏感点 |
|---|---|---|---|
| 链路本地地址 | fe80::/10 | 自动配置(IID派生),仅链路范围有效 | NDP消息的源/目的载体;不能跨路由但承载最高权限的配置消息(RA/NS/NA) |
| 唯一本地地址(ULA) | fc00::/7 | 本地分配(fd00::/8为本地指派,含随机Global ID) | 类似IPv4私网地址;跨站点误泄漏与策略混淆风险;与全球地址并存时源地址选择影响出向标识 |
| 全球单播地址 | 2000::/3 | SLAAC(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深度分析)。
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页)
IETF RFC 4291《IP Version 6 Addressing Architecture》(2006年2月,附录A EUI-64 IID生成):rfc-editor.org/rfc/rfc4291。
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。
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。
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。
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。
IETF RFC 8106《IPv6 Router Advertisement Options for DNS Configuration》(2017年3月,RDNSS选项类型25/DNSSL选项类型31):rfc-editor.org/rfc/rfc8106。
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。
Microsoft安全响应中心:CVE-2020-16898("Bad Neighbor",2020年10月):msrc.microsoft.com。