一种防范SDN拒绝服务攻击的方法、交换机和系统技术方案

技术编号:14882065 阅读:80 留言:0更新日期:2017-03-24 04:31
本发明专利技术公开了一种防范SDN拒绝服务攻击的方法、交换机和系统。该方法包括:在交换机接收到源设备发送的TCP数据包后,判断本地流表中是否具有与TCP数据包相匹配的流规则;若本地流表中没有与TCP数据包相匹配的流规则,则对TCP数据包进行分类,以判断TCP数据包是否正常;若TCP数据包正常,则向控制装置发送成功报告,以便控制装置提供相应的流规则;利用控制装置提供的流规则对TCP数据包进行转发处理;若TCP数据包异常,则丢弃TCP数据包。本发明专利技术能够有效防止恶意流量导致交换机向控制装置发送大量流规则请求,从而产生的控制装置与交换机的拒绝服务攻击的问题,提升了基于OpenFlow的SDN架构的安全性。

【技术实现步骤摘要】

本专利技术涉及SDN安全领域,尤其涉及一种防范SDN拒绝服务攻击的方法、交换机和系统
技术介绍
SDN(软件定义网络)是一种新型网络架构和技术体系,将传统紧耦合的网络架构分拆成应用、控制、转发三层分离的架构,上层应用和底层转发设施被抽象成多个逻辑实体,具有开放可编程的特点。在SDN架构下,通过集中控制器对分布式交换机进行编程,定义路由规则,上层应用的策略通过控制器下发给交换机执行。OpenFlow作为SDN的典型解决方案,定义了集中控制器与数据转发平面进行交互的协议,控制平面通过流规则控制流量转发。当OpenFlow交换机接收主机连接请求时,首先检查本地流表,若流表中没有匹配项,则向控制器发送请求,控制器处理该请求并下发相应流规则,交换机根据该流规则转发主机通信流量,并将流规则存储到本地流表。在这种机制下,黑客可以通过控制僵尸网络发起大量新的半开连接请求,OpenFlow交换机查找本地流表,对这些连接请求均查不到匹配项,则向控制器发送请求,大量请求可能导致控制器资源饱和,从而产生拒绝服务;同时交换机在等待控制器下发流规则时,缓存初始流的资源也有限,可能导致无法响应正常连接请求。
技术实现思路
本专利技术要解决的是基于OpenFlow的SDN架构下由于交换机与控制器间大量请求导致控制器资源饱和引起的拒绝服务攻击的技术问题。根据本专利技术一方面,提出一种防范SDN拒绝服务攻击的方法,包括:在接收到源设备发送的TCP数据包后,判断本地流表中是否具有与所述TCP数据包相匹配的流规则;若本地流表中没有与所述TCP数据包相匹配的流规则,则对所述TCP数据包进行分类,以判断所述TCP数据包是否正常;若所述TCP数据包正常,则向控制装置发送成功报告,以便所述控制装置提供相应的流规则;利用所述控制装置提供的流规则对所述源设备后续发送的TCP数据包进行转发处理。在一个实施例中,若所述TCP数据包异常,则丢弃所述TCP数据包并结束异常数据包。在一个实施例中,对所述TCP数据包进行分类,以判断所述TCP数据包是否正常的步骤包括:判断所述TCP数据包是否为SYN包;若所述TCP数据包为SYN包,则生成cookie,向所述源设备返回SYNACK包,并将与所述TCP数据包的源地址相关联的访问次数加1;若所述TCP数据包不是SYN包,则进一步判断是否为TCPACK包;若所述TCP数据包为TCPACK包,则检查cookie值是否匹配;若cookie值匹配,则确定所述TCP数据包正常;若cookie值不匹配,则确定所述TCP数据包异常。在一个实施例中,若所述TCP数据包不是TCPACK包,则确定所述TCP数据包异常,并向所述源设备返回RST包或丢弃所述TCP数据包。在一个实施例中,若所述TCP数据包异常,则将与所述TCP数据包的源地址相关联的访问次数加1;判断所述访问次数在指定时间范围内是否超过预定阈值;若所述访问次数在指定时间范围内超过预定阈值,则拒绝来自所述源地址的数据包。在一个实施例中,利用所述控制装置提供的流规则对所述TCP数据包进行转发处理的步骤包括:利用所述控制装置提供的流规则,与相应的目标设备建立TCP连接;若与目标设备连接成功,则向所述控制装置发送连接成功报告,以便由所述控制装置决定是否转发所述TCP数据包;若接收到所述控制装置发送的转发指示,则将所述源设备后续发送的TCP数据包转发给所述目标设备,以便在源设备和相应的目标设备之间中继TCP流量。在一个实施例中,成功报告包括所述TCP数据包的头部信息,其中所述头部信息包括源IP、目的IP、源端口号和目的端口号;连接成功报告包括交换机的IP和端口号以及目标设备的IP和端口号。根据本专利技术的另一方面,还提出一种防范SDN拒绝服务攻击的交换机,包括:接收单元,用于接收到源设备发送的TCP数据包;流表查询单元,用于在接收单元接收到源设备发送的TCP数据包后,判断本地流表中是否具有与所述TCP数据包相匹配的流规则;归类单元,用于根据流表查询单元的判断结果,若本地流表中没有与所述TCP数据包相匹配的流规则,则对所述TCP数据包进行分类,以判断所述TCP数据包是否正常;报告单元,用于根据归类单元的判断结果,若所述TCP数据包正常,则向控制装置发送成功报告,并接收所述控制装置提供的相应流规则;转发单元,用于利用所述控制装置提供的流规则对所述源设备后续发送的TCP数据包进行转发处理。在一个实施例中,归类单元还用于在所述TCP数据包异常时,丢弃所述TCP数据包并结束异常数据包。在一个实施例中,归类单元具体判断所述TCP数据包是否为SYN包;若所述TCP数据包为SYN包,则生成cookie,向所述源设备返回SYNACK包,并将与所述TCP数据包的源地址相关联的访问次数加1;若所述TCP数据包不是SYN包,则进一步判断是否为TCPACK包;若所述TCP数据包为TCPACK包,则检查cookie值是否匹配;若cookie值匹配,则确定所述TCP数据包正常;若cookie值不匹配,则确定所述TCP数据包异常。在一个实施例中,归类单元还用于在所述TCP数据包不是TCPACK包时,确定所述TCP数据包异常,并向所述源设备返回RST包或丢弃所述TCP数据包。在一个实施例中,归类单元还用于在所述TCP数据包异常时,将与所述TCP数据包的源地址相关联的访问次数加1;判断所述访问次数在指定时间范围内是否超过预定阈值,若所述访问次数在指定时间范围内超过预定阈值,则拒绝来自所述源地址的数据包。在一个实施例中,转发单元包括迁移模块和中继模块,其中:迁移模块,用于利用所述控制装置提供的流规则,与相应的目标设备建立TCP连接;若与目标设备连接成功,则指示报告单元向所述控制装置发送连接成功报告,以便由所述控制装置决定是否转发所述TCP数据包;中继模块,用于在报告单元接收到所述控制装置发送的转发指示后,将所述源设备后续发送的TCP数据包转发给所述目标设备,以便在源设备和相应的目标设备之间中继TCP流量。在一个实施例中,成功报告包括所述TCP数据包的头部信息,其中所述头部信息包括源IP、目的IP、源端口号和目的端口号;连接成功报告包括交换机的IP和端口号以及目标设备的IP和端口号。根据本专利技术的另一方面,还提出一种防范SDN拒绝服务攻击的系统,包括交换机和控制装置,其中:交换机,为上述涉及的交换机;控制装置,用于在接收到交换机发送的成功报告后,向交换机提供相应的流规则。与现有技术相比,本专利技术在接收到源设备发送的TCP数据包后,判断本地流表中是否具有与TCP数据包相匹配的流规则;若本地流表中没有与TCP数据包相匹配的流规则,则对TCP数据包进行分类,以判断TCP数据包是否正常;若TCP数据包正常,则向控制装置发送成功报告,以便控制装置提供相应的流规则;利用控制装置提供的流规则对TCP数据包进行转发处理。有效防止恶意流量导致交换机向控制装置发送大量流规则请求,从而产生的控制装置与交换机的拒绝服务攻击的问题,提升了基于OpenFlow的SDN架构的安全性。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明构成说明书的一部分的附图描述了本专利技术的实施例,并且连同本文档来自技高网...
一种防范SDN拒绝服务攻击的方法、交换机和系统

【技术保护点】
一种防范SDN拒绝服务攻击的方法,其特征在于,包括:在接收到源设备发送的TCP数据包后,判断本地流表中是否具有与所述TCP数据包相匹配的流规则;若本地流表中没有与所述TCP数据包相匹配的流规则,则对所述TCP数据包进行分类,以判断所述TCP数据包是否正常;若所述TCP数据包正常,则向控制装置发送成功报告,以便所述控制装置提供相应的流规则;利用所述控制装置提供的流规则对所述源设备后续发送的TCP数据包进行转发处理。

【技术特征摘要】
1.一种防范SDN拒绝服务攻击的方法,其特征在于,包括:在接收到源设备发送的TCP数据包后,判断本地流表中是否具有与所述TCP数据包相匹配的流规则;若本地流表中没有与所述TCP数据包相匹配的流规则,则对所述TCP数据包进行分类,以判断所述TCP数据包是否正常;若所述TCP数据包正常,则向控制装置发送成功报告,以便所述控制装置提供相应的流规则;利用所述控制装置提供的流规则对所述源设备后续发送的TCP数据包进行转发处理。2.根据权利要求1所述的方法,其特征在于,若所述TCP数据包异常,则丢弃所述TCP数据包并结束异常会话。3.根据权利要求2所述的方法,其特征在于,对所述TCP数据包进行分类,以判断所述TCP数据包是否正常的步骤包括:判断所述TCP数据包是否为SYN包;若所述TCP数据包为SYN包,则生成cookie,向所述源设备返回SYNACK包,并将与所述TCP数据包的源地址相关联的访问次数加1;若所述TCP数据包不是SYN包,则进一步判断是否为TCPACK包;若所述TCP数据包为TCPACK包,则检查cookie值是否匹配;若cookie值匹配,则确定所述TCP数据包正常;若cookie值不匹配,则确定所述TCP数据包异常。4.根据权利要求3所述的方法,其特征在于,若所述TCP数据包不是TCPACK包,则确定所述TCP数据包异常,并向所述源设备返回RST包或丢弃所述TCP数据包。5.根据权利要求4所述的方法,其特征在于,还包括:若所述TCP数据包异常,则将与所述TCP数据包的源地址相关联的访问次数加1;判断所述访问次数在指定时间范围内是否超过预定阈值;若所述访问次数在指定时间范围内超过预定阈值,则拒绝来自所述源地址的数据包。6.根据权利要求1-5中任一项所述的方法,其特征在于,利用所述控制装置提供的流规则对所述TCP数据包进行转发处理的步骤包括:利用所述控制装置提供的流规则,与相应的目标设备建立TCP连接;若与目标设备连接成功,则向所述控制装置发送连接成功报告,以便由所述控制装置决定是否转发所述TCP数据包;若接收到所述控制装置发送的转发指示,则将所述源设备后续发送的TCP数据包转发给所述目标设备,以便在源设备和相应的目标设备之间中继TCP流量。7.根据权利要求6所述的方法,其特征在于,成功报告包括所述TCP数据包的头部信息,其中所述头部信息包括源IP、目的IP、源端口号和目的端口号;连接成功报告包括交换机的IP和端口号以及目标设备的IP和端口号。8.一种防范SDN拒绝服务攻击的交换机,其特征在于,包括:接收单元,用于接收到源设备发送的TCP数据包;流表查询单元,用于在接收单元接收到源设备发送的TCP数据包后,判断本地流表中是否具有与所述...

【专利技术属性】
技术研发人员:王帅金华敏沈军汪来富刘东鑫
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1