在万物互联迈进的时代趋势下,以IPv6为代表的下一代互联网技术应运而生。然而,IPv4向IPv6网络的升级演进是一个长期、持续的过程,IPv6部署应用过程中的网络安全风险尚未完全显现。
近年来,我国各政府部门立足自身职责分工,在政策方面出台相关政策文件,同步强化各行业领域IPv6发展和安全工作部署;各行各业也开始纷纷进行IPv6的研究和演进。2019年11月,腾讯和中国移动、中国信通院、华为的联合项目《移动互联网IPv6技术攻关及规模应用》荣获一等奖大奖。
针对IPv6发展趋势及网络安全动向,腾讯安全平台部天幕团队联合安全专家咨询中心、云鼎实验室、数据安全部,从IPv6安全通用、IPv6安全性评估、First-Hop安全、配置防火墙和安全架构四方面展开,对IPv6 新环境下的常见安全问题进行梳理,期望为企业客户带来实用性的参考和帮助。
Q0:IPv6是什么?
答:IPv6是第六代互联网协议。第四代互联网IPv4经历了移动互联网快速发展,为视频、游戏、支付提供服务。但随着产业互联网的发展,IPv4不再能满足世界上暴增的网络需求,IPv6应运而生。通俗地讲,IPv6的地址数量可以为全世界的每一粒沙子编上一个IP地址。而IP地址,就是我们在互联网上的“门牌号”。
Q1:IPv6协议是否比IPv4协议更安全?
答:IPv6除了具有地址资源丰富、精准对应、信息溯源等特点外, IPv6 地址之间传输数据将经过加密,信息不再被轻易窃听、劫持,因此总体而言,安全性将是IPv6的一个重要特性。但由于IPv6增加的复杂性会导致攻击载体数量增加,让不法黑客能够执行不同类型攻击的可能性增多。所以从协议方面来看,IPv6将要面临更多的安全风险。
Q2:在部署的安全性来看, IPv6与IPv4哪一方更安全?
答:从部署安全性的角度来看,IPv6与IPv4要通过以下四个维度来进行比较:
- 协议规范成熟度:网络安全协议相关的漏洞都是经过安全研究人员长期观察中发现并进行修补的。IPv4协议已经经历了安全工作人员长期的维护和修补,现阶段较IPv6的协议规范更为成熟、稳定。
- 实现的成熟度:目前来看,IPv6缺乏适当的建议来防止漏洞的实现方法,其协议设计还有待完善。
- 对协议的信心/经验:相较于已经成熟的IPv4网络环境,网络安全工程师还需要一段时间来积累对抗IPv6新环境下网络安全威胁的经验。
- 安全设备和工具的支持:尽管安全设备和工具经过改进后能够对IPv4和IPv6同时进行有效支持,但IPv6部署应用过程中的网络安全风险尚未完全显现,安全设备和工具在特性和性能方面还存在不足。
Q3:使用IPv4网络的用户,需要对针对IPv6进行安全部署吗?
答:需要。自从2017年11月底国家《推进互联网协议第六版(IPv6)规模部署行动计划》以来,各运营商都已经可以为用户安装原生的IPv6宽带网络了。因此用户所使用的网络很有可能是双栈接入,即能和IPv4、IPv6两种网络进行通信。
如果攻击者在用户的网络上启用了全局IPv6连接,那么用户网络中的节点可能会无意中将原本用于本地流量的IPv6节点用于非本地流量,为攻击者提供机会。
Q4:用户是否需要增加IPv6互联网安全协议(IPSec)的使用量?
答:现在IPv6的IPSec都是默认关闭的,用户也不需要自行增加IPSec的使用量。以前的IPv6规范要求所有节点包括对IPSec的支持,而且IPv6网络能够使用本地IPSec的预期能力,可能会导致IPSec的使用变得广泛并影响网络传输速率。
Q5:用户可以使用哪些工具来评估自己的网络和设备?
答:可以使用SI6 Networks' IPv6 Toolkit、The Hacker's Choice IPv6 Attack Toolkit、Chiron这三个免费开源的IPv6工具包。
Q6:IPv6的网络地址可以被扫描到吗?
答:通常情况下不行,因为标准的IPv6子网是/64s,用户端设备的网络地址随机分布在一个非常大的地址空间之中,无法进行全局扫描。
但是在基础设施节点(如路由器、服务器等)通常使用可预测的地址且客户节点(笔记本电脑、工作站等)通常使用随机地址时,可以使用“定向”地址扫描轻松地发现基础设施节点,再通过扫描工具针对特定的地址模式来获取用户端设备的网络地址。
Q7:IPv6网络中,可以进行网络探测吗?
答:如果目标是局域网,可以使用多播探测和多播DNS查询这两种技术进行网络探测;如果目标是远程网络,则可以使用Pattern-based address scans、DNS zone transfers、DNS reverse mappings、Certificate transparency framework、Search engines这些技术来实现网络探测的目的。
Q8:在IPv6中有可能执行主机跟踪攻击吗?
答:视情况而定。主机跟踪是指当主机跨网络移动时,网络活动的相关性。传统的SLAAC地址需要节点将它们的MAC地址嵌入到IPv6标识接口中,从而使IPv6主机跟踪非常微弱。临时地址通过提供可用于(类似于客户端)对外通信的随机地址来缓解部分问题,而稳定隐私地址取代了传统的SLAAC地址,从而消除了问题。
随着时间的推移,实施已经朝着临时地址和稳定隐私地址的方向发展。但是,应该检查您的操作系统是否支持这些标准。
Q9:是否应该为服务器设置不可预知的地址?
答:管理员在分析每个网络场景的相关权衡和便利后,可以为一些重要的服务器设置不可预知的地址,因为在设置不可预知的地址后,攻击者将很难“针对给定前缀中的所有服务器“。
Q10:如何应对基于DNS反向映射的网络探测行为?
答:可以仅为需要的系统如邮件传输代理配置DNS反向映射,也可以通过配置通配符反向映射,以便反向映射的每个可能的域名都包含有效的PTR记录。
Q11:IPv6网络环境中是否存在地址解析和自动配置攻击?
答:IPv6的邻居发现协议(NDP)组合IPv4中的ARP、ICMP路由器发现和ICMP重定向等协议,并对它们作了改进。作为IPv6的基础性协议,NDP还提供了前缀发现、邻居不可达检测、地址解析、重复地址监测、地址自动配置等功能。
所以IPv6网络环境中的NDP和自动配置攻击相当于来自IPv4的基于ARP和DHCP的攻击,如果用户的IPv4网络中存在遭受ARP/DHCP攻击的威胁,那么也必须重视IPv6网络中NDP和自动配置攻击所带来的安全威胁。
用户可以通过RA-Guard和DHCPv6-Shield/DHCPv6-Guard这两种方法来应对IPv6网络中NDP和自动配置攻击所造成安全隐患。
Q12:在地址记录方面,SLAAC和DHCPv6有什么区别?
答:使用SLAAC进行地址配置时,由于地址是“自动配置”的,所以没有IPv6地址的集中日志。
当DHCPv6被应用于地址配置时,服务器通常维护一个IPv6地址租约日志。一旦主机被入侵并检测到IPv6地址租约日志的维护行为时,不法分子很容易通过受感染节点来发起恶意攻击。
同时,DHCPv6也不会阻止主机自行配置地址(即不通过DHCPv6请求地址),所以DHCPv6日志应该只在节点与网络合作的情况下使用。
Q13:可以用RA-Guard和DHCPv6-Guard/Shield防御自动配置攻击吗?
答:视情况而定。这些机制的实现很多可以通过IPv6扩展报头轻松绕过。在某些情况下,可以通过丢弃包含“未确定传送”的数据包来减少规避。
Q14:用户应该在网络上部署安全邻居发现(SeND)吗?
答:不建议部署,因为目前几乎没有支持SeND的主机操作系统。
Q15:什么是邻居缓存耗尽(NCE)攻击,如何减轻这种攻击?
答:NCE可能导致目标设备变得无响应、崩溃或重新启动。NCE攻击的目标是在邻居缓存中创建任意数量的条目,这样就不可能再创建新的合法条目,从而导致拒绝服务。NCE也可能是地址扫描远程网络的副作用,其中最后一跳路由器为每个目标地址创建一个条目,从而最终耗尽邻居缓存。
缓解NCE可以限制处于不完整状态的邻居缓存条目数量。或是在受到点对点连接节点的NCE攻击时,通过为点对点链接使用长前缀(例如/127s)来强制人为限制相邻缓存中的最大条目数。
Q16:IPv6网络的逐步普及,会推动以网络为中心的安全范式向以主机为中心的安全范式的转变吗?
答:不会。IPv4网络的安全模式也不并是完全的“以网络为中心”,而是同时基于主机的防火墙和基于网络的防火墙。未来IPv6网络很可能会遵循之前的混合模式。
Q17:部署IPv6网络后,所有系统都将暴露在公共IPv6 Internet上吗?
答:不一定。虽然几乎所有的IPv6网络都可能使用全球地址空间,但这并不意味着any to any的全球可达性。例如,IPv6防火墙可能部署在网络拓扑结构的同一点,而IPv4网络目前使用的是NAT设备。这样的IPv6防火墙可能会执行“只允许外部通信”的过滤策略,从而导致类似于IPv4网络中的主机暴露。
Q18:IPv6环境中还能像IPv4环境中将IPv地址列入黑名单吗?应该用什么粒度为IPv6地址设置黑名单?
答:可以,因为 IPv6主机通常能够在其/64本地子网内配置任意数量的IPv6地址,所以在发生恶意事件时,用户应该至少将检测到恶意活动的/64地址列入黑名单。
根据特定的上游ISP,攻击者可以控制/48到/64之间的任意长度的前缀(例如,如果攻击者通过DHCPv6-PD获得一个委托的前缀)。因此,在可能的范围内,如果恶意活动在客户将违规的/64列入黑名单后仍然存在,你可能希望阻断更短的前缀(更大的地址块)—例如,开始阻断a/64,然后在必要时阻塞a/56或/48。
Q19:系统/网络出于安全原因阻止IPv6片段,这样的做法安全吗?
答:需要视情况而定,因为丢弃IPv6分片只有在满足两个条件时才是安全的:
- 只使用可以避免碎片的协议——例如带有Path-MTU发现的TCP
- 同时阻止了ICMPv6“Packet Too Big”(PTB)错误消息,该消息会通知MTUs应小于1280字节
基于UDP的协议可能依赖于数据分片,因此在使用此类协议时,通常不建议阻断数据分片的流量。其他协议(如TCP)可以通过Path-MTU发现等机制完全避免使用数据分片。
当ICMPv6“PTB”错误消息宣告小于1280字节的MTU时,可能会触发分片的使用。因此,如果IPv6分片被丢弃,但是ICMPv6“PTB”错误消息会导致小于1280字节的MTU未被丢弃,攻击者可能会利用这样的ICMPv6错误消息来触发数据分片,导致结果分片被丢弃,进而导致拒绝服务(DoS)条件。
在修订的IPv6规范[RFC8200]中已经不支持生成响应ICMPv6 PTB消息的IPv6片段,因此最终所有实现都将消除该特性和相关漏洞。但是,您可能正在使用仍存在脆弱行为的遗留设施。
Q20:用户该删除包含IPv6扩展报头的数据包吗?
答:建议用户根据过滤策略在网络中的执行位置,灵活设置针对包含IPv6扩展报头的数据包的过滤策略。
如果过滤策略是在传输路由器上强制执行,在可能的范围内使用黑名单方法进行过滤,尽量避免删除数据包;如果过滤策略时在企业网络上强制执行,这时用户想要只允许希望接收的流量,因此应该采用白名单方法。
[IPv6-EHS-f]包含关于过滤IPv6包的建议,其中包含传输路由器上的扩展报头。此外,它包含了对所有标准化IPv6扩展报头和选项的安全评估,以及对此类数据包过滤产生的任何潜在互操作性问题的分析。
Q21:用户应该如何评估网络和设备使用扩展头绕过安全控制?
答:大多数IPv6安全工具包提供了对任意IPv6扩展报头攻击包的支持。例如,[SI6-RA6]解释了扩展头和路由器的使用通告包。
Q22:双栈网络应该设置哪些包过滤策略?
答:IPv6协议的安全策略应该与IPv4协议的安全策略相匹配,但因为目前缺乏针对IPv6协议的设置经验,企业在设置IPv6协议的安全策略时存在很多漏洞。
Q23:使用临时地址和稳定地址的网络,该如何配置IPv6防火墙?
答:配置时应允许从任何地址发出连接,但只允许从稳定地址传入连接。因此,由于类似客户机的活动(如Web浏览)而暴露的地址将不能用于外部系统来连接回内部节点或地址扫描到内部节点。
Q24:临时地址会如何影响用户的ACL?
答:临时地址会随时间变化,所以如果将使用临时地址的节点指定为单个IPv6地址或一组地址,则通常会失败。
如果要实施这些ACL,可以选择以下方式:
- 在每个前缀的基础上指定ACL(例如/64)
- 禁用受影响节点上的临时地址
- 在稳定的地址上执行ACL,并配置节点,使稳定地址比临时地址更适合访问ACL中描述的服务/应用程序
Q25:IPv6网络环境为企业的安全防护措施带来了哪些新挑战?
答:IPv6网络环境下IP地址空间几乎接近无限,攻击者可利用的IP资源池也将无限扩大,网络数据激增。同时,随着攻击者对大规模代理IP池,尤其是秒拨IP的广泛使用,IP地址变得不再可信,这使得许多传统安全方案对于攻击的误报和漏报迅速增长。基于IP地址维度的传统安全策略已无法满足新趋势下的防护需求。
在此背景下,企业需要多维度复杂策略以提升安全能力,这对底层算力支撑提出了更苛刻的要求。腾讯在移动互联网IPv6的技术攻关,将有效推动移动互联网的IPv6过渡,以助力国家移动互联网基础设施的应用水平提升。
- 在上文《移动互联网IPv6技术攻关及规模应用》项目中,腾讯共输出了三大技术创新成果:基于IPv4/IPv6双栈的超大型云平台的分布式SDN云网络技术、基于四维一体的双栈智能防御体系DDoS等安全防御技术。 其中,面对IPv6的DDoS攻击、CC攻击和DNS劫持等安全问题,腾讯构建四维一体的双栈智能防御体系,自主研发支持IPv6的DDoS防护安全系统,有效保障IPv6安全。
- 同时,腾讯安全网络入侵防护系统基于软硬件协同升级带来的强劲安全算力优势,借助智能威胁研判AI算法,已具备在IPv4 IPv6下基于流量特征的精准网络威胁管控和新型攻击检测和对抗能力,并已将能力深度应用在行业客户的网络安全架构中。
- 除此之外,针对IPv6网络环境下新生的安全需求,腾讯安全旗下的高级威胁检测系统、DDoS防护等安全防护产品都已开放了对IPv6网络的支持功能,同时腾讯安全移动终端安全管理系统、腾讯移动开发框架平台等产品已率先支持IPv6。
- 同时,具有深厚行业背景与10 年安全从业经验的腾讯安全专家还会为客户提供专业的安全服务,让客户能够更快完成IPv6网络环境下的安全建设,助力企业应对IPv6时代的安全新挑战。