IPv6协议中安全问题浅析

来源:本站  作者:  发表于:2020.09.17   164浏览

       IPv6规模部署实施在即,作为下一代互联网的关键性技术,IPv6将逐步取代IPv4成为支撑互联网运转的核心协议。如何高效稳定地实现下一代互联网全覆盖,安全问题是首要焦点。

一、IPv6 存在的安全隐患

1.IPv6扩展首部威胁

1)逐跳选项报头

安全威胁:可利用逐跳选项报头发送大量包含路由提示选项的IPv6数据包,包含有路由提示选项的数据包要求所有路由器对该数据包进行处理并仔细查看该数据包的报头信息,当攻击者发送大量此类IPv6数据包时,将消耗链路上路由器大量资源,严重可造成DoS攻击。


1 逐跳选项报头示例图

应对方式:应当限制路由器对包含路由提示选项的数据包的处理数量。

2)目的选项报头

安全威胁:移动IPv6协议的数据通信以明文进行传输,因此其本身便是不安全的,攻击者可对MIPv6数据包进行嗅探进而识别其通信节点、转交地址、家乡地址、家乡代理等信息,并利用这些信息伪造数据包。攻击者可通过拦截类型为消息绑定更新的数据包,修改绑定关系中的转交地址。此外,移动节点标识符选项揭示了用户的家乡从属关系,攻击者可利用该选项确定用户身份,锁定特定的攻击对象。

                        图2 MIPv6威胁示例图

应对方式:可尝试开启IPSec保证数据包不会被窃听。

3)路由报头

安全威胁:RH0路由类型(即type 0)下,攻击者可利用路由报头选项伪装成合法用户接收返回的数据包。同时,RH0提供了一种流量放大机制,攻击者可利用该类型进行拒绝服务攻击。虽然RH0已被正式弃用并启用RH2,但旧的或未升级设备依然可能遭受RH0攻击。


3 路由报头攻击示例图

应对方式:应当尽快更新安全设备并升级至最新的IPv6协议版本,同时对所有的RH0数据包进行丢弃。

4)分段报头

安全威胁:如若将关键的报头信息切分在多个片段中,安全防护设备对关键信息进行提取与检测处理会耗费大量资源,构造大量该类数据包可能对目标主机造成DoS攻击。攻击者可向节点发送大量不完整的分段集合,强迫节点等待片段集合的最后片段,节点在超时时间内由于只接收到部分IPv6片段进而无法完成重组,最终只能将数据包丢弃,在超时等待期间,会造成存储资源的消耗。


4 分段报头攻击示例图

应对方式:防火墙应该丢弃除最后分段外所有小于1280字节的所有分段。Cisco ASA防火墙的FragGuard功能可以将所有的分片组装并进行整个数据包检查用以确定是否存在丢失的分段或重叠分段。根据RFC8200IPv6节点已不能创建重叠分段,且在对IPv6报文进行重组时,如若确定一个或多个片段为重叠片段,则必须对整个报文进行丢弃。

2.协议威胁

1ICMPv6协议

安全威胁:可通过向组播地址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)协议是邻居发现协议中的一个安全扩展,其工作原理为使网络中每个IPv6节点都有一对公私钥以及多个邻居扩展选项。采用SEND协议后,各个节点的接口标识符(IPv6地址低64比特)将基于当前的IPv6网络前缀与公钥进行计算产生,而不能由各个节点自行选择。安全邻居发现协议通过时间戳和Nonce选项抵御重放攻击,并引入了CGA(密码生成地址)与RSA签名对数据源进行验证以解决邻居请求/邻居通告欺骗的问题。SEND虽然可以解决一定的安全问题,但目前系统与设备对SEND的支持十分有限。

RFC7113提出了IPv6安全RA方案RA-Guard,其通过阻断非信任端口RA报文转发来避免恶意RA可能带来的威胁,在攻击包实际到达目标节点之前阻塞二层设备上的攻击数据包。

使用访问控制列表或空路由过滤对地址空间中未分配的部分的访问,用以防止攻击者迫使路由解析未使用的地址。

3DHCPv6

安全威胁:

地址池耗尽攻击:攻击者可以伪装为大量的DHCPv6客户端,向DHCPv6服务器请求大量的IPv6地址,耗光IPv6地址池。

拒绝服务攻击:攻击者可向DHCPv6服务器发送大量的SOLICIT消息,强制服务器在一定时间内维持一个状态,致使服务器CPU与文件系统产生巨大负担,直至无法正常工作。

伪造DHCPv6服务器:攻击者可伪造成DHCPv6服务器向目标客户端发送伪造的ADVERTISEREPLY报文,在伪造报文中携带虚假的默认网关、DNS服务器等信息,以此实现重定向攻击。

应对方式:对客户端所有发送到FF02::1:2(所有DHCPv6中继代理与服务器)和FF05::1:3(所有DHCPv6服务器)的消息数量进行速率限制。DHCPv6中内置了认证机制,认证机制中的RKAP协议可以对伪造DHCPv6服务器的攻击行为提供防范。

二、IPv6 对安全硬件的影响

1.防火墙

1IPv6报头的影响

针对IPv6报文,防火墙必须对IPv6基本报头与所有的扩展首部进行解析,才能获取传输层与应用层的信息,从而确定当前数据报是否应该被允许通过或是被丢弃。由于过滤策略相比IPv4更加复杂,在一定程度上将加剧防火墙的负担,影响防火墙的性能。

2IPSec的影响

如若在IPv6数据包中启用加密选项,负载数据将进行加密处理,由于包过滤型防火墙无法对负载数据进行解密,无法获取TCPUDP端口号,因此包过滤型防火墙无法判断是否可以将当前数据包放行。

由于地址转换技术(NAT)和IPSec在功能上不匹配,因此很难穿越地址转换型防火墙利用IPSec进行通信。

2.IDS&IPS

面对IPv6数据包,倘若启用了加密选项,IDSIPS则无法对加密数据进行提取与分析,无法通过报文分析获取TCPUDP信息,进而无法对网络层进行全面的安全防护。即便只允许流量启用AH认证报头,但认证报头内部具有可变长度字段ICV,因此检测引擎并不能准确地定位开始内容检查的位置。

三、过渡技术的安全性

1.双栈技术

倘若双栈主机不具备IPv6网络下的安全防护,而攻击者与双栈主机存在邻接关系时,则可以通过包含IPv6前缀的路由通告应答的方式激活双栈主机的IPv6地址的初始化,进而实施攻击。

2.隧道技术

1)隧道注入:攻击者可通过伪造外部IPv4与内部IPv6地址伪装成合法用户向隧道中注入流量。

2)隧道嗅探:位于隧道IPv4路径上的攻击者可以嗅探IPv6隧道数据包,并读取数据包内容。

3.翻译技术

利用翻译技术实现IPv4-IPv6网络互联互通时,需要对报文的IP层及传输层的相关信息进行改动,因此可能会对端到端的安全产生影响,导致IPSec的三层安全隧道在翻译设备处出现断点。

翻译设备作为网络互通的关键节点,是DDoS攻击的主要攻击目标。同时,翻译设备还可能遭遇地址池耗尽攻击,若IPv6攻击者向IPv4服务器发送互通请求,但每条请求都具有不同的IPv6地址,则每条请求都将消耗一个地址池中的IPv4地址,当出现大量该类请求时,便会将地址池耗尽,使得翻译设备不再接受进一步的请求。

任何协议都不是完美的,新生事物总要经过一段磨合适应期。面对IPv6部署中出现的各种问题,从用户角度看需要提高对网络安全的重视和网络安全知识的普及;从运营商角度看,作为下一代互联网的承建者,在建设之初就应该结合下一代互联网的特点制定相应的安全措施,包括建立完善真实源地址检查机制,同时做好网络监管,提供事后溯源;作为设备厂商,需要紧密跟踪网络安全动态,提升设备本身的IPv6协议及防护的稳定性及完善相应的安全防护功能。相信通过大家的共同努力,一定可以营造一个健康、安全的下一代互联网环境。(赛尔网络河南分公司整理)