发明背景
在通过数据传输网络传输数据时,使用数据交换节点来引导在相互连接的数据通信链路上的数据传输流。每个数据链路通过一个物理通信端口连接到数据交换节点上,所述物理通信端口具有一个端口标识符。
所述待被传输的数据一般被分为有效负载数据单元(PDUs),例如数据包,帧,单元等等。每个PDU包括路线信息和一个有效载荷。所述路线信息一般存储在PDU首部。例如所述路线信息包括媒体访问控制地址(MAC ADDR)。所述媒体访问控制地址是唯一的并且与和数据网络节点相连的数据网络接口装置相连。网络接口装置的一个例子就是网络接口板(NIC)。因此一个媒体访问控制地址标识一个数据网络节点标识符。在所述路径信息中的MAC ADDR与被认为是源地址和目的地地址的地址相连。
数据交换节点利用MAC ADDR信息,用于相连的数据网络节点的动态拓扑搜索以及用于将数据流传输到特定的目的地媒体访问控制地址。这种数据交换节点保持一个交换数据库,并被称为进行“层2交换”,层2指的是开放式系统互联(OSI)协议堆栈,其说明可在数据交换和传输的现有技术中得知,并被包括在此文中作为参考。
一个交换数据库的示例性实施例是一个表格,具有交换数据库入口,每个入口说明MAC ADDR和端口标识符之间的联系。任何一个接收到的PDU被交换到在相应的数据库入口中指定的端口标识符中,所述接收到的PDU说明存储在交换数据库中的媒体访问控制地址。
没有交换数据库,所述数据交换节点就会向一个集线器,其使每个PDU在所有的与其相连的物理通信端口上传输,除了那个接收PDU的物理通信端口。这种传输操作被称为“扩散”。具有交换数据库可以减小“扩散法”对下列情况的影响性,在所述情况中,所接收的PDU具有交换数据库中不存在的未知目的地MAC ADDR。
在构造一个交换数据库时,所述过程也被称作拓扑搜索,一个与数据交换节点相关的控制器取出在每个物理通信端口上接收的PDU的源MAC ADDR。如果在交换数据库中没有发现MAC ADDR:端口标识符对,所述控制器在交换数据库中建立一个入口存储新的MAC ADDR:端口标识符关联。这种建立交换数据库的能力也提供了对数据网络节点的动态发现,所述数据网络节点是最新加到与数据交换节点相连的数据网络部分。动态发现数据网络节点和建立一个交换数据库提供了提供了这种数据交换设备的即插即用操作,否则需要大量的人工交互以及数据传输网络中的连接的数据网络节点的绝对知识。
所述即插即用操作经常延伸至使数据交换节点在数据网络节点连接到与数据交换节点相连的数据传输网络的不同部分上时,知道所述数据网络节点的移动。当从具有不同的端口标识符而不是在其中说明的端口标识符的不同物理通信端口接收具有在入口中指明的所述MAC ADDR的PDU时,MAC ADDR和端口标识符之间的关联在交换数据库中变化。在这种情况下,新的端口标识符就会简单的改写先前存储在入口处的端口标识符说明。
虽然由于数据网络节点在相关联的数据网络中移动,即插即用功能减小了在构建和重建交换数据库中相关联的数据传输网络中数据网络节点的发现过程中所需的人力,但是所述即插即用功能使数据网络节点易受到非友好的MAC ADDR的袭击。当数据交换节点建立起两个数据传输网络之间的连接,就会有遇到非友好环境的情况,但不限于此。
例如,在非友好环境下,一非友好数据网络节点通过利用数据交换节点的自动交换数据库重建特征可以试着去监察到特定的MACADDR的通信量。
根据一个示例性的方案,所述非友好的数据网络节点朝向数据交换节点发送一个数据包,所述数据包具有对应于待被冲击的数据网络节点的MAC ADDR的源MAC ADDR。所述数据交换节点记录数据网络节点的移动,并且通过以对应于与非友好数据网络节点相连的物理通信端口的端口标识符来重写端口标识符说明、对应于所述MAC ADDR修改所述交换数据库入口。因此所有的指向受冲击的数据网络节点的MAC ADDR的PDUs通过数据交换节点传输到非友好的数据交换节点。所述MAC ADDR冲击能广至非友好数据网络节点取代了受冲击的数据网络节点的功能。所述情况完全符合当前采用的数据交换设备的预定操作,否则就会漏检。
因此需要使数据交换节点同时在友好和非友好的环境下操作,同时检测、预防和报告非友好MAC ADDR冲击事件。
实施例的详细描述
附图1是示出同时在友好和非友好数据网络环境下操作的相互连接的数据网络元件的示意性网络图。
一具有控制器101的数据交换节点100维护一个交换数据库(SW DB)102。下面将参照图2,图3和图4描述所述SW DB102,所述SW DB存储连接到数据交换节点100上的数据网络部分的电路结构(拓扑布局)。存储在SW DB102中的拓扑结构信息说明了通过哪个物理端口106可以到达哪个数据网络节点104。当数据网络部分可以有多过一个的数据网络节点时,存在数据网络节点结构,其中多过一个的数据网络节点104与一物理端口106相连。
每个数据网络节点104通过一个专门的通信链路,例如如图中所示出的用于数据网络节点104-B的网络电缆108,连接到一个单独的物理通信端口106上。本发明同样适用于连接到如图1所示的数据交换节点100上的总线网络部分110,环形网络部分112等。
图中示出数据交换节点100,其同时在友好和非友好网络环境下运行。更具体而言,具有MAC ADDR X的数据网络节点104-A、具有MAC ADDR Y的数据网络节点104-B、具有MAC ADDR W的数据网络节点104-C等是友好的,数据网络节点104-E传输数据,如同具有MAC ADDR Y的数据网络节点,这种数据网络节点被认为是非友好的计算机。
图2是示出由数据交换节点维护的交换数据库的细节的示意图,根据本发明的示例性实施例,所述交换数据库具有交换数据库入口保护特性。
SW DB102的示例性解释是一个总的标为200的查询表。所述表200包括行交换数据库入口202;每个入口存储一个MAC地址,一个相关的端口标识符和一个交换数据库入口保护识别器,所述识别器也被认为是标志。
如图2所示,表格200包括在图1中出现的网络结构,其中,入口202-0对应于有MAC ADDR X并连接到物理通讯端口106-1上的数据网络节点104-A,入口202-1对应于有MAC ADDR Y并与物理通信端口106-2相连的数据网络节点104-B,入口202-2对应于有MAC ADDR W并与物理通信端口106-3相连的数据网络节点104-C,入口202-3对应于有MAC ADDR Z并与物理通信端口106-3相连的数据网络节点104-D,等等。
在本技术领域中,每个入口保护状态标志可以被称作数据库入口保护位。每个入口保护状态标志能说明,例如当设定所述保护位时,所相连的交换数据库入口202是被保护的,当重新设定所述保护位时,所相连的入口202是未被保护的。更具体而言,图2示出了为入口202-1和202-3设定的入口保护位。具有相关联的保护位的受到保护的交换数据库入口不能被改变,由此锁定MAC ADDR和端口标识符之间的联系。
如果所述非友好数据网络节点104-E试着发送一个具有MACADDR Y的PDU到端口标识符N,数据交换节点100的控制器101查询所述SW DB102,并且试着对应于MAC ADDR Y来修改所述入口202-1,以从2至N改变端口标识符关联性。通过设定入口保护位能阻止所述尝试。所述失败的尝试被检测出来作为潜在的侵入事件,并且利用本领域已知的方法来报告所述事件,例如产生警告信号或警告传播方法。
所述交换数据库入口保护特征等同于一个人工设定的交换数据库入口,并且提供具有人工设定的交换数据库入口固有的安全特性,所述人工设定的交换数据库入口位于有操作者的交换表中,在所述交换表中数据网络节点和数据交换节点之间的联系能被明确地确定。
所述入口保护状态标志能通过一个控制界面、例如管理控制台设定。也存在其它的方法,将负载包含到保护入口的交换数据库102中,形成一种安全的长期存储,例如硬盘,电可改写可编程只读存储器,E(E)PROM,但不限于此。
如果在SW DB102中的入口如上所述被保护起来,其不能防止其它的MAC ADDR与如在入口202-2和202-3中的端口标识符相同的端口标识符关联起来。当数据交换节点100的物理通信端口106与多一节点数据网络部分(112,110)相连时,多过一个的MAC ADDR与一个端口标识符相连。
一般,由于在表200上的存储限制,只能存储有限数量的入口。如果在已经到达表200中的最大入口数量的数据交换节点100处接收一个新的源MAC ADDR,那么或者最旧的或者最少使用的入口从SW DB102中除去,以容纳新的MAC ADDR。所述非友好的数据网络节点102-E可以试着通过发送大量的有伪造的MAC ADDR的PDU监测通过所述数据交换节点100的数据流,所述伪造的MAC ADDR然后由数据交换节点100获取,最终删除SW DB102中合法的入口。所述过程被称作将合法的MAC ADDR“冲洗”出SW DB102。
一旦删除合法的路径入口,具有合法的MAC ADDR目的地的PDUs对应于所删除的路径入口传输至所有的物理通信端口,其包括与非友好数据网络节点相连的物理通信端口。因此所述非友好的数据网络节点能监测由数据交换节点100处理的数据流。
图3是示出由数据交换节点维护的交换数据库细节的示意图,所述交换数据库具有根据本发明的示例性实施例的用于每个物理通信端口的控制特征。
通过控制位(或标志位)可以实施一拓扑搜索抑制特征,每个控制位与一个端口标识符相连,其它的实施方法也是可行的,不限于示出的表格式的表述方式300。当拓扑搜索不能用于一个特定的端口标识符时,例如端口标识符3,防止与端口标识符相连的额外的数据库入口添加到SW DB102上。
例如可以在网络设立时使用拓扑搜索,然后抑制拓扑搜索以防止与特定的端口标识符相关的SW DB102的进一步的变化。在有拓扑发现特征被抑制的物理通信端口上的数据交换节点100处,如果接收到额外的源MAC ADDR,那么将产生警告信号。
根据本发明的另一个实施例,所述拓扑搜索特征可以允许与物理通信端口相连的MAC ADDR动态增加到基于每个端口标识符的上限上,使得搜索的数量能被控制,又能防止冲洗SW DB102中的所有的合法的入口。
一个未知的目的地流控制特征也能被实施,作为每个通信端口的控制位(或标志位),但不限于此。当设定所述控制位时,所述未知的目地流动控制特征被激活,当所述控制位被重新设定时,所述未知目的地流动控制特征被抑制。
所述未知的目的地流控制特征被用于防止PDU复制到选定的通信端口。所述特征防止连接到选定的通信端口上的非友好数据网络节点接收未知的目的地数据流。
图4是根据本发明的其它示例性实施例的数据交换节点的控制特性的示意图。
根据本发明的另一个实施例,所述控制特性具有全程作用域,是数据交换节点的所述物理通信端口的安全资源。
全局控制特性总的在400处示出,其包括一个全局拓扑搜索发现控制位。当所述全局拓扑搜索控制位被设定为否时,交换数据库入口可以自动加入到SW DB102中。
当然通过一个管理控制台增加的交换数据库入口不会受到影响。当重新设定全局拓扑搜索控制位时,在如上所说的在端口—端口的基础之上实施拓扑搜索控制。
在图4A示出全局未知目的地流控制特征与拓扑搜索抑制特征相结合,并提供以下优点。
如果已经搜索到所有的与特定的物理端口相连的数据网络节点之后,那么就没有必要将未知的目的地PDUs传输到那个通信端口,因为所有的连接到其上的数据网络节点都是已知的。这减小了复制这种PDU到物理通信端口时处理的PDU的数量。
根据本发明的另一个实施例,所述的上述的控制特征可以通过如图4所示的单一控制位激活。
图5是示出根据本发明的一个示例性实施例的、安全PDU传输过程的流程图,所述传输过程实施MAC地址攻击监测,预防和在数据交换节点处报告的功能。
所述安全PDU传输过程在步骤500通过接收来自源物理通信端口的PDU开始,所述源物理通信端口具有源端口ID。所述与数据交换节点100连接的控制器101监视用于路径信息的所接收的PDU的首部,在步骤502取出至少一个源MAC地址。在步骤504基于源MAC地址,查询所述SW DB102。
如果在步骤504发现在SW DB102中有对应于源MAC地址的交换数据库入口,所述过程在步骤506继续进行以确定在入口中存储的端口ID和源端口ID是否匹配。
如果端口ID在步骤506中匹配,所述过程从步骤508开始传输PDU。
如果端口ID在步骤506中不匹配,如果入口没有被保护,并且这一事实在步骤510中得到确认,所述过程通过尝试着在步骤512修改交换数据库而进行。
如果在步骤510没有发现所述交换入口被保护,在步骤512修改所述入口,所述过程从步骤508继续进行传输PDU。
如果在步骤510发现所述交换入口被保护,所述过程在步骤514继续进行,触发一个报警信号。所述过程通过删除所述PDU并从步骤500从新开始来继续进行。
如果在步骤504,在SW DB102中没有发现对应于源MAC地址的交换数据库入口,根据在步骤515和516中实施的拓扑搜索是否由于源端口ID受到抑制,所述过程尝试着向SW DB102中增加一个新的入口。
如果拓扑搜索对整个数据交换节点100不能全局化,那么所述过程在步骤514通过触发一个报警信号而重新开始;否则实施用于源端口ID的拓扑搜索控制。
如果拓扑搜索能在步骤516能用于源端口识别符,在步骤518向SW DB102增加一个新的入口,所述过程从步骤508继续传输所述PDU。
如果拓扑搜索在步骤516由于源端口ID被抑制,在步骤514通过触发一个报警信号而重新开始。
在传输PDU的过程中,所述控制器101监视PDU路径信息,所述PDU路径信息取出至少所述目的地MAC地址。在步骤520中所述过程基于目的地MAC地址查询SW DB102。
如果所述SW DB102包括一个对应于目的地MAC地址的交换入口,然后将PDU传输到在步骤522中指定的端口ID。在步骤522传输PDU之后,所述过程从步骤500继续进行。
如果SW DB102不包括对应于所述目的地MAC地址的交换入口,那么在步骤524产生包括所有物理通讯端口的端口流列表,并且在步骤526将源端口ID从中去除。在步骤527中,所有的具有端口未知目的地流动控制位的端口ID也从端口流列表中去除。
在全局未知目的地流动控制特征被激活、在步骤528确认所述事实的条件下,复制所述PDU并在步骤532将其传输到端口流列表中的物理通信端口处。
如果所述全局未知目的地流动控制特征被激活,在在步骤532处扩散所有的物理通信端口之前,在步骤530处,从端口流动列表中去除所有的有拓扑搜索被抑制的端口。
在将PDU传输到剩余的端口流列表中的端口之后,所述过程从步骤500重新开始。
此处给出的实施例仅仅是示例性的,并且本领域技术人员可以理解在不脱离本发明的实质和所附权利要求书所限定的本发明的保护范围的前提下,可以对上述实施例进行各种变化和修改。