首页 / 专利库 / 广播 / 基于段的缓存 / 一种基于SDN控制器的DoS/DDoS攻击防御模块及方法

一种基于SDN控制器的DoS/DDoS攻击防御模及方法

阅读:935发布:2020-05-12

专利汇可以提供一种基于SDN控制器的DoS/DDoS攻击防御模及方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于SDN 控制器 的DoS/DDoS攻击防御模 块 及方法,该DoS/DDoS攻击防御模块维护一个计数器,其记录了过去n秒钟里SDN控制器收到的数据包的数量,并设置了了两个 阈值 ,即一级阈值和二级阈值,二级阈值大于一级阈值,当计数器小于一级阈值时,数据包会被传递给默认的处理模块处理,而当计数器超过一级阈值时,则意味者DoS/DDoS攻击的发生,则数据包首先经过DoS/DDoS攻击防御模块进行过滤,此时控制器进入防御模式;当每秒钟接收数据包的数量超过二级阈值时,则意味着发生了更强的DoS/DDoS攻击。该模块可以有效过滤恶意攻击数据包,并保证正常数据包的通信,使得该模块可以在一定程度上抵御针对SDN控制器的DoS/DDoS攻击。,下面是一种基于SDN控制器的DoS/DDoS攻击防御模及方法专利的具体信息内容。

1.一种基于SDN控制器的DoS/DDoS攻击防御模,其特征在于,将SDN控制器中的数据包处理模块设置成DoS/DDoS攻击防御模块,使得所有即将交给数据包处理模块的数据包都会先经过DoS/DDoS攻击防御模块防御模块;DoS/DDoS攻击防御模块维护一个计数器,其记录了过去n秒钟里SDN控制器收到的数据包的数量,n为1-10的正整数,并设置了两个阈值,即一级阈值和二级阈值,二级阈值大于一级阈值,当计数器小于一级阈值时,数据包会被传递给默认的处理模块处理,而若计数器超过一级阈值,但是没有超过二级阈值时,首先控制器会判断本地是否存在与该数据包相关的流表缓存,如果存在本地缓存,则下发HardTimeout值为之前值两倍的流表;如果不存在,则下发初始HardTimeout的流表;下发新的流表后,均将这些流表项加入本地缓存,并在B秒后删除,此时控制器进入防御模式;当每秒钟接收数据包的数量超过二级阈值时,则意味着发生了更强的DoS/DDoS攻击。
2.根据权利要求1所述的一种基于SDN控制器的DoS/DDoS攻击防御模块,其特征在于,所述DoS/DDoS攻击防御模块部署在SDN控制器中或单独部署。
3.一种基于SDN控制器的DoS/DDoS攻击防御模块的防御方法,其特征在于,该方法具体步骤如下:
1)防御模块维护一个计数器,其记录了过去n秒钟里SDN控制器收到的数据包的数量,n为1-10的正整数,并设置了一级阈值和二级阈值,二级阈值大于一级阈值;
2)当计数器小于一级阈值时,此时认为没有Dos/DDoS攻击产生,数据包会被传递给默认的处理模块处理;
3)若计数器超过一级阈值,但是没有超过二级阈值时,首先控制器会判断本地是否存在与该数据包相关的流表缓存,如果存在本地缓存,则下发HardTimeout值为之前值两倍的流表;如果不存在,则下发初始HardTimeout的流表;下发新的流表后,均将这些流表项加入本地缓存,并在B秒后删除;
4)若计数器超过二级阈值时,针对每一个数据包,首先控制器会判断本地是否存在与该数据包相关的流表缓存,如果存在本地缓存,则重复步骤3);如果不存在本地缓存,则DoS/DDoS攻击防御模块首先转发数据包,然后下放流表,其给数据包加上了HardTimeout值,记为A秒,所以A秒之后,该流表项将被交换机丢弃;同时,在本地缓存中记录下了该数据包的特征,并设置了B秒的超时时间,这里B要大于A;
5)对于处于DoS/DDoS攻击发生时的正常数据包,通讯将维持一段时间,在A秒之后,流表项被丢弃,数据包再次被传递给控制器,因为本地缓存中该数据包的记录尚未超时,DoS/DDoS攻击防御模块发现该数据包对应的特征已在本地缓存中,所以认定该数据包为合法数据包,下发流表项,此时进一步将流表项的HardTimeout值设置为A*2秒;下次再接收该数据包则进一步增加HardTimeout值,直到某次设置为永久流表项;此时,如果是攻击数据包,在第一个A秒的区间中,会有一次或者多次的相同数据包通过,此时只会有一个流表项,攻击者上就丢掉了这个随机值,在A秒之后,流表项随即被丢弃,保证交换机中不会出现流表项的堆积溢满,并且在B秒之后,防御模块的本地缓存也会丢弃掉该数据包的特征,保证控制器本身同样不会因为攻击而造成内存的使用溢满。

说明书全文

一种基于SDN控制器的DoS/DDoS攻击防御模及方法

技术领域

[0001] 本发明涉及计算机网络安全技术领域,尤其涉及一种基于SDN控制器的DoS/DDoS攻击防御模块及方法。

背景技术

[0002] SDN作为一种新的技术,在其快速发展的同时也面临着很多安全问题。正因为SDN架构、体系和协议等方面的设计还不够成熟,安全问题日益突出,DoS/DDoS攻击作为一种传统的攻击手段,对SDN网络的攻击也成为新的威胁。
[0003] OpenFlow作为SDN南向协议的一种,在安全方面存在一定的问题,容易造成数据面到控制面之间的DoS/DDoS攻击。攻击者可以生成大量的不规则数据包发送给交换机,而交换机中没有能与这些数据包匹配的流表,这时交换机会发送大量的packet_in消息给控制器。这种DoS/DDoS攻击既消耗了控制器和交换机的缓存空间,又占用了数据面和控制面之间的网络带宽。如果采用多分布式主机进行发送就会产生危害更大的分布式拒绝服务攻击。所以对于SDN环境中的DoS/DDoS攻击进行检测和防御是非常重要的。

发明内容

[0004] 本发明的目的是克服现有技术的不足,提出一种基于SDN控制器DoS/DDoS攻击防御技术。
[0005] 本发明解决技术问题所采用的技术方案如下:一种基于SDN控制器的DoS/DDoS攻击防御模块,将SDN控制器中的数据包处理模块设置成DoS/DDoS攻击防御模块,使得所有即将交给数据包处理模块的数据包都会先经过DoS/DDoS攻击防御模块防御模块;DoS/DDoS攻击防御模块维护一个计数器,其记录了过去n秒钟里SDN控制器收到的数据包的数量,n为1-10的正整数,并设置了两个阈值,即一级阈值和二级阈值,二级阈值大于一级阈值,当计数器小于一级阈值时,数据包会被传递给默认的处理模块处理,而当计数器超过一级阈值时,则意味者DoS/DDoS攻击的发生,则数据包首先经过DoS/DDoS攻击防御模块进行过滤,此时控制器进入防御模式;当每秒钟接收数据包的数量超过二级阈值时,则意味着发生了更强的DoS/DDoS攻击。
[0006] 进一步的,所述DoS/DDoS攻击防御模块部署在SDN控制器中或单独部署。
[0007] 本发明的另一目的是提供一种基于SDN控制器的DoS/DDoS攻击防御方法,该方法具体步骤如下:
[0008] 1)防御模块维护一个计数器,其记录了过去n秒钟里SDN控制器收到的数据包的数量,n为1-10的正整数,并设置了一级阈值和二级阈值,二级阈值大于一级阈值。
[0009] 2)当计数器小于一级阈值时,此时认为没有Dos/DDoS攻击产生,数据包会被传递给默认的处理模块处理。
[0010] 3)若计数器超过一级阈值,但是没有超过二级阈值时,首先控制器会判断本地是否存在与该数据包相关的流表缓存,如果存在本地缓存,则下发Timeout值为之前值两倍的流表;如果不存在,则下发初始Timeout的流表。下发新的流表后,均将这些流表项加入本地缓存,并在B秒后删除。
[0011] 4)若计数器超过二级阈值时,针对每一个数据包,首先控制器会判断本地是否存在与该数据包相关的流表缓存,如果存在本地缓存,则重复步骤3);如果不存在本地缓存,则DoS/DDoS攻击防御模块首先转发数据包,然后下放流表,其给数据包加上了HardTimeout值,记为A秒,所以A秒之后,该流表项将被交换机丢弃;同时,在本地缓存中记录下了该数据包的特征,并设置了B秒的超时时间,这里B要大于A。
[0012] 5)对于处于DoS/DDoS攻击发生时的正常数据包,通讯将维持一段时间,在A秒之后,流表项被丢弃,数据包再次被传递给控制器,因为本地缓存中该数据包的记录尚未超时,DoS/DDoS攻击防御模块发现该数据包对应的特征已在本地缓存中,所以认定该数据包为合法数据包,下发流表项,此时进一步将流表项的HardTimeout值设置为A*2秒;下次再接收该数据包则进一步增加HardTimeout值,直到某次设置为永久流表项。此时,如果是攻击数据包,在第一个A秒的区间中,会有一次或者多次的相同数据包通过,此时只会有一个流表项,攻击者上就丢掉了这个随机值,在A秒之后,流表项随即被丢弃,保证交换机中不会出现流表项的堆积溢满,并且在B秒之后,防御模块的本地缓存也会丢弃掉该数据包的特征,保证控制器本身同样不会因为攻击而造成内存的使用溢满。
[0013] 本发明的有益效果是:本发明提出一种基于SDN控制器的DoS/DDoS攻击防御模块。通过对SDN中上传到控制器的数据包进行有效过滤,剔除恶意攻击数据包,并保证正常数据包的通信,从而在一定程度上抵御SDN环境下的DoS/DDoS攻击。另外,本发明对于不同强度的DoS/DDoS攻击,设置两种不同的阈值,这样设计可以最大化数据包的处理效率,保证网络的正常通信。同时,能够保证处于DoS/DDoS攻击时的正常数据包的通信不受影响,本发明在实现了安全性的同时也提高了保证了有效性。
附图说明
[0014] 图1为基于SDN控制器DoS/DDoS防御模块工作流程图

具体实施方式

[0015] 下面根据附图和实施例详细描述本发明,使本发明的目的和效果将变得更加明显。
[0016] 本发明提供一种基于SDN控制器的DoS/DDoS攻击防御模块,将SDN控制器中的数据包处理模块设置成DoS/DDoS攻击防御模块,使得所有即将交给数据包处理模块的数据包都会先经过DoS/DDoS攻击防御模块防御模块;DoS/DDoS攻击防御模块维护一个计数器,其记录了过去1秒钟里SDN控制器收到的数据包的数量,并设置了两个阈值,即一级阈值和二级阈值,二级阈值大于一级阈值,当计数器小于一级阈值时,数据包会被传递给默认的处理模块处理,而当计数器超过一级阈值时,则意味者DoS/DDoS攻击的发生,则数据包首先经过DoS/DDoS攻击防御模块进行过滤,此时控制器进入防御模式;当每秒钟接收数据包的数量超过二级阈值时,则意味着发生了更强的DoS/DDoS攻击。本发明的DoS/DDoS攻击防御模块部署在SDN控制器中或单独部署。
[0017] 如图1所示,本发明的另一目的是提供一种基于SDN控制器的DoS/DDoS攻击防御方法,该方法具体步骤如下:
[0018] 1)防御模块维护一个计数器,其记录了过去1秒钟里SDN控制器收到的数据包的数量,并设置了一级阈值和二级阈值,二级阈值大于一级阈值。设置多级阈值的目的在于对于不同数量级别的数据包,控制器会采用不同的防御模式。当控制器只接收到数量较少的数据包时,不需要采取复杂的防御措施,以提高控制器处理数据包的效率。
[0019] 2)当计数器小于一级阈值时,此时认为没有Dos/DDoS攻击产生,数据包会被传递给默认的处理模块处理。
[0020] 3)若计数器超过一级阈值,但是没有超过二级阈值时,首先控制器会判断本地是否存在与该数据包相关的流表缓存,如果存在本地缓存,则下发Timeout值为之前值两倍的流表;如果不存在,则下发初始Timeout的流表。下发新的流表后,均将这些流表项加入本地缓存,并在8秒后删除。
[0021] 4)若计数器超过二级阈值时,针对每一个数据包,首先控制器会判断本地是否存在与该数据包相关的流表缓存,如果存在本地缓存,则重复步骤3),如果不存在本地缓存,则DoS/DDoS攻击防御模块首先转发数据包,然后下放流表,其给数据包加上了HardTimeout值,记为A秒,所以A秒之后,该流表项将被交换机丢弃。同时,其在本地缓存中记录下了该数据包的特征,并设置了B秒的超时时间。这里B要大于A,A一般取1-5之间的正整数,B一般取6-10之间的正整数。
[0022] 5)对于处于DoS/DDoS攻击发生时的正常数据包,通讯将维持一段时间,所以在A秒之后,因为流表项被丢弃,数据包再次被传递给控制器,因为本地缓存中该数据包的记录尚未超时,DoS/DDoS攻击防御模块发现该数据包对应的特征已在本地缓存中,所以认定该数据包为合法数据包,下发流表项,此时进一步将流表项的HardTimeout值设置为A*2秒;下次再接收该数据包则进一步增加HardTimeout值,直到某次设置为永久流表项。此时,如果是攻击数据包,在第一个A秒的区间中,会有一次或者多次的相同数据包通过,此时只会有一个流表项,攻击者马上就丢掉了这个随机值,在A秒之后,流表项随即被丢弃,保证交换机中不会出现流表项的堆积溢满,并且在B秒之后,防御模块的本地缓存也会丢弃掉该数据包的特征,保证控制器本身同样不会因为攻击而造成内存的使用溢满。
[0023] 防御模块中设置了另一个更高的阈值,即二级阈值。当此阈值被触发,防御模块将在第一次收到数据包时只进行转发操作,而不下发流表项,同时将数据包的特征如同第一级别一样保存在本地缓存中,并维护一个Timeout值。当该数据包在本地缓存失效前再次被请求,则根据第一级别的处理再下发流表项。此举对于正常数据包只是一个数据包的延时影响。对于攻击数据包,攻击者如果持续攻击,一般情况下不会重复发送数据包,如果缓存后攻击,则时间区间远大于此Timeout值,由此可以过滤掉一部分的攻击数据包。如上两重防御机制,可以在很大程度上保障网络的正常运行。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈