首页> 中国专利> 网络基础结构的保护及控制信息的安全通信

网络基础结构的保护及控制信息的安全通信

摘要

本发明提供了对区分可信和不可信信号源的网络基础结构的保护。根据至少一个实施例,包含用于控制平面的信息的分组在第2层被标记。根据至少一个实施例,接口组被应用,从而路由器能够确定分组是否应当被标记。根据至少一个实施例,通过在第二层上封装分组来标记控制分组,以便能唯一识别出第二层帧携带可信控制信息,这被称为控制封装。路由器使用控制封装来交换控制分组。对未作标记的控制分组进行速率受限排队具有的好处是,支持无控制封装功能的路由器,却消弱了路由器对在其控制平面上的泛滥型DoS攻击的敏感性。接口组的实施使路由器能够确定何时使用控制封装。接口组,用户专用接口组,及与其他服务提供商对等的接口组可被用于骨干连接。

著录项

  • 公开/公告号CN1531284A

    专利类型发明专利

  • 公开/公告日2004-09-22

    原文格式PDF

  • 申请/专利权人 阿尔卡特公司;

    申请/专利号CN200410031212.2

  • 发明设计人 A·D·济宁;

    申请日2004-02-20

  • 分类号H04L12/56;

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人杨晓光;于静

  • 地址 法国巴黎

  • 入库时间 2023-12-17 15:30:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-04-27

    授权

    授权

  • 2006-03-01

    实质审查的生效

    实质审查的生效

  • 2004-09-22

    公开

    公开

说明书

技术领域

本发明涉及网络基础结构的保护,特别涉及为来自可信信号源的数据提供辨别。

背景技术

现代通信网络典型地基于多层等级模型,例如国际标准化组织(ISO)开放系统互联(OSI)参考模型。开放系统是指为了信息的交换对其它系统开放的系统,所有的开放系统都使用适当的标准。OSI提供了一种定义通信任务的体系结构。由于用于任何给定任务的计算机通信可能太复杂以至于不方便从整体上考虑,因此可以将其看作是一组层,每一连续的层建立在低层上并使用其功能。OSI允许提取实施各层所用的具体细节。更确切地说,OSI允许对这些层的功能和其到高层和低层的接口进行详细说明。

通过标准化层的功能及其接口,OSI允许在给定的层上所做的修改不对其它层的功能造成不利的影响。OSI使用七层模型。每一层(称为第(n)层)直接向等级中其上一层(第(n+1)层)提供服务。它通过使用其下一层(第(n-1)层)的服务做到这一点的。显然,最低层使用物理通信媒体。每一层都由它对上一层提供的服务来定义的。层间使用所定义的接口通信。对每一层都定义了一种管理对等(在同一级别上处理)彼此之间如何通信的协议。OSI模型的七层和它们相应的级别,从最高到最低分别如下:应用层-7,表示层-6,会话层-5,传输层-4,网络层-3,数据链路层-2,物理层-1。

近来,随着社会不断加强对利用网络基础结构的重视,网络技术滥用的事件也在不断地增加。出于种种政治、社会、经济的和娱乐的目的,社会上已经采取措施利用网络基础结构的弊端。

虽然一些攻击集中在网络中的端点上,如服务器或客户机,但其它攻击则集中在相互连接这些端点的网络基础结构上。网络基础结构单元通常不仅通过它们从信号源到目的地传送业务,而且,在某些情况中,也可以当作信号源或目的地来发起业务或使业务最终到达,如控制业务。这种控制业务典型地根据相似的协议作为常规的网络业务穿过相同的媒体。从而,这种控制业务通常被特征化为“带内”信令。历史上,带内信令曾经,并且继续是比带外信令更容易被终端用户使用,带外信令以典型地终端用户不能访问的方式被传送。

对网络基础结构利用的最坏的情况可能涉及合成未鉴别控制业务,该未鉴别控制业务能完美地模仿被鉴别的控制业务,从而完全能控制要获得的网络基础结构,某种保护机制几乎一直被提供来防止这种极端的使用。例如:被恶意引入的数据也许可以通过多层等级模型中的一层或多层,而不被区别出来,但可能在其他层上被识别为无效并被丢弃掉。

此外,多层等级模型的某些特征可以被恶意的终端使用。由于多层等级模型的不同层大多可以独立于其它层来操作,所以在某种程度上,可以利用可能仅存在于一层或者层的一个子集上的弱点,而在一个或者多个其它层不受这些弱点的影响。因此,在一层或多层看似有效的数据可经由网络基础结构单元,如路由器,来通过网络到达预期的目的地,例如它可以是一个特定的目标路由器。该特定的目标路由器可能在一层或多层上正常地处理数据,但是它可能在其它层上拒绝该数据。尽管对数据的拒绝阻止了该特定目标路由器的完全被迷惑,但是仍然用消费该特定目标路由器的处理能力。如果攻击者直接向网络基础结构的一个特定单元上发送大量的伪造数据,那么这个单元就可能被所需的处理伪造数据的大量的处理能力击败。因此,其可能消弱了对真正的网络业务的处理,最坏的情况是可能由于过负荷而导致不能工作。基于这种现象的攻击通常被称为“拒绝服务”(DoS)攻击,因为它们拒绝使用本应由受影响的单元提供的服务。DoS攻击的不同种类包括,例如“分布式拒绝服务”(DDoS)攻击,其包括来自多个信号源的伪造业务。

当前在因特网路由协议(如,开放最短路径优先(OSPF),传输控制协议业务的报文摘要5保护(TCP-MD5))中使用的分组鉴别机制给外界攻击者的攻击留下了威胁,即利用看似属于一个有效的路由协议邻接(adjacency)或一个对等会话的分组来使路由器的控制中央处理单元(CPU)过负荷,然而这些数据是伪造的并会由于无效的摘要值而被丢弃。由于所有有效的互连网协议(IP)的参数与伪造的分组看上去绝对一致,所以不可能在过程中的早期就将伪造的分组拒绝掉。这就导致分配给控制业务(路由和信令协议)的内部队列过载,并且因此漏掉了真实的控制分组。结合对CPU的高效利用,这就导致对路由协议会话的破坏并且最终导致被网络拒绝服务。

可攻击路由器的另外一个实例是简单的“同步”TCP连接建立分组泛滥(SYN-flood)攻击,它能潜在地耗尽路由器的CPU。SYN-flood攻击是利用TCP三次握手行为的缺陷。攻击者利用具有不可达信号源地址的分组向其要攻击的预期目标发出连接请求。预期目标不能完成连接请求,因此,该预期目标浪费其网络资源。伪造分组的一次相对小的泛滥能束缚内存、CPU和应用程序,这能引起预期目标的失灵。

IP路由和信令的带内特性为攻击者创造了一个完美的环境来使网络脱离服务。导致路由器上存在DoS攻击的可能性的最根本的问题是(a)在鉴别检查完成之前,在路由器(如队列)内的有效和伪造的数据共享资源,并且(b)否定的鉴别判定的计算费用很高,以至于路由器厂商不希望以在线路速率执行检查。在后一种情况中,应当注意的是对线路速率处理的缺乏显著提高了路由器对分散的DoS攻击的敏感性。

至今已知的对这个问题的可能的解决方法包括:

1.添加特殊的硬件(HW)单元到线卡结构中,该线卡结构将允许线卡识别需要鉴别的分组(如OSPF,边界网关协议(BGP),(资源预留协议(RSVP)),以及以线路速率执行MD5检查(在分组进入任何队列之前),并且识别TCP SYN分组并限制它们被发送到数据卡的速率。

2.在网络边缘处,在面向用户和服务提供商的对等接口上完成攻击性分组过滤,以确保以内部路由器为目的的分组不被从网络外部接收。

3.使用一组完全分离的链路用于控制协议和用户数据,即带外网络控制。

以下是这些方法的弊端:

1.从服务提供商的角度看,附加的HW增加了系统的成本,并要求对网络中所有路由器的线卡进行升级。从因特网安全性的角度讲,还需要若干年的时间使大量的服务提供商升级其路由设备,从而充分减轻DoS攻击对因特网路由系统的威胁。

2.当前配置的大多数因特网核心路由器不具备以高速率执行线路速率接入控制列表(ACL)处理的能力,这就意味着服务提供商之间的链路处在不安全的状态。结合并非所有的服务提供商在用户接口上都过滤潜在的有威胁的分组的事实,从配置和因特网安全方面看,这种方法与第一种方法有相同的弊端。

3.然而,带外控制方案引起了极大的关注,实施可能要求对路由协议作实质性的修改,并且对服务提供商网络进行彻底的重组。

发明内容

本发明提供了一种方法和装置,用于对网络基础结构的保护。根据本发明的方法,携带第三层控制信息的分组进行标记并在第二层封装该分组。根据本发明的装置包括适于执行下述步骤的网络单元:标记携带第三层控制信息的分组;在第二层封装分组。

附图说明

图1是根据本发明至少一个实施例的用于网络基础结构保护的系统的方框图;

图2是根据本发明至少一个实施例的用于网络基础结构保护的方法的流程图。

具体实施方式

本发明的至少一个实施例提供了网络基础结构的保护,并提供了控制信息到达这样的网络基础结构以及在其间的安全通信。例如,提供了一种在通信网中允许传递第三层控制信息的方法和装置。这种控制信息可能被验证是来自一个可信信号源的,该信号源无需不必要的计算来执行这种验证。因此,可提供对来自恶意传输的、包括拒绝服务攻击的网络基础结构的保护。也可被提供速率受限的排队用于不能被如此验证的控制信息,从而当避免来自恶意传输危害的危险时,能够提供反向兼容。

图1的方框图示出了根据本发明至少一个实施例的用于网络基础结构保护的系统。该系统包括多个主机101,102和103,这些主机被耦合到服务提供商1的网络104的路由器105上。服务提供商1的网络104包括多个路由器105,106和107。用户1的主机A 101经由连接112被耦合到服务提供商1的网络104的路由器1 105上。用户1的主机B 103经由连接113被耦合到服务提供商1的网络104的路由器1 105上。用户2的主机C103经由连接114被耦合到服务提供商1的网络104的路由器1 105上。路由器1 105经由连接115被耦合到路由器2 106,并且经由连接116被耦合到路由器3 107。路由器2 106经由连接117被耦合到路由器3 107。

服务提供商1的网络104的路由器2 106经由连接118被耦合到服务提供商2的网络108的路由器4 109。服务提供商2的网络108包括多个路由器109,110和111。路由器4 109经由连接119被耦合到路由器5 110上,并且经由连接120被耦合到路由器6 111。路由器5 110经由连接121被耦合到路由器6 111上。图1中示出的主机、路由器、服务提供商的网络以及连接的数量仅是示范性的;其他数量的这些功能部件也可以实现。

在连接114上传送的分组112描述了在第二层上被封装的数据(当前的帧格式)。在连接118上传送的控制分组123描述了在第二层上被封装的控制(使用新的唯一的协议ID或者本地链路的MPLS标签)。在连接118上传送的ICMP分组124描述了通过分组(例如,从路由器1 105)的接口组,因此,其是被封装的数据。

图2是一个流程图,示出了根据本发明的至少一个实施例的用于保护网络基础结构的一种方法。该方法包括步骤201,步骤215,和步骤218。

在步骤201,接口组被用来确定什么时候对控制分组作标记。步骤201可以包括步骤203,步骤207,步骤211,步骤212,步骤213,和/或步骤214。在步骤203,接口组被应用于在一个特定的接口组中的分组通信。步骤203可以包括步骤204,步骤205和/或步骤206。在步骤204,接口组被应用于在一个骨干接口组中的分组通信。在步骤205,接口组被应用于在一个用户专用接口组中的分组通信。在步骤206,接口组被应用于在一个对等接口组中的分组通信。

在步骤207,接口组被应用于在接口组之间的分组通信。步骤207可以包括步骤208,步骤209和/或步骤210。在步骤208,接口组被应用于在骨干和用户专用接口组之间的分组通信。在步骤209,接口组被应用于在用户专用和对等接口组之间的分组通信。在步骤210,接口组被应用于在骨干和对等接口组之间的分组通信。

在步骤211,接口组被应用于ICMP分组的通信。在步骤212,接口组被应用于ping分组通信。在步骤213,接口组被应用于跟踪路由分组通信。在步骤214,接口组被应用于来自网络运行中心(NOC)主机的分组通信。

在步骤215,携带第三层控制信息的分组被标记。步骤215可以包括步骤216和/或步骤217。在步骤216,通过使用唯一的协议标识符来标记分组。在步骤217,使用本地链路MPLS标签来标记分组。在步骤218,分组在第二层上被封装。

根据本发明的一个或者多个实施例,可以基于这样的事实来提供保护,即在网络中仅有限数量的设备具有将分组发送到路由器控制平面的合法权利。这组设备当然包括,服务提供商网络中的其它路由器,网络运行中心(NOC)站,以及其它可信设备。因特网中的其它设备,包括用户主机,以及其它服务提供商网络中的路由器不必向路由器的控制平面发送分组。

可以执行两层附加的措施来提高路由控制通信的安全性。第一是在第二层(L2)上对包含用于控制平面信息的分组作标记,在此称之为控制分组。第二是运用接口组的一个新的概念,由此路由器能确定一个分组是否应该被标记。

以这样的方式通过在第二层上封装分组来标记控制分组,它能唯一地识别出第二层帧携带了可信控制信息。这在此被称为控制封装。路由器使用控制封装来交换控制分组(如路由协议或信令协议分组)。控制封装的目的是允许路由器容易快速地识别出可信的控制分组,其后它们立刻被转发到路由器的控制平面上,而包括控制信息的未被作标记的分组被认为是不可信的,并被放入速率严格受限的队列中或被丢弃掉。允许接收控制封装分组的明确的人工配置的使用,保证了只有来自可信路由器的分组才被接收,并且被认为是可信的。对未作标记的控制分组进行速率受限排队具有一个好处是,支持那些没有控制封装功能的路由器,然而却消弱了路由器对在其控制平面上的泛滥型DoS攻击的敏感性。

本发明的一个或者多个实施例可被执行用于不同的通信技术,包括,例如互连网(IP)路由选择和多协议标签交换(MPLS)。根据这里阐明的基本原理,可以相应于其它通信技术执行其它的实施例。

控制封装可以通过很多种方式完成。作为第一个例子,可定义一种新的协议标识符(ID),诸如可能使用以Ether_type参数。例如,新的协议ID可被定义为例如网际协议版本4控制(IPv4-控制)和网际协议版本6控制(IPv6-控制)。作为第二个例子,本地链路MPLS标签可被用于控制分组,在这种情况下,一个单个的标签值将被预留,并被宣布为本地链路,并且这个值不允许被用于传送MPLS标签交换路径(LSP)。由于标签仅在本地链路上具有重要意义,所以它能在所有链路上被重复使用。不携带控制信息的分组将以目前常见的方式被封装,这种方式被称为数据封装。

为了支持MPLS网络,只要控制分组被放在LSP上,预留标签就被加到标签栈中。接收路由器能通过查看这个标签来识别控制业务。如果接收机请求倒数第二跳出栈,则那些分组仅具有预留标签,这实际上等同于基于MPLS的控制封装,这就意味着在接收侧对MPLS来说没有特殊的情况。

接口组的实施使得路由器能够确定何时应该或不应该使用控制封装。接口组可实施用于骨干连接、用户专用接口组以及对等于其他服务提供商的接口组。例如,只有在接口组中通过的控制分组才被控制封装,而横过接口组的控制分组被数据封装。要遵循这项策略以维持在接口组的成员之间建立的信任水平,并且这项策略基于通常来说控制分组不是源于外界接口组的事实,然而,有一些有效的例外,如网间控制消息协议(ICMP)分组。将配置不支持控制封装的对等路由器,以便在它们的控制平面上接收被数据封装的分组而没有不必要的时延。

需要对路由器的前向逻辑做小的修改以使其通常仅允许控制封装的IPv4分组被发送到其控制平面(而其它分组可能被加到严格速率受限的队列或被丢弃掉),且基于分组是否可信以及分组是否穿过接口组边界来选择正确的封装类型。这一步骤可以容易地以线路速率执行而无需任何附加硬件,这就意味着这种方法在传统路由器上就能被容易地执行。以线路速率处理分组就允许以分组在通信线路上被接收的实际速率来处理它们。通过以线路速率处理分组,可避免在处理之前将分组储存到队列的需要,因此避免了攻击者可能攻克队列容量的可能性。这种方法的众多优点之一是实际上在用户端或对等接口上,服务提供商没有要求附加分组过滤,因为仅有明确可信的分组才被允许通过控制CPU来处理,且所有其它的都被认为是危险的。

根据本发明的实施例可被实施用于网络基础结构的各种不同类型。例如,实施例可以被用于IP路由平台,例子包括阿尔卡特7670和阿尔卡特7770。

可以实施本发明的实施例以提供下述的优点:

1.无需网络重构;路由协议保持相同。

2.因为路由器丢弃了携带未知协议的帧,所以传统路由器不受影响。然而,通过使用严格的速率受限队列,仍然能够处理来自传统路由器的未做标记的控制分组(被封装的数据),虽然是以更低的速率。这就将路由器控制平面上的泛滥型DoS攻击的敏感性降到最小,而仍能支持传统路由器。应当注意,来自执行该机制的路由器的可信业务与不可信业务不会共享资源。

3.这种方法的众多优点之一是,实际上在用户端或对等接口上服务提供商没有要求附加分组过滤,因为最好是仅有明确可信的分组才被允许通过控制CPU来处理,而所有其它的都被认为是危险的。

下面所述的是其它一些需要考虑的事项:

1.使用一种新的且唯一的协议ID来标记控制分组可能包括最终要为现在使用的每一种媒体类型都定义协议ID,这可能会有些麻烦。

2.使用本地链路MPLS标签来标记控制分组可能包括对路由器微码更多的修改,且存在这样的可能,即预留的本地链路值可能被用于通过路由器来传送LSP,这些路由器不支持这种对控制分组作标记。

根据本发明的一个或多个实施例可以向因特网服务提供商(ISP)的路由器基础结构提供保护,使其免遭来自外界的对控制卡CPU上的服务拒绝攻击。

实施例可利用诸如SYN泛滥和标有MD5的无效的泛滥路由协议分组这样的技术,用于帮助因特网服务提供商的路由器基础结构处于安全而免遭外界攻击,包括(但不限于)基于CPU的和/或队列耗尽的分布式服务拒绝(DDoS)攻击。本方法是基于控制和数据分组的分离封装,而不要求对路由协议作任何修改或对路由器中现有硬件进行改变。

当前在因特网路由协议[OSPF,TCP-MD5]中使用的分组鉴别机制留下了受外界攻击者的威胁,即利用看似属于有效路由协议相邻或对等对话的分组来过载控制路由器的CPU,而实际是伪造的数据,并且将会由于无效的摘要值而被丢弃。因为所有有效的IP参数与伪造分组看上去绝对一致,所以在过程早期拒绝伪造分组是不可能的。这就导致分配给控制业务(路由和信令协议)的内部队列过载,因此会漏掉有效的控制分组。结合CPU的高效利用,这就导致破坏路由协议会话,并且最终导致网络拒绝服务。值得注意的是,随着路由协议中安全机制变得更加复杂并且计算费用昂贵,对于攻击者来说,对路由器发动基于CPU耗尽的攻击却变得更加容易了。

可攻击路由器的另一个例子是简单的SYN-泛滥攻击,它能潜在地耗尽路由器的CPU。

IP路由和信令的带内特征为攻击者将网络脱离服务创造了极好的环境,导致在路由器上可能发生DoS攻击的最基本的问题是(a)在鉴别检查完成之前,有效的和伪造的分组共享路由器(如队列)中的资源,和(b)否定的鉴别判定的计算费用昂贵,以至于路由器销售商不希望以线路速率完成检查。在后一种情况中,很重要一点是线路速率处理的缺乏明显地增加了路由器对分布式DoS攻击的敏感性。

现有的方法和弊端

至今已知的可能解决问题的方法包括:

1.向线卡结构中添加特殊的HW单元,该线卡结构将允许线卡识别需要鉴别的分组(如:OSPF,BGP,RSVP),并且以线路速率完成MD5检查(在分组被放入任何队列之前),以及识别TCP SYN分组并限制将它们发送到控制卡的速率。

2.在网络边缘,以及面向用户和服务提供商的对等接口上完成。对攻击性分组过滤,以确保目的地是内部路由器的分组不是从网络外部接收的。

3.使用一组完全分离的链路用于控制协议和用户数据的,也就是带外网络控制。

下面是这些方法(对应地)的弊端:

1.从服务提供商的角度看,附加的HW会增加系统的成本,并且要求升级网络中所有路由器的线卡。从因特网安全性来讲,需要花费若干年的时间使大量的服务提供商升级其路由基础结构,因此,要足充分轻对因特网路由系统的DoS攻击的威胁也要若干年的时间。

2.大多数当前配置的因特网核心路由器没有以高速率完成线路速率接入控制列表(ACL)处理的能力,这就意味着服务提供商之间的链路处于不安全状态。结合并非所有服务提供商都在用户接口上过滤潜在危险的分组这一事实,从配置和因特网安全性方面来讲,这种方法与第一种方法有相同的弊端。

3.而带外控制方案很值得关注,其实施要求对路由协议作实质性的修改,并对服务提供商的网络进行重构。

在该文献中描述的解决方法允许服务提供商利用有限的软件修改改进其网络,但无需升级主要的硬件,改变路由协议或者网络结构。应当注意,在某些路由器的实施中,可能有必要修改专用集成电路(ASIC),这些修改与上述可供选择的方法中所要求的相比较是非常简单的。

解决方法

概述

被提议的机制是利用了这样的事实,即在一个网络中仅有有限的设备具有合法的权利向路由器控制平面发送分组。这组设备当然包括该服务提供商网络中的其它路由器,网络运行中心(NOC)站,以及其它的可信设备。因特网中其余的设备,包括用户主机和其它服务提供商网络中的路由器不需要向第一个提供商网络内的路由器发送分组。

该提议的一个关键方面是这样标记来自该组可信设备的分组,使得不可能被不可信的设备欺骗,或即使攻击者创建了这样一个分组,也能确保它会被已经安装在因特网中的路由器丢弃。在本文中所描述的这种标记的一种选择是当在路由器间发送IPv4控制分组时,在第二层帧中使用不同的协议ID。我们将其称之为“控制IPv4封装”。当前使用的所有因特网中的路由器会将这些分组默认为不被识别而丢弃掉。该步骤可以确保能够依赖于这样一种分组标记技术。

下一步是对路由器的转发逻辑做小的修改,以通常仅允许控制封装的IPv4分组才能被发送到控制平面(其它分组可能被送入速率严格受限的队列或被丢弃掉)。注意,这种检查具有复杂性并能以线路速率容易地执行。这一步骤确保了当攻击者将伪造的分组发送到网络中时,那些分组影响不到网络的控制平面基础结构。这种方法的众多优点之一是,事实上在用户或对等接口上没有服务提供商所要求的附加的分组过滤,因为只有明确可信的分组才被允许通过控制CPU来处理,而其它的都认为是危险的。

分离数据和控制封装

如前面所讨论的,分组标记技术需要有默认无效的特性,以确保在当今的因特网上没有数据流被认为是可控制封装的且被接收到因特网中,即使攻击者试图伪造这样的标记。使用像区分服务码点(DSCP)的码标记这样的技术不能满足这种要求,因为它在因特网中的每一个面向用户的路由器上都要求过滤来确保没有用户分组使用这种预留的DSCP值插入。最后一个例子说明了为什么可以更好地使用第二层封装技术来实现这一点,即携带未知协议的帧会被当前配置的路由器丢弃掉的原因。

本文描述了用于不同的第二层封装的两种可能的方法,分离协议ID,和本地链路MPLS标签。对每种方法的优缺点分别讨论如下。

选择1:新的协议ID

当为IPv4和IPv6定义一个用于当前使用的每一种媒体类型(如Ether_type码)的协议ID值时,就可能定义IPv4控制和IPv6控制协议ID。

这种方法的优点是绝对的100%保证如果协议ID选自一个未被使用的空间,则分组就不会被识别。而且,这种方法可以被用来提供一种更通用的应用解决方案。

这种方法的缺点是需要为当前使用的每一种媒体都定义控制封装协议ID,这可能花费一定的时间。另一个缺点是在MPLS网络的情况下,控制分组可能与数据分组被一起放入LSP,所以接收路由器就不能区分出来。要避开这个问题,可能就要求在数据路径中的每个路由上维持两组下一跳(next-hop)。

选择2:本地链路MPLS标签

在现有网络结构中,这种方法的实施可能要更为方便,并且利用了以下事实,即MPLS封装是为当前使用的大多数媒体类型定义的,或是映射到这些媒体类型的。有可能预留一个单独的标签值(或两个,如果认为需要分离出一个用于IPv6),宣布它是本地链路,不允许该值被用于传送MPLSLSP,并且将其用作控制封装。应当注意,因为标签仅在本地链路上有效,所以它能在所有链路上被重复使用。用于信令传送标签交换路径(LSP)的控制消息能被安全地加在这个标签上,因为没有初始相依的顺序。不支持MPLS的路由器不需要任何附加的MPLS码,并且可将其当作在识别控制封装的链路帧中的一个特殊的八位字节序列。

这种方法的一个优点是只需要为标签预留一个单独的值。另一个优点是如果在MPLS中配置了所描述的机制,并且在LSP上加了控制分组,则该预留标签就能被添加到标签栈中,以向接收路由器指明一个控制分组。

其缺点是需要对路由器的微码作更多的修改,且存在潜在的这样的可能性,即被预留的值可能被用于传送不支持上述机制的路由器的LSP。

选择3:合并

只要一个控制分组没有被MPLS封装,就能使用新的协议ID,并且只要它被加在一个LSP上,就能使用一个额外的预留标签。

然后,修改控制平面软件以确保当出网接口被这样地配置时,所有的由本地发起的仅在该服务提供商网络中有关的分组(如:路由协议,MPLS信令,远程登录,安全外壳(ssh),简单网络管理协议(SNMP)等)被控制封装。需要由用户接收的控制分组(ICMP)按前面那样被封装。

接口组

当布置了这种机制时,服务提供商需要在应该或不应该使用控制封装处识别一组接口。最可能的是一组接口用于骨干网连接,另一组接口用于用户连接并与其它服务提供商对等。

所描述的机制使用了“接口组”的概念。实际上不存在与接口组相关联的复杂性,每个接口都有一个与之相关联的接口组特征。如果两个接口的接口组特征相同,则认为它们在同一接口组中。正如在下面的例子中所述的,期望服务提供商配置这些接口的接口组特征,以匹配该可信的群体(trusted communities)。骨干网接口,到用户A的接口,到用户B的接口,到服务提供商X的接口和到服务提供商Y的接口,都被相应地放在分别的接口组中:“骨干”,“用户-A”,“用户-B”,“对等-X”,“对等-Y”。

在本文中我们将进一步会看到,禁止在接口组之间转发控制封装分组。这是为了确保如果两个服务提供商正在使用控制封装来进行他们的外部边界网关协议(eBGP)会话,或者如果在服务提供商和用户之间的eBGP会话被控制封装,则目的是服务提供商网络内部的可能是伪造的分组就不能通过边缘路由器。换句话说,我们仅允许来自用户或者另一个服务提供商的可控制的业务通过,直到其需要通过和不再需要通过时。

修改的转发算法

下面介绍由被修改的转发算法使用的新的接口参数。

InterfaceGroup:接口所属组的ID。

IpCtlSendEncap:定义了在接口上使用的哪种封装来发送由路由器本地发起的、或在另一接口上作为控制封装被接收的控制分组。可能的值:数据,和控制。默认值:数据。

IpCtlRcvEncap:定义了需要被使用的封装类型,以便使被允许所接收的分组由聚集点(RP)进行本地处理。值:数据,控制,两者(这个值允许服务提供商在无需重置现有邻接的情况下,将数据转变为控制封装)。默认值:数据。

下面是指令线借口(CLI)命令的一个例子,该命令能被用来配置这些参数:

接口<名称>

组<组名>

Ip控制发送封装{data|control}

Ip控制接收封装{data|control|both}

路由器的转发算法被修改如下。使用分组的“可信的”特征来描述算法的改变是很方便的。

1.如果接收接口的IpCtlRcvEncap被设置为二者(Both),或者匹配用于发送已接收分组的封装,那么被发送给路由器本身的分组就被认为是可信的且被允许本地处理(被排队到控制卡)。否则,分组被丢弃或被加到一个“慢”队列。(不被丢弃的话,则分组仍然可以允许进入,但是被放入严格速率受限的低优先级队列。这种技术可以被应用到例如ICPM分组中。)

2.路由器考虑通过的分组是可信的,并且试图在出网接口上使用控制封装,如果:

a)分组以控制封装形式被接收,并且

b)如果入网和出网接口的参数InterFaceGroup是相同的(一旦分组出了其可信域我们就不再相信它)。(这种行为至少有两个优点:从另一个服务提供商或用户接收的控制分组,离开其可信域并且被发送到本服务提供商网络内,则被自动认为是不可信的且被当作数据;从服务提供商网络内发起的但是被发送到网络外的主机的控制分组,当离开网络时被自动转变为数据)。不可信的转接分组总是利用数据封装发送出逻辑框(box)。

3.由本地发起的分组总被是认为是可信的,并且路由器总是试图使用控制封装将它们发送出去。

IP封装算法被改变如下。注意,可以由分组提交程序(submitter)(若是本地发起的分组,则是控制平面软件,若是转接分组,则是IP转发器)提出控制或数据封装的请求:

1.若分组是不可信的,则使用数据封装将分组发送到接口外。

2.否则(分组是可信的):

c)如果下一跳接口的IpCtlSndEncap是控制,则使用控制封装来发送数据。

d)否则,(IpCtlSndEncap==Data),就利用数据封装发送数据。

NOC支持和“可信的”接口

在服务提供商网络的NOC段上的主机就是不是路由器的可信设备的例子。然而,与路由器不同,如果希望NOC段中的主机使用控制封装来交换分组是不现实的,因为这将要求对很多操作系统作修改。NOC段的另一个特殊性是在大多数情况中,都需要通过使用数据和控制封装分组能与其余的服务提供商网络通信。下面解释其原因。

通常仅当远程登录,ssh和SNMP分组在NOC段中(这通常是借助于使用接入控制列表来配置CLI和SNMP特定过滤器完成的)发起时,才允许它们进入路由器,然而,网络管理者很少物理上处在NOC所在的地方,他们很多是在家工作或者经常是移动的。这就是为什么接入到路由器的管理通常要求建立一个到NOC中的服务器的安全外壳(SSH)会话,然后从那里到另一个SSH会话到一个路由器。当然,当然,该SSH服务器通常在防火墙(下文中称为FW1)后面。在我们的例子中,这将是与其余的服务提供商网络进行分组通信的防火墙。

由于在网络中从NOC段到路由器的所有telnet,ssh,snmp等分组都需要以控制封装的形式出现,所以在NOC段的某点处交换的常规的分组需要作为控制封装分组被发送出去。这当然就引入了一种潜在的安全威胁(如果NOC段上的主机被用来攻击路由器,则所有的伪造分组都会被路由器认为是可信的。)然而,对于服务提供商来说,通过安装防火墙(下文中称为FW2)来保护其路由器免遭来自它自己的NOC段的攻击费用要低得多,该防火墙将确保只有有效分组能当作控制(分组)被发送到网络中的路由器。

注意,FW1和FW2仅是功能上分离,在物理上它们可以是同一个设备。

有两种可能的方式能将NOC分组当作控制分组注入:a)FW2的面向网络的接口支持控制封装,和b)FW2不支持控制封装,但是它所连接的第一跳路由器执行“翻译”。前面一种情况最安全,但后者最有可能,至少在开始是这样。下面是路由器如何执行翻译功能。

通过引入以下参数来定义“可信接口”的概念:

IpTrustedInterface:当值为真时,识别一个可信接口。在服务提供商网络中希望仅有很少的接口被配置为可信的(例如,通过防火墙将NOC段连接到其余网络的接口。)可能的值:真,和假。默认值:假。

应当注意,由于该命令的错误使用可能带来本质上的安全问题,所以使其隐藏并且如果在路由器中配置多于一个接口组,则采取其它诸如禁止等这样的预防措施是有意义的。

下面是能用来配置它的CLI命令的一个实例。

接口<名称>

IP可信接口

路由器的行为被进一步修改以适应如下可信接口的概念:

1.在一个可信接口上接收的以任何形式封装的分组都被当作是以控制封装被接收的(即,只要其停留在同一个接口组内,就允许它被本地处理并且使用控制封装被发送出去)。

2.从可信接口发送出去的所有分组(可信的或不可信的)都被数据封装。

应该注意,在一些实施例中,可能希望在可信接口上只允许可信分组被发往NOC。这就使FW2的工作更容易,但是如果服务提供商有多个的话,这会删掉来自外界网络或者来自不同的可信域的ICMP消息。

ICMP,Ping,以及跟踪路由

在本结构中,ICMP是一个特殊情况,因为对于路由和信令协议,其有效范围没有被很好的包括。让我们考虑下面用于ICMP消息的一般的合并:

1.由相同可信域中的设备发起和接收,例如:由NOC主机发起且由路由器接收的ICMP Echo请求消息。对ICMP Echo响应来说,也是这样。这里没有问题。

2.由可信设备(路由器)发起,并由不可信设备接收。路由器将使用控制封装注入该分组,然而,当分组离开本服务提供商网络时,使用数据封装将其发送出去(见修改的转发算法中的步骤2b),正如接收的所期望的那样。

3.由不可信的主机发起,目的地是服务提供商的路由器。本文中描述的机制不允许路由器对ICMP分组作本地处理。事实上,这是保护路由器免遭ping泛滥的一个安全特性。如果管理员要ping一个路由器,他们应当从NOC段来执行。另一方面,实际的实施可能会使不可信的分组仍被路由器接收,但是会将它们置于优先级非常低的严格速率受限队列,这将仍允许管理者从网外来ping路由器。

4.由不可信的主机发起且目的地也是不可信的主机。该消息将作为数据进入和离开网络。

从外界跟踪路由不会带来任何问题,因为被送回探测主机的控制封装的ICMP消息在离开可信域时会被自动转换为数据。

在网络内(如从NOC或路由器)跟踪路由是没有问题的,因为消息是以控制封装的形式被交换的。如果跟踪路由穿过多个可信域或者从服务提供商网络出去,则ICMP消息将作为数据返回或穿过防火墙(FW)到NOC,或者可以经由慢速队列由路由器接收(如果跟踪路由是由路由器发起的。)

路由协议

所述机制的主要优点之一是不要求对现有路由协议进行修改。路由协议仍工作在IPv4上,唯一的区别是那些分组的实际的第二层封装,其是(在最简单的情况中)对路由器发起的所有数据的控制。

路由选择的范例实际上是一样的,作为分组的消息通过相同的物理链路被发送进来。控制和数据只是虚拟分离的,只要足够用来判断是否应该允许一个分组到控制平面就行。

因为中间系统-中间系统(IS-IS)的路由协议在L2帧中封装了其协议数据单元(PDU),与IP分组相反,它不易受外界的攻击的影响,因此,不要求对IS-IS封装作修改。如果使用IS-IS-in-IP,则路由器需要保证IP分组是被控制封装的。应当注意这样的事实,即IS-IS路由协议不易受外界的攻击的影响并不意味着运行IS-IS的ISP不必担心那些攻击。存在一整套可能基于CPU的外界能发起的攻击,并且这套攻击还在继续壮大。

多点传送

从路由器的观点来考虑,我们感兴趣的IP多点传送有两个方面:路由协议和(S,G)状态。

从路由协议方面来看,服务提供商的路由器被所提出的具有单点传送的机制所保护。

保持(S,G)状态的数据和控制平面之间的链路是多点传送结构的一部分,但可能被某些人认为是一个结构错误(对于尽可能地去耦网络的控制和数据平面是绝对安全的),而且所提出的安全机制不会以任何方式影响到它。服务提供商必须作出有根据的判定,即是否在其网络中布置多点传送,或不理会某些路由器的实施可能不能跟上大量(S,G)状态的的可能性。

MPLS网络

当在MPLS网络中部署该机制时,对于在多中继上被发送的任何IP分组(包括控制分组)来说,被添加到LSP上是可能的,这是由于使用源自前标签分配点(LDP)的向等效类(FEC)或内部网关协议(IGP),即快捷FEC的标签交换路由器(LSR)的原因。由于在IP分组被添加到LSP上时没有保存第2层封装,所以接收路由器不能区分数据和控制分组之间的不同。

为了解决这个问题,将控制分组放置到LSP上的LSR将一个具有如前所述的预留值的额外的内部标签添加到标签栈中。

如果在网络中使用倒数第二中继出栈(penultimate hop popping,PHP),则末端LSR甚至不可能注意到这样的事实,即如果MPLS标签的方法被用于封装,则分组已经在LSP上被传播,因为LSR将接收仅具有一个保留标签的分组。

如果没有使用PHP机制,则在外部标签出栈之后,该接收LSR将需要识别内部标签的被保留的值,并且将分组作为控制封装来对待。

安全考虑

所述的建议不要求为路由器提供对付各种攻击的完全保护。相反,是通过试图防止只有基本的IP连接接入到服务提供商(SP)网络的外部用户发动的攻击来提高保护。这些类型的攻击被认为是因特网路由系统的直接威胁,该建议试图对抗这种威胁而不需要昂贵的硬件升级。通过虚拟独立的控制和分组,IP网络的安全等级被提高到通常在异步转移模式(ATM)或帧中继网络中出现的等级,也就是路由信令和实际上的带外。大多认为这种安全等级刚好可以使用户感觉舒适。

这种机制无法防止来自基于物理上接入到SP的设备或者基于损害可信设备(如一个路由器或连接到NOC的主机)的内部攻击。

所述的建议信赖可信域的概念,这意味着,即如果一个路由器被配置成要在接口处接收控制封装的分组,则管理员可以完全控制接入到这段而且可发送控制封装分组(事实上,任何连接设备应该被假定可以这样做)的设备,而且那些设备被授权发送它们。换句话说,物理上的安全需要SP来保证。这实际上意味着不应允许那些很有可能被外来的攻击者(如服务器或主机)损害的设备进入用于路由器连接的段中。路由器之间的点对点的链路利用其特征而促使这种需求,而局域网(LAN)段需要更加注意以确保没有未被授权的设备的接入。幸而这已经成为服务提供商遵循的最新的惯例。

最后,由于所述的机制不能防止来自内部的攻击,所以它不应该被认为是服务提供商网络中所用的现有或者将来的路由协议或其它安全措施(如SSH)中的鉴别机制的替代品。相反,应该认为他们是互补的并且共同使用的。事实上,特定路由协议机制越详尽切计算越复杂,对一个外部攻击者来说控制一台路由器就越容易,在因特网中区别控制和数据封装也就更重要。

部署考虑

下面各部分讨论如何在服务提供商网络中部署所述机制。应当注意,我们考虑所有转换步骤之后的最后安装。转换方案说明在单独的部分中叙述。

仅骨干路由器

所有接口被连接到内部链路的路由器经常会将所有的接口配置到相同的接口组。当然,如果使用例如BGP自治系统(AS)联盟,则可在一个服务提供商的网络中有多个控制可信域。在这种情况下,每个成员即AS就是一个单独的可信域,而有些BGP的广播员有不只一个接口组。与运行具有多个可信域的网络相关的考虑是,即实际上不局限于一个单独的可信域的控制消息(如ICMP),一旦离开其起源的可信域就会被封装成数据。这意味着连接到NOC段的意识控制封装(encapsulation-aware)防火墙也需要接收和处理已封装数据的ICMP。

接收和发送控制分组的封装将在所有的接口上设置以便控制。

面向用户的路由器

面向用户的路由器将有超过一个的接口组。

对所有的骨干链路将配置一个组。在该组中,接收和发送封装将作为控制来配置。

对每个用户来说,提供连接的所有接口将作为分开的接口组来配置。这种封装类型在用户路由器开始支持控制封装前的很长一段时间被期望是数据。利用数据封装,路由器被允许将数据封装的控制分组发送到控制平面CPU。其他分组,假设包括有效数据和可能的伪造分组,使用数据封装被向前继续转发到网络,因此,网络中的其他路由器将不允许这些分组在攻击的情况下到达控制平面。

当用户路由器支持控制封装时,服务提供商将在那些链路上将发送和接收分组封装配置成控制。这可以在那些链路上防止对面向用户的路由器的DoS攻击。

面向对等路由器

面向对等路由器与面向用户路由器的配置相似。如果对等路由器不支持控制封装,则路由器将被配置成允许数据封装的分组被控制CPU接收。通过对BGP分组设置TTL值,以及拒绝接收TTL值在给定范围之外的分组(尽管实行控制封装可提供更简单的解决办法),使用BGP生存时间(TTL)安全破解(hack)可以防止对边界路由器的潜在攻击。服务提供商的内部路由器将不易受到起源于另一服务提供商的攻击,因为伪造的分组将被作为数据发送而不被允许到路由器的控制平面CPU。当控制封装被支持时,边界路由器将在到支持这种技术的服务提供商的链路上得到保护免受DoS攻击。

需要注意是当相互对等时,服务提供商的可信域不能合并。与其他服务提供商对等的链路被放入与骨干接口组不同的单独的接口组,这意味着即使另一个服务提供商的路由器被损害,且伪造的分组被作为控制发送给我们,它们也将首先被服务提供商的边界路由器转换成数据封装,但是即使它们不是出于某种原因(或者如果服务提供商的边界路由器被损害),当任何伪造的控制分组通过对等和骨干接口组的边界时,我们的边界路由器也将把“变换”成数据。

NOC

如前所述,NOC段可以通过有意控制封装FW,或通过连接到执行可信接口的路由器的正规FW连接到服务提供商的网络。

过渡情况

无标识日:最初的网络操作不存在本发明的至少一个实施例的配置。

增量部署-逐跳协议:本发明的至少一个实施例可以通过有利地应用逐跳协议来增量部署。

增量配置-多跳协议:本发明的至少一个实施例可以通过有利地使用多跳协议来增量部署。这样的增量部署可以建立也可以不建立在以前的增量部署之上,例如上面所述的逐跳协议的应用。

增量部署-用户接口:本发明的至少一个实施例可以通过有利地将其应用于用户接口而得到增量部署。这样的增量部署可以基于也可以不基于之前的增量部署建立,例如前面所述的逐跳协议和/或多跳协议的应用。

增量配置-对等接口:本发明的至少一个实施例可通过有利地将其应用于对等接口而得到增量部署。这样的增量部署可以基于也可以不基于之前的增量部署建立,例如前面所述的逐跳协议、多跳协议、和/或用户接口的应用。

因此,已经描述了一种方法和装置,用于通信网络中控制信息的安全通信,以用于保护网络单元免遭恶意传输的攻击。应当理解,对本领域的普通技术人员来说本实施发明所的其他变形和修改是显而易见的,而本发明并不限于所描述的具体实施例。因此,本发明覆盖所有的修改、变化等,所有这些都落入此处公开并要求保护的基本原理的精神和范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号