胡 南,周 宇,伍传丽,邯子皓,向剑文,张家琦,邢燕祯
(1.中央广播电视总台,北京 100020;2.武汉理工大学 计算机与人工智能学院,湖北 武汉 430070;3.国家计算机网络应急技术处理协调中心,北京 100029)
IPv4 作为网络基础协议已得到广泛应用,但随着互联网的快速发展,5G、物联网、工业互联网等新的应用领域迅速崛起,IPv4 存在的地址资源紧缺、路由效率下降、安全难以保障等问题日益凸显,难以满足当今网络需求。IPv6 是网络协议(Internet Protocol,IP)的最新版本,旨在提供相较于IPv4 更好的互联能力,目前各行业、领域均在加快部署IPv6。
图1 为根据亚太互联网络信息中心(Asia-Pacific Network Information Center,APNIC)统计的全球IPv6 部署率[1]。截至2021年12月,部署率突破40%的国家有16个,27 个国家部署率突破30%,40 个国家部署率突破20%。根据国家IPv6 检测发展平台显示[2],截至2021 年12 月,中国IPv6 地址快数量达59 030 块/32,占比17.38%,位于全球首位;全国IPv6 互联网活跃用户总数达5.332 亿,占比53.91%,位于全球首位;IPv6 流量涨幅十分明显,城域网流量占比9.38%,移动网流量占比35.15%,骨干直联点流量占比6.52%,国际出口流量占比2.72%。综上所述,现阶段IPv6 部署率逐步提升,活跃用户数持续上升,IPv6 流量稳步上涨。
Fig.1 IPv6 deployment in countries around the world(as of December 2021)图1 全球各国IPv6部署程度(截至2021年12月)
随着IPv6 网络部署不断推进,遭受的攻击及漏洞数量逐年增长。根据绿盟科技有限公司提供的《2020 网络安全观察》数据[3],针对2020 年国内百余家单位遭受攻击的告警进行分析,出现了459 种不同的攻击警告消息,共101 190 个。美国国家漏洞数据库(National Vulnerability Database,NVD)[4]显示2018-2021 年新增的IPv6 相关漏洞依次为25、34、90、45条,其中几乎一半是高危漏洞。
IPv6 虽然在保密性、完整性等方面相较于IPv4 具有较大改进,但IPv4 中很多常见的网络攻击仍在IPv6 网络中出现,例如拒绝服务攻击(Denial of Service,DoS)、路由攻击、嗅探攻击、流氓设备攻击、中间人攻击、应用层攻击等[5]。
此外,IPv6 虽然具有全新的数据包头部格式、广大的地址空间、无状态和状态化的地址配置、对IPsec 头部的支持、全新的邻居节点交互协议等新特性[6-8],但功能的增强在一定程度上引发了新漏洞,并且IPv6 具有的某些新特性也引入了特有的安全风险,包括报头安全风险、地址安全风险、互联网控制信息协议第6 版(Internet Control Message Protocol Version 6,ICMPv6)安全风险、邻居发现协议(Neighbor Discovery Protocol,NDP)安全风险等。此外,在IPv4/IPv6 过渡期使用的过渡机制同样也面临着安全风险。IPv6/IPv4安全风险比较如表1所示。
Table 1 Comparison of IPv6 and IPv4 security threats表1 IPv6与IPv4安全风险比较
近年来,我国发布了大量相关文件推进IPv6 部署工作,包括2017 年发布的《推进互联网协议第6 版(IPv6)规模部署行动计划》[9],2020年发布的《关于开展2020年IPv6端到端贯通能力提升专项行动的通知》[10],2021 年发布的《关于加快推进互联网协议第6 版(IPv6)规模部署和应用工作的通知》[11]等。由此可见,安全问题是不容忽视的重点内容之一。在推进部署工作前,全面了解IPv6 安全问题并研究相关防护技术为新一代网络建设提供更好的安全防护至关重要。
综上所述,虽然IPv6 部署正在如火如荼地进行,但IPv6 网络缺乏大规模使用的安全经验,现阶段已部署应用的IPv6 应用场景十分有限。相较于IPv4,IPv6 的使用和安全问题更复杂,将存在更多安全风险。Durdaği 等[12]重点描述IPv4/Pv6 面临的相同安全风险,关于IPv6 特有风险介绍不够全面。张连成等[13]详细描述了IPv6 相关的安全风险,但仅给出了防护建议,并未描述相应的防范技术。Nixon[14]介绍了一些安全协议、安全设备作为防护手段,可看出关于IPv6 安全风险的相关综述较多,但大多数并未详细描述各风险对应的防范方案。
因此,本文全面梳理了IPv6 的安全风险,重点对相应的防范方案进行调研与总结。具体为:介绍IPv4/IPv6 相同的安全风险与防范方案;从IPv6 报头、地址、ICMPv6、NDP 4 个方面介绍IPv6 特有的安全风险与防范方案;介绍IPv4/IPv6 过渡期使用不同过渡机制面临的安全风险与防范方案。
尽管在IPv6 协议中实现了安全改进,但并未从根本上改变某些类型的攻击,网络仍然暴露在不同类型的攻击下,因此IPv4 所面临的拒绝服务攻击、路由攻击、嗅探攻击、流氓设备攻击、中间人攻击、应用层攻击等安全风险在IPv6 网络中仍未改变性质,这些攻击对两种协议造成几乎相同的影响[5,12]。
1.1.1 拒绝服务攻击
拒绝服务攻击指攻击节点通过模拟正常节点发送大量报文至被攻击节点,消耗被攻击节点与同一网络上其他用户的网络带宽与计算资源[15],这种攻击方式的原理并未发生改变,是IPv4/IPv6网络中最常见的威胁之一。
1.1.2 路由攻击
路由攻击指通过发送伪造路由信息,产生错误路由干扰正常路由的过程[16],目前常见的两种攻击方式为路由泄露和路由劫持,在IPv4/IPv6网络中均可能出现。
1.1.3 嗅探攻击
嗅探攻击指非法窃取网络上传输的信息[17],可使用IPsec 协议进行防护,该协议在IPv4 中可选,在IPv6 中则是必选[12],但并未简化其密钥管理存在的问题。
1.1.4 流氓设备攻击
流氓设备攻击指引入未经授权的设备攻击网络[18],攻击者在网络中设置流氓接入点(Rogue Access Point,RAP)以实现未经授权的访问,还可利用RAP 进行其他攻击。在IPv6 中并未进行特殊设置以阻止流氓设备,因此该网络也容易受到攻击[5]。
1.1.5 中间人攻击
中间人攻击指攻击节点非法潜入正常通信节点间干扰通信过程[19],IPv4/IPv6 的安全防护均依赖于IPsec 协议,IPsec 加密依赖互联网密钥交换(Internet Key Exchange,IKE),在交换公钥时可能会成为中间人攻击的目标[13]。
1.1.6 应用层攻击
如今,互联网上的大多数漏洞均出现在应用层,例如缓冲区溢出攻击、网络应用攻击、不同类型的病毒和蠕虫等[20]。IPsec 无法阻止这些攻击,因此IPv4/IPv6 的应用层攻击也一致。
1.2.1 拒绝服务攻击防范
使用流量检测算法及源IP 检测算法检测网络流量与源IP 个数的变化,及时检测到拒绝服务攻击,通过设置路由器过载降级、隔离路由器间的流量、增加身份验证等操作来有效降低Dos 对网络造成的影响[15]。丑义凡等[21]提出基于混合流量预测模型的检测算法,首先将原始流量去噪,恢复流量原本的混沌状态,然后通过神经网络预测模型求得流量的变化趋势,判断网络是否出现了Dos,进而实现流量定向阻断。
1.2.2 路由攻击防范
使用链路层加密和认证、多路径路由、身份验证、双向链路验证、认证广播等方法可有效防御路由攻击[22]。黄卓君等[23]从防伪认证信息库建模、路由分析监测、健全路由管控机制3 个方面构建安全路由管控。即构建具有防伪认证的路由数据库,动态检测网络以及时发现路由泄露与路由劫持,并提示警告,然后结合警告信息以黑白名单的方式过滤非法路由。
1.2.3 嗅探攻击防范
常用的嗅探攻击防范技术包括数据加密及流量监视[17],可在数据传送前进行加密,以确保即使攻击者嗅探到数据包,也无法直接窃取真实信息。由于嗅探器会接受同一子网内的报文,将占用网络大量带宽,因此可通过监视网络流量检测嗅探攻击的发生。
此外,移动目标防御(Moving Target Defense,MTD)是近年来新增的防御嗅探攻击方式,其思想是通过周期路径跳变机制,通过多个不同路径传输数据,使攻击者难以收集完整的数据包[24]。
1.2.4 流氓设备攻击防范
使用有线或无线检测方式检测网络中的RAP[18]。Lu等[25]利用无线网络中存在的相位差漂移现象,实现了更快速的RAP 检测。
1.2.5 中间人攻击防范
在发送端和接收端间使用互锁协议,能在一定程度上保护消息免受中间人攻击[19]。姚志强等[26]提出通过实体认证与密钥协商结合数字签名与摘要进行消息认证的方法,以预防动态配置地址中的中间人攻击。
1.2.6 应用层攻击防范
及时修复系统漏洞、安全审计系统内的用户行为,能有效预防应用层攻击[20]。Giri 等[27]提出一个编程语言的安全特征框架,解决编程语言中的各种漏洞带来的应用层风险。Kroes 等[28]利用指针标记检测缓冲区溢出攻击,实验证明该方案开销较低。
由于IPv6 具有的某些新特性将不可避免地引入部分特有的安全风险,因此本文从IPv6 报头安全风险、IPv6 地址安全风险、ICMPv6安全风险及NDP 安全风险4个方面对其特有安全风险进行描述,如表2所示。
IPv6 报头由基本报头和扩展报头构成,相较于IPv4,IPv6 采用了简化的基本报头,删除了标识号、片段偏移量、报头校验等字段,新增流标签字段[7]。此外,定义扩展报头增强IPv6 网络层的各种功能,包括逐跳选项报头、目的选项报头、路由报头、分段报头、验证报头及封装的安全有效负载报头。接下来,将从IPv6 基本报头和扩展报头两方面对IPv6报头安全风险进行介绍。
2.1.1 安全风险
(1)基本报头。IPv6 基本报头中新增的流标签字段可识别一个唯一流、连续流或连接组成部分的数据包,按照优先级发送数据包,路由器可根据流标签区分流并进行处理[7]。流标签未定义任何安全防护机制,因此在传输过程中攻击节点可能会伪造流标签,或利用一系列流标签的值隐藏数据[13]。
Table 2 New security threats caused by IPv6 new features表2 IPv6新特性引发的特有安全风险
(2)扩展报头。由于协议规范并未约束扩展头部的使用,因此攻击节点可利用扩展头部制造攻击。具体为以下3 点:①攻击节点通过链接多个扩展头部绕过防火墙和入侵防御系统[29];②通常情况下,中间设备(例如路由器或防火墙)只检查数据包的第一分段,攻击节点可能在之后的分段中混淆数据以规避安全设备[30];③大量的扩展头部将消耗大部分资源,可能会导致目的主机的拒绝服务攻击。
此外,不同扩展报头还面临着独有的安全风险,包括逐跳选项报头、分段报头、路由报头等。其中,逐跳选项报头可能被攻击节点恶意利用,造成沿流量路径节点上与目的节点的资源消耗[2];分段报头攻击可能造成重叠分段、乱序分段、数据包无法正确重组,攻击节点通过发送不完整的数据分段导致接收节点处于等待状态,造成资源消耗[31];攻击者利用路由报头绕过IPv6 防火墙访问内部受保护的主机[32]。
2.1.2 防范方案
(1)基本报头。使用均匀随机的流标签或利用散列算法生成流标签不易让攻击节点探测[7]。
(2)扩展报头。选择过滤策略时,应注意扩展报头带来的流量复杂性,防御链接攻击[31]。在转发路径的每个节点上分析包含逐跳选项报头的数据包,防御资源消耗攻击;严格检查下一头部字段信息,防御分段攻击;将访问控制检查扩展到路由报头的地址,预防路由报头的安全漏洞[32]。
针对IPv6 扩展报头引发的安全问题,Naagas 等[33]提出新的安全模型DEH-DoSv6 解决IPv6 扩展报头DoS 攻击带来的新威胁,在路由器转发前增加一个新的安全机制,先进行流量分类,再对分类后的流量采取丢弃、限制、允许等措施,以有效规避恶意流量。
IPv6 地址空间已由IPv4 的32 位扩充至128 位,在地址探测方面会给攻击节点带来一定的难度,但仍无法完全避免被扫描的风险。在地址配置方面IPv6 可采用有状态地址自动配置和无状态地址自动配置(Stateless Address Autoconfiguration,SLAAC),前者依赖于动态主机配置协议(Dynamic Host Configuration Protocol IPv6,DHCPv6)的支持。接下来,将会分别从地址探测和地址配置两方面对IPv6 地址空间存在的安全风险进行分析,并总结防范方案。
2.2.1 安全风险
(1)地址探测。首先,由于IPv6 更多地依赖域名解析,导致域名系统(Domain Name Server,DNS)可能成为攻击节点的重点攻击目标[6]。其次,使用相同品牌网络接口导致的标识符唯一、IPv6 地址内嵌入IPv4 地址、采用低字节地址等也会加快攻击节点地址探测速度[13]。
(2)地址配置。地址配置包括有状态地址自动配置与无状态地址自动配置。其中,有状态自动配置指主机通过DHCPv6 获取IPv6 地址和相关配置信息,相较于无状态自动配置而言更可控,能更清晰地了解主机与地址分配的相关信息[7]。
本文主要列出DHCPv6 方式可能面临的3 种安全风险:私设服务器攻击、消息篡改攻击和拒绝服务攻击[34]。私设服务器攻击表现为攻击节点向合法客户端发送伪造的ADVERTISE 和REPLY 消息私设DHCPv6 服务器,从而实现在主机上配置错误的IPv6 地址和其他信息,导致网络连接故障[35],DHCPv6私设服务器攻击如图2所示。
Fig.2 DHCPv6 private server attack图2 DHCPv6私设服务器攻击
消息篡改攻击表现为当前的DHCPv6机制并未提供检查消息完整性的方法,如果攻击节点修改DHCPv6 消息内容,客户端将遭受与私设DHCPv6 服务器攻击相同的结果,DHCPv6消息篡改攻击如图3所示。
Fig. 3 DHCPv6 message tampering attack图3 DHCPv6消息篡改攻击
拒绝服务攻击表现为攻击节点向服务器发送大量用于发现服务器的SOLICIT 消息,导致服务器CPU 产生巨大负荷,直至宕机无法提供服务,DHCPv6 拒绝服务攻击如图4所示。
Fig. 4 DHCPv6 denial of service attack图4 DHCPv6拒绝服务攻击
无状态地址自动配置利用ICMPv6 协议中的路由器请求消息(Router Solicitation,RS)和路由器通告(Router Advertisement,RA)消息获得网络前缀等网络信息,并自动生成接口标识符(Interface Identifier,IID),再使用重复地址检测(Duplicate Address Detection,DAD)验证链接地址的唯一性,从而完成无状态自动配置过程,无需额外部署服务器[7]。
本文主要列出SLAAC 方式可能面临的3 种安全风险:欺骗攻击、恶意最后一跳路由器攻击和隐私问题。欺骗攻击表现为SLAAC 内部并未构建认证机制,攻击节点通过发送非法的RA 报文伪装成默认路由器[36],例如通告非法的网络前缀、错误M 比特位等;恶意最后一跳路由器攻击表现为攻击节点伪装成网络上合法路由器向网络发送非法RA 消息,导致网络中其他主机使用不同的网络前缀[37];隐私问题表现为设备将IPv6 地址的网络前缀部分作为IID,导致每个用户的确定性IID 相同,这种静态特性的地址生成方法可能会引起设备跟踪[38]。
2.2.2 防范方案
方案一:地址探测安全风险防范。通过隐藏真实的DNS 服务器地址、限制DNS 访问频率、结合云计算和大数据平台设置拒绝服务的黑名单等方式保障DNS 安全。此外,DNS 安全扩展协议提供认证和完整性保障。设置网络地址时,应注意避免从低字节开始编址,节点标识符不按顺序排列或使用随机节点标识符使攻击者难以扫描IPv6子网[6]。
方案二:地址配置安全风险防范。
(1)适用于两种地址生成方式的防范方法。密码生成地址(Cryptographically Generated Addresses,CGA)提供了消息完整性、身份验证等功能防御IP 伪造[39],可用于增强任何地址生成方式的安全性;使用源地址合法性检验(Source Address Validating,SAVI)方式缓解IPv6 地址欺骗风险,将终端处理设备与网络路由间的源地址绑定在一起,从而有效判断接入设备报文源地址的真实性,预防地址欺骗[40]。
(2)针对使用DHCPv6 地址生成方式的防范方法。通过重配置密钥认证协议(Reconfiguration Key Authentication Protocol,RKAP)能有效预防私设服务器攻击;检查信息完整性防御信息篡改攻击;限制发送至DHCPv6 的服务器速率,防御拒绝服务攻击[34]。LI 等[34]提出一种安全的DHCPv6 机制,在现有的DHCPv6 协议中加入身份认证和加密机制,保护DHCPv6 通信中的隐私信息免受被动攻击。Alani 等[35]基于对称密钥提出DHCPv6Auth 机制,防御恶意DHCPv6服务器攻击,保护主机隐私。
(3)针对使用SLAAC 地址生成方式的防范方法。将网络预设的每个合法路由器的链路层地址和IPv6 地址存入路由器数据库,将实际通信的RA 报文解析后和路由器数据库进行比较,预防恶意最后一跳路由器攻击[37];IPv6 中无状态地址自动配置的隐私扩展,能随着时间的推移改变地址的IID 部分并生成新地址,同时地址序列接口选择完全不可预测,以保护地址隐私,防御设备跟踪。Shah 等[41]提出在发送方节点进行地址生成、在接收方节点进行地址验证且IID 随着时间段不同而改变的方法,生成了维护隐私所需的高度随机化的IID,使攻击节点无法准确确定节点位置。Odero 等[35]提出一种结合不同网络参数隐私性,增强IID 生成方法,以保护IPv6网络环境中用户的隐私。
2.3.1 安全风险
IPv6 使用ICMPv6 协议提供管理、控制和网络诊断等功能,包括IPv4 的ICMP、ARP 协议。此外,ICMPv6 还具有邻居发现(Neighbor Discovery,ND)、路径最大传输单元(Path Maximum Transmission Unit,PMTU)发现等新特性[7]。ICMPv6 消息类型可分为错误类消息和信息类消息。下面将介绍ICMPv6 错误类消息安全风险、信息类消息安全风险及PMTU 发现安全风险。
(1)错误类消息安全风险。攻击节点将大量不合法的数据包发送至被攻击节点,被攻击节点需要对每个数据包以一条ICMPv6 错误消息作出响应,由此对被攻击节点造成拒绝服务攻击[43]。
(2)信息类消息安全风险。攻击节点可能冒充被攻击节点向其他节点发送回送请求消息[13],导致被攻击节点收到后需要发送大量回送应答消息,造成泛洪攻击,影响被攻击节点正常通信;当攻击节点冒充被攻击节点向组播地址发送回送请求消息时,将造成组播放大攻击[44]。ICMPv6信息类消息安全风险如图5所示。
(3)PMTU 发现安全风险。PMTU 是源节点和目的节点间的路径上任何链路均支持的最大传输单元,由于IPv6不允许中间节点进行数据包分段,因此需要使用PMTU 进行处理。攻击节点可通过发送大量碎片造成碎片攻击,使目标系统上的重建缓冲区超载,导致系统崩溃[12]。
Fig.5 ICMPv6 information message security threat图5 ICMPv6信息类消息安全风险
2.3.2 防范方案
利用入侵检测系统分析ICMPv6 流量,识别恶意流量,目前已有基于特征的入侵检测系统及基于异常的异常检测系统能有效识别拒绝服务攻击的发生[45]。同时,使用IPsec、路由通告保护技术(Router Advertisement Guard,RA Guard)等防护机制能有效防御信息类消息造成的泛洪攻击及组播放大攻击[44]。如果该数据包不是流中的最后一个数据包,将建议丢弃少于1 280 个二进制八位字节的所有片段,以此防御碎片攻击[12]。
针对ICMPv6 引发的安全问题,Elejla 等[46]提出一种基于流提取攻击特征的入侵检测系统,通过区分正常流、攻击流检测基于ICMPv6 的DDoS 攻击。江魁等[47]针对ICMPv6 中DDoS 攻击提出基于信息熵与长短期记忆网络相结合的双重检测方法,首先通过信息熵初步检测异常的发生,然后基于长短期记忆网络确认异常。
2.4.1 安全风险
NDP 具有发现同一链路上的节点、确认彼此的链路层地址、查找路由器、维护活跃邻居节点的可达性信息等关键性功能[48]。由于NDP 设计时未引入认证机制,将导致网络中主机不可信,攻击节点可获得并冒用主机MAC 地址,通过伪造、篡改协议报文实现重复地址检测攻击、邻居不可达攻击和欺骗攻击。
(1)重复地址检测攻击。重复地址检测是保证唯一IPv6 地址的重要途径,发生在主机启动或改变其IPv6 地址时。攻击节点可能对该邻居请求进行应答,表示已使用该地址,主机只能尝试更换其他地址再次发送邻居请求,若攻击节点每次都进行应答,将导致主机无法获得地址[42]。重复地址检测攻击如图6所示。
Fig.6 Duplicate address detection attack图6 重复地址检测攻击
(2)邻居不可达攻击。请求节点向对等节点或上一层节点发送请求时,如果并未接收到来自被请求节点的回复时,将尝试再次发送请求,若仍未得到回应,该被请求节点信息的邻居缓存条目将被删除。于是,攻击节点可冒充已不可达节点向其他节点发送消息,导致其他节点误认为该不可达节点仍然存在,在邻居缓存中创建错误的映射[49]。邻居不可达攻击如图7所示。
Fig.7 Neighbor unreachable detection attack图7 邻居不可达检测攻击示意图
(3)欺骗攻击。ICMP 重定向信息是指路由器向主机提供实时路由信息,当主机收到ICMP 重定向信息时,会根据该信息更新路由表。但由于ICMPv6 重定向中尚未内置认证机制,攻击节点可发送伪造的重定向信息给被攻击的主机,让主机按照攻击节点发送的MAC 地址修改路由表。一旦修改的MAC 地址不存在,将导致被攻击节点无法与其他节点进行通信,造成拒绝服务攻击;若MAC 地址存在但不正确,则造成重定向攻击[50]。欺骗攻击如图8所示。
Fig.8 NDP spoofing attack图8 邻居发现协议欺骗攻击
2.4.2 防范方案
使用安全邻居发现(Secure Neighbor Discovery,SEND)协议能从根本上解决ND 协议中重复地址检测攻击、邻居不可达攻击及欺骗攻击。SEND 提供了保护NDP消息免受链路层和网络层威胁的功能[51],由于目前终端及设备并非普遍支持SEND 协议,在无法部署SEND 的情况下,可采用ND Snooping、DHCP-Snooping 获取用户IP 地址、MAC、物理端口的对应关系或通过手动绑定表项等方式建立信任表项,过滤非法的ND 报文,达到保护ND 协议的效果。Jacome 等[52]提出一种使用DH 与HMAC 算法建立更安全的邻居发现协议,虽然无法解决与NDP 相关的所有问题,但增加了安全级别。Rehman 等[53]提出Secure-DAD 解决自动配置所需的DAD 过程易发生的DoS攻击问题。
IPv6 与IPv4 的设计并不兼容,为了弥合这两种异构协议间的差距,需要使用一些过渡机制实现两者相互兼容。目前,最常见的机制包括双栈、隧道和翻译,如表3 所示。在IPv6 完全接管IPv4 之前,这两种异构协议仍需长期共存[47]。因此,选用不同的过渡机制需要从功能、应用、性能、部署、安全等方面进行考虑[48],本文将分别介绍以上3种过渡机制面临的安全风险与防范方案。
Table 3 Comparison of transition mechanisms表3 过渡机制比较
3.1.1 安全风险
双栈机制是指网络中同时运行IPv4/IPv6 两个协议栈,实现与两者进行通信[54]。使用双栈机制可从网络、应用各层面同时支持IPv4/IPv6 协议栈,实现逻辑上分离,但双栈机制部署复杂,对网络设备要求较高,同时还可能导致严重的通信延迟[56]。此外,双栈也会为网络带来不必要的复杂性,因为需要同时维护IPv4/IPv6 两种协议,相当于给攻击节点提供了两条路径,攻击节点可利用两种协议中的安全漏洞进行协同攻击,并利用防护设备的协同不足来躲避检测[13]。
3.1.2 防范方案
升级入侵检测或入侵防御系统、防火墙、日志和审计等安全防护设备,针对IPv6 相关服务设置相应的防护策略,防止攻击者利用IPv6 防范不当的漏洞对双栈进行攻击[57]。同时,双栈机制中应配置节点(主机、服务器、路由器等)优先使用IPv6 协议,当不再需要IPv4 服务时,应及时予以禁用[6]。
针对双栈机制引发的安全问题,可通过加快攻击检测速度、构建认证机构等方面进行改进。Yusof 等[58]在双栈防火墙中基于自适应阈值算法实现了攻击检测与防御算法,能在大规模网络环境下有效、快速地检测SYN 泛洪攻击。Liu 等[59]通过简单网络管理协议对用户的MAC、IP 地址进行身份认证,解决了双栈机制中IPv4/IPv6 需要分别认证的问题,有效提高了认证系统的兼容性。
3.2.1 安全风险
隧道机制是指将另一种协议数据包封装到原来协议中,实现两种IP 协议的互通使用。隧道机制方便部署,不会对已有网络结构造成影响,但需要在隧道端点处不断进行封装和解封装,转发效率较低[54]。由于所有不同的隧道机制基本上均缺乏内置的安全能力,例如身份验证、完整性、机密性等,因此存在隧道注入、隧道嗅探、服务盗窃等安全风险[60]。隧道注入指攻击节点通过伪造外部IPv4 地址和内部IPv6 地址伪装为一个合法用户,向隧道中注入流量,可增强为反射攻击。隧道嗅探指位于隧道的IPv4 路径上的间谍可嗅探以隧道方式传输的IPv6 数据包,并读取内容。服务盗窃指攻击节点未经授权的使用隧道服务[61],隧道注入攻击如图9所示。
Fig.9 Tunnel technology spoofing attack图9 隧道注入攻击
3.2.2 防范方案
隧道机制的安全风险防范包括隧道端点保护、流量检查、访问控制等方面[57]。具体的,隧道端点需要配置数据包过滤器、应用层网关、入侵检测、防御系统等安全防护机制,使用端到端IPsec 保护通过隧道的流量可防御隧道注入与隧道嗅探[6],在隧道端点上使用单播反向路径转发(Unicast Reverse Path Forwarding,URPF)、反电子欺骗技术来减轻隧道注入或反射攻击。部署流量检查设备在数据包解封后检查流量。使用访问控制列表确保只有合法的数据包通过隧道,例如检查IPv4 源地址,拒绝源地址不匹配任何配置隧道的数据包通过隧道,这种情况下攻击者需要发现两个隧道端点才能进入隧道,可在一定程度上防御服务盗窃攻击[6]。
针对隧道机制引发的安全问题,可通过控制隧道流量、改变隧道结构等方面进行改进。崔宇等[62]提出隧道流标记和后移重组两个关键技术,用于解决恶意隧道流量引发的隧道干扰和多层分段攻击。Akilandeswari 等[63]提出一种新的隧道机制安全体系结构,利用椭圆曲线密码提供数据的完整性、保密性和隐私性。
3.3.1 安全风险
翻译机制是指通过地址翻译设备实现IPv4/IPv6 地址的互相转换,翻译设备维持一个地址转化池,用于IPv6 地址通过IPv4网络通信或IPv4地址通过IPv6网络通信,翻译机制能在不改变节点的前提下实现两者互通,但地址转换过程不利于地址溯源[54]。
翻译机制通常无法支持依赖于源地址和目的地址(例如IPSec)的端到端安全方案,可能遭受CPU 和地址池耗尽攻击[61]。其中,CPU 攻击指攻击节点发送要求应用层网关检查的大量数据包,导致CPU 负载过重;地址池耗尽攻击指恶意IPv6 用户向IPv4 服务器发送伪造的消息请求,每条请求均会消耗来自地址池的一个IPv4 地址,多次发出请求将导致地址池耗尽。地址池耗尽攻击如图10所示。
Fig.10 Address pool exhaustion attack图10 地址池耗尽攻击
3.3.2 防范方案
在翻译设备内部严格限制速率,降低数据包的发送速率,防御CPU 攻击[6];加强访问控制策略及对个体IP 地址加强严格的反电子欺骗措施(例如IP 源检查)来防御地址池耗尽攻击[6]。
针对翻译机制引发的安全问题,可通过一些中间代理辅助翻译的方式进行改进。韩康等[64]提出一种基于代理的NAT64/DNS64 优化方法,通过中间代理翻译地址,实现应用层协议的地址翻译。
现阶段IPv6 相关技术逐步普及与成熟,环境中的服务与应用显著增加,但IPv6 的大部分设计和应用缺乏时间、规模等方面的考验,仍存在安全隐患。为此,本文围绕IPv6/IPv4 所面临的相同攻击、IPv6 报头、地址及相关协议的升级所带来的特有安全风险和过渡机制面临的安全风险对相关工作进行了调研,总结相应的防范方案与最新的研究动态,旨在为各行业部署IPv6 时提供安全方面的参考。
分析发现,在设计、规划网络时,应同步考虑安全风险,在部署之初就应制定相应的防范方案保证基线安全,其次需要重点部署蜜罐、流量监测等积极防御系统,增强对未知威胁的监测和分析能力。此外,随着IPv6 与新型组播技术、智能应用感知、网络切片等技术融合的应用场景更广泛,应用更复杂,安全问题将迎来新挑战,研究IPv6 与这些新技术融合过程中的安全风险与防范方案将会是未来工作的重点。