无论IPv4网络还是IPv6网络,安全威胁是一直存在的问题。IPv6协议在增加安全性的同时,也引入了一些特有的问题。目前IPv6各运营商开始大规模部署IPv6网络,但是相应的IPv6安全研究和实践没有得到足够的重视和发展。本文将从IPv6协议相对IPv4协议变化、IPv6协议安全改进、IPv6协议安全威胁及防护三个方面阐述一下IPv6网络安全性。
文/孙松儿
IPv6和IPv4协议安全性比较
1、IPv6扩展头
IPv4协议报文头结构冗余,影响转发效率;同时缺乏对端到端安全、QOS、移动互联网安全的有效支持。IPv6协议重点针对上述几个方面进行了改进,采用了更加精简有效的报文头结构。IPv6协议选项字段都放在扩展头中(如表1所示),中间转发设备不需要处理所有扩展报文头,提高数据包处理速度,并且通过扩展选项实现强制IPSec安全加密传输和对移动互联网安全的支持。
表1 IPv6扩展头说明
选项值 | 英文含义 | 中文含义 |
0 | Hop-by-Hop Options Header | 逐跳选项报头 |
6 | TCP | |
17 | UDP | |
41 | Encapsulated IPv6 Header | 封装的IPv6报头 |
43 | Routing Header | 路由报头 |
44 | Fragment Header | 分片报头 |
50 | Encapsulating Security Payload | 封装安全载荷报头 |
51 | Authentication Header | 认证报头 |
58 | ICMPv6 | |
59 | NoNext Header | 没有下一报头 |
60 | Destination Options Header | 目的选项报头 |
其中Fragment Header用于分片报文传输; Encapsulating SecurityPayload和AuthenticationHeader用于实现IPSec加密传输;ICMPv6扩展头在IPv6协议中地位举足轻重,承载了IPv6基础协议:邻居发现协议(NDP)。
2、IPv6协议安全改进
IPv6具备巨大的地址空间,并且设计之初就考虑了各种应用的安全,具体包括如下几个方面。
在IPv4网络中,由于地址空间的不足,普遍部署NAT,CGN技术更是引入了多级NAT。NAT的存在一方面破坏了互联网端到端通信的特性,另一方面NAT隐藏了用户的真实IP,导致事前基于过滤类的预防机制和事后追踪溯源变的尤为困难。IPv6网络地址资源丰富,不需要部署NAT,每一个终端都可以分配到一个IP地址并和个人信息进行绑定。安全设备可以通过简单的过滤策略对节点进行安全控制,进一步提高网络安全性。
在IPv4网络中,黑客攻击的第一步通常是对目标主机及网络进行扫描并搜集数据,以此推断出目标网络的拓扑结构及主机开放的服务、端口等信息从而进行针对性地攻击。在IPv6网络中,每一个IPv6地址是128位,假设网络前缀为64位,那么在一个子网中就会存在264个地址,假设攻击者以100万每秒的速度扫描,需要50万年才能遍历所有的地址。这使得网络侦察的难度和代价都大大增加,从而进一步防范了攻击。
IPv4协议设计时为考虑效率并没有考虑安全机制,IPSec是独立于IP协议族之外的,这使得目前互联网上的大部分数据流都没有加密和验证,攻击者很容易对报文进行窃取和修改。另外IPv4网络中,NAT和IPSec二者协议上冲突性也给IPSec的部署带来复杂度。
IPv6协议中集成了IPSec,通过认证报头(AH)和封装安全载荷报头(ESP)两个扩展头实现加密、验证功能。其中AH协议实现数据完整性和数据源身份认证功能,而ESP在上述功能基础上增加安全加密功能。IPv4协议中IPSec抗重放攻击等安全功能在IPv6协议中同样被继承。集成了IPSec的IPv6协议真正实现了端到端的安全,中间转发设备只需要对带有IPSec扩展包头的报文进行普通转发,大大减轻转发压力。
在IPv6协议中,采用NDP(neighbor discoveryprotocol)协议取代现有IPv4中ARP及部分ICMP控制功能如路由器发现、重定向等。
NDP协议通过在节点之间交换ICMPv6信息报文和差错报文实现链路层地址及路由发现、地址自动配置等功能;并且通过维护邻居可达状态来加强通信的健壮性。
NDP协议独立于传输介质,可以更方便地进行功能扩展;并且现有的IP层加密认证机制可以实现对NDP协议的保护。
此外,下一代互联网的安全邻居发现协议(SEND)通过独立于IPSec的另一种加密方式(CGA),保证了传输的安全性。
真实源IPv6地址验证体系结构(SAVA)分为接入网(AccessNetwork)、区域内(Intra-AS)和区域间(Inter-AS)源地址验证三个层次,从主机IP地址、IP地址前缀和自治域三个粒度构成多重监控防御体系,该体系不但可以有效阻止仿冒源地址类攻击;而且能够通过监控流量来实现基于真实源地址的计费和网管。目前基于SAVA实现的系统在CNGI-CERNET2网络上进行了实验性部署、运行和测试,已经形成标准RFC。
3、IPv6网络中新的安全威胁虽然IPv6协议从设计之初就增加了安全方面的考虑,但是任何协议都不可能是完美的,网络中同样存在针对IPv6协议的攻击。安全威胁主要分为三类。
第一类针对IPv6协议特点进行的攻击;
第二类IPV6新的应用下带来的安全风险;
第三类针对IPv4向IPv6过渡过程中的翻译和隧道技术的攻击。
部署IPv6后,由于IP网络传输的本质没有发生变化,所以IPv6同样会面临一些现有IPv4网络下的攻击如分片攻击和地址欺骗攻击等。同时会出现一些针对专门针对IPv6协议新内容的攻击。
IPv4协议的分片攻击主要主要有以下两种:
通过在首片中不包含传输层信息来逃避防火墙的安全防护策略;
产生大量分片使得防火墙耗费大量资源实现重组,或者发送不完整的分片报文强迫防火墙长时间等待集合中的其他分片。
IPv6环境下攻击方法类似,可以通过严格限制同一片报文的分片数目,设置合理的分片缓冲超时时间等手段来预防此类攻击。
IPv6采用NDP协议替 代IPv4中的ARP协议,二者虽然协议层次不同但实现原理基本一致,所以针对ARP的攻击如ARP欺骗、ARP泛洪等在IPv6协议中仍然存在,同时IPv6新增的NS、NA也成为新的攻击目标。NDP协议寄希望于通过IPSec来实现安全认证机制,但是协议并没有给出部署指导,另一方面,SEND协议可以彻底解决NDP协议的安全问题,但是目前终端及设备还普遍不支持该协议。
因此现阶段对ND欺骗的防护可以参考现有ARP的防范手段,其基本思路就是通过ND detection和DHCPSnooping得到主机IP、MAC和端口的绑定关系,根据绑定关系对非法ND报文进行过滤,配合RA Trust和DHCPTrust对RA报文和DHCP报文进行限制。当然,通过配置端口的最大ND表项学习数量也可以避免ND泛洪攻击。
当前协议对IPv6扩展头数量没有做出限制,同一种类型的扩展头也可以出现多次。攻击者可以通过构造包含异常数量扩展头的报文对防火墙进行DOS攻击,防火墙在解析报文时耗费大量资源,从而影响转发性能。这种攻击可以通过限制扩展头的数量和同一类型扩展头实例的数目来避免。
目前针对DNS的攻击较多,如“网络钓鱼”,“DNS缓冲中毒”等,这些攻击会控制DNS服务器,将合法网站DNS记录中的IP地址进行篡改,从而实现DOS或钓鱼攻击。IPv6的SLACC协议支持任一节点都可以上报DNS域名和IP地址,本意是通过该协议提高DNS的更新速率,但是这样带来了冒用域名的风险。DNS安全扩展协议(DNSSecurityExtension)基于PKI公私钥体系实现对DNS记录的认证及完整性保护,除了可以预防上述攻击外,对现存的DNS攻击同样有效。
IPv6网络不支持NAT,这就意味着任何一台终端都会暴露在网络中。虽然IPv6巨大的地址空间使得攻击者的扫描变的困难,但是攻击者仍然可以通过通过IPv6前缀信息搜集、隧道地址猜测、虚假路由通告及DNS查询等手段搜集到活动主机信息从而发起攻击,对于这种攻击需要制定完善的边界防护策略。
IPv6强制使用IPSec,使得防火墙过滤变得困难,防火墙需要解析隧道信息。如果使用ESP加密,三层以上的信息都是不可见的,控制难度大大增加,在这种情况下,无法实现端到端的IPSec,需要安全设备作为IPSec网关。
在IPv4向IPv6演进过程中,不同阶段存在不同过渡技术,这些技术基本上分为三类:双栈技术、隧道技术和翻译技术。
目前针对各种过渡技术无成熟应用经验,从设备商到运营商整体对安全的考虑不足,所以很可能存在以下三种安全威胁。
许多操作系统都支持双栈,IPv6默认是激活的,但并没有向IPv4一样加强部署IPv6的安全策略。由于IPv6支持自动配置,即使在没有部署IPv6的网络中,这种双栈主机也可能受到IPv6协议攻击。
几乎所有的隧道机制都没有内置认证、完整性和加密等安全功能,:攻击者可以随意截取隧道报文,通过伪造外层和内层地址伪装成合法用户向隧道中注入攻击流量;像6to4和ISATAP隧道的IPv6地址是通过特殊前缀内嵌IPv4地址构成的,攻击者还可以据此推测主机的IPv4地址进行扫描攻击。
协议转换技术如NAT64NAT-PT涉及载荷转换,无法实现端到端IPSec,就会受到NAT设备常见的地址池耗尽等DDOS攻击。
针对上述威胁有以下几种预防方法:主机或防火墙需要关闭不用的IPv6服务端口,必要时可以关闭IPv6协议栈;通过配置静态隧道防止非授权隧道接入;使用反电子欺骗技术拒绝来自错误隧道的数据包;使用IPSec保护隧道流量防止嗅探;翻译设备做好自身的DDOS攻击防护。
结束语
从协议层面来看IPv6相比IPv4对互联网安全有了更多的考虑,但是任何协议都不是完美的,新生事物总要经过一段磨合适应期。可以预见在IPv6部署伊始,很可能会爆发各种各样的安全问题。从用户角度看需要提高对网络安全的重视和网络安全知识的普及。从运营商角度看,作为下一代互联网的承建者,在建设之初就应该结合下一代互联网的特点制定相应的安全措施,包括建立完善真实源地址检查机制,同时做好网络监管,提供事后溯源。作为设备商需要紧密跟踪网络安全动态,提升设备本身的IPv6协议及防护的稳定性及完善相应的安全防护功能。相信通过大家的共同努力,一定可以营造一个健康、安全的下一代互联网环境。