本文为论文Follow the scent: defeating IPv6 prefix rotation privacy读书笔记
背景技术
SLAAC 地址
IPv6 地址低 64 位固定不变为硬件 MAC 地址,高 64 位由供应商分布。这保证了地址唯一性也向网络层暴露了主机数据链路信息。
隐私扩展
IPv6 客户通常使用隐私扩展寻址,客户选择随机短暂的低 64 位 ID 抵制基于 IP 跟踪。
前缀旋转
虽然隐私扩展可以一定程度保护,但通过供应商分配的前缀,基于 IP 追踪仍然可能。一些供应商额外部署临时模式,定期改变前缀。
研究方法
发现特定 IPv6 终端主机和 CPE :
- 向该目的 IPv6 地址运行
traceroute
,诱使 CPE 返回 TTL 消息 - 该 ICMPv6 消息的源 IPv6 地址,指向原始路由接口,响应显示了CPE 的 WAN 地址包含 EUI-64 IID。
- 在用户前缀和 ID 改变后,通过其 CPE 静态 EUI-64 IID 追踪用户,需要发现一个 IPv6 的
traceroute
目的地,并以该 CPE 的 EUI-64 IID 响应
在 IPv6 空间找到正确地址进行绑定即需要解决的问题
主动探查
以往工作使用 yarrp 执行高速主动 IPv6 拓扑映射,但我们对整个转发路径没兴趣,只对通往 IPv6 目的地最后一跳感兴趣。客户前缀内主机的 IID 短暂而未知。因此 IPv6 行为为:前缀内随机探测地址不存在时,最后一跳会返回 ICMPv6 不可达信息。该消息暴露 CPE 面对供应商地址,且只要对整个客户前缀进行一次探测。
界定搜索空间
界定搜索空间即了解分配给用户前缀大小/64 或 /56、轮换池大小、潜在标识符。关键问题是在 IPv6 部署没有标准或操作一致性,因此这些变量因供应商而异。本文贡献为展开大规模互联网测量,验证供应商 IPv6 部署和分配。
供应商分配给客户前缀大小上限定搜索空间
- 蓝色:供应商提供前缀
- 粉色:轮换池
- 绿色:搜索空间
- 黄色:低位 ID
识别供应商前缀
RFC 建议供应商分配给 /48 到 /64 前缀,但具体决策由供应商决定。因为 SLAAC 寻址需要不小于 /64 的子网,所以 /64 是最小分配大小。将 264-56 = 256 个探针,随机 IID 发送到每个 /64 中,假设分配的是 /56 范围内,CPE 将以其外部 IPv6 地址为源发送错误信息。通过观察目标地址连续范围的回复中一致的源地址,可以推断供应商如何为客户前缀划分地址空间。
识别轮换池
在发现供应商所有 EUI-64 地址中,首先找到外围前缀最大数字距离。然后,计算范围的中位数,以确定整个供应商可能赤字大小。
研究结论
CPE 市场落后而传统 IPv6 标准不要求使用 SLAAC,因此这些 CPE 仍然满足 IPv6 标准。因此,,任何能够向目标前缀中随机 IP 地址发送主动探测都有可能跟踪该前缀的设备。