IPv6 全方位速读

前言

 

2017 年 11 月,工信部印发了关于贯彻落实《推进互联网协议第六版 (IPv6) 规模部署行动计划》的通知,部署行动计划中表示,到 2019 年初,国内 IPv6 活跃用户要达 1.9 亿;到 2020 年底,新增网络地址将不再使用 IPv4 地址。

 

我国三大运营商都陆续公布了 IPv6 的时间表,预计 2019 年下半年,全国大部分宽带、移动网络都会转到 IPv6 上。腾讯也在本月月初表示,将对微信、QQ 等软件进行 IPv6 技术升级。

 

IPv6 是什么?

 

目前互联网协议采用的版本是 IPv4 (Internet Protocolversion 4),该协议实现了互联网数据发送和不同服务之间的交互,迄今为止已经使用了 30 多年。

 

IPv4 协议设计之初仅是为了服务美国军方,网络环境十分单纯,也并没有考虑可能存在的网络安全问题。此外,IPv4 的地址池已接近枯竭。

 

90 年代早期,IETF (Internet Engineering Task Force,也就是互联网工程任务小组)开始本着“易配置”、性能好和安全的原则,设计新一代互联网协议——IPv6。

 

在这篇文章中,观星试图从网络安全的角度分析 IPv6 的原理和特点,以及可能带来的对网络安全的影响。

 

一、IPv4

 

在了解 IPv6 的新特性之前,我们先来看看即将成为“过去式”的 IPv4。受 IPv4 自身特点的影响,各种网络安全威胁层出不穷,以下是最典型的六种:

 

  • 侦察攻击

    (Reconnaissance Attacks)

该类攻击发生的主要原因是,IPv4 地址字段太短了。黑客可以很轻松地扫描整个网络,从而发现开放服务或没来及打补丁的服务。事实上,在几分钟内对 C 类网络执行侦察扫描是轻而易举的。

 

  • 拒绝服务攻击

    (Denial of Service Attacks)

在这种类型的攻击中,攻击者会想办法消耗完所有可用的网络资源或操作系统资源,从而让目标机器停止服务。拒绝服务攻击是黑客常用的攻击手段之一,之所以一直得不到合理的解决,也是由 IPv4 本身的安全缺陷造成的。

 

  • 中间人攻击

    (Man-in-the-middle Attacks)

IPv4 缺乏自有的通信认证机制,使得黑客可以拦截传输中的数据。

 

  • ARP 攻击

    (ARP poisoning Attacks)

ARP 是一个位于 TCP/IP 协议栈中的网络层,负责把某个 IP 地址解析成对应的 MAC 地址。“ARP中毒”攻击发生在任意的 ARP 应答被发送到主机时。

 

  • 地址欺骗攻击
    (Address Spoofing Attacks)

在当前的通信协议中,完成网络攻击的一个关键是能够修改数据包的源地址。IPv4 框架下存在这种可能性,因为 IPv4 没有任何类型的源到端身份验证机制。

 

  • 恶意攻击
    (Malware Attacks)

今天,恶意软件仍然是与安全相关的最大问题之一。IPv4 中恶意软件不仅可以破坏受影响的主机,还会使网络资源饱和(或占用部分资源)。

 

二、IPv6 “新”在哪?

 

首先明确一点,IPv6 并不是 IPv4 基础上的升级,而是一套全新的协议。

 

这就意味着二者之间存在显著差异:

 

  • 地址空间

IPv4 一共有 2^32 次方个 IP 地址,大约为 42.9 亿个,规定的 IP 地址长度为 32。而 IPv6 有2^128 个 IP 地址,与 32 位地址空间相比,增加了 2^128-2^32 个。

 

  • 地址格式

IPv4 地址格式为 10.0.0.0 ~ 10.0.0.255;IPv6 地址格式为0000: 0000: 0000: 0000: 0000: 0000: 0000: 0000

(示例:FEDC:BA98:7654:3210:FEDC:BA98:7654:3210)

 

  • 分层寻址

IPv6 中有三种类型的地址:单播地址 (Unicast Address)、组播地址 (Multicast Address) 和任播地址 (Anycast Address)。单播地址用来标识唯一一个接口,组播地址用来标识一组接口,而任播地址则用来标识一组接口。

 

  • QoS (服务质量) 和性能

IPv4 中,路由器不能使用 IPv4 报头,也没办法识别数据流实施 QoS,而 IPv6 报头包含了流标记字段,路由器可以用它识别数据流实施 QoS。

 

  • 安全性

IPSec 支持在 IPv6 中是必须的,而在 IPv4 中是可选的。

 

  • 更好的头部结构

尽管有了这些新特性和更大的寻址空间,IPv6 的头部也只比 IPv4 稍微大一点(通常来说是 IPv4 的两倍,40 字节)。IPv6 使用新的头部结构,其选项与基本头部分开。如果需要的话,可以把选项插入到基本头部与上层数据至之间。这样就简化、加速了路由选择过程(大多数选项不需要路由选择)。为了便于比较,以下是 IPv4 和 IPv6 头部结构的说明:

微信图片_20190926113502

 

IPv4 中,IPv4 头部后面是传输协议 (TCP, UDP) 的数据,也称为“有效负载”。

微信图片_20190926113505

 

IPv6 中,IPv6 头部后面是“扩展头部”,然后是传输协议的数据。

 

  • 自动配置

IPv6 使用两种地址自动配置协议。

一是无状态地址自动配置协议 (SLAAC),主机可以自行计算地址进行地址自动配置,不需要额外的服务器管理地址状态;

 

二是 IPv6 动态主机配置协议 (DHCPv6),由 IPv4 场景下的 DHCP 发展而来,客户端通过向 DHCP 服务器发出申请来获取本机IP 地址,并进行自动配置。

 

三、IPv6 中的安全升级

 

  • 必须使用 IPSec 

IPv4 也提供 IPSec 支持,但不是强制的。而 RFC4301 标准规定,IPv6 中必须提供 IPSec 支持。IPSec 由一组旨在提供数据通信安全的加密协议组成,包括认证头 (AH)、封装安全载荷 (ESP) 和安全关联 (SA)。AH 用于身份验证和数据完整性,ESP 则在此之上进一步确保机密性。在 IPv6 中,AH 报头和 ESP 报头都被定义为扩展报头。

 

安全关联 (SA) 则是 IPSec 的基础,是通信双方建立的一种协定,决定了用来保护数据包的协议、转码方式、密钥及密钥有效期等。SA 由一些参数唯一标识,例如 SPI (安全参数索引——AH/ESP 中的字段)、安全协议和目标 IP 地址等。AH 和 ESP 都要用到安全关联,而 IKE (Internet 密钥交换) 的一个主要功能就是建立和维护安全关联。

 

以下是关于 AH 和 ESP 的一些细节:

 

- 认证头 (AH)

正如前文所说,AH 主要用于身份验证和 IPv6 数据包的完整性。“身份验证”意味着,如果端点接收到具有特定源地址的数据包,可以确保该 IP 数据包确实来自该 IP 地址。

 

“完整性”则意味着,如果端点接收到数据,则该数据的内容不会沿着从源到目标的路径进行修改。以下是 AH 的分组图示:

微信图片_20190926113510

从图示中我们可以看到一些不同的字段,“下一报头”标识传输类型,如 TCP。“载荷长度”标识身份验证头的长度。“SPI”用于标识 SA 的安全参数索引。“串行号”是一个计数器,当发送方或接收方接收或传输数据时,该计数器递增 1。

 

AH 通过 SNF 提供了“反重播保护”,确保每个 IP 包的唯一性:当信息接收方接收到一个具有重复序列号字段的数据包时,这个数据包会被丢弃 (IPv4 下存在攻击者截取破译信息后,再用相同的信息包冒取非法访问权的情况)。

 

身份“认证数据”包含提供数据完整性和身份验证的 ICV (完整性检查值)。ICV 是使用 IP 报头、IP 数据包负载和 AH 报头计算的。实际情况是,当接收方接收到数据包时,用算法和 SA 中指定的密钥计算 ICV。根据显示的细节和使用的技术,AH 可以防止“IP 欺骗攻击”。

 

- 封装安全载荷 (ESP)

ESP 提供机密性,身份验证和数据完整性。对于“机密性”一词,是指任何其他人,甚至是预期的接收者,都不能读取传输中的通信内容。正如已经提到的 AH,ESP 还提供了抗重放保护。下图显示了 ESP 数据包的格式:

微信图片_20190926113515

 

 

对于 AH,ESP 还包含用于识别 SA 的 SPI 字段。与 AH 中一样,“串行号”字段提供抗重播保护。值得注意的是“下一报头”字段,它描述了“有效载荷数据”字段中包含的数据类型(如果在隧道模式下使用 ESP,包含整个数据包,如果在传输模式下使用,则仅限有效载荷)。

 

“认证数据”字段包含 ICV (如果 auth 服务由与 SPI 关联的 SA 指定),它提供身份验证和数据完整性。用于计算 ICV 的认证算法也由 SA 指定。

 

  • 大寻址空间

如上所述,在 IPv4 中,侦察攻击和端口扫描是相对简单的任务。当前 Internet 协议中最常见的网段是 C 类,其中 8 位分配用于寻址。目前,对这些网段执行此类攻击仅需几分钟。分配 64 位用于寻址 (如在 IPv6 子网中所预期的) 意味着执行 2^64 (18446744073709551616) 个主机的净扫描。这实际上是不可能的。

 

  • 邻居发现

ND(邻居发现)是用于路由器和前缀发现的机制。这是一个网络层协议,如 IPv4 等效 ARP 和 RARP。ND 与地址自动配置密切配合,后者是 IPv6 节点用于获取配置信息的机制。ND 和地址自动配置都有助于使 IPv6 比其前身更安全。

 

四、IPv6 下可能存在的攻击

 

在本节中,我们将侧重于从比较的角度出发,分析一些最流行的网络攻击,以及这些攻击对下一代IP (IPng) 的可能影响。

 

  • 侦察攻击
    (Reconnaissance Attacks)

IPv6 中的侦察攻击不同以往,理由有两方面:

第一,“端口扫描”和/或“ Ping 扫描”在 IPv6 中效果要差得多,正如已经说过的那样,子网的广泛性在起作用。

 

第二,IPv6 中的新组播地址会使找到网络中的关键系统变得更容易,如路由器和某种类型的服务器。此外,IPv6 网络与 ICMPv6 的关系更密切 (与 IPv4 和 ICMP 关系相比),后者不允许使用过于激进的过滤器。

 

  • 欺骗攻击
    (Spoofing Attacks)

在 IPv6 网络中,尽管 IPSec的引入能有效遏制 IP 欺骗和窃听篡改数据的攻击,但由于其数据包传输机制没有改变,传输层和应用层使用的协议也和 IPv4 类似,所以IPv6 没有办法完全消除建立在信任关系之上的欺骗攻击。

 

IPv6 下依然存在多种欺骗攻击形式,例如通过扩展报头、伪造 ND 包、修改源 IP 地址等进行欺骗攻击。

 

  • 分布式拒绝服务攻击 
    (DDoS Attacks)

IPv6 新增的NS/NA/RS/RA、“下一报头”的新特性、支持无状态自动配置的特点和采用端到端的分片重组机制,都可能会被用于 DoS 或 DDoS 攻击。此外,由于IPv6 协议可以提供海量的网络 IP 地址,一个 IDC 就可能申请到非常大的可用地址块,这对 IPv4 协议下的传统防御算法简直就是噩梦。

 

这几年智能物联网设备大量增加,但安全性不高,导致攻击者可以轻松获得海量僵尸网络,用来发起 DDoS 攻击。去年 3 月,网络安全专家发现了第一起基于 IPv6 的 DDoS 攻击。

 

  • 路由攻击 
    (Routing Attacks)

路由攻击是指尝试重定向网络中的流量的活动。目前,使用对等体之间的加密认证(具有预共享密钥的 MD5)来保护路由协议。

 

RA 能够携带很多网络配置信息,包括默认路由器、网络前缀列表、是否使用 DHCP 服务器进行有状态地址分配等网络配置的关键信息。如果受害者接收了虚假的 RA 信息,会造成网络配置错误,从而引发欺骗攻击。

 

  • 恶意软件
    (Malware)

IPv6 中没有特定的方式可以改变传统的恶意软件攻击。但是,由于地址空间较大,使用互联网查找易受攻击的主机的蠕虫可能会遇到传播困难。

 

  • 嗅探 
    (Sniffing)

网络嗅探通常是攻击者发出的第一步攻击。在进行网络嗅探过程中,攻击者想获得尽可能多的关于被攻击者的信息。IPv6 提供了 IPSec 技术来防止这些攻击,但它并没有简化密钥管理的问题。因此,嗅探攻击威胁在 IPv6 下依然存在。

 

  • L7攻击
    (L7 Attacks)

这里我们指的是在 OSI 模型的第 7层执行的所有类型的攻击。考虑到 IPSec 的全球性使用,这种类型的攻击几乎不会改变。IPv6 的使用并不能阻止缓冲区溢出和 Web 应用程序漏洞等。

 

还有另一个考虑因素:如果 IPSec 将作为端点之间通信的标准实施,则所有设备 (如 IDS/IPS,防火墙和防病毒软件)只会看到加密流量,从而造成此类攻击。

 

  • 中间人 
    (Man-in-the-middle)

IPv6 和 IPv4 一样,存在中间人攻击的安全风险。IPv6 使用 ICMPv6 来部署邻居发现协议 (Neibor Discovery),这个协议可以为本地地址替换 ARP,邻居发现协议和 ARP 一样存在安全缺陷,容易受到中间人攻击。

 

  • 泛洪攻击
    (Flooding Attacks)

泛洪攻击是一种拒绝服务 (DoS) 攻击,其中攻击者向目标系统发送大量 NS/RS 报文,造成网关的表项溢出。使服务器瘫痪并关闭网络,或使其无法响应实际流量。该攻击方式就像字面意思一样。IPv6 中依然面临泛洪攻击威胁。

 

结语

毫无疑问,IPv6 与其前身相比迈出了一大步。整套协议旨在改进功能和安全性。然而,尽管如此,IPv6 在这两个领域都提出了新的挑战,而没有考虑发生的转换问题。简而言之,它肯定会给信息安全专业人士带来很多东西。

 

References

1. “Deploying IPv6 Networks” -PopoviciuC., Levy-Avegnoli E., Grossetete, P. -Cisco Press.

2. RFC 2460 -www.IETF.org.

3. “IPv6 Essentials” -Silvia Hagen-O’Reilly Media.

4. “New Internet Security and PrivacyModels Enabled by IPv6” -Ford M. -The 2005

Symposium on Applications and theInternet Workshops, 2005. Saint Workshops 2005.

5. “IPv6 Security” - Scott Hogg, Eric Vyncke-Cisco Press.

6. IPv6 Security Overview: a Small Viewof the Future [Updated 2018] - Emanuele De Lucia - INFOSEC INSTITUTE.

2019年9月26日 11:32
首页    IPv6 全方位速读