一种因特网服务提供者安全防护的实现方法

文档序号:7630108阅读:176来源:国知局
专利名称:一种因特网服务提供者安全防护的实现方法
技术领域
本发明涉及一种ISP的安全防护技术,尤指一种在出口路由器上对流入目的网络的数据流进行实时监控和处理,能有效抵御ISP遭受流量攻击的ISP安全防护方法。
随着因特网(Internet)的飞速发展与普及,网络用户越来越多,于是,Intenet服务提供者(ISP)应运而生。ISP典型的组网结构如

图1所示,在ISP局域网中,一般由交换机、接入服务器和Web服务器组成,交换机上行连至ISP出口路由器;ISP出口路由器汇聚了接入服务器及各专线用户的业务流,通过ATM、POS或GE接口连至骨干IP网。
在ISP网络中,主要包含的业务流为拨号用户访问本地Web服务器;拔号用户访问外部网络;专线用户访问本地Web服务器;外部用户访问本地Web服务器。于是,在对Web服务器访问的过程中,就夹杂着网络黑客对ISP站点的攻击,他们采用各种手段攻击ISP的站点,导致ISP的系统被破坏,甚至崩溃,使其无法为用户提供服务。
从目前全球ISP的运营情况来看,ISP最常受到黑客攻击的攻击形式是流量攻击。流量攻击的方法非常简单,就是世界各地的多台设备有组织地同时向目标机(某拨号用户IP地址)发送干扰报文,产生巨大的数据流量,导致ISP局域网繁忙、接入服务器无法正常工作,采用的方式是分布式攻击方法。目前国内部分ISP被攻击的主要手段就是采用流量攻击,黑客通过多台设备向某拨号IP地址PING大报文,导致ISP局域网繁忙,影响接入服务器的正常工作,使正常拨号用户上网极慢。
当然,ISP除了受到上述流量攻击以外,还会受到一些其他形式的攻击,如DOS、窃听报文与端口扫描、IP地址欺骗、源路由攻击、应用层攻击等等。
针对上述黑客攻击方式,目前最常用的安全防护措施是在ISP的出口路由器上运用防火墙、地址转换和流量控制(CAR)等技术。虽然,对于诸如窃听报文与端口扫描、IP地址欺骗、源路由攻击、应用层攻击等攻击方式可通过现有的防火墙、地址转换、身份认证、数据加密等技术实施有效的控制。但是,对于流量攻击这种主要的攻击方式而言,由于ISP的业务模式以及攻击的分布式、随意性等特点,这些安全防护技术在实际应用中都存在着不同程度的问题1)防火墙,是在接口上应用存储控制列表(ACL)来过滤报文,可以解决访问控制的问题,但不具备流量控制能力。
2)地址转换,所谓地址转换是指在报文发送到外部网前,该用户的私网地址先被出口路由器做转换,即将报文的(源地址-私网、源端口)转换为(源地址-公网、源端口new),该路由器保留这个映射;当报文返回时,再转换回来。由于路由器保留的动态映射表可能很大,一般采用HASH来查找。
该方法主要解决内部网信息隐匿和IP地址短缺的问题,但是,在FTP、SNMP、SMTP等一些应用中,其报文的内容中还包含地址信息,所以仅仅转换报文的源地址是没有用的,还需要转换报文应用层中的地址信息,这对一些标准协议还容易做,而对于一些私有协议就无法实现了,因此使其支持的业务类型受到限制。而且该方法也无法实施流控。
3)流量控制,CAR可以对特定的业务流实施流控,但其配置复杂、效率低、扩展性差,考虑到拨号用户IP地址的动态分配,其在实际中应用非常困难。
有鉴于此,本发明的主要目的在于提供一种ISP安全防护的实现方法,使其能更有效的抵御ISP所遭受到的流量攻击,且实现起来简单方便、灵活可靠。
为达到上述目的,本发明的技术方案具体是这样实现的
一种因特网服务提供者(ISP)安全防护的实现方法,该方法至少包括以下的步骤a.当ISP出口路由器中的ISP管理器(ISPKeeper)要向目的网络转发当前接收到的报文时,首先通过HASH算法判断该报文所属的数据流是否为ISPKeeper中的已有记录,如果是,则进入步骤c;否则,进入步骤b;b.如果所要转发的报文属于一个新的数据流,则匹配该报文所属数据流的配置信息并判断是否匹配成功,如果匹配成功,则将匹配所得到的该数据流的配置信息存储记录;如果没有匹配成功,则查找配置信息中是否定义了缺省值,如果有,则将缺省的配置信息存储记录,然后进入步骤c;如果没有定义缺省值,则由ISPKeeper将当前接收到的报文直接转发给相应的目的网络设备;c.检测当前数据流流量是否满足用户配置的参数,如果不满足,则将当前收到的报文丢弃,如果流量满足要求,则继续检测总数据流量并判断总配置参数是否正常?如果不正常,则丢弃该报文,否则,如果正常,则由ISPKeeper将当前的报文转发给相应的目的网络设备。
步骤a中所述的目的网络为ISP局域网、或城域网、或广域网。步骤c中所述的用户配置参数至少包括单个数据流的传输带宽或平均速率、突发长度。步骤c中所述的总配置参数至少包括数据流的总平均速率和总突发长度。所述的数据流为外部网络访问目的网络中网络设备的数据流,或为拨号用户上网返回的数据流。
步骤a中的匹配数据流的配置信息进一步包括以下步骤首先根据该报文所属数据流的目的IP地址在配置信息中找到相应的IP地址段定义,再按照地址段的定义找到该地址段的配置信息,并将该配置信息存储记录于数据流配置信息数组的相应位置。
该方法还进一步包括以下步骤在初始化出口路由器时,预先设置一个存储数据流配置信息的数组。其中,该数组大小为可容纳所要识别的IP地址范围内所有数据流的数组,且数组的每个元素与一个目的IP地址一一对应。
该方法还进一步包括以下的步骤在初始化出口路由器时,预先设定数据流的配置信息。其中的配置信息至少包括数据流的起始IP地址、结束IP地址、接口配置模式;每个数据流的传输带宽或平均速率、突发长度;以及总数据流的总平均流量、总突发长度。
步骤a中所述的HASH算法是指依据数据流中每个报文目的IP地址中的后16位将该报文定位到数据流配置信息数组的相应元素位置。当按HASH算法将所收到的数据流报文定位到数据相应元素位置,而此时该位置已有数据流配置信息时,则在此位置建立一数据链表,按目的IP地址的前16位依序存储对应的数据流配置信息。
从上述实现方案可以看出,本发明借助了防火墙、地址转换以及流量控制三种技术的实现思想,如地址转换中的HASH查找思想、CAR中的控制流量的思想、防火墙中的报文匹配思想,有效的结合在一起,并加以改进,称之为ISP管理器(ISPKeeper)。其关键在于将ISPKeeper放置于出口路由器上,对进入目的网络的数据流的流量进行实时分析和监控,ISPKeeper用HASH算法自动识别记录每个数据流,并根据预先设定的配置信息检测每个数据流和总数据流的流量是否正常,如果不正常就丢弃报文,正常时才发送给相应的Web服务器或其它网络设备。当收到的数据流报文属于一新数据流时,要先匹配该报文,并记录该数据流的配置信息,然后再做处理,而该数据流的其它报文不需再匹配。
由此可见,本发明所提供的ISP安全防护的实现方法,将防火墙、地址转换和流量控制三种技术相结合,使其能够更有效的防止黑客的攻击,实现ISP的安全防护。请参见表一所示,表一对本发明的方法与目前通用的三种安全防护方法做出了一个全面的比较,可以看出,本发明具有更强的防护能力、更简单灵活的识别方法。
表一 几种安全防护的比较下面配合附图对本发明的详细技术内容作进一步的说明如下图1为ISP典型的组网结构示意图;图2为ISP受到的典型攻击形式示意图;图3为流入ISP局域网的业务流分析图;图4为本发明方法实现的流程图;图5为本发明一实施例组网结构示意图;图6为本发明另一实施例组网结构示意图。
防止黑客对ISP攻击的关键是要对进入ISP的数据流的来源和流量进行实时监控和及时处理,通过有效的手段滤去非正常的数据,以保证正常用户的上网需求。参见图2所示,流入ISP局域网的业务流大体分为两类1)用户上网返回的数据流。该数据流以目的IP地址来区分,每个数据流占用一定的带宽,如上网用户平均速率最多128K,数据流个数可控、可配置;2)访问Web服务器的数据流。该数据流的目的IP地址属于特定地址段,如10.110.1.0/0.0.0.255,用IP五元组(源地址、目的地址、协议类型、源端口、目的端口)来区分,这些数据流占用的总带宽可控、可配置,数据流个数可控、可配置。
上面所述的可控、可配置是指可以通过配置参数来预先设置其合理的范围,即设置一阈值,超出该值则认为不合理,应该禁掉。举个例子来说对于PSTN或ISDN上网返回的数据流,其平均流量应为128kbps,那么,如果流量超过128kbps就认为是不合理的、应该禁掉。可由以下语句具体实现
ispkeeper-group 10 single 128000 16000该命令确保每一个数据流的平均流量和突发长度为固定值,即设定每个单独的数据流的平均流量最高为128Kbps,而突发长度最多为16Kbyte。至于本发明方法在实际应用时的具体配置,主要取决于ISP所选用的流量模型,各个参数的取值本身没有什么限制。
为了实现本发明对所收到的数据流进行判断处理,首先要在出口路由器上预先对每个数据流的带宽或平均速率、突发长度,以及总数据流的平均流量和突发长度等参数的合理范围进行配置。
比如设置从外部流入ISP局域网内的、目的IP地址为10.110.1.*的数据流,即外部访问Web服务器、FTP服务器等的数据流,其占用ISP局域网的带宽或平均速率最多为5M、突发数据量为800K字节,数据流总数为1000个。同时设置其它从外部流入ISP局域网内的数据流,即用户上网返回的数据流,每个最多只能占用局域网128K的带宽(平均速率)、突发数据量为8K字节,数据流总数为20000个。可由以下语句具体实现上述配置interface eth 1/0/0ispkeeper 10.110.1.0 0.0.0.255 5000000 800000 1000ispkeeper default 131012 8000 20000其次,还要在出口路由器上预先生成一个足以容纳下所有要识别的IP地址范围内数据流信息的数据流配置信息数组,该数组的每个元素与一个IP地址一一对应,用于存储不同目的IP地址数据流的配置信息。比如要识别、记录目的地址在10.110.0.0~10.110.255.255范围中的每一个数据流,则先生成一个有65536个元素的数组,每个数组元素对应一个IP地址。收到一个报文后,直接根据该报文目的地址的后16位定位到数据流配置信息数组的相应元素,记录该数据流的相关信息。在实际操作过程中,对于每个收到的数据流,用HASH算法查找数组中是否已有该记录,如果有直接定位读取其信息,如果没有,则用第一个报文目的IP地址定位,然后匹配并记录配置信息。如果该报文定位到对应位置时发现该位置已经有一个数据流的记录,则在该位置建立一个数据链表,按目的IP地址的前16位依序记录每个数据流的配置信息,该数据流后面的报文无需再匹配,不象防火墙方式那样对每一个报文都需要匹配。非常简便,效率非常高。
本发明方法的根本思想是对于由给定的起始地址和结束地址所构成的一个地址段,通过对到达地址段中所有地址的总数据流平均速率和总突发长度的配置以及对到地址段中单个IP地址即单个数据流的平均速率及突发长度的配置,利用令牌桶(Token Bucket)算法进行流量的控制。所谓Token Bucket算法是指设定一个漏桶,给定该漏桶流出的速率(即配置给定的数据流平均速率),及漏桶桶长(即突发长度),某一时刻来了一个数据流,如果该数据流长度比漏桶桶长大,表明漏桶将会溢出,则此数据流要丢弃,否则,根据上一次数据到达的时间和本次的时间间隔,计算漏桶流出的长度,得到漏桶实际空出的长度,如果数据流的长度比漏桶实际空出的长度大,则也表明漏桶将会溢出,则此数据流要丢弃,如果数据流的长度比漏桶实际空出的长度小,则数据流放入漏桶,等待处理。
针对上面对ISP业务流结构的分析,同时配合图4所示,本发明方法的具体实现至少包括以下的步骤1)当ISPKeeper要向ISP局域网转发一个接收到的报文时,首先通过HASH算法判断该报文所属的数据流是否属于ISPKeeper的已有记录,也就是按照目的IP地址的后16位到存储数据流配置信息数组的相应位置查找是否已有该IP地址数据流的配置参数和统计信息?如果有,则进入步骤3);否则,进入步骤2)。
2)如果所要转发的报文属于一个新的数据流,即当前报文所属的数据流在存储数据流配置信息数组的相应位置没有存储任何信息,则按照其IP地址段信息先找到相应的IP地址段定义,再按照地址段的定义找到该地址段的配置信息进行匹配,并判断是否匹配成功?如果匹配成功,则将匹配后得到的该IP地址段数据流的配置参数和统计信息存储到数据流配置信息数组的相应位置。如果此时该位置已有一数据流数据,而该数据流的IP地址与当前数据流地址只在后16位相同,则用目的IP地址的前16位依序在该位置建立一链表存储数据流信息。如果没有匹配成功,即在配置信息中没有找到该IP地址段的定义,则查找配置信息中是否定义了缺省值,如果有,则将缺省的配置信息放置到数据流配置信息数组的相应位置,而后进入步骤3);如果没有,则由ISPKeeper将当前的报文转发给相应的目的网络设备。
3)利用Token Bucket算法检测当前数据流流量是否满足用户配置的参数(单个平均速率、单个突发长度),如果不满足要求,将该报文丢弃,如果流量满足要求,继续检测总数据流,即根据该数据流所属的地址段,对该地址段中所有地址的数据流求总和,根据接口配置模式下配置到指定地址段的数据流的配置参数一总平均速率和总突发长度由Token Bucket算法检测总流量是否正常?如果不满足要求,则丢弃该报文,否则,如果满足则由ISPKeeper将当前的报文转发给相应的目的网络设备。
采用上述方法对单个ISP实施安全防护时,如图5所示,其中,访问该ISP局域网的数据流的IP地址段为10.111.*.*,访问该ISP拨号用户的数据流的IP地址段为10.110.*.*。为了对图中ISP实施保护,首先在ISP出口路由器上创建一个有65535个元素的数组,同时,在ISP出口路由器上做如下配置Ispkeeper-list 1 10.111.0.0 10.111.255.255/*该命令确定了访问ISP局域网的数据流*/interface eth I/0/0/*进入与ISP局域网相连的以太网接口配置模式*/Ispkeeper-group 1 total 5000000 80000/*该命令将访问ISP局域网的数据流的总的平均流量设置为5Mbps、突发长度设置为80Kbyte*/ispkeeper-default single 128000 8000/*该命令将其余的访问拔号用户的数据流的每一个数据流的平均流量设置为128Kbps、突发长度设置为8Kbyte*/上述配置给出了单个数据流平均流量的上限,以及总数据流的平均流量。如此,当ISP收到一数据流报文后,先按HASH算法在数据流配置信息数组中查找是否已有该数据流的记录,如果有,就检测该数据流的平均流量是否小于等于128K,且检测其总数据流的流量是否在5Mbps之内,如果是才传送该报文给目的网络设备,否则丢弃该报文。如果数组中没有此记录,则根据上述配置匹配该报文,并将相应的配置信息记录在数组中,然后再根据流量决定传送或丢弃报文。
本发明的方法不仅可针对一个ISP局域网,还可对一个城域网或广域网中的多个ISP实施安全防护。以某省网的组网结构为例,该省网由多个ISP构成,其组网结构如图6所示。其实施安全防护的工作原理与实现过程与单个ISP完全相同,只是预先的配置设定不太相同,要分别对多个ISP中的每个ISP涉及的数据流IP地址段和参数进行设定,并在流量判断时根据不同的IP地址段数据流对应的配置信息进行检测。图6中多个ISP具体的配置设定可由如下语句实现Ispkeeper-list 10 10.110.0.0 10.110.255.255/*该命令确定了访问ISP1,即IP地址段为10.110.*.*的拨号用户数据流*/Ispkeeper-list 11 10.111.0.0 10.111.255.255/*该命令确定了访问ISP1,即IP地址段为10.111.*.*的局域网数据流*/Ispkeeper-list 20 20.110.0.0 20.110.255.255/*该命令确定了访问ISP2,即IP地址段为20.110.*.*的拨号用户数据流*/
lspkeeper-list 21 20.111.0.0 20.111.255.255/*该命令确定了访问ISP2,即IP地址段为20.111.*.*的局域网数据流*/interface atm 1/0/0/*进入与省内部网相连的ATM接口配置模式*/Ispkeeper-group 11 total 5000000 80000/*该命令将访问ISP1局域网的数据流的总的平均流量设置为5Mbps、突发长度设置为80Kbyte*/Ispkeeper-group 10 single 128000 8000/*该命令将访问ISP1拨号用户的数据流的每一个数据流的平均流量设置为128Kbps、突发长度设置为8Kbyte*/Ispkeeper-group 21 total 5000000 80000/*该命令将访问ISP2局域网的数据流的总的平均流量设置为5Mbps、突发长度设置为80Kbyte*/Ispkeeper-group 20 single 128000 8000/*该命令将访问ISP2拨号用户的数据流的每一个数据流的平均流量设置为128Kbps、突发长度设置为8Kbyte*/本发明在数据维护,也就是对数据流配置信息数组进行老化处理方面,是由系统定期检测各个用户数据流,主要有两种方式(1)定时处理。在给定时间间隔内,检测各个用户数据流,如果平均流量超过配置时给定的平均流量上限时,即出现了异常(有大的数据流)时,需要通过Syslog输出告警信息。
(2)包驱动,不可配置的自动检测。其又分为两种情况一种为每隔15分钟检测用户数据流,如果某一用户长时间无数据到达,表明该数据流处于空闲状态,则清除该用户数据流信息,另一种为对某一数据流,如果在配置项中找不到匹配的流量参数,则直接清除该数据流的信息。
本发明的方法ISPKeeper主要采用了Token Bucket及Hash等技术,沿用了地址转换简易的配置风格,配置简单、灵活,运行高效,并提供丰富的统计信息及日志信息。通过在ISP出口路由器与ISP局域网相连的接口上,或ISP出口路由器与骨干IP网相连的接口上配置ISPKeeper,可很好地抵御黑客对ISP进行的流量攻击。
本发明在充分考虑到ISP的组网结构、业务模式及黑客攻击特点的基础上,将现有的防火墙、地址转换及CAR等技术有效地结合在一起,互补其不足之处,从而更有效地抵御ISP所遭受的流量攻击。
权利要求
1.一种因特网服务提供者(ISP)安全防护的实现方法,其特征在于该方法至少包括以下的步骤a.当ISP出口路由器中的ISP管理器(ISPKeeper)要向目的网络转发当前接收到的报文时,首先通过HASH算法判断该报文所属的数据流是否为ISPKeeper中的已有记录,如果是,则进入步骤c;否则,进入步骤b;b.如果所要转发的报文属于一个新的数据流,则匹配该报文所属数据流的配置信息并判断是否匹配成功,如果匹配成功,则将匹配所得到的该数据流的配置信息存储记录;如果没有匹配成功,则查找配置信息中是否定义了缺省值,如果有,则将缺省的配置信息存储记录,然后进入步骤c;如果没有定义缺省值,则由ISPKeeper将当前接收到的报文直接转发给相应的目的网络设备;c.检测当前数据流流量是否满足用户配置的参数,如果不满足,则将当前收到的报文丢弃,如果流量满足要求,则继续检测总数据流量并判断总配置参数是否正常?如果不正常,则丢弃该报文,否则,如果正常,则由ISPKeeper将当前的报文转发给相应的目的网络设备。
2.根据权利要求1所述的实现方法,其特征在于步骤a中所述的目的网络为ISP局域网、或城域网、或广域网。
3.根据权利要求1所述的实现方法,其特征在于所述的数据流为外部网络访问目的网络中网络设备的数据流,或为拨号用户上网返回的数据流。
4.根据权利要求1所述的实现方法,其特征在于步骤a中的匹配数据流的配置信息进一步包括以下步骤首先根据该报文所属数据流的目的IP地址在配置信息中找到相应的IP地址段定义,再按照地址段的定义找到该地址段的配置信息,并将该配置信息存储记录于数据流配置信息数组的相应位置。
5.根据权利要求1所述的实现方法,其特征在于该方法还进一步包括以下步骤在初始化出口路由器时,预先设置一个存储数据流配置信息的数组。
6.根据权利要求5所述的实现方法,其特征在于所述的数组大小为可容纳所要识别的IP地址范围内所有数据流的数组,且数组的每个元素与一个目的IP地址一一对应。
7.根据权利要求1所述的实现方法,其特征在于该方法还进一步包括以下的步骤在初始化出口路由器时,预先设定数据流的配置信息。
8.根据权利要求1或4或7所述的实现方法,其特征在于所述的配置信息至少包括数据流的起始IP地址、结束IP地址、接口配置模式;每个数据流的传输带宽或平均速率、突发长度;以及总数据流的总平均流量、总突发长度。
9.根据权利要求1所述的实现方法,其特征在于步骤a中所述的HASH算法是指依据数据流中每个报文目的IP地址中的后16位将该报文定位到数据流配置信息数组的相应元素位置。
10.根据权利要求9所述的实现方法,其特征在于该方法还可进一步包括以下步骤当按HASH算法将所收到的数据流报文定位到数据相应元素位置,而此时该位置已有数据流配置信息时,则在此位置建立一数据链表,按目的IP地址的前16位依序存储对应的数据流配置信息。
11.根据权利要求1所述的实现方法,其特征在于步骤c中所述的用户配置参数至少包括单个数据流的传输带宽或平均速率、突发长度。
12.根据权利要求1所述的实现方法,其特征在于步骤c中所述的总配置参数至少包括数据流的总平均速率和总突发长度。
全文摘要
本发明公开了一种因特网服务提供者(ISP)安全防护的实现方法,该方法是由ISP出口路由器上的ISP管理器(ISPKeeper)对外部流入ISP局域网的数据流进行实时监控与处理,自动识别记录每个数据流,并根据配置信息判断当前数据流的流量以及数据流的总流量是否正常,如果正常,则将所收到的报文转发给相应的网络设备,否则丢弃当前报文。使用该方法可有效地抵御黑客对ISP进行的流量攻击,并可提高ISP服务的可靠性。
文档编号H04L12/26GK1394041SQ01118868
公开日2003年1月29日 申请日期2001年6月26日 优先权日2001年6月26日
发明者薛国锋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1