一文全面了解IPv6( 二 )


应对方式:应当限制路由器对包含路由提示选项的数据包的处理数量 。
2、目的选项报头
安全威胁:移动IPv6协议的数据通信以明文进行传输,因此其本身便是不安全的,攻击者可对MIPv6数据包进行嗅探进而识别其通信节点、转交地址、家乡地址、家乡代理等信息,并利用这些信息伪造数据包 。攻击者可通过拦截类型为消息绑定更新的数据包,修改绑定关系中的转交地址 。此外,移动节点标识符选项揭示了用户的家乡从属关系,攻击者可利用该选项确定用户身份,锁定特定的攻击对象 。
应对方式:可尝试开启IPSec保证数据包不会被窃听 。
3、 路由报头
安全威胁:在RH0路由类型(即type 0)下,攻击者可利用路由报头选项伪装成合法用户接收返回的数据包 。同时,RH0提供了一种流量放大机制,攻击者可利用该类型进行拒绝服务攻击 。
应对方式:应当尽快更新安全设备并升级至最新的IPv6协议版本,同时对所有的RH0数据包进行丢弃 。
4、分段报头
安全威胁:如若将关键的报头信息切分在多个片段中,安全防护设备对关键信息进行提取与检测处理会耗费大量资源,构造大量该类数据包可能对目标主机造成DoS攻击 。攻击者可向节点发送大量不完整的分段集合,强迫节点等待片段集合的最后片段,节点在超时时间内由于只接收到部分IPv6片段进而无法完成重组,最终只能将数据包丢弃,在超时等待期间,会造成存储资源的消耗 。
应对方式:防火墙应该丢弃除最后分段外所有小于1280字节的所有分段 。Cisco ASA防火墙的FragGuard功能可以将所有的分片组装并进行整个数据包检查用以确定是否存在丢失的分段或重叠分段 。
三、协议威胁
1、 ICMPv6协议
安全威胁:可通过向组播地址FF02::1发送Echo Request报文,通过接收Echo Reply报文实现本地链路扫描,或以目标节点作为源地址向组播地址FF02 :: 1发送ICMPv6 EchoRequest消息实现Smurf攻击 。可通过向目标节点发送ICMPv6 Packet too big报文,减小接收节点的MTU,降低传输速率 。可通过向目标节点发送过多的ICMPv6包以及发送错误消息,导致会话被丢弃,从而破坏已建立的通信,实现DoS攻击 。可通过向主机发送格式不正确的消息刺激主机对ICMPv6的响应,从而通发现潜在的攻击目标 。
应对方式:可在交换机的每个物理端口设置流量限制,将超出流量限制的数据包丢弃 。或在防火墙或边界路由器上启动ICMPv6数据包过滤机制,也可配置路由器拒绝转发带有组播地址的ICMPv6 EchoRequest报文 。可尝试关闭PMTU发现机制,但其会影响到网络数据的传输速率 。
2、邻居发现协议(NDP)
安全威胁
中间人攻击:由于NDP协议基于可信网络因此并不具备认证功能,因此可通过伪造ICMPv6 NA/RA报文实现中间人攻击 。攻击者可以伪造NA报文,将自己的链路层地址并启用覆盖标志(O)作为链路上其他主机的地址进行广播 。攻击者可伪造RA报文发送至目标节点修改其默认网关 。
重复地址检测攻击:当目标节点向FF02 :: 16所有节点发送NS数据包进行重复地址检测时,攻击者可向该节点发送NA报文进行响应,并表明该地址已被自己使用 。当节点接收到该地址已被占用消息后重新生成新的IPv6地址并再一次进行重复地址检测时,攻击者可继续进行NA响应实现DoS攻击 。
泛洪攻击:攻击者可伪造不同网络前缀RA消息对FF02 :: 1进行进行泛洪攻击,接收节点将会根据不同的网络前缀进行更新,从而消耗大量的CPU资源 。
应对方式
安全邻居发现(SEND)[7]协议是邻居发现协议中的一个安全扩展,其工作原理为使网络中每个IPv6节点都有一对公私钥以及多个邻居扩展选项 。采用SEND协议后,各个节点的接口标识符(IPv6地址低64比特)将基于当前的IPv6网络前缀与公钥进行计算产生,而不能由各个节点自行选择 。安全邻居发现协议通过时间戳和Nonce选项抵御重放攻击,并引入了CGA(密码生成地址)与RSA签名对数据源进行验证以解决邻居请求/邻居通告欺骗的问题 。SEND虽然可以解决一定的安全问题,但目前系统与设备对SEND的支持十分有限 。
RFC7113提出了IPv6安全RA方案RA-Guard[8],其通过阻断非信任端口RA报文转发来避免恶意RA可能带来的威胁,在攻击包实际到达目标节点之前阻塞二层设备上的攻击数据包 。
使用访问控制列表或空路由过滤对地址空间中未分配的部分的访问,用以防止攻击者迫使路由解析未使用的地址 。
3、DHCPv6
安全威胁
地址池耗尽攻击


推荐阅读