传统SLAAC地址对IPv6寻址的安全影响

日期: 2013-07-03 作者:Fernando Gont翻译:曾少宁 来源:TechTarget中国 英文

编者按:IPv6自动配置地址越来越关注于IPv6寻址方式的安全性和保密性。IPv6自动配置地址有3个安全含义:它们缩小了攻击者发起地址扫描攻击的搜索范围,它们可以关联一个网络的节点活动,以及它们可以更轻松地跟踪主机。安全工程师和咨询师Fernando Gont介绍了一些抵制这些问题的方法,并且认为需要投入更多工作。   IPv6引入了两个不同的地址配置机制:无状态地址自动配置(SLAAC)和有状态第6版动态主机配置协议(DHCPv6)。

在DHCPv6中,地址由一个DHCPv6服务器集中管理;因此,DHCPv6服务器可以应用许多地址分配策略(如连续地址和随机地址)。而SLAAC是一个集中分配地址……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

编者按:IPv6自动配置地址越来越关注于IPv6寻址方式的安全性和保密性。IPv6自动配置地址有3个安全含义:它们缩小了攻击者发起地址扫描攻击的搜索范围,它们可以关联一个网络的节点活动,以及它们可以更轻松地跟踪主机。安全工程师和咨询师Fernando Gont介绍了一些抵制这些问题的方法,并且认为需要投入更多工作。

  IPv6引入了两个不同的地址配置机制:无状态地址自动配置(SLAAC)和有状态第6版动态主机配置协议(DHCPv6)。在DHCPv6中,地址由一个DHCPv6服务器集中管理;因此,DHCPv6服务器可以应用许多地址分配策略(如连续地址和随机地址)。而SLAAC是一个集中分配地址的方法,每一个节点都可以基于本地策略自动配置IPv6寻址方式。

  在SLAAC中,应用的具体策略取决于底层链路层技术。在以太网上,IETF标准规定IPv6地址由自动配置的前缀与嵌入底层链路地址的接口ID(IID)构成。具体来说,IID的步骤生成如下:

  1.获取底层网络接口的以太网地址。
  2. 反转以太网地址的IEEE组织唯一标识(OUI)的U/L位。
  3. 在以太网地址的3个高位和3个低位之间插入值0xfffe。

  然后,得到的64位将用于生成IPv6地址。

  在创建IID之后,它们共享3个属性。第一,IID(至少在理论上)必须是全局唯一的,因为它们的来源以太网地址通常是唯一的。第二,它们遵循一定的模式,这些模式也源于底层以太网地址。例如,相同供应商制造的设备有相同的IID高5位:它们与IEEE OUI对应,另外2个字节保存0xfffe。第三,它们在一个或多个网络中保持不变,除非手动修改了底层以太网地址,或者更换了底层网络接口卡(NIC)。

传统SLAAC地址带来的问题

  从底层以太网地址生成IID是一种生成全局唯一ID的好方法;这种方法也可以避免在网络中出现重复的IPv6地址。然而,安全社区很快发现,这种方法会对安全性和保密性产生负面影响。除此之外,这种方法也缩小了攻击执行IPv6地址扫描攻击的搜索范围。它还允许攻击者关联特定网络内和多个网络间的节点活动。

  本文将介绍传统SLAAC地址对保密性的影响,特别是同一个网络内和多个网络之间的主机活动关联(主机跟踪)。

  正如之前所提到的,在IPv6地址的IID中嵌入底层网卡MAC地址,将使该地址保持不变(除非更换NIC)。结果,它将成为攻击者跟踪网络中节点活动的手段。例如,假设有一个节点连接前缀为2001:db8:1::/64的网络,然后自动获得地址2001:db8:1::a00:27ff:fe89:7878。如果节点从网络断开,然后再重新连接网络,它就会自动获得相同的地址(同样,假定底层NIC未更换)。因此,攻击者可能将相同节点与IPv6地址2001:db8:1::a00:27ff:fe89:7878相关的所有网络活动连接在一起。这通常就称为一个网络中节点活动的关联。

利用“超级Cookie”实现主机跟踪

  SLAAC IID不仅会在一个网络中保持不变,也会在多个网络中保持不变。这是因为,它们只依赖于底层NIC的MAC地址(这个地址是不会变化的)。因为这些接口标识通常也是全局唯一的(因为底层MAC地址通常是全局唯一的),因此就可以轻松关联节点在各个网络中的活动。例如,假设有一个节点连接一个前缀为2001:db8:1::/64的网络,然后自动获取地址2001:db8:1::a00:27ff:fe89:7878。这个节点先从网络断开,然后再连接到一个前缀为2001:db8:2::/64的网络,这时再自动获取到地址2001:db8:2::a00:27ff:fe89:7878。全局唯一且保持不变的接口ID a00:27ff:fe89:7878显然成为节点的标识,从而可以将节点在多个网络的活动关联在一起。这通常称为主机跟踪。

作者

Fernando Gont
Fernando Gont

来自SI6 Networks的互联网安全和工程顾问

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐

  • IP地址0.0.0.0能做什么?

    IP地址0.0.0.0是一个不可路由的IPv4地址,具有多种用途,主要作为默认或占位符地址。尽管0.0.0.0在计算机网络上有多种用途,但它不是通用的设备地址……

  • 无视IPv6连接?后果自负!

    如果你无视IPv6在你网络的影响,你可能给你自己带来更大的伤害。此外,你还需要考虑的是,IPv6连接不只是“网络的事”。

  • IPv6扩展报头:是好是坏?

    IETF最近的一项研究表明,当部署扩展报头时,发送到公网服务器的IPv6数据包丢包率在10%至50%。

  • 如何避免IPv6“友邻发现”威胁?

    IPv6友邻发现是IPv6协议套件的一个核心部件。如果企业正着手准备部署IPv6,那么一定要了解“友邻发现(ND)”及其漏洞。