IPv6“友邻发现”(ND)是IPv6协议栈的核心部分,它被用于IPv6地址解析和IPv6无状态地址自动配置等。在本文中,探讨了IPv6的不同组件将如何受到基于ND的攻击。
在部署IPv6无状态地址自动配置(SLAAC)时都需要IPv6节点。在SLAAC中,本地路由器将IPv6网络配置信息提供给本地主机,而本地主机利用这一信息来建立起IPv6连接,这包括IPv6地址的配置等。与动态主机配置协议版本6不同,这里没有地址“租用”。相反地,主机会自己自动配置(或“租用”)IPv6地址。SLAAC采用路由器请求和路由器通告消息来请求和传达IPv6网络及IPv6地址管理配置信息。自动配置过程的运作大致如下:
1. 主机配置链路本地地址;
2. 主机检查地址是否唯一,即主机对(暂时)地址执行重复地址检测(DAD);
3. 主机发送路由器请求消息;
4. 在接收路由器通告(RA)后,主机为接收的路由器通告中的每个前缀配置一个或多个暂时IPv6地址;
5. 主机检查地址是否唯一,即对暂时地址执行DAD;
6. 如果地址是唯一的,它通常会成为“首选”地址,可以积极用于网络通信。
在本质上,这意味着一个节点首先配置一个链路本地IPv6地址,然后基于RA消息中的前缀信息配置一个或多个全局IPv6地址。RA消息可能获取其他网络配置信息,例如到特定网络的IPv6路径、递归域名系统服务器的IPv6地址以及采用的最大传输单元(即最大数据包大小)。
有些IPv6部署未能对RA消息中的信息执行验证检查,或者未能执行对相应数据结构的大小限制。
例如,有些部署会对RA消息中的每个前缀配置一个地址,而不会对它们配置的IPv6地址的最大数量进行任何限制。因此,攻击者可以对具有多个RA消息(包含多个自动配置前缀)的受害者采用洪水式攻击,受害者将自动配置很多IPv6地址,最终将会崩溃或停止响应。
为了帮助了解这种攻击的基础,IT管理员可以利用SI6 Networks的IPv6工具包中的ra6工具来执行这种攻击,如下:
ra6 -i eth0 --flood-prefixes 10 -d ff02::1 -l -z 1 -v
这个命令将会向所有本地节点发送一个RA消息,每秒包含10个(随机)前缀。这将导致每个节点为每个随机前缀配置一个IPv6地址。
在Unix系统中,ifconfig命令可以部署在任何受害者的节点来检查已经自动配置的IPv6地址。

图1 ifconfig命令可以用来探测自动配置的地址
当然,在现实世界攻击中,RA消息将以更高的速率发送,例如每秒至少100。然而,由于这种攻击可能让所有本地节点崩溃,本例中采用了更保守的数据包速率来执行攻击。
所有RA消息包含路由器寿命值,这表明路由器发送消息多久后可以作为默认路由器。本地主机从RA消息获取这个数值,并通过本地定时器来追踪它。本地路由器通过定期发送(未请求的)RA消息来试图“更新”本地主机的相关定时器。因此,在正常情况下,路由器的寿命永远不会到期。然而,攻击者可以利用这个定时器或参数来用于拒绝服务(DoS)目的。如果攻击者能够模拟本地路由器,并发送路由器寿命值为0(或其他小数值)的RA消息,受害者节点将从默认路由器列表中删除假冒路由器,从而发生拒绝服务的情况。
假设特定子网的合法本地路由器是fe80::1,攻击者会按如下命令利用ra6来向所有本地节点来执行DoS攻击:
ra6 -i eth0 -s fe80::1 -d ff02::1 -t 0
“-i eth0”表明发动攻击所使用的网络接口;“-s fe80::1”表明攻击数据包的源地址(合法本地路由器被假冒);“-d ff02::1”表示攻击数据包被发送到“所有节点链路本地多播地址”,而“-t 0”设置“路由器寿命值”为0。
Netstat命令可以用来检查受害者节点的路由表,并确认指向fe80::1节点的默认路径已被删除。
在IPv6地址被用于网络通信之前,该地址需要检查唯一性—这通常被称为重复地址检测。DAD的工作原理大致如下:
·愿意使用IPv6地址的节点将为上述地址发送一个邻居请求(NS)消息
·如果在响应中收到邻居通告(NA),该地址被认为是重复的,那么DAD失败。
·如果没有收到该地址的NA消息(可能是在一系列NS消息重发后),该地址被认为是唯一,DAD成功。
DAD相应的NS消息被发送,其中包含设置为未指定地址(::)的源地址,因此这很容易区别于用于地址解析(而不是重复地址检测)的NS消息。
攻击者可以通过如下命令利用na6工具来轻松地执行针对本地节点的DoS攻击:
na6 -i eth0 -b :: -L -v
这个命令指示na6监听(“-L”)网络接口eth0中包含源地址设置为未指定地址(“-b::”)的NS消息,当收到这种消息时响应NA。因此,当节点被引导并尝试自动配置IPv6地址时,它试图配置的每个地址都会被认为是重复地址,则SLAAC会失败。
Ifconfig命令可以用来检查受害者网络接口卡的配置,如下:

图2 检查网络接口卡的配置
从上面的截图中来,至少要注意两件事情。首先,链路本地地址被标记为“重复”。其次,这个接口没有配置全局IPv6地址,原因在于,当暂时链路本地地址的DAD失败时,SLAAC被终止。因此,DoS攻击会发生。
网络不可达检测(NUD)是IPv6的另一个组件,包括测试到相邻节点的路径,如果当前路径失效还可以允许选择替代路径。最重要的是,攻击者为感染NUD唯一能做的事情是让该协议来相信失败路径可以正常工作。
与其他基于ND的攻击相比,这个漏洞并不是那么吸引攻击者,因此,大家并不需要过多担心这个攻击方法。
好文章,需要你的鼓励
火箭实验室(Rocket Lab)宣布计划以现金加股票方式,斥资80亿美元收购主要卫星运营商铱星通信(Iridium Communications),交易预计于2027年中完成。铱星目前运营着由66颗活跃低轨卫星组成的星座网络,拥有约255万活跃用户,2024年营收达8.717亿美元。收购完成后,Rocket Lab计划借助其新型重型运载火箭Neutron及Lightning卫星平台,扩大铱星星座规模,开拓未被覆盖的市场并降低发射成本。
谷歌研究院开发的论文助手工具PAT,利用分阶段深度推理流水线自动审查学术论文,在真实错误检测任务上达到89.7%召回率,并已在STOC和ICML两大顶会完成超4700篇论文的真实部署。
音乐流媒体平台Tidal宣布,将于7月中旬启用自动化工具,对完全由AI生成的音乐添加"AI"标识,并移除具有欺诈性质的曲目。平台还将取消AI生成音乐的版税资格,仅向真人创作、演唱的原创音乐开放变现渠道。此外,Tidal明确将高频异常上传、干扰真实艺术家等行为列为欺诈活动。Deezer、Spotify等竞争对手此前已推出类似检测机制,流媒体行业正加速构建AI内容治理体系。
香港大学与武汉大学联合开发的EO-WM系统,将地球观测卫星图像预测重新定义为天气驱动的世界建模问题,通过把气象信号拆解为气候基线、天气异常和累积压力三层,显著提升了对极端干旱和热浪事件下植被退化的预测准确性。