IPv6头信息链结构的灵活性优于IPv4,因为它不限制数据包可以包含的数量。然而,这种灵活性也是有代价的。
任何需要获取上层信息(如TCP端口号)的系统,都需要处理整个IPv6头信息链。而且,由于当前的协议标准支持任意数量的扩展头,包括同一种扩展头的多个实例,因此它会对防火墙等设备造成多种影响:
防火墙需要解析多个扩展头,才能够执行深度数据包检测(DPI),它可能会降低WAN性能,引发拒绝服务(DoS)攻击,或者防火墙被绕过。
组合扩展头和分片可能妨碍数据包检测
正如前面介绍的,由于当前的协议规范支持任意数量的扩展头,包括同一种扩展头类型的多个实例,因此防火墙必须能够细致地处理包括异常的多IPv6扩展头信息的数据包。而这可能被一些攻击者利用,他们可能故意在数据包中加入大量的扩展头,使防火墙在处理上述数据包时浪费过多资源。最终,这可能会引起防火墙性能下降,或者造成防火墙本身出现DoS问题。此外,有一些性能不佳的防火墙在应用过滤策略时,可能无法处理整个IPv6头信息链,从而可能让一些攻击者利用扩展头威胁相应的防火墙。
IPv6分片也可能被恶意利用,方法与IPv4的类似。例如,为了破坏防火墙的过滤策略,攻击者可能会发送一些重叠的分片,从而影响目标主机的分片重组过程。在IPv6中,这个问题更为严重,因为多个IPv6扩展头和分片的组合可能产生一些错误分片,尽管它们的数据包大小是“正常的”,但是它们丢失了一些实施过滤策略通常需要的基本信息,如TCP端口号。即,数据包的第一个分片可能包含很多IPv6选项,以致上层协议头可能属于另一个分片,而不是第一个分片。
【编辑推荐】