网络控制装置和控制系统及控制方法

文档序号:7955944阅读:196来源:国知局
专利名称:网络控制装置和控制系统及控制方法
技术领域
本发明涉及在网络间传送网络上的数据包的网络控制装置和系统,特别是涉及从大量的通信量中高效地检测不适当的通信量,能够控制该通信量的传送的网络控制装置和系统。
背景技术
在因特网或局域网的利用普及的同时,这些网络的稳定的运行的重要性在增加。特别是在因特网中,不确定多的用户利用各种各样的应用程序。因此,产生大于因特网服务提供商估算的过载通信量或者因攻击和网络蠕虫的传播等非法行为引起的通信量的可能性增高,如何检测和控制这些情况来确保正常的通信的稳定性就成为课题。
作为用于处理这样的课题的代表性的技术之一,已知有入侵检测系统。入侵检测系统是事先以数据库的方式保持非法数据包的模版,通过进行接收到的数据包与该数据库内容的比较来检测非法数据包的系统。由于进行检查对象数据包与庞大的非法数据包的数据库的比较,因此,入侵检测系统的处理速度成为问题,但例如已公开了一种通过按照保护对象网络内存在的服务器的种类预先装入了作为比较对象的数据库内容来高速化处理的方法等(例如,参照专利文献1)。
此外,作为网络发生了引起拥挤这样的过大的通信量的情况下的对策技术,已公开了一种预先按用户和计算机单位决定监视对象,计测各个监视对象的通信量等的信息,在发生拥挤时,对上述通信量多的监视对象的通信量进行频带限制的方法等(例如,参照专利文献2)。
另外,最近公开了一种在因特网的中枢网络等的流过庞大通信量的网络中,为了高速地抽出具有规定的特征并且占有大带宽的通信量而应用了货篮(basket)分析的通信量的解析方法等(例如,参照专利文献3)。所述货篮分析是用于用数据采矿(data mining)手法之一找到在小卖店等中经常一齐购买的商品的组合的数据解析。
专利文献1特开2003-223375号公报专利文献2特开2001-217842号公报专利文献3特开2005-285048号公报专利文献1的技术是在利用特征匹配进行非法数据包的检测的入侵检测系统中,通过削减进行匹配的特征来谋求处理的高速化的技术。例如,按照组织网络的条目程度的通信量,在仅利用被限定的服务的网络中认为有效。但是有这样的问题,从进行每个数据包的特征匹配处理的这点来说,处理速度有限度,对因特网的中枢网络程度的通信量进行处理有困难。
此外,专利文献2的技术是事先决定监视对象、利用数据库管理该监视对象的利用通信量的量。这在已限定的监视对象的环境中利用也许没有问题。但是有这样的问题,即若想要在不特定多数的计算机等通信量通过的因特网的中枢网络中适用,事先决定监视对象的运用就困难,假设即使适用也需要庞大的存储器等资源。
此外,专利文献3的技术在于也许解决了在专利文献1的技术和专利文献2的技术中成为问题的处理性能和存储器等的必要资源量的问题。但是有这样的问题,没有考虑直到为了高精度地判定抽出的通信量的特性(例如,DDoS攻击、网络蠕虫的扩散、P2P文件交换等)而必需的信息的取得。因此,在要对抽出的通信量进行中断等控制的情况下,难以防止对抽出的通信量进行错误的控制。

发明内容
于是,研究了在因特网的中枢网络这样的流过庞大通信量的网络中也能高速地抽出非法通信量后判定其特性的网络控制装置和系统。
此外,研究了不限制监视对象而能用少量的存储器资源抽出发生过大通信量的网络上的装置的网络控制装置和系统。
此外,研究了能按照事先设定的控制策略,对抽出后判定了特性的通信量自动进行控制的网络控制装置和系统。
考虑上述课题,提供一种技术,例如,设置了对每个进行传送的数据包的报头部分中所包含的项目的任意组合累计数据包数的单元、和判定该单元的累计值是否超过了规定的阈值的单元,在数据包数超过了阈值时,根据项目的组合和与项目的组合不同的组合的累计值,判定进行传送的数据包的类别。
此外,考虑上述课题,提供一种技术,例如,在累计数据包数的单元中设置了在保持项目组合和累计值的组合的区域的分配中使用项目组合的散列值的分配单元;以及,在分配单元分配了已经在其他的项目组合的累计中使用中的区域的情况下,减去区域的累计值的单元。在累计值减法的结果变为0时,之后出现的项目组合写入利用区域。
此外,考虑上述课题,提供对通信量中的特定的数据包控制可否传送和使用频带的流控制单元、和按照数据包的类别的判定结果变更流控制单元的设定的技术。
即,在本说明书中公开了一种网络控制装置,至少具有与一个以上的网络连接的单元;监视网络上流过的数据包的单元;对由进行监视的装置得到的数据包中的任意一个或两个以上的组合的字段的值相同的数据包的数量进行累计的装置;在累计后的数据包数超过了指定的阈值时,根据与任意一个或两个以上的组合不同的任意一个或两个以上的组合的字段的值,对超过了指定的阈值的数量的数据包的特性进行推断的数据包推断单元。
可以参照实施例的详细说明弄明白其他的课题、方案和效果。
根据上述方案,由于不进行数据包的特征匹配而能够抽出非法数据包并判定其特性,因此,有在通信量多的高速的网络中也能适用的效果。
此外,根据上述方案,具有如下效果即使在为了检测特定通信量而仅能使用有限的存储区域的情况下,也能够不特别限制监视对象数据包而抽出频繁出现的通信量的数据包。
此外,根据上述方案,由于在检测出了特定通信量时,能够按照预先指定的规则来控制通信量,因此,有在高速的网络中也能对非法通信量迅速进行中断或频带限制等对策的效果。


图1示出实施例1的网络控制装置的结构的一例。
图2示出实施例1中的数据包计数表的内容的一例。
图3示出实施例1中的阈值表的内容的一例。
图4示出实施例1中的控制策略表的内容的一例。
图5是示出实施例1的网络控制装置的工作的一例的流程图。
图6示出实施例1中的通信量信息的内容的一例。
图7是示出实施例1中的通信量信息分析处理的详细的一例的流程图。
图8示出实施例1中的阈值超过信息的内容的一例。
图9是示出实施例1中的数据包计数表更新处理的详细的一例的流程图。
图10是示出实施例1中的问题通信量判别处理的详细的一例的流程图。
图11示出实施例2的网络控制系统的结构。
图12是示出实施例2的网络控制系统的工作的一例的流程图。
图13示出实施例3中的数据包计数表的内容的一例。
图14是示出实施例3中的数据包计数表更新处理的详细的一例的流程图。
图15示出实施例3中的辅助表的内容的一例。
图16是示出实施例3中的问题通信量判别处理的详细的一例的流程图。
具体实施例方式
说明本发明的最佳实施方式。但是,本发明不限定于该实施方式。
使用

网络控制装置和系统及控制方法的实施例。
实施例1说明实施例1。图1示出了本实施方式的一个实施例的网络控制装置的结构图。图中,101是本实施方式的网络控制装置,102是用于对网络控制装置101给予指示或显示状态的输入输出装置,103、104、105是与网络控制装置101连接的网络。
网络控制装置101由数据包传送处理部106和特定通信量检测控制部107构成。连接接口108连接数据包传送处理部106和特定通信量检测控制部107,能在数据包传送处理部106与特定通信量检测控制部107之间进行数据交换。
数据包传送处理部106包括CPU109、存储器110、在网络103、104、105之间进行数据包的收发的数据包收发部111、进行上述数据包的中断和频带限制的流控制部112。存储器110中包括用于按照上述数据包中包含的发送目的地地址决定应该传送的网络的路径表113、和用于暂时存储数据包收发部111接收的数据包的数据包缓冲器114。此外,在流控制部112中包括用于存储应该对上述数据包进行的中断和频带限制的规则的流控制信息存储器115。
特定通信量检测控制部107由CPU116和存储器117构成。存储器117中包括存储从数据包传送处理部106送来的通信量信息的通信量信息缓冲器118、用于根据上述通信量信息存储数据包传送处理部106传送的数据包的统计值的数据包计数表119、用于存储进行上述统计值的判定所需的阈值的阈值表120、记述了在上述统计信息超过了上述阈值时应该进行的处理的控制策略表121。
在以上的结构中,数据包传送处理部106从网络103、104、105一接收数据包后,生成有关该数据包的通信量信息后交给特定通信量检测控制部107,并且,按照路径表113的内容,将上述数据包发送给传送目的地网络。特定通信量检测控制部107一边统计处理上述通信量信息,一边检测非法的通信量,根据需要生成用于进行上述非法通信量的中断和频带限制的设定信息,设定在数据包传送处理部106的流控制信息存储器115中。
以下,使用图5的流程图,详细地说明网络控制装置101的工作的一例。首先,详细地说明从网络103、104、105中的某一个向数据包收发部1 1 1送到了数据包501时的数据包传送处理部106的处理。
当数据包501到达数据包收发部111时,就开始数据包接收处理(步骤502)。具体地说,在向数据包缓冲器114中写入数据包收发部111接收到的数据包501的内容的同时,利用中断信号等向CPU109通知数据包501的到达。这时,流控制信息存储器115中还没设定中断或者频带限制数据包501的规则。
接着,CPU109根据数据包缓冲器114中存储的数据包的内容生成通信量信息(步骤503)。取出上述数据包的IP报头和TCP报头或者UDP报头中包含的发送源IP地址、接收方IP地址、发送源端口号、接收方端口号、协议号后生成上述通信量信息。通信量信息的要素并非限定于这些,也可以根据需要添加其他要素。将生成的上述通信量信息暂时保持在存储器110内。
接着,CPU109向特定通信量检测控制部107发送存储器110内暂时存储着的上述通信量信息,作为通信量信息505(步骤504)。
图6示出了通信量信息505的内容的一例。1个数据包部分的通信量信息由发送源IP地址602、接收方IP地址603、发送源端口号604、接收方端口号605、协议号606构成,成为存储了多个这些组的结构。所存储的数据包数表示为数据包数601。
再有,1个数据包分的通信量信息不限定于上述5种,也可以根据需要,是IP报头、和TCP报头或UDP报头中包含的其他项目的值、或者接在TCP报头或UDP报头的后面的数据的一部分。
另外,也可以是L2TP和PPP等隧道技术协议的数据包中存储的IP数据包中的IP报头、TCP报头或UDP报头中包含的其他项目的值、或者接在TCP报头或UDP报头的后面的数据的一部分。
另外,也可以是存储IP数据包的层2数据包的以太网(以太网是注册商标)报头和MPLS标号(label)的信息。
另外,也可以原样存储从一个数据包的先头开始的指定字节数(例如256字节)的内容。
再有,能够在通信量信息505中存储多个数据包的信息是因为减少了从数据包传送处理部106向特定通信量检测控制部107的数据传送次数而提高了性能,通信量信息505中存储的数据包的信息的数量任意。
此外,步骤503中的从数据包的通信量信息的取出也可以不是全部的接收数据包,而仅对通过适当的采样处理选择的数据包进行。这样,在流过庞大的通信量的高速网络中也能处理。
另外,在上述采样处理中,关于具有特定特征的数据包,也可以采样全部作为通信量信息的取出的对象。所述特定特征例如是在TCP数据包中得SYN标志的数据包。这样,能够提高在高速网络中设为对象的不适当的通信量的检测精度。
接着,CPU109在存储器110内收集到了适当数量的在步骤503中生成的通信量信息时,将其构成为通信量信息505后向特定通信量检测控制部107发送,并且,删除存储器110内累积的上述通信量信息(步骤504)。作为向特定通信量检测控制部107的具体的发送方法,例如,有CPU109通过连接接口108向存储器118内设置的通信量信息缓冲器118直接写入通信量信息505,并且利用经由连接接口108的中断信号,向CPU109通知该写入处理的完了的方法等。
接着,CPU109参照路径表113,决定数据包缓冲器114中存储的数据包的传送目的地网络(步骤506)。由于在路径表113中与数据包的接收方IP地址相对应地记述着应该向哪个网络(在本实施例中,是网络103、104、105的某一个)发送,因此,从数据包501取出接收方IP地址,通过从路径表113检索该IP地址,就能够决定传送目的地网络。
最后,将数据包缓冲器114中存储着的数据包作为数据包508,向在步骤506中决定的传送目的地网络发送(步骤507)。
另一方面,在特定通信量检测控制部107中,利用步骤504的处理向CPU116通知通信量信息505的传送,CPU116就进行通信量信息505的分析处理,在检测到了不适当的通信量的情况下,进行生成用于进行该通信量的中断或者频带限制的流控制设定信息510后向数据包传送处理部106发送的处理(步骤509)。
收到流控制设定信息510的数据包传送处理部106,由CPU109向流控制信息存储器115中写入流控制设定信息510的内容(步骤511)。以后,流控制部112就对流控制设定信息510中指定的数据包进行中断和频带限制等流控制设定信息510中指定的控制。以上是网络控制装置101的整体流程的说明。
下面,关于在步骤509中示出的利用特定通信量检测控制部107的通信量信息分析处理的详细内容,使用图7、图8和图9的流程图进一步详细地说明。
图7是示出步骤509中的CPU116的详细工作的流程图。CPU116首先从通信量信息缓冲器118中存储的通信量信息取得1个数据包的通信量信息(步骤701),进行该通信量信息的分析并进行数据包计数表119的更新处理(步骤702)。
图2中示出数据包计数表119的结构。在本实施例中的通信量信息分析处理中,使用了生成构成通信量信息的各项目的任意组合、并通过进行包含上述项目的组合的数据包数的累计处理来抽出特征通信量的分析方法。数据包计数表119是用于保持上述累计处理的结果的表。在本实施例的情况下,将构成上述通信量信息的项目设为发送源IP地址、接收方IP地址、发送源端口号、接收方端口号这4种,从上述4种项目生成任意的n项(1≤n≤4)的组合。数据包计数表119由存储n=1时的累计值的项目数1表201、存储n=2时的累计值的项目数2表202、存储n=3时的累计值的项目数3表203、存储n=4时的累计值的项目数4表204构成。再有,也可以将各表表现为第一计数部、第二计数部等。
再有,在本实施例中,将处理对象项目设定为上述4种,但也可以按照想检测的通信量的特征,进一步添加或者删除另外的项目。例如,也可以为了抽出有关TCP对话期的确立和切断处理的通信量,包含TCP报头中的标志信息。或者,也可以为了更正确地掌握通信量的特性,包含接在TCP报头或UDP报头后面的应用数据的先头几个字节部分。或者,在标记着MPLS标号的情况下,也包含上述MPLS标号的值,对每个LSP进行通信量的分析。或者,在使用L2TP等隧道技术协议时,包含通道标识符,对每个通道进行通过其中的通信量的分析。
在此,关于步骤702中的数据包计数表119更新处理的详细,使用另外的流程图进行说明。图9是示出步骤702的详细处理内容的流程图。
CPU116首先从上述4种项目生成从任意的n个选出的项目组合(步骤901)。所生成的项目组合也可以是数学上得到的全部的组合,但也可以以根据处理负荷的减轻而高速化为目的,限定于一部分的组合。
接着,从在步骤901中生成的项目组合中选择一个,决定用于累计包含上述选择的项目组合的数据包数的数据包计数表119内的条目(entry)(步骤902)。若上述选择的项目组合由一个项目构成,就从项目数1表201选择,若上述选择的项目组合由两个项目构成,就从项目数2表202选择,若上述选择的项目组合由三个项目构成,就从项目数3表203选择,若上述选择的项目组合由四个项目构成,就从项目数4表204选择。作为选择的算法,例如有对上述被选择的项目组合适用适当的散列函数,将得到的散列值除以条目数的余数作为条目号的方法等。
在步骤902中若决定了使用的条目,就确认该条目的现状的内容(步骤903)。
若上述条目是未使用的情况,就在上述条目内的项目的种类字段和值字段中写入上述选择的项目组合内容,在将计数器值字段设为0之后(步骤904),在上述条目内的数据包数字段中加1(步骤905)。
此外,步骤903的结果,若上述条目在上述选择的项目组合中已经使用,就为了仍在上述条目内的计数器值中加1而向步骤905转移。
另一方面,步骤903的结果,在上述条目是在另外的项目组合中已经使用的情况下,从上述条目内的数据包数减1(步骤906),在结果变为0的情况下,跳跃到步骤904,否则就跳跃到步骤908(步骤907)。这是用于在不同项目的组合将要使用数据包计数表119内的同一条目的情况下,频繁出现的组合容易留在数据包计数表119内的处理。
接着,CPU116确认上述条目内的数据包数字段的值是否超过了规定的阈值(步骤908)。上述规定的阈值已存储在阈值表120中。阈值表120的内容如图3。可以定义多个阈值,可以对它们各自定义称作阈值等级的等级号。在图3的例子中,将阈值等级定义为从1到5的5级,但级数不限定于此。已通过输入输出装置102事先设定好了阈值表120的内容。
在步骤908中,在上述数据包数字段的值与阈值表120的阈值字段中已定义的值的某一个一致的情况下,CPU116判断为发生了超过阈值,生成阈值超过信息(步骤909)。阈值超过信息的内容如图8所示,由示出包含发生了阈值超过的条目的表的种类(在本实施例的情况下,是从项目数1表201到项目数4表204的某一个)的表类别801、示出上述条目的号码的条目号802、在阈值表120中与发生了上述阈值超过时的阈值相对应的阈值等级803、成为分析对象的通信量信息中包含的发送源IP地址804、接收方IP地址805、发送源端口号806、接收方端口号807、协议号808构成。将生成的阈值超过信息暂时存储在存储器117内。
对在步骤901中生成的项目组合的全部反复执行从步骤902到步骤909的处理(步骤910)。以上是步骤702的信息工作说明。
返回到图7的流程图,步骤702一完了,就确认存储器117中是否存在由步骤907生成的阈值超过信息(步骤703)。若存在,就执行判定该阈值超过信息是否是不适当的通信量的处理(步骤704)。在本实施例中,作为不适当的通信量,可以判定网络蠕虫的扩散通信量和对于网络上的计算机等的DDoS攻击通信量。
在此,使用另外的流程图说明步骤704中的问题通信量判别处理的详细。图10是示出步骤704的详细处理内容的流程图。
CPU116首先确认用上述阈值超过信息中的表类别801和条目号802确定的数据包计数表119中的条目中包含的项目的种类字段的内容(步骤1001)。
上述表类别801示出了项目数2表,在上述条目中包含的种类字段的值是发送源IP地址和接收方端口号的情况下,判断为上述阈值超过信息所示出的通信量有可能是网络蠕虫的扩散通信量,执行用于确认它的步骤1002以后的处理。
感染了网络蠕虫的计算机很多情况下对随机的许多计算机发送用于扩散蠕虫的通信量,并且,该通信量通常是给特定的端口号。因此,在观测到许多发送源IP地址和接收方端口号的组合相同的数据包的情况下,可以判定为上述数据包有可能是网络蠕虫的扩散通信量。
但是,为了判定上述数据包的确是网络蠕虫的扩散通信量的可能性高,需要也确认数据包计数表119中的其他的条目内容。这是因为,例如,在特定的2台计算机间进行了通常的一对一通信的情况下,也同样地观测到许多发送源IP地址和接收方端口号的组合相同的数据包。
于是,为了区别这样的正常通信量与网络蠕虫的扩散通信量,在项目数3表203内的条目中包含上述阈值超过信息的发送源IP地址和接收方端口号,并进一步作为第三个项目,检索种类字段是接收方IP地址的条目(步骤1002)。
在步骤1002中发现上述条目,并且该条目的数据包数字段的值对于判定为正常通信是充分大的值的情况下,判断为上述通信量是正常通信(步骤1003),否则就判定为上述通信量是网络蠕虫扩散通信量(步骤1004)。
此外,在步骤1001中示出了上述表类别801是项目数2表,在上述条目中包含的种类字段的值是接收方IP地址和接收方端口号的情况下,判断为上述阈值超过信息所示出的通信量有可能是DDoS攻击通信量,执行用于确认它的步骤1005以后的处理。
在受到DDoS攻击的计算机中,从许多其他计算机对同一端口号送来通信请求。因此,在观测到许多接收方IP地址和接收方端口号的组合相同的数据包的情况下,就可以判定为上述数据包有可能是DDoS攻击通信量。
但是,为了判定为上述数据包确实是DDoS攻击通信量的可能性高,因此,需要也确认数据包计数表119中的其他条目内容。这是因为,例如,在特定的2台计算机间进行了通常的一对一通信的情况下,也同样地观测到许多接收方IP地址和接收方端口号的组合相同的数据包。
于是,为了区别这样的正常通信量与DDoS攻击通信量,在项目数3表203内的条目中包含上述阈值超过信息的接收方IP地址和接收方端口号,并进一步作为第三个项目,检索种类字段是发送源IP地址的条目(步骤1005)。
在步骤1005中发现上述条目,并且该条目的数据包数字段的值对于判定为正常通信是充分大的值的情况下,判断为上述通信量是正常通信(步骤1006),否则就判定为上述通信量是DDoS攻击通信量(步骤1007)。以上是步骤704的详细工作说明。
在本实施例中,作为能检测的问题通信量的例子,示出了网络蠕虫扩散通信量和DDoS攻击通信量的判定方法,但利用本实施方式能检测的问题通信量不限定于此,利用数据包计数表119的分析,例如,在特定的计算机生成了过大的通信量时,也能够推断成为该通信量源的应用的种类(例如P2P文件交换等)。
返回到图7的流程图,在利用步骤704判定为在步骤702中生成的阈值超过信息是问题通信量的情况下(步骤705),CPU116检索对上述问题通信量的控制方法是否在控制策略表121中已记载(步骤706)。
图4是示出控制策略表121的结构的图。控制策略表121是对每种网络蠕虫扩散通信量和DDoS攻击通信量等通信量类别定义一个利用滤波器的中断和频带限制等控制内容的表。另外,能够对上述通信量类别设定IP地址和端口号等限定条件,这样,就能对同一通信量类别,每个不同的限定条件定义一个不同的控制内容。已通过输入输出装置102事先设定好了控制策略表121的内容。
在步骤706中,从控制策略表121检索具有在步骤704中判定的问题通信量的类别、和与在步骤702中生成的阈值超过信息中包含的信息(从阈值等级804到协议号809)吻合的通信量类别和限定条件的条目。
在步骤706中若发现了与上述问题通信量吻合的控制策略表121的条目(步骤707),CPU116就生成与写在上述条目中的控制内容相应的流控制设定信息510,向数据包传送处理部106发送(步骤708)。这时,将发现了问题通信量情况作为报告信息,在输入输出装置102中显示,或者进行在存储器117中记录等处理。
以上完成了对于在步骤701中取得的1个数据包的通信量信息的分析处理。若在通信量信息缓冲器118内剩有未处理的通信量信息,就反复步骤702以后的处理,若全部数据包的通信量信息的处理完成,就结束步骤509(步骤709)。以上是特定通信量检测控制部107中的通信量信息分析的详细处理内容。
根据本实施例,在网络间进行数据包的传送的网络控制装置中,具有即使与高速的网络连接,也能高效地从传送的数据包抽出认为是问题通信量的通信量,并且具有对该通信量自动进行中断和频带限制等对策的效果。
实施例2说明实施例2。图11示出了本实施方式的第二实施例的网络控制系统的结构图。图中,1101是进行网络103、104、105间的数据包传送的数据包传送处理装置,1102是分析从数据包传送处理装置收到的信息的网络控制装置。
数据包传送处理装置1101包括CPU1103、存储器1104、在网络103、104、105和网络控制装置1102之间进行数据包的收发的数据包收发部1105、流控制部1106。存储器1104中包括用于按照上述数据包中包含的发送目的地地址决定应该传送的网络的路径表1107、和用于暂时存储数据包收发部1105接收的数据包的数据包缓冲器1108。此外,在流控制部1106中包括流控制信息存储器1109,用于存储应该对上述数据包进行的滤除和频带限制的规则。
网络控制装置1102包括CPU1110、存储器1111、进行与数据包传送处理装置1101间的数据包传送的数据包收发部1112。存储器1111中包括存储从数据包传送处理装置1101送来的通信量信息的通信量信息缓冲器1113、用于根据上述通信量信息存储由数据包传送处理装置1101传送的数据包的统计值的数据包计数表1114、用于存储进行上述统计值的判定所需的阈值的阈值表1115、记述了在上述统计信息超过了上述阈值时应该进行的处理的控制策略表1116。
在以上的结构中,数据包传送处理装置1101从网络103、104、105一接收数据包后,生成有关该数据包的通信量信息并交给网络控制装置1102,并且,按照路径表1107的内容,将上述数据包发送给传送目的地网络。网络控制装置1102一边统计处理上述通信量信息,一边检测非法的通信量,根据需要生成用于进行上述非法通信量的滤除和频带限制的设定信息后发送给数据包传送处理装置1101,并设定在数据包传送处理装置1101内的流控制部1106中。
以下,使用图12的流程图说明图11的网络控制系统的详细工作的一例。首先,详细地说明从网络103、104、105的某一个向数据包收发部1105送到了数据包1201时的数据包传送处理装置1101的处理。
数据包1201到达数据包收发部1105后,开始数据包接收处理(步骤1202)。具体地说,向数据包缓冲器1108中写入由数据包收发部1105接收到的数据包1201的内容,并利用中断信号等向CPU1103通知数据包1201的到达。这时,流控制信息存储器1109中还没设定中断或者频带限制数据包1201的规则。
接着,CPU1103根据数据包缓冲器1108中存储的数据包的内容,生成通信量信息(步骤1203)。上述通信量信息的生成方法与图5的流程图的步骤503同样,其内容与图6中示出的通信量信息505的内容相同。或者,通信量信息1205也可以是仅镜像了上述数据包的信息。
接着,CPU109通过数据包收发部1105向网络控制装置1102发送上述数据包信息,作为数据包信息1205(步骤1204)。这时,流控制信息存储器1109中还没设定中断或者频带限制数据包信息1205的规则。
在步骤1204中,集中适当的数据包数的通信量信息后向网络控制装置1102发送,这一点也与图5的流程图的步骤504同样。
接着,CPU1103参照路径表1107,决定数据包缓冲器1108中存储着的数据包的传送目的地网络(步骤1206)。路径表1107的内容与图1中示出的实施例1的路径表113的内容同样。
最后,将数据包缓冲器1108中存储着的数据包作为数据包1208,向在步骤1206中决定的传送目的地网络发送(步骤1207)。
另一方面,在网络控制装置1102中,通过步骤1204的处理接收通信量信息1205后,将数据包收发部1112接收到的通信量信息1205的内容向通信量信息缓冲器1113存储,并利用中断信号等向CPU1110通知通信量信息1205的接收(步骤1209)。
向CPU1110通知通信量信息1205的传送后,CPU1110进行通信量信息1205的分析处理,在检测出不适当的通信量的情况下,生成用于进行该通信量的中断或者频带限制的流控制设定信息1211,并进行通过数据包收发部1112向数据包传送处理装置1101发送的处理(步骤1210)。
收到流控制设定信息1211的数据包传送处理装置1101,由CPU1103向流控制设定存储器1109中写入流控制设定信息1211的内容(步骤1212)。以后,流控制部1106对流控制设定信息1211中指定的数据包进行中断和频带限制等流控制设定信息1211中指定的控制。
网络控制装置1102的通信量信息分析处理(步骤1210)的内容与实施例1中的特定通信量检测控制部107的通信量信息分析处理(图5的步骤509)同样,省略详细的说明。数据包计数表1113、阈值表1115和控制策略表1116的内容分别与图1中示出的数据包计数表119、阈值表120和控制策略表121的内容同样。
以上是本实施例的网络控制系统的整体流程的说明。
根据本实施例,具有下述这样的效果,对于具有通过网络向外部发送有关传送的通信量的信息等的功能的现有的数据包传送装置,仅附加收集了有关上述通信量的信息后进行分析的装置,就能够容易地构成能高速地抽出认为是问题通信量的通信量,并且能对该通信量自动进行中断和频带限制等对策的网络控制系统。
实施例3说明实施例3。图13是示出了图2中示出的实施例1中的数据包计数表119的其他实施方式的图,与数据包计数表119同样,是用于生成构成通信量信息的各项目的任意组合、进行包含上述项目的组合的数据包数的累计处理的表。
本实施例的情况下,构成上述通信量信息的项目有发送源IP地址(srcip)、接收方IP地址(dst ip)、发送源端口号(src port)、接收方端口号(dst port)4种,从上述4种项目生成任意的n个项目(1≤n≤4)的组合。
再有,在本实施例中将处理对象项目设为上述4种,但也可以按照想检测的通信量的特征,进一步添加或者删除另外的项目。例如,也可以为了抽出有关TCP对话期的确立和切断处理的通信量,包含TCP报头中的标志信息。或者,也可以为了更正确地掌握通信量的特性,包含接在TCP报头或UDP报头后面的应用数据的先头几个字节。或者,在标记了MPLS标号的情况下,也包含上述MPLS标号的值,对每个LSP进行通信量的分析。或者,在使用L2TP等隧道技术协议时,包含通道标识符,对每个通道进行通过其中的通信量的分析。
在数据包计数表1300中,与组合项目数无关,全部的条目都具有构成上述通信量信息的项目的字段,上述项目中,若是构成组合的项目,就在上述字段中存储上述项目的值,若是除此以外的项目,就存储具有上述组合的数据包数的计数中出现的值的种类数。因此,在与上述各项目相对应的字段中具有表示上述字段中存储的数值是上述项目的值还是出现种类数的属性字段。
例如,在图13中,在条目号4的条目中出现了20个发送源IP地址是Z、接收方IP地址是Y、接收方端口号是d的数据包,表示上述20个数据包中包含的发送源端口号的种类是8种。
在使用数据包计数表1300的情况下,图7中示出的数据包计数表更新处理(步骤702)的流程是图14中示出的流程。以下,使用图14,关于使用了数据包计数表1300的情况下的步骤702的处理进行说明。
首先,CPU116在步骤1401中进行辅助表1500的初始化处理。
辅助表1500在具有图15所示的结构的表中由与上述项目的各个组合相对应的条目构成。在一个上述条目中,由关于上述组合中不包含的项目表示是否有新出现的值的新出现标志、和对上述项目的组合存储计数数据包数的数据包计数表1300中的条目号的字段构成。
所述辅助表1500的初始化处理,是对上述的全部条目,将上述新出现标志的全部值设定为0,将上述条目号的字段设定为表示无条目号的值的处理。
接着,CPU116根据上述4种项目生成从任意的n个选出的项目组合(步骤1402)。生成的项目组合可以是数学上得到的全部的组合,但也可以以根据处理负荷的减轻而高速化为目的,限定于一部分的组合。
接着,从在步骤1402中生成的项目组合中选择一个,并决定用于累计包含上述选择的项目组合的数据包数的数据包计数表1300内的条目(步骤1403)。作为选择的算法,例如有对上述被选择的项目组合适用适当的散列函数,将得到的散列值除以条目数的余数作为条目号的方法等。
在步骤1403中决定了所使用的条目后,确认该条目的现状的内容(步骤1404)。
若上述条目是未使用的情况,就在上述条目内的各项目中,关于上述组合中包含的项目,将其属性字段作为“值”,写入上述项目的值,关于上述组合中不包含的项目,将其属性字段作为“出现种类数”,将其值设为0。然后,将数据包数字段设为0(步骤1405)。
接着进行辅助表1500的更新处理(步骤1406)。具体地说,在与从上述组合去掉了任意一个项目的组合相对应的辅助表1500中的条目的新出现标志中,将与上述去掉后的项目相对应的字段的值设为1。关于从上述组合去掉了任意一个项目后的全部的组合实施该处理。步骤1406的处理的作用在于对某个项目的组合存储在上述组合中不包含的项目中出现了新的值。
接着,在步骤1403中选择的条目内的数据包数字段中加1(步骤1407),在与辅助表1500中的上述组合相对应的条目的条目号字段中,存储在步骤1403中选择的数据包计数表1300的条目的条目号(步骤1408)。
另一方面,步骤1404的结果,若上述条目在上述选择的项目组合中已经使用着,则为了仍在上述条目内的数据包数上加1而向步骤1407转移。由于上述条目在上述已经选择了的项目组合中已经使用是表示过去出现过的项目的组合,因此,不需要更新辅助表1500的新出现标志,从而不需要执行步骤1406。
另一方面,步骤1404的结果,在上述条目在另外项目的组合中已经使用的情况下,从上述条目内的数据包数减1(步骤1409),在结果变为0的情况下,向步骤1405跳转,否则就向步骤1411跳转(步骤1410)。这是用于在不同项目的组合将要使用数据包计数表1300内的同一条目的情况下频繁出现的组合容易留在数据包计数表1300内的处理。
接着,CPU116确认上述条目内的数据包数字段的值是否超过了规定的阈值(步骤1411)。上述规定的阈值已存储在阈值表120中。
在步骤1411中,在上述数据包数字段的值与阈值表120的阈值字段中定义着的值的某一个一致的情况下,CPU116就判断为发生了阈值超过,并生成阈值超过信息(步骤1412)。本实施例中的阈值超过信息的内容是从图8中示出的阈值超过信息除去了表类别801的内容。将生成的阈值超过信息暂时存储在存储器117内。
对在步骤1402中生成的项目组合的全部反复执行从步骤1403到步骤1412的处理(步骤1413)。
最后,参照辅助表1500,更新在数据包计数表1300中的各条目中属性字段的值变为“出现种类数”的项目的值(步骤1414)。具体地说,对于用辅助表1500的各条目的条目号字段表示的数据包计数表1300的条目,将与上述辅助表1500的条目的新出现标志为1的项目相对应的值增加1。关于辅助表1500的全部条目执行该处理。
以上是本实施例的使用了数据包计数表1300的情况下的步骤702的详细工作说明。
另外,在使用了本实施例的数据包计数表1300的情况下,将图7中示出的问题通信量判别处理(步骤704)的流程置换为图16中示出的流程。以下,使用图16,关于使用了数据包计数表1300的情况下的步骤704的处理进行说明。
CPU116首先确认在用上述阈值超过信息中的条目号802确定的数据包计数表1300中的条目中包含的项目中的、属性字段成为“值”的项目的组合(步骤1601)。
在上述条目中包含的项目中属性字段成为“值”的项目的组合是发送源IP地址和接收方端口号的情况下,判断为上述阈值超过信息所示出的通信量有可能是网络蠕虫的扩散通信量,执行用于确认它的步骤1602以后的处理。
感染了网络蠕虫的计算机很多情况下对随机的许多计算机发送用于扩散蠕虫的通信量,并且,该通信量通常是给特定的端口号。因此,在观测到许多发送源IP地址和接收方端口号的组合相同的数据包的情况下,可以判定为上述数据包有可能是网络蠕虫的扩散通信量。
但是,例如,在特定的2台计算机间进行了通常的一对一通信的情况下,也同样地观测到许多发送源IP地址和接收方端口号的组合相同的数据包。于是,为了区别这样的正常通信量与网络蠕虫的扩散通信量,确认上述条目中示出的接收方IP地址的出现种类数(步骤1602)。
在步骤1602中,在上述出现种类数是与上述阈值相等或相近的值的情况下,意味着上述通信量对不特定多的计算机发送了同一接收方端口号的数据包,判定为上述通信量是网络蠕虫扩散通信量的可能性高(步骤1603)。
此外,在步骤1601中,在上述条目中包含的项目中属性字段成为“值”的项目的组合是接收方IP地址和接收方端口号的情况下,判断为上述阈值超过信息表示的通信量有可能是DDoS攻击通信量,执行用于确认它的步骤1604以后的处理。
在受到DDoS攻击的计算机中,从许多其他计算机对同一端口号送来通信请求。因此,在观测到许多接收方IP地址和接收方端口号的组合相同的数据包的情况下,就可以判定为上述数据包是DDoS攻击通信量的可能性高。
但是,例如,在特定的2台计算机间进行了通常的一对一通信的情况下,也同样地观测到许多接收方IP地址和接收方端口号的组合相同的数据包。于是,为了区别这样的正常通信量与DDoS攻击通信量,确认上述条目中示出的接收方IP地址的出现种类数(步骤1604)。
在步骤1604中,在上述出现种类数是与上述阈值相等或相近的值的情况下,意味着上述通信量对不特定多的计算机发送了同一接收方IP地址且同一接收方端口号的数据包,判定为上述通信量是DDoS攻击通信量的可能性高(步骤1605)。
以上是本实施例的使用了数据包计数表1300的情况下的步骤704的详细工作说明。
根据本实施例,由于能够与项目的各个组合的数据包数的计数同时计数组合中不包含的项目的出现种类数,因此,有能够用更少的CPU负荷高速执行问题通信量的判别的效果。另外,通过能够高速化基本的问题通信量判别处理,具有也能够用实用的CPU负荷和处理速度执行对于其他项目的组合的并用了数据包数的计数信息的更高精度的问题通信量判别处理的效果。
例如,在步骤704中、即判定为通信量是DDoS攻击的可能性高时,通过并用对于其他项目的组合的计数信息,能识别这确实是攻击还是仅是大量地发生了来自许多计算机的正常的访问。该情况下,所述其他项目的组合是从成为攻击对象的计算机发送的反向的通信量,具体地说,发送源IP地址是被判定为攻击的通信量的接收方IP地址,在发送源端口号成为被判定为上述攻击的通信量的接收方端口号的2个项目的组合中,有许多接收方IP地址的出现种类数。从数据包计数表1300检索上述其他组合的计数信息,若其数据包数与DDoS攻击的判定中利用的项目组合的数据包数在同等以上,则意味着返回了相当数量的响应数据包,可以判断为不是DDoS攻击而是正常的访问集中的可能性高。
再有,在上述说明中示出了在实施例1示出的结构(图1的结构)中用本实施例的数据包计数表1300置换了数据包计数表119的情况的例子,但在实施例2中示出的结构(图11)中,将数据包计数表1114置换为本实施例的数据包计数表1300也具有同样的效果。
以上用实施例进行了说明,但其他的实施方式1中,累计数据包中的任意一个或两个以上的组合的字段值相同的数据包的数量的装置是如下的网络控制装置,即,该网络控制装置根据字段的值的组合的散列值求出保持数据包数的累计值的区域,并在其他项目的组合的累计值的保持中已经利用了所得到的区域的情况下,减去其他的项目组合的累计值,仅在累计值等于0时利用于项目组合的数据包数的累计中。
其他的实施方式2中,进行监视的装置是仅监视按照装置管理者指定的比例采样了数据包的网络控制装置。
其他的实施方式3中,进行监视的装置是对具有装置管理者指定的特征的数据包全部进行采样的网络控制装置。
其他的实施方式4中,一种网络控制装置,具有与多个网络连接,在网络之间进行数据包的传送的单元;进行对数据包的可否传送和使用网络频带的控制的流控制单元,该网络控制装置按照由数据包判别装置得到的特性变更流控制单元的设定。
其他的实施方式5中,一种网络控制装置,具有按照由数据包判别装置得到的特性,发送用于指示在数据包判别装置中成为判别对象的数据包的控制方法的流控制信息的单元。
其他的实施方式6中,一种网络控制系统,其特征在于,由数据包传送装置和上述网络控制装置构成,所述数据包传送装置具有与多个网络连接,在上述网络之间进行数据包的传送的单元;发送上述数据包的监视信息的单元;进行对上述数据包的可否传送和使用网络频带的控制的流控制单元;接收对上述流控制装置的设定信息的单元,上述网络控制装置从上述数据包传送装置接收上述监视信息,对上述数据包传送装置发送流控制信息。
其他的实施方式7中,一种网络控制方法,监视在连接的网络上流过的数据包,对由监视器得到的数据包中的包含任意一个或两个以上的字段的第一组合的字段的值相同的数据包的数量进行累计;在所累计的数据包的数量超过了指定的阈值时,根据与上述第一组合不同的包含任意一个或两个以上的字段的第二组合的字段的值,对超过了上述指定的阈值的数量的数据包的特性进行推断。
权利要求
1.一种网络控制装置,控制收发数据包的网络,其特征在于,具有第一计数部,对数据包的流信息中包含的多个项目中的、任意多个项目的第一项目组一致的数据包进行计数;第二计数部,对上述流信息中的、除了上述第一项目组以外的项目一致的数据包进行计数;特定通信量检测部,在上述第一计数部的计数超过了规定值时,利用该第一计数部的计数和上述第二计数部的计数来判定异常种类。
2.如权利要求1所述的网络控制装置,其特征在于,具有数据包接收部,从线路接收数据包;流信息取得部,从在上述数据包接收部中接收到的数据包取得流信息。
3.如权利要求1所述的网络控制装置,其特征在于,上述流信息包括发送源IP地址、接收方IP地址、发送源端口号和接收方端口号中的至少一个项目。
4.如权利要求1所述的网络控制装置,其特征在于,在上述第一计数部中计数的包括发送源地址的项目和接收方端口号的项目的上述第一项目组一致的数据包的计数超过了规定值时,上述特定通信量检测部判定在上述第二计数部中计数的包括发送源地址的项目和发送源端口号的项目的第二项目组一致的数据包的计数是否超过了规定值。
5.如权利要求4所述的网络控制装置,其特征在于,在判定为上述第二项目组一致的数据包的计数超过了规定值时,上述特定通信量检测部将该数据包的异常种类判定为网络蠕虫。
6.如权利要求1所述的网络控制装置,其特征在于,在上述第一计数部中计数的包括接收方地址的项目和接收方端口号的上述第一项目组一致的数据包的计数超过了规定值时,上述特定通信量检测部判定在上述第二计数部中计数的包括发送源地址的项目和发送源端口号的项目的第二项目组一致的数据包的计数是否超过了规定值。
7.如权利要求6所述的网络控制装置,其特征在于,在判定为上述第二项目组一致的数据包的计数超过了规定值时,上述特定通信量检测部将该数据包的异常种类判定为DDoS攻击。
8.如权利要求1所述的网络控制装置,其特征在于,在上述第一计数部中计数的包括发送源地址的项目和接收方端口号的项目的上述第一项目组一致的数据包的计数超过了规定值时,上述特定通信量检测部判定在上述第二计数部中计数的接收方地址一致的数据包的计数是否满足规定条件。
9.如权利要求8所述的网络控制装置,其特征在于,在判定为上述第二计数部中计数的接收方地址一致的数据包的计数满足上述规定条件时,上述特定通信量检测部将该数据包的异常种类判定为网络蠕虫。
10.如权利要求1所述的网络控制装置,其特征在于,在上述第一计数部中计数的包括接收方地址的项目和接收方端口号的项目的上述第一项目组一致的数据包的计数超过了规定值时,上述特定通信量检测部判定在上述第二计数部中计数的发送源地址的计数是否满足规定条件。
11.如权利要求10所述的网络控制装置,其特征在于,在判定为上述第二计数部中计数的发送源地址一致的数据包的计数满足上述规定条件时,上述特定通信量检测部将该数据包的异常种类判定为DDoS。
12.一种网络控制装置,其特征在于,具有与一个以上的网络连接的连接单元;监视上述网络上流过的数据包的单元;对由上述进行监视的单元得到的数据包中的包含任意一个或两个以上的字段的第一组合的字段的值相同的数据包的数量进行累计的单元;在累计后的数据包数超过了指定的阈值时,根据与上述第一组合不同的包含任意一个或两个以上的字段的第二组合的字段的值,对超过了上述指定阈值的数量的数据包的特性进行推断的单元。
13.如权利要求12所述的网络控制装置,其特征在于,具有在上述第一组合的字段的值相同的数据包中,对该第一组合中不包含的字段的值的出现数的出现数进行累计的累计单元,上述数据包推断单元根据上述第二组合的字段的值和在上述出现数累计单元中累计的出现数的某一个或两个,推断上述数据包的特性。
14.如权利要求12所述的网络控制装置,其特征在于,上述第一组合累计单元从上述字段的值的组合的散列值求保持上述数据包数的累计值的区域,在得到的上述区域在其他项目的组合的累计值的保持中已经被利用了的情况下,减去上述其他的项目组合的累计值,仅在上述累计值变为0时,在上述项目组合的数据包数的累计中利用。
15.如权利要求12所述的网络控制装置,其特征在于,上述监视单元监视采样了的数据包。
16.如权利要求12所述的网络控制装置,其特征在于,包括与多个网络连接,在上述网络之间进行数据包的传送的单元;进行对上述数据包的可否传送和使用网络频带的控制的流控制单元,上述流控制单元按照由上述数据包判别单元得到的特性变更设定。
17.如权利要求12所述的网络控制装置,其特征在于,包括按照由上述数据包判别单元得到的特性,发送用于指示在上述数据包判别单元中成为判别对象的数据包的控制方法的流控制信息的单元。
18.一种网络控制系统,其特征在于,由权利要求17所述的网络控制装置和数据包传送装置构成,所述数据包传送装置具有与多个网络连接,在上述网络之间进行数据包的传送的单元;发送上述数据包的监视信息的单元;进行对上述数据包的可否传送和使用网络频带的控制的流控制单元;接收对上述流控制装置的设定信息的单元,上述网络控制装置从上述数据包传送装置接收上述监视信息,对上述数据包传送装置发送流控制信息。
19.一种网络控制方法,控制网络,其特征在于,监视在连接的网络上流过的数据包,对由监视器得到的数据包中的包含任意一个或两个以上的字段的第一组合的字段的值相同的数据包的数量进行累计;在所累计的数据包的数量超过了指定的阈值时,根据与上述第一组合不同的包含任意一个或两个以上的字段的第二组合的字段的值,对超过了上述指定的阈值的数量的数据包的特性进行推断。
20.如权利要求19所述的网络控制方法,其特征在于,在上述第一组合的字段的值相同的数据包中,累计该第一组合中不包含的字段的值的出现数,根据上述第二组合的字段的值和上述累计后的出现数,推断超过了上述指定的阈值的数据包的特性。
全文摘要
本发明研究了一种能在网络中高速地抽出非法的通信量后判定其特性的技术。公开了如下的技术,即,设置了对每个进行传送的数据包的报头部分中所包含的项目的任意组合累计数据包数的单元、和判定该单元的累计值是否超过了规定的阈值的单元,在数据包数超过了阈值时,根据项目的组合和与项目的组合不同的组合的累计值,判定进行传送的数据包的类别。
文档编号H04L12/56GK1845509SQ20061005505
公开日2006年10月11日 申请日期2006年2月28日 优先权日2005年4月6日
发明者渡边义则, 矶部隆史, 樋口秀光 申请人:阿拉克斯拉网络株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1