IP地址存取方法和伪造源攻击抵抗方法、装置及服务器与流程

文档序号:12752884阅读:246来源:国知局
IP地址存取方法和伪造源攻击抵抗方法、装置及服务器与流程

本发明涉及网络安全技术领域,更具体地,涉及一种DDOS反应系统IP地址存取方法和伪造源攻击抵抗方法、装置及服务器。



背景技术:

随着互联网技术的快速发展,网络系统越来越容易遭受到各种攻击,网络问题日益突出,而其中分布式拒绝服务器攻击因其隐蔽性强、攻击范围广、简单高效等的特点则成为黑客惯用的攻击方法之一,尤其是受到商业竞争和经济勒索等因素的驱动,DDOS攻击越发呈现组织化、规模化、商业化的特点,攻击频率也越来越高,给各类互联网用户和服务提供商带来了业务中断、系统瘫痪等严重后果,严重影响了网络应用向更广阔的方向发展。

目前,DDOS反应系统一般使用哈希表对接收的访问请求的IP地址进行存取,而其攻击大体分为伪造源攻击以及真实源攻击两种,当伪造源对系统发起攻击,会由于其源地址均匀广泛大量的特点,足以击破任何的哈希表;更是因为一般伪造源伪造的是32位全空间随机的IP地址,采用哈希表对IP地址进行存取的DDOS反应系统从时域和空间域上都很难做出抵抗(任何的哈希表由于引入的随机函数,输入都会随机化);且当系统判断发生了伪造源攻击时,哈希表一般已经不能正常工作,即使对其进行老化处理,新进的哈希表也会快速被攻击者打满,更进一步地即使使用了例如首包丢弃等方法有损的防御了伪造源的攻击,但系统依旧容易被击破。

鉴于上述网络安全的问题,急需提出一种高效存取IP地址以及抵抗DDOS攻击的技术方案。



技术实现要素:

鉴于上述问题,本发明首要目的提出了一种DDOS反应系统IP地址存取方法和相应的装置,其能实现高效地存取IP地址;

本发明另一目的提出了一种伪造源攻击抵抗方法和相应的装置,其能实现抵抗破解随机的伪造源攻击以及哈希攻击;

本发明另一目的提出了一种服务器。

第一方面,本发明提供一种DDOS反应系统IP地址存取方法,包括以下步骤:以DDOS反应系统访问请求的IP地址的前若干位为桶索引,定位到数组对应的单元桶中;以所述DDOS反应系统接收的访问请求的IP地址的余者后若干位为槽索引,定位到所述单元桶对应的单元槽中;在该单元槽中进行对所述DDOS反应系统接收的访问请求的IP地址的存取操作。

其中,所述前若干位为以二进制表达的IP地址的前24位;所述余者后若干位为以二进制表达的IP地址的后8位。

其中,所述存取操作包括在所述单元槽中描点、置值、删除点和删除值中一种或多种操作。

一种DDOS反应系统IP地址存取装置,包括:桶定位模块,用于以DDOS反应系统接收的访问请求的IP地址的前若干位位为桶索引,定位到数组对应的单元桶中;槽定位模块,用于以所述DDOS反应系统接收的访问请求的IP地址的余者后若干位为槽索引,定位到所述单元桶对应的单元槽中;存取模块,用于在该单元槽中进行对所述DDOS反应系统接收的访问请求的IP地址的存取操作。

其中,所述前若干位为以二进制表达的IP地址的前24位;所述余者后若干位为以二进制表达的IP地址的后8位。

第二方面,本发明提供一种伪造源攻击抵抗方法,包括以下步骤:监听上述的任意一项所述的DDOS反应系统IP地址存取方法所述的数组的访问量;当该数组至少一个单元桶在预定时间内增加超过预定阈值的单元槽时,判定系统遭遇与该单元桶相对应的IP地址的伪造源攻击;对所述单元桶中各单元槽所对应的IP地址实施过滤操作,以确定恶意攻击的IP地址并实施抵抗。

其中,所述数组的每一单元桶所对应的IP地址的数量为固定值。

其中,所述抵抗为丢弃恶意攻击的IP地址的访问请求。

一种伪造源攻击抵抗装置,包括:监听模块,用于监听上述任意一项所述的DDOS反应系统IP地址存取方法所述的数组的访问量;判定模块,用于当该数组至少一个单元桶在预定时间内增加超过预定阈值的单元槽时,判定系统遭遇与该单元桶相对应的IP地址的伪造源攻击;抵抗模块,用于对所述单元桶中各单元槽所对应的IP地址实施过滤操作,以确定恶意攻击的IP地址并实施抵抗。

第三方面,本发明提供一种服务器,包括处理器,该处理器用于执行上述任意一项所述的DDOS反应系统IP地址存取方法的步骤或上述任意一项所述的伪造源攻击抵抗方法的步骤。

与现有技术相比,本发明具备如下优点:

本发明通过使用数组对DDOS反应系统访问请求的IP地址进行存取,其对IP地址(白名单、黑名单)的查找删除效率得到了极大的提高,并且在老化、统计和针对IP网段的查询、封禁上都带来了直接的提高,将所有相关操作的复杂度降低为O(1),更进一步地,还可以做到使用少量内存却近乎全量存储的效果。另一方面,在应用数组对IP地址进行存取的同时,若发生伪造源攻击,由于本发明不需要哈希函数,更不需要存储key,其不仅能提高更新时间和空间的效率,更是能抵抗哈希攻击;更优地,能高效判断是否发生伪造源攻击,更快地实施抵抗。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本发明一个实施例的DDOS反应系统IP地址存取方法流程图。

图2示出了根据本发明一个实施例的伪造源攻击抵抗方法流程图。

图3示出了根据本发明一个实施例的DDOS反应系统IP地址存取装置的结构图。

图4示出了根据本发明一个实施例的伪造源攻击抵抗装置的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

DDOS(Distributed Denial of Service“分布式拒绝服务”)攻击凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击。也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的。DDOS攻击策略侧重于通过很多“僵尸主机”(被攻击者入侵过或可间接利用的主机)向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦被实施,攻击网络包就会犹如洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务器的网络资源,因此,拒绝服务攻击又被称之为“洪水式攻击”,常见的DDOS攻击手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等;单就拒绝服务攻击而言,危害较大的主要是DDOS攻击,原因是很难防范。DDOS攻击主要是通过使网络过载来干扰甚至阻断正常的网络通讯,通过向服务器提交大量请求,使服务器超负荷,阻断某一用户访问服务器阻断某服务与特定系统或个人的通讯。

DDOS攻击主要以伪造源攻击和真实源攻击为主,其中使用真实源攻击的一般是使用肉鸡网络,其除了攻击外还可以发起正常的连接,让我们的白名单机制在一定程度上失效;而伪造源攻击最为显著的特点是源地址均匀广泛大量,以下对此攻击的发生提供高效的抵抗方式。

实施例一

为对本发明DDOS反应系统IP地址存取方法作进一步的解释,请参阅图1:

S11以DDOS反应系统接收的访问请求的IP地址的前若干位为桶索引,定位到数组对应的单元桶(bucket)中;

作为一个快速存取IP地址的数据结构,本实施例中数据结构是一个数组,数组的每个域都是一个指针指向一个链表。本实施例中所说数组为二维数组,以到达DDOS反应系统并对其提起访问请求的IP地址(以二进制表示,且包括白名单、黑名单)的前若干位为桶索引(即第一维),定位到数组对应的单元桶(bucket)中,其中所述前若干位至少为IP地址的前24位,亦即前若干位不包括前32位;某一所述单元桶(bucket)为数组的元素,当其初次被索引定位时,需要创建单元桶(bucket),以便存取IP地址。

S12以所述DDOS反应系统接收的访问请求的IP地址的余者后若干位为槽索引,定位到所述单元桶对应的单元槽中;

所述余者后若干位至少为IP地址的后8位,亦即不包括后32位;所述槽索引(即第二维)为单元桶(bucket)的元素,当期初次被索引定位时,需要创建单元槽,以便存取IP地址;所述单元槽为以一个单元桶(bucket)为一个数组时,单元槽为数组中对应的元素,本实施例以单元槽命名,对此加以区分。

更优地,本实施例中,数组的大小是16MB,所述前若干位为以二进制表达的IP地址的前24位;所述余者后若干位为以二进制表达的IP地址的后8位。本实施例在做此类用途时,以使用64位的整数作为单元桶(bucket),64位整数的每一位代表一个IP地址,由于对单元桶(bucket)的索引有8位,最多为256种可能,所以一个单元桶(bucket)最多需要4个64位的整数。由于各个机器的内存容量不同,IP表(数组)的应用场景不同,可视需求决定是否在使用到的时候一次性分配4个64位的整数,还是使用链表的形式分配4次。

S13在该单元槽中进行对所述DDOS反应系统接收的访问请求的IP地址的存取操作。

所述存取操作包括在所述单元槽中描点、置值、删除点和删除值中的一种或多种操作。

在本实施例的数据结构下,对于IP地址的添加、删除只需要将以二进制表示的IP地址向右移位8位,在单元桶(bucket)中直接描点。相应的,关于某一IP地址的查询也是一样。此类操作不但在添加、删除、查询IP地址中极大地提高了效率,更是在对数据结构的管理上针对IP地址这种数据带来了巨大的方便。例如,当需要统计172.16.11.0/24网段的IP地址数目时,只需要定位到单元桶(bucket),然后计算即可;类似地,当需要统计在12-16位是固定值的IP地址数目时,也是直接定位到多个单元桶(bucket),然后累加即可。当要独特地针对IP网段老化或过滤,也是可以快速定位到IP网段对应的位置上,以快速防止。

更优地,本实施例所述的方法可适用于对以二进制表示的32位整数的处理;另一方面用于为其他的规则算法提供数据支持。

实施例二

为对本发明伪造源攻击抵抗方法作进一步的解释,请参阅图2:

S21监听如上实施例一所述的DDOS反应系统IP地址存取方法所述的数组的访问量;通过监听所述访问量,系统可在预定的时间内判断出此间到达系统的访问请求的IP地址是否正常。

S22当该数组至少一个单元桶在预定时间内增加超过预定阈值的单元槽时,判定系统遭遇与该单元桶(bucket)相对应的IP地址的伪造源攻击;

其中,所述数组的每一单元桶(bucket)所对应的IP地址的数量为固定值。

由于本实施例中,采用的数组为16MB,且以以二进制形式表示的IP地址的前24位为桶索引,其共有224个单元桶(bucket)。所述至少一个单元桶(bucket)为一个或多个或预定数量的单元桶(bucket),其中预定时间、预定阈值可根据实际情况按需设定,本实施例不对其进行公开并不妨碍本领域技术人员对本技术方案的理解,其可根据实际对其进行设定。所述固定值具体地为单元桶(bucket)中可表达IP地址的最大量,由于本实施例中以以二进制形式表达的IP地址的前24位为桶索引,所以所述固定值为256位;其对单元桶(bucket)中可表达IP地址的最大量的限定,数据结构中的每个单元桶(bucket)中能放的IP地址的数量是固定,使本实施例中所表达的数组不存在某一单元桶(bucket)单个拉链被拉成无限长的情况,即可以做到直接封堵对应的单元桶(bucket)拉链,从而带来内存最大限度地节省。

具体地,本实施例可以同时处理随机的伪造源攻击、针对哈希算法的伪造源攻击两种攻击(本质上是一个大类)。对于随机的伪造源攻击的判断,可以通过单元桶(bucket)大规模同时(并不一定是所有,可以有一个阈值,比如有70%的单元桶(bucket)在1s内时间内发生了增长)增长来判断。而对于针对哈希算法的伪造源攻击,由于本体系不采用任何哈希函数,不存储任何key,其可直接避免,不需要进行任何判断操作。

S23对所述单元桶(bucket)中各单元槽所对应的IP地址实施过滤操作,以确定恶意攻击的IP地址并实施抵抗。

所述抵抗为丢弃恶意攻击的IP地址的访问请求。

实施例三

相应于实施例一,基于计算机程序模块化思维,本实施例提供一种DDOS系统IP地址存取装置。为对本发明DDOS反应系统IP地址存取装置作进一步的解释,请参阅图3,其包括:桶定位模块31、槽定位模块32、存取模块33。

其中,桶定位模块31,用于以DDOS反应系统接收的访问请求的IP地址的前若干位为桶索引,定位到数组对应的单元桶(bucket)中;

槽定位模块32,用于以所述DDOS反应系统接收的访问请求的IP地址的余者后若干位为槽索引,定位到所述单元桶(bucket)对应的单元槽中;

存取模块33,用于在该单元槽中进行对所述DDOS反应系统接收的访问请求的IP地址的存取操作。

其中,所述前若干位为以二进制表达的IP地址的前24位;所述余者后若干位为以二进制表达的IP地址的后8位。

需要指出的是,适用于前述DDOS反应系统IP地址存取方法的功能实现,同理适用于本实施例的装置的实现,本领域技术人员应当予以理解。

实施例四

相应于实施例一,基于计算机程序模块化思维,本实施例提供一种伪造源攻击抵抗装置。为对本发明伪造源攻击抵抗装置作进一步的解释,请参阅图4,其包括:监听模块41、判定模块42、抵抗模块43。

其中,监听模块41,用于监听如权利要求1至3中任意一项所述的DDOS反应系统IP地址存取方法所述的数组的访问量;

判定模块42,用于当该数组至少一个单元桶(bucket)在预定时间内增加超过预定阈值的单元槽时,判定系统遭遇与该单元桶(bucket)相对应的IP地址的伪造源攻击;

抵抗模块43,用于对所述单元桶(bucket)中各单元槽所对应的IP地址实施过滤操作,以确定恶意攻击的IP地址并实施抵抗。

需要指出的是,适用于前述伪造源攻击抵抗方法的功能实现,同理适用于本实施例的装置的实现,本领域技术人员应当予以理解。

更进一步地,本发明提供一种服务器,其包括处理器,所述处理器用于执行上述实施例一所述的DDOS反应系统IP地址存取方法的步骤或上述实施例二所述的伪造源攻击抵抗方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1