网易首页 > 网易科技 > 2009 全球移动互联网暨IPv6新一代互联网高峰会议 > 正文

中兴通讯张帅:面向从IPv6的威胁来源及对策

0
分享至

网易科技讯 4月16日消息,2009全球IPv6新一代互联网高峰会议今天在北京继续举行,网易科技做为战略合作媒体在现场做了直播报道。

以下为中兴通讯高级开发经理张帅做主题为“从IPv6 Ready到真正安全部署—ND保护:威胁的来源及对策”的演讲:

主持人:接下来的演讲嘉宾是来自中兴通讯高级开发经理张帅先生,他的演讲也是跟安全有关的,“从IPv6 Ready到真正安全部署—ND保护:威胁的来源及对策”。

张帅:大家上午好。今天我带来的题目是比较具体的题目,跟昨天比较大的题目不太一样,我讲的是具体的技术点,就是ND保护的技术点。


ND协议大家知道是一种基础的协议,当一个节点在链路上要与其它的节点要进行通讯的时候,必须要用这个协议。这个节点是每个人要用到的,所以对于设备制造商来讲安全性的问题是每个厂商要考虑的。

今天来看看这个问题:从IPv6 Ready到真正安全部署—ND保护:威胁的来源及对策。我打算就三个方面来讲,第一个方面是ND威胁的来源分类,它的威胁是从哪个方面来的。第二,针对不同场景的解决方案。第三,针对园区网络部署建议。

先看看第一个方面。要说到这个问题,先简单介绍一下这个协议本身,首先要看看ND协议的主要功能有哪些,看看基本的功能。有三个,第一,路由器发现,这个功能是当一个节点它连接到链路上之后,要于节点外的,与链路外的节点通信的时候必须要由路由器转发,必须要知道哪个节点由路由器来使用。这是第一个功能。

第二,地址解析,我们知道在链路上虽然对于我们来看,我们转发的是报文,但是真正走的时候是封装在二层上走的。它为三层地址和二层地址之间能建设这样的关系。

第三,地址的自动配置,这是指一个节点连接到链路上之后,节点和链路之间是接口,这必须得有地址作为它的标识。也就是说当一个接口它在使用之后必须要有单波的地址,这可以是手工配置的,所以提供这样的功能。

由上面三个基本功能可以再引申出其他的功能有重定向、前缀发现、参数发现、下一跳选择、地址冲突检测、邻居不可达的检测。

看看这个协议具体是怎么运作的,ND协议运作的话通过5种报文来实现的。第一,路由器通过链路请求报文。第二,路由器通过Router请求报文,第三个是邻居请求,下面是邻居通报,第五个是重新报文,由这5个来实现。先看看前面两个,这是第一个报文,这是邻居请求和邻居通报的报文,这是为节点上主机发现路由器来使用的,可以看看这个过程是怎么样实现的。

在图的左边,这里有一台新的主机,被连到新的链路上之后,这个图是刚刚连到链路上的,对链路的情况根本就不清楚。这个时候它必须说出来链路上的情况怎么样,必须把它想要知道的情况,它要告诉路由器,这个时候发了一个请求报文,路由器收的请求之后,知道这个时候运营商有节点请求了对这个情况不清楚。我要告诉他的情况,包括了链路的回答,有前缀等等的信息。主机收到了这些信息之后,对链路就有了认识了。

首先它可以知道第一点,链路上哪个节点可以作为链路路由器来使用,在链路外的节点进行通信的时候可以进行转化。第二,它知道链路上的一些基本的特征,比如说MTU值、前缀等等信息。

下面看第二报文,是邻居请求和邻居通报,主要的作用是建立三层地址和二层地址间的关系。这个地址是路由器收到了一个包之后,知道这个包要被转发,转发最终是右边的链路上的主机地。可以知道这一点,当一个三层的报文被转发的时候,最终是被封装在二层走的。这个时候它要知道主机地接口的MAC地址,这个时候需要请求报文。这个时候主机地会应答,路由器对主机地的三层地址和二层地址建立一个映射关系。这个关系存在在一个表当中,这个表在任意的节点当中都有这样的表。它存的条目是三层地址和二层地址之间的映射关系。建立了这样的映射关系之后,可以把这个报文封装在二层当中,发给主机,就是这样的过程。

下面看看重定向功能,这个功能是我们看这个例子,不看节点B,只是看主机和RouterA,主机和链路外的节点通信的时候,认为RouterA是它的路由器,但是所有的RouterA是转发的。但是RouterA知道两个事实,第一个是RouterA要到达目的地的时候是通过RouterB来转发的。第二,RouterA知道主机和RouterB在同一个链路上。这可以推断出主机可以通过RouterB来转发,而不需要通过RouterA绕一下。这个时候RouterA告诉主机说你直接从RouterB就可以了,使你的开销和代价会更便宜或者是简便。主机知道了这样的流量之后会把这个切到RouterB的上面。

重定向是相当于在路由表当中一个条目,有出接口或者是下一条信息,真正的目的地和本地被转到节点三层地址间的映射关系,会存放在这个表当中。这个当中的条目就是存放的这样的关系。

这些报文都介绍完之后,我们看一个具体的例子,这是一个主机A上线了之后要跟主机C要通信,看看这5种报文发挥了什么样的作用。主机A是主机,连接了Link之后,第一步是要发路由报文,首先要查询一下当前在链路上有哪个节点会作为默认路由器来使用,会回应一个路由器的通报。因为有一些时候要通过RouterA来转发流量,这通过了路由协议或者是其它的方法,可以知道主机A不用从自己绕一圈可以通过RouterB来发报文,这个时候会有信息到主机A上,这个时候只知道RouterB的三层地址,需要用二层地址来转发流量。这个时候主机间要转换地址,建立了交换流量之后,主机A可以由B来转发了,这是整个的作用。

上面简单地介绍了这种协议,下面看看这种协议为什么能容易遭到攻击。因为ND的协议本身本性本质善良,默认节点的话是真的。这好象不太好,好象认为周围人不会来欺骗他,周围人说了什么话他都会接受。这样的话为攻击者提供了很多的机会。因为有了这样的特性,攻击者就可以编造很多的报文,编造的话可以更改对受害者的Cache,这造成了受害者的报文没有办法真正的通过路由器的节点到达远端,或者是在本地的链路上流量没有办法真正到达目的地。

下面看看这两种方法,首先看看更改Neighbor Cache的方法,这通过5种报文可以更改映射的关系。主要的攻击方面有三个,第一是通过Neighbor Cache更改报文,第二是DAD检测失败,然后是DoS拒绝服务。

第一个篡改Neighbor Cache,这是应用I/O来欺骗的,先看这个主机。在正常的情况下,不要看下面的横的节点,上面两个节点主机A要与远端节点进行通讯的时候,是把RouterB进行路由器,这是通过RouterB来发的,这个时候节点来捣乱了。第一件事情告诉主机A说我是被认为后选路由器的节点。第二,它告诉我主机A,冒充RouterB告诉主机,我当前不能使用了,我之前给你的信息都作废了。主机A收到这两个信息之后判断的第一点是RouterB这个时候瘫痪了不可用了,而且之前告诉我的前缀值等都作废了。它也知道另外的事实,节点C的时候启动了,这个时候我的流量通过节点C走。知道这两个事实之后,主机的操作会把流量切换到主机C上,从主机C走。这时候节点C成了它的路由器了,所以这个时候可以从主机C截获流量。

这是NA欺骗,看下面两个节点,这个欺骗很简单。大家想想也知道,节点C向RouterB冒充自己是主机A,往往主机A的流量会发到C上面,主机没有办法收到流量,流量都发到了节点C上。这种场景下的结果是,节点C不是截获了主机A的流量,是截获了发往主机A的场景。

把这两种欺骗结合起来用的话,会出现下面的情况——搭桥。节点既向主机A欺骗自己说是RouterB,也向RouterB欺骗自己是主机A,它在主机A和RouterB之间搭了一座桥,而主机A和RouterB看不异常,因为链路是通的。这样的情况很可怕,在双方没有看到异常的情况下,就将双向的流量都能截获,这是比较可怕的情况。

上面说的是通过欺骗冒用别人的二层与三层映射关系能达到的欺骗,下面看看这种情况是DAD的检测失败。DAD检测先介绍这样的概念,它的意思是说当一个节点有一个接口被使用之后,节口上面必须要有地址。这个地址它一般是什么样生成,不管是手工配置还是自动的配置都要确保一件事情,地址在链路上是唯一的,怎么样确保地址的唯一性是要通过DAD的检测。检测是想使用地址之前在链路上没有节点正在使用或者是想要使用的地址。

怎么样进行欺骗呢?可以看这个例子,当路由器A在链路上使用某个节点之前,先发出测试,说我要用这个地址了,看看是不是有链路想用这样的地址。发出这个之后,节点C又来捣乱了。因为它那边能上这样的报文,他会收到阻拦包,这样的话C可以这样做,只要知道链路上了任何一个节点要使用地址的时候,他回应要么我使用这样的地址了,要么我想用这个地址。RouterA的话,知道这个地址有人想用了,它没有办法用了,无奈要换另外的地址。但是节点C对每个检测的地址都进行应答,最后造成的结果是RouterA没有用的地址,这样的话没有办法来进行通信,这是最坏的情况。

上面是DAD检测失败,下面看看DoS拒绝服务,可以分为两个来讲,第一个是在链路内发起攻击。我们知道任何一台设备它的资源都是有限的,比如说内存大小都是有限的。通过Neighbor Cache这张表的表象是有限的,从链路发起的攻击是什么样的,把这样的表象用信息占满。这个节点C是一个攻击节点,现在要做什么样的事情,它把自己伪装成各种各样的节点,对攻击者来说想要欺骗可以欺骗得彻底,可以造成这样的假象,明明只有一个节点,可以伪装成非常多的节点。同时来发邻居请求报文,这被路由器收到之后,必须要在Neighbor Cache当中建立一个条目。由于节点C冒充了很多不存在的节点,其实这些条目都是用的,它用这些废的条目很快把Neighbor Cache里面占满占满了之后就节点A想要用的时候,发现Neighbor Cache占满了,我发出的请求不会被路由器应答。这个时候对主机A来讲主机就拒绝了它的服务。这是链路内的。

下面看看链路外的,这样的情况是说这个时候攻击者是在链路外,节点C是在链路外的。这个作用是它链路外的节点可以向链路内发不管什么样的数据包,哪怕是协议包、流量包都可以。这些报文的目的地是在左边这些,目的地是不存在的。但是路由器B不知道这样的节点是存在的。因为它所做的访问仍然是在链路上,仍然会把包往链路发,这样的结果是路由器B仍然要向链路内去发邻居请求报文,必须要在Neighbor Cache当中建立条目,而且这些条目慢慢的,因为这些是废的条目,因为在链路当中没有这样的目的地的节点,所以这些条目会把Neighbor Cache占了,占满了之后当主机A真正要请求服务的时候,发现RouterB没有办法进行请求服务,这也是拒绝服务的方式。

上面说的这些攻击手段都是更改Neighbor Cache,下面说的这种是更改Destination Cache,这是利用Redirect报文来实现的,看看具体的表现。举个例子可以说明问题。

我们看看正常的情况下,不要看下面两个红的节点。主机A和RouterB他们两个之间本身的情况是主机A把RouterB当成它默认的路由器,这个时候节点C来破坏了,它冒充RouterB,它既可以冒充三层地址也可以冒充二层的地址。它这个时候冒充RouterB发报文,这个报文是由节点A发出来的,这个时候把流量重新定到C和A之上,这可以指向任何一个节点,必须是链路上都可以。或者不在链路上,存在不存在都无所谓。存在的话,流量被导入到另外的节点上,不存在的话,流量就跑到黑洞了,没有人接收和转发。这种情况会造成两个结果,如果是流量被导到C的话,C会截获上面发的流量。如果是被导向黑洞的话,上面发的任何流量都不会再被转发了。

上面说的是威胁的分类,下面看看针对威胁有哪些解决方案。篡改二层地址的方案,可以分为三种。第一,认为已有的可靠,新增的不可靠。第二,借助与其他协议确定二层三层地址映射关系。第三,要在节点间采用认证机制。我们看第一种,这是基于什么样的考虑?这基于的考虑是我们认为一个网络在启动真正的时候有一段时期,我们可以通过人为来判断期限的长短。当一个园区网被启用之后,给他三天时间或者是五天时间,这个时候是过渡期和稳定期。这段时间当中可以让你路由器开机、调试,你学生的电脑可以插入,等等可以做这些事情。但是三天期限到了之后我们认为这个网络稳定了。当稳定了之后,对Neighbor Cache再进行修改,就可能是异常的情况,可能是攻击等等。

针对这样的考虑,我们可以有下面的三种做法,第一种做法是禁止ND学习。这种做法的意思是在ND Neighbor Cache当中不能创建新的条目。因为新的条目我们刚才知道有这样的攻击手段,出了新的攻击条目把Cache占了,有新的节点有服务的时候没有办法得到服务。第二,禁止ND更新,这个条目防治的是什么情况,这个条目已经有了,有其它的来冒充已有的节点更改二层地址,这个时候我们要禁止ND的更新。这个意思是这个条目是Cache表当中可以生成新的条目,但是已有的已经老化不能被刷新了。二层地址和三层地址之间的映射关系不能被修改了。

下面是ND条目动态转为静态,当稳定期、过渡期到了之后,我们认为Cache表当中,这不会是几天了,我们知道Cache条目是以秒为单位。这是在一种特定的情况下,我们的所有设备在比较快的时间内,线都插好了,这就是我需要的设备全部都上线了,这个时候再有新的设备来,再有关系发生变化的话,我们认为是异常情况。我们不会允许这样的情况发生。当链路上的线都插好的时候,把ND条目由动态变为静态。这三个可以配合使用比较复杂的策略。

下面看第二种解决方案,是借助其它协议确定二层三层地址映射的关系。这个其它协议可以指的是地址CP协议,因为这种协议的特殊性是在于一个非常好的已经实现了的能记录二层与三层地址间映射的协议。大家知道在地址协议里面要启动的时候必须要有标识,这可以是MAC地址或者是反馈给你地址。在协议本身会维护一张表,在他的表当中有了二层地址和三层的映射关系,我们只要查这样的关系就知道,这个节点是真正的三层地址,还是有其它的节点来冒充它。

下面的例子说明了这样的问题,主机A的地址是通过DHCP分配的,自然会留下节路。节点C想冒充的时候,对Neighbor Cache进行刷新的时候,RouterB首先不接受这样的刷新,先把这个发给Neighbor Cache验证一下,看看提供的这种消息是真的是假的。如果Neighbor Cache说是真的,还是可以备案的,我可以进行修改。我们知道这个攻击中节点,在地址分配上是没有记录的。它发来的报文显然是不会被认证通过的。

最后一张方法是比较硬的方法了,要在节点间采用认证机制。这种方法是比较强制性,因为协议本身的机制当中提供了安全性的考虑。但是因为ND协议本身善良,得需要帮助的办法。这可以选择人为的方式,可以选择IPsec或者是SEND,这个当中被真正的认识到是不是被欺骗了,只要通过了认证报文才会被接收下来。

节点认证的技术完了,下面看看DAD检测失败的解决方案。这个方案也很简单,我们知道地址冲突,它之所以会被欺骗的原因是因为我在不停的检测,只有我确定了地址的唯一性之后才能确定这样的地址。现在要做的是我们采用这样的方法,DHCP发给我的我认为是正确的地址,发过来的我不会进行DAD的检测了,这是一种方法。或者是我们知道链路上的节点是10个,每个链路上最多配置10个地址,当我检测到超过100个的时候认为这个链路上的节点已经有某个节点在进行配置了,这个时候我手工关闭这个功能,认为我配置的地址是有效的。

这个图是上面的情况,通过了人为配置之后不再进行DAD的检测。

再讲讲这个解决方案,这是DoS拒绝服务的解决方案,我们可以这样做。在Neighbor Cache当中,我们可以加两个变量,这分别要建立阈值。第一个变量是创建条目的数目,第二个是速度。当这两个变量超过某个阈值的时候,我们要向管理员发出警告,说出我们的链路上有异常的,但是这不是预防性的,不是当场能解决问题的,只是给系统的管理员提醒,说明现在是异常的,你们看看有什么问题。

下面针对园区网络的部署建议,通过上面的分析我们可以知道这样一点,ND协议本身是有问题的,它安全性隐患很大。如果不采用保护的话,这个协议几乎是不太好用的,只有当这个协议加了保护之后,才能认为是可用的。

同时,用了保护方法之外,它还可以提供另外一个功能,可以提供接入控制。这是怎么样做的,像刚才讲的那样,在一个园区网、校园网当中,一个学生上网,比如说想在宿舍上网,园区网都用了一些设备,每个端口插了线接入你的宿舍和笔记本。用这样的设备的话,我们端口进行绑定,你是学生上网的话必须向学校提供你设备的MAC地址,要备案,接入到园区网之后他就校验一下,分配一下,才可以给你地址进行外部的通信。像主机A没有备案的,对于企业网也是一样的道理。从外边来的设备,地址没有进行备案的话,没有办法认证,就没有办法接入到园区网里面去,这样的话会给整个园区网提供安全的服务。

中兴产品从很早前就认识到这样的问题,通过几年的努力,我们对ND保护上做了很多的工作。我们全系列的产品从版本ZXROS 4.08.30之后已经开始实现了ND的保护。不管是从路由器还是交换机这样的版本都可以提供这样的保护。

今天我演讲的主题就是这样,谢谢大家。

相关推荐
热点推荐
为什么说回民女人 下边 带盖,关于这几点你知道多少

为什么说回民女人 下边 带盖,关于这几点你知道多少

书中自有颜如玉
2024-04-26 17:25:21
不会演别尬演!范伟一段“劳改犯出狱戏”,让观众看清演技有多假

不会演别尬演!范伟一段“劳改犯出狱戏”,让观众看清演技有多假

喵喵娱乐团
2024-04-26 16:09:28
辅警杀害新婚妻子被判死缓,死者母亲:他隐瞒精神疾病,检方曾建议最严厉处罚

辅警杀害新婚妻子被判死缓,死者母亲:他隐瞒精神疾病,检方曾建议最严厉处罚

潇湘晨报
2024-04-26 19:15:09
曝光后才知道:财政如此吃紧,钱都花去哪了?原来是这样花掉的!

曝光后才知道:财政如此吃紧,钱都花去哪了?原来是这样花掉的!

清欢渡语
2024-04-25 21:35:47
考验中国时刻到了:普京决心已下,要钱也要地,大不了和美国决裂

考验中国时刻到了:普京决心已下,要钱也要地,大不了和美国决裂

千里持剑
2024-04-26 13:44:50
越扒越深!干部阻拦春耕,纪云浩上边领导被挖出,曝更大的瓜

越扒越深!干部阻拦春耕,纪云浩上边领导被挖出,曝更大的瓜

180°视角
2024-04-26 15:41:15
炸裂!金龟子现身澳门赌场,手握大把现金,引发质疑和猜测!

炸裂!金龟子现身澳门赌场,手握大把现金,引发质疑和猜测!

柠檬有娱乐
2024-04-26 10:01:32
痛心!43岁抗癌网红“东东”去世,死因是胃癌,曾是一名帅气医生

痛心!43岁抗癌网红“东东”去世,死因是胃癌,曾是一名帅气医生

180°视角
2024-04-26 18:10:21
“读秒”官宣!皇马签约姆巴佩正式合同曝光!6000万中卫同时加盟

“读秒”官宣!皇马签约姆巴佩正式合同曝光!6000万中卫同时加盟

头狼追球
2024-04-26 20:15:21
重磅,美已做好了与俄曹伊契四线同时作战的准备

重磅,美已做好了与俄曹伊契四线同时作战的准备

爱吃鱼的哆啦A梦
2024-04-26 09:33:19
高考重大改革!“985”、“211”时代终结,“101计划”时代全面到来!

高考重大改革!“985”、“211”时代终结,“101计划”时代全面到来!

创作者_1494406553502
2024-04-26 15:20:11
金靖回应不官宣结婚原因,大赞老公舒奕橙温柔,孩子代号首曝光

金靖回应不官宣结婚原因,大赞老公舒奕橙温柔,孩子代号首曝光

扒虾侃娱
2024-04-25 20:46:34
中国成功发射神舟18号,引起美国高度关注,美媒:美方优势不多了

中国成功发射神舟18号,引起美国高度关注,美媒:美方优势不多了

搞笑的阿票
2024-04-26 12:27:29
越南国会主席王庭惠辞职,“四驾马车”37天内再损一员

越南国会主席王庭惠辞职,“四驾马车”37天内再损一员

澎湃新闻
2024-04-26 20:56:28
北京交管部门发布车展出行攻略:建议观众尽量选择公共交通前往

北京交管部门发布车展出行攻略:建议观众尽量选择公共交通前往

北青网-北京青年报
2024-04-25 13:17:06
万达集团创始人王健林宣布退出公司并将全部股权转让给中国儒意

万达集团创始人王健林宣布退出公司并将全部股权转让给中国儒意

鹏飞深文
2024-04-22 12:19:28
大反转!纪云浩职业经历被老战友夸赞,大学学历与转业有新解释

大反转!纪云浩职业经历被老战友夸赞,大学学历与转业有新解释

李昕言温度空间
2024-04-26 13:51:11
惠州房价腰斩?有网友爆料某房源从挂牌105.5万,到现在的53万…

惠州房价腰斩?有网友爆料某房源从挂牌105.5万,到现在的53万…

火山诗话
2024-04-26 08:00:03
贾跃亭,真他娘是个人才

贾跃亭,真他娘是个人才

大猫财经Pro
2024-04-26 16:54:35
奇瑞背后的大赢家

奇瑞背后的大赢家

蓝鲸财经
2024-04-26 15:30:48
2024-04-27 02:22:44

科技要闻

车展观察|德系日系绝不能放弃中国市场

头条要闻

官方回应环卫工用电子秤测灰尘:正常作业达标有奖励

头条要闻

官方回应环卫工用电子秤测灰尘:正常作业达标有奖励

体育要闻

还得等!记者:恩昆库本周尝试参加训练 但又被退回医疗中心

娱乐要闻

金靖回应不官宣恋情结婚的原因

财经要闻

贾跃亭,真他娘是个人才

汽车要闻

2024北京车展 比亚迪的自驱力让对手紧追猛赶

态度原创

家居
房产
健康
游戏
手机

家居要闻

光影之间 空间暖意打造生活律动

房产要闻

海南最新房价出炉,三亚跌价最猛!

这2种水果可降低高血压死亡风险

《庄园领主》Steam特别好评:充满游戏性 优化良好

手机要闻

小米澎湃OS再次公布进展通报:处理新问题,且优化小米14耗电问题

无障碍浏览 进入关怀版
×