IPv6安全浅析
“缺乏安全性是互联网天生的弱点,这与是否采用IPv6关系不大。事实上,IPv6并没有引入新的安全问题,反而由于IPSec的引入以及发送设备采用永久性IP地址而解决了网络层溯源难题,给网络安全提供了根本的解决途径,有望实现端到端安全性。”中国电信科技委主任韦乐平这样评价IPv6安全。
IPv6协议设计的安全考虑
从协议的角度,IPv6作为IPv4的下一代,与IPv4同属于网络层的传输协议。然而,协议上最核心、最本质的差别就是地址空间的扩大,由IPv4下的32位地址空间变为128位的地址空间,这正是IPv6被选作新网络的承载协议并逐渐商用部署的根本驱动力。IPv6拥有如此巨大的地址空间,甚至可以为每一粒沙子都分配一个IP地址。而IPv4网络的地址分配是不规则的,并且很多时候是一个地址被多台主机共用。使用IPv6之后,我们能够将每个地址指定给一个责任体,就像给每个人一个身份证号,每辆车一个车牌号一样,每个地址都是唯一的;IPv6的地址分配采用逐级、层次化的结构,这就使得追踪定位、攻击溯源有了很大的改善。
另外,IPv6提出了新的地址生成方式——密码生成地址。密码生成地址与公私钥对绑定,保证地址不能被他人伪造。这如同汽车的车牌印上了指纹,别人不可能伪造这样的车牌,因为指纹造不了假。在IPv6协议设计之初,IP Sec(IPSecurity)协议族中的AH(AuthenticationHeader,报文认证头)和ESP(EncapsulationSecurity Payload,报文封装安全载荷)就内嵌到协议栈中,作为IPv6的扩展头出现在IP报文中,提供完整性、保密性和源认保护,这无疑是从协议上较大地提升安全性。
整体上看,IPv4协议的设计没有任何的安全考虑,特别是报文地址的伪造与欺骗使得无法对网络进行有效的监管和控制。因此,当出现网络攻击与安全威胁时,我们只能围绕攻击事件做好事前、事中和事后的防范、检测和过滤防御,缺乏有效的技术支撑手段,无法对攻击者形成真正的打击和管控。
而在IPv6网络的安全体系下,用户、报文和攻击可以一一对应,用户对自己的任何行为都必须负责,具有不可否认性,所以IPv6建立起严密的围绕攻击者的管控机制,实现对用户行为的安全监控。
IPv6能减缓现有攻击
扫描几乎是任何攻击手段的必需前提。攻击者利用扫描收集目标网络的数据,据此分析、推断目标网络的拓扑结构、开放的服务、知名端口等有用信息,以作为真正攻击的基矗扫描的主要目的是通过ping每个地址,找到作为潜在攻击目标的在线主机或设备。
在IPv6时代,每个地址为128位,协议中规定的默认网络前缀为64位。换句话说,就是一个网段内有264个地址,假设攻击者以10M/s的速度来扫描,也得需要大约5万年的时间才能遍历。IPv6大大增大了扫描难度,由此增加了网络攻击的成本和代价。此时,黑客如果想侵占一定数量的主机发起DDoS(Distributed Denial of Service,分布式拒绝服务)攻击,那么其将会付出更多的代价,这在一定程度上减少了DDoS攻击发生的可能性。
IPv6协议定义了多播地址类型,而取消了IPv4下的广播地址,有效避免IPv4网络中的利用广播地址发起的广播风暴攻击和DDoS攻击。同时,IPv6协议规定了不允许向使用多播地址的报文回复ICMPv6(Internet Control Management Protocol Version6)差错消息,因此也能防止ICMPv6报文造成的放大攻击。
IPv6下的密码生成地址是新的地址生成方式,将公私钥对中的公钥与IPv6地址进行绑定。使用此类地址,能够保证报文的源地址不被他人伪造。在这样的安全机制保护下,在网络中传输的每一个报文均对应于一台主机,如果发生任何的攻击或者违法犯罪行为,都能够根据攻击报文追踪到发出此报文的主机,进而追查到攻击者。这种可靠的追踪溯源机制,使得黑客和攻击者容易被发现,这样就减少了网络攻击发生的可能。
IPv6面临的新威胁
IPv6协议对IPv4协议的根本改变是发生在IP层,因此针对IPv6协议所定义的包
头及扩展头的、容易发生的安全威胁,我们需要进行充分的准备。常见的针对IPv6扩展头的攻击,主要包括利用分片扩展头发起分片攻击,逃避防火墙/IDS(Intrusion Detection System,入侵检测系统)的检查或者发动DDoS攻击;利用路由扩展头的type 0类型,在网络中发起放大攻击。
在IPv4向IPv6的演进过程中,我们还需要考虑各种过渡技术与方案的安全隐患。由于在共存时期,IPv4网络与IPv6网络同时存在,且有互通需求,这就要求来自两种不同IP协议网络的威胁不能够交叉感染。另外,运营商所选择部署的各种过渡技术,由于尚无成熟的使用经验,因此很可能存在潜在的安全风险。
具体来看,隧道技术是对报文进行一层封装。隧道报文在经过网络安全设备时,如果需要被检查与过滤,那网络安全技术就得支持各种新的隧道协议,能够对隧道进行解封装,而后才能对内嵌报文进行处理。在建立各种隧道的时候,对隧道节点的认证是十分必要的。否则,所建立的隧道是不可靠的,隧道就会被黑客和攻击者利用,成为进
入某个目标网络的通路。
而在利用翻译技术将IPv6与IPv4网络进行互联互通时,要改变报文的IP层及传输层的相关信息,这样会对端到端的安全产生影响,导致IPSec的三层安全隧道在翻译设备处出现断点。同时,翻译设备作为网络互通的关键节点,会成为DDoS攻击的主要目标。
总之,安全隐患的主要根源是网络协议设计的缺陷和网络设备开发的bug,或者是网络协议的部署与使用出现问题。在IPv6商用之初,我们应利用IPv6协议提供的新安全特性,先解决部分类似IPv4下已有的威胁。随着IPv6网络的扩大以及各种应用的迁移和增多,我们需要更多关注新型攻击。
IPv6的安全机制和策略
在IPv6/IPv4共存时期,过渡技术的安全部署尤为重要。各种网络安全设备都要具备对IPv6和IPv4威胁的防护能力。我们在使用隧道技术时,要尽可能采用静态配置隧道,以降低动态隧道的伪造和非法接入威胁。
充分利用地址自身的安全特性
在合适的场景下,使用密码生成地址有助于发现针对ND(Neighbor Discovery,邻居发现)协议和DHCPv6(Dynamic Host Configuration Protocol for IPv6,IPv6动态主机配置协议)协议的欺骗和伪造等问题。由于拥有自身的公私钥对,密码生成地址还可用于IPSec的协商,在某些场景下可以简化协商过程,提高IPSec的性能。
另一种关于地址的安全机制是隐私扩展。由于IPv6网络不需要地址转换,因此没有NAT(Network Address Translation,网络地址转换)设备,这样一来就会将内网的结构及相关信息暴露。所以,内网的网络设备要依靠隐私扩展机制,通过周期性的地址改变,防止内部网络信息的泄露。
设定精细的过滤策略
面对IPv6地址结构以及相关协议的改变,防火墙或者网络边界设备需要设定更加精细的过滤规则。防火墙需要拒绝对内网知名多播地址访问的报文,关闭不必要的服务端口,过滤内网使用的地址。在对ICMP报文的处理上,由于IPv6对ICMPv6的依赖程度远远超过了IPv4,ICMPv6除了完成ping及错误消息外,还新增了地址分配、地址解析、多播管理和移动IPv6下的使用等功能,因此ICMPv6报文的过滤策略需要根据实际情况小心设置,避免影响正常的服务和应用。
为了防护IPv6扩展头的隐患,防火墙需检查扩展头的合法性。对于分片报文,防火墙能拒绝发送到网络中间设备的分片,并支持重组,具备防DDoS攻击能力。防火墙能识别type 0类型的路由扩展头报文,对其进行过滤。入口过滤机制在防火墙和边界设备上的实现也是必要的,以缓解网络间的源地址伪造威胁。
合理的部署策略
在IPv6/IPv4共存时期,过渡技术的安全部署尤为重要。各种网络安全设备都要具备对IPv6和IPv4威胁的防护能力。我们在使用隧道技术时,要尽可能采用静态配置隧道,以降低动态隧道的伪造和非法接入威胁。防火墙要设置对非授权隧道报文的过滤,同时识别各种隧道协议,能够对隧道报文的内嵌封装报文做访问控制。翻译设备则要做好自身的DDoS攻击防范。
2010年是IPv6的商用元年,各大运营商纷纷制定过渡方案,宣布演进计划,开启试点城市。华为的安全产品已经为IPv6商用做好了充分准备,2009年通过了IPv6 Ready认证。值得一提的是,华为IPv6防火墙在国内首家通过IPv6 Ready第二阶段增强认证,而且能将当前多种主流的过渡技术与方案集成于同一设备,满足了当前IPv6商用的市场需求。