CN106534048A - 一种防范sdn拒绝服务攻击的方法、交换机和系统 - Google Patents

一种防范sdn拒绝服务攻击的方法、交换机和系统 Download PDF

Info

Publication number
CN106534048A
CN106534048A CN201510575411.8A CN201510575411A CN106534048A CN 106534048 A CN106534048 A CN 106534048A CN 201510575411 A CN201510575411 A CN 201510575411A CN 106534048 A CN106534048 A CN 106534048A
Authority
CN
China
Prior art keywords
tcp data
data bag
tcp
control device
bags
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510575411.8A
Other languages
English (en)
Inventor
王帅
金华敏
沈军
汪来富
刘东鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201510575411.8A priority Critical patent/CN106534048A/zh
Publication of CN106534048A publication Critical patent/CN106534048A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种防范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,向所述源设备返回SYN ACK包,并将与所述TCP数据包的源地址相关联的访问次数加1;
若所述TCP数据包不是SYN包,则进一步判断是否为TCP ACK包;
若所述TCP数据包为TCP ACK包,则检查cookie值是否匹配;
若cookie值匹配,则确定所述TCP数据包正常;
若cookie值不匹配,则确定所述TCP数据包异常。
在一个实施例中,若所述TCP数据包不是TCP ACK包,则确定所述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,向所述源设备返回SYN ACK包,并将与所述TCP数据包的源地址相关联的访问次数加1;若所述TCP数据包不是SYN包,则进一步判断是否为TCPACK包;若所述TCP数据包为TCP ACK包,则检查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架构的安全性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明防范SDN拒绝服务攻击的方法的一个实施例的流程示意图。
图2为本发明防范SDN拒绝服务攻击中分类判断的一个实施例的流程示意图。
图3为本发明防范SDN拒绝服务的交换机的一个实施例的结构示意图。
图4为本发明防范SDN拒绝服务的系统的一个实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1为本发明防范SDN拒绝服务攻击的方法的一个实施例的流程示意图。该方法包括以下步骤:
在步骤110,接收源设备发送的TCP数据包。
在步骤120,判断本地流表中是否具有与TCP数据包相匹配的流规则。若本地流表中具有与TCP数据包相匹配的流规则,则执行步骤130,否则,执行步骤140。
在步骤130,转发TCP数据包。后续不再执行其它步骤。
在步骤140,对TCP数据包进行分类,以判断TCP数据包是否正常。若TCP数据包正常,则执行步骤150,否则,执行步骤170。
其中,可以在对TCP数据包进行分类前,增加接入表的计数,记录同一个IP地址的TCP连接企图,在一段给定的时间内超过阈值就判断为攻击,直接丢弃后续连接请求。
在步骤150,向控制装置发送成功报告,以便控制装置提供相应的流规则。
其中,成功报告包括TCP数据包的头部信息,头部信息包括源IP、目的IP、源端口号和目的端口号。
在步骤160,利用控制装置提供的流规则对源设备后续发送的TCP数据包进行转发处理。后续不再执行其它步骤。
控制装置根据OpenFlow协议生成一条流规则,交换机利用控制装置提供的流规则,与相应的目标设备建立TCP连接;若与目标设备连接成功,则向控制装置发送连接成功报告,以便由控制装置决定是否转发TCP数据包;若交换机接收到控制装置发送的转发指示,则将源设备后续发送的TCP数据包转发给目标设备,以便在源设备和相应的目标设备之间中继TCP流量。
其中,连接成功报告包括交换机的IP和端口号以及目标设备的IP和端口号。
在步骤170,丢弃TCP数据包并结束异常会话。
在该实施例中,在OpenFlow数据平面对接收到的流进行识别、分类,通过控制平面的决策对流量进行控制。当OpenFlow交换机接收到主机(源设备)发送的流量接入请求时,对TCP流量进行分类、状态报告、流量迁移与中继,在交换机中即阻断恶意流量,防止控制装置资源饱和。有效防止恶意流量导致交换机向控制装置发送大量流规则请求,从而产生的控制装置与交换机的拒绝服务攻击的问题,提升了基于OpenFlow的SDN架构的安全性。
其中,对TCP数据包进行分类,以判断TCP数据包是否正常的步骤如图2所示。其中,TCP包的类型分为SYN、TCP ACK、RST或FIN。
在步骤210,判断TCP数据包是否为SYN包。若TCP数据包是SYN包,则执行步骤220,否则,执行步骤230。
在步骤220,生成cookie,向源设备返回SYN ACK包,并将与所述TCP数据包的源地址相关联的访问次数加1。之后,不再执行后续其它步骤。
其中,生成cookie是为了保留TCP连接的状态,cookie为OpenFlow交换机为该次数据包生成的序列号的hash值,返回SYNACK是为了完成TCP连接的三次握手,其中,三次握手的过程是A主机先发TCP SYN包,B主机收到后回复TCP SYN包+ACK包,A接收到后回复ACK包。
若同一地址大量发送TCP SYN包,并超过一定得阈值,则该TCP数据包为一种SYN Flood的恶意流量攻击数据。
在步骤230,判断TCP数据包是否为TCP ACK包。若TCP数据包为TCP ACK包,则执行步骤240,否则,执行步骤260。
在步骤240,检查cookie值是否匹配。若cookie值匹配,则执行步骤250,否则,执行步骤260。
其中,步骤220生成cookie,并向源设备返回SYN ACK包,若完成TCP连接的三次握手,回复ACK包后,则进一步判断返回的cookie值是否与已保存的cookie值相匹配。由于接受到的包为ACK包,其中的序列号为该数据包前序包的序列号+1,所以交换机会将该包前序的cookie值与该包的序列号减1后的hash值比对,匹配成功则说明是TCP数据包为正常的包。
在步骤250,确定TCP数据包正常,向控制装置发送成功报告,以便控制装置提供相应的流规则。之后,不再执行本实施例的其它步骤。
在步骤260,确定TCP数据包异常,则直接丢弃TCP数据包或向源设备返回RST包结束会话。
其中,TCP数据包不是SYN包或TCP ACK包,则为RST包或FIN包。若TCP数据包异常,即为RST包或FIN包,则将与TCP数据包的源地址相关联的访问次数加1;判断访问次数在指定时间范围内是否超过预定阈值;若访问次数在指定时间范围内超过预定阈值,则拒绝来自源地址的数据包请求。
在该实施例中,在OpenFlow数据平面对接收到的流进行识别、分类,通过控制平面的决策对流量进行控制。当OpenFlow交换机接收到主机发送的流量接入请求,对TCP流量进行分类、状态报告、流量迁移与中继,识别并过滤SYN Flood流量,有效防止恶意流量导致交换机向控制装置发送大量流规则请求,从而产生的控制装置与交换机的拒绝服务攻击,能够防止控制装置资源饱和。同时通过SYNcookie的无状态TCP连接,减少交换机对TCP连接状态的存储资源,防止交换机资源饱和。提升了基于OpenFlow的SDN架构的安全性。
图3为本发明防范SDN拒绝服务的交换机的一个实施例的结构示意图。该交换机包括接收单元310、流表查询单元320、归类单元330、报告单元340和转发单元350。其中:
接收单元310,用于接收到源设备发送的TCP数据包。
流表查询单元320,用于在接收单元310接收到源设备发送的TCP数据包后,判断本地流表中是否具有与TCP数据包相匹配的流规则。
归类单元330,用于根据流表查询单元320的判断结果,若本地流表中没有与TCP数据包相匹配的流规则,则对TCP数据包进行分类,以判断TCP数据包是否正常。其中,在在TCP数据包异常时,丢弃TCP数据包并结束异常数据包。
其中,归类单元330可以在对TCP数据包进行分类前,增加接入表的计数,记录同一个IP地址的TCP连接企图,在一段给定的时间内超过阈值就判断为攻击,直接丢弃后续连接请求。
报告单元340,用于根据归类单元230的判断结果,若TCP数据包正常,则向控制装置发送成功报告,并接收控制装置提供的相应流规则。
其中,成功报告包括TCP数据包的头部信息,头部信息包括源IP、目的IP、源端口号和目的端口号。
转发单元350,用于利用控制装置提供的流规则对源设备后续发送的TCP数据包进行转发处理。
其中,转发单元350包括迁移模块351和中继模块352:
迁移模块351,用于利用控制装置提供的流规则,与相应的目标设备建立TCP连接;若与目标设备连接成功,则指示报告单元340向控制装置发送连接成功报告,以便由控制装置决定是否转发TCP数据包。其中,控制装置根据OpenFlow协议生成一条流规则。
中继模块352,用于在报告单元340接收到控制装置发送的转发指示后,将源设备后续发送的TCP数据包转发给目标设备,以便在源设备和相应的目标设备之间中继TCP流量。
其中,连接成功报告包括交换机的IP和端口号以及目标设备的IP和端口号。
在该实施例中,在OpenFlow数据平面对接收到的流进行识别、分类,通过控制平面的决策对流量进行控制。当OpenFlow交换机接收到主机(源设备)发送的流量接入请求时,对TCP流量进行分类、状态报告、流量迁移与中继,在交换机中即阻断恶意流量,防止控制装置资源饱和。有效防止恶意流量导致交换机向控制装置发送大量流规则请求,从而产生的控制装置与交换机的拒绝服务攻击的问题,提升了基于OpenFlow的SDN架构的安全性。
本发明的另一个实施例,TCP包的类型分为SYN、TCP ACK、RST或FIN。
归类单元330,还用于具体判断TCP数据包是否为SYN包;若TCP数据包为SYN包,则生成cookie,向源设备返回SYN ACK包,并将与所述TCP数据包的源地址相关联的访问次数加1;若TCP数据包不是SYN包,则进一步判断是否为TCP ACK包;若TCP数据包为TCP ACK包,则检查cookie值是否匹配;若cookie值匹配,则确定TCP数据包正常;若cookie值不匹配,则确定TCP数据包异常,并向所述源设备返回RST包。
其中,生成cookie是为了保留TCP连接的状态,cookie为OpenFlow交换机为该次数据包生成的序列号的hash值,返回SYNACK是为了完成TCP连接的三次握手,其中,三次握手的过程是A主机先发TCP SYN包,B主机收到后回复TCP SYN包+ACK包,A接收到后回复ACK包。若完成TCP连接的三次握手,回复ACK包后,则进一步判断返回的cookie值是否与已保存的cookie值相匹配。由于接受到的包为ACK包,其中的序列号为该数据包前序包的序列号+1,所以交换机会将该包前序的cookie值与该包的序列号减1后的hash值比对,匹配成功则说明是TCP数据包为正常的包。
若同一地址大量发送TCP SYN包,并超过一定得阈值,则该TCP数据包为一种SYN Flood的恶意流量攻击数据。
归类单元330,还用于若TCP数据包不是SYN包或TCP ACK包,则为RST包或FIN包,确定TCP数据包异常,并向源设备返回RST包或丢弃TCP数据包。
归类单元330,还用于若TCP数据包异常,即为RST包或FIN包,则将与TCP数据包的源地址相关联的访问次数加1;判断访问次数在指定时间范围内是否超过预定阈值;若访问次数在指定时间范围内超过预定阈值,则拒绝来自源地址的数据包请求。
在该实施例中,在OpenFlow数据平面对接收到的流进行识别、分类,通过控制平面的决策对流量进行控制。当OpenFlow交换机接收到主机发送的流量接入请求,对TCP流量进行分类、状态报告、流量迁移与中继,识别并过滤SYN Flood流量,有效防止恶意流量导致交换机向控制装置发送大量流规则请求,从而产生的控制装置与交换机的拒绝服务攻击,能够防止控制装置资源饱和。同时通过SYNcookie的无状态TCP连接,减少交换机对TCP连接状态的存储资源,防止交换机资源饱和。提升了基于OpenFlow的SDN架构的安全性。
图4为本发明防范SDN拒绝服务的系统的一个实施例的结构示意图。该系统包括交换机410和控制装置420。
其中,交换机410包括接收单元310、流表查询单元320、归类单元330、报告单元340和转发单元350。具体可参照图3所示实施例。
控制装置420,用于在接收到交换机410发送的成功报告后,向交换机410提供相应的流规则。
在该实施例中,在OpenFlow数据平面对接收到的流进行识别、分类,通过控制平面的决策对流量进行控制。当OpenFlow交换机接收到主机发送的流量接入请求,对TCP流量进行分类、状态报告、流量迁移与中继,识别并过滤SYN Flood流量,有效防止恶意流量导致交换机向控制装置发送大量流规则请求,从而产生的控制装置与交换机的拒绝服务攻击,能够防止控制装置资源饱和。同时通过SYNcookie的无状态TCP连接,减少交换机对TCP连接状态的存储资源,防止交换机资源饱和。提升了基于OpenFlow的SDN架构的安全性。
至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

Claims (15)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510575411.8A CN106534048A (zh) 2015-09-11 2015-09-11 一种防范sdn拒绝服务攻击的方法、交换机和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510575411.8A CN106534048A (zh) 2015-09-11 2015-09-11 一种防范sdn拒绝服务攻击的方法、交换机和系统

Publications (1)

Publication Number Publication Date
CN106534048A true CN106534048A (zh) 2017-03-22

Family

ID=58346250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510575411.8A Pending CN106534048A (zh) 2015-09-11 2015-09-11 一种防范sdn拒绝服务攻击的方法、交换机和系统

Country Status (1)

Country Link
CN (1) CN106534048A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107018084A (zh) * 2017-04-12 2017-08-04 南京工程学院 基于sdn架构的ddos攻击防御网络安全系统和方法
CN109120531A (zh) * 2018-09-11 2019-01-01 郑州云海信息技术有限公司 一种流表过载防护方法与装置
CN110535790A (zh) * 2019-08-23 2019-12-03 天津芯海创科技有限公司 基于semaphore的交换芯片异常报文处理方法
CN112671711A (zh) * 2020-11-26 2021-04-16 新华三技术有限公司 一种网络设备的管理方法及装置
CN113114649A (zh) * 2021-04-02 2021-07-13 腾讯科技(深圳)有限公司 拒绝服务攻击的解决方法、装置、设备及介质
CN113645256A (zh) * 2021-10-13 2021-11-12 成都数默科技有限公司 一种不降低tcp会话数据价值密度的聚合方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1822593A (zh) * 2006-03-20 2006-08-23 赵洪宇 一种抵御拒绝服务攻击事件的网络安全保护方法
CN101436958A (zh) * 2007-11-16 2009-05-20 太极计算机股份有限公司 抵御拒绝服务攻击的方法
CN102594825A (zh) * 2012-02-22 2012-07-18 北京百度网讯科技有限公司 一种内网木马的检测方法和装置
CN102946387A (zh) * 2012-11-01 2013-02-27 惠州Tcl移动通信有限公司 一种防御拒接服务攻击的方法
US20140059682A1 (en) * 2011-01-19 2014-02-27 Cisco Technology, Inc. Determination of Adaptive Idle Timeout
CN103746892A (zh) * 2013-11-27 2014-04-23 北京邮电大学 一种基于OpenFlow的SDN虚拟化平台上行信令流标签处理方法
CN104468624A (zh) * 2014-12-22 2015-03-25 上海斐讯数据通信技术有限公司 Sdn控制器、路由/交换设备及网络防御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1822593A (zh) * 2006-03-20 2006-08-23 赵洪宇 一种抵御拒绝服务攻击事件的网络安全保护方法
CN101436958A (zh) * 2007-11-16 2009-05-20 太极计算机股份有限公司 抵御拒绝服务攻击的方法
US20140059682A1 (en) * 2011-01-19 2014-02-27 Cisco Technology, Inc. Determination of Adaptive Idle Timeout
CN102594825A (zh) * 2012-02-22 2012-07-18 北京百度网讯科技有限公司 一种内网木马的检测方法和装置
CN102946387A (zh) * 2012-11-01 2013-02-27 惠州Tcl移动通信有限公司 一种防御拒接服务攻击的方法
CN103746892A (zh) * 2013-11-27 2014-04-23 北京邮电大学 一种基于OpenFlow的SDN虚拟化平台上行信令流标签处理方法
CN104468624A (zh) * 2014-12-22 2015-03-25 上海斐讯数据通信技术有限公司 Sdn控制器、路由/交换设备及网络防御方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107018084A (zh) * 2017-04-12 2017-08-04 南京工程学院 基于sdn架构的ddos攻击防御网络安全系统和方法
CN107018084B (zh) * 2017-04-12 2020-10-27 南京工程学院 基于sdn架构的ddos攻击防御网络安全方法
CN109120531A (zh) * 2018-09-11 2019-01-01 郑州云海信息技术有限公司 一种流表过载防护方法与装置
CN110535790A (zh) * 2019-08-23 2019-12-03 天津芯海创科技有限公司 基于semaphore的交换芯片异常报文处理方法
CN110535790B (zh) * 2019-08-23 2022-03-18 天津芯海创科技有限公司 基于semaphore的交换芯片异常报文处理方法
CN112671711A (zh) * 2020-11-26 2021-04-16 新华三技术有限公司 一种网络设备的管理方法及装置
CN113114649A (zh) * 2021-04-02 2021-07-13 腾讯科技(深圳)有限公司 拒绝服务攻击的解决方法、装置、设备及介质
CN113114649B (zh) * 2021-04-02 2024-01-05 腾讯科技(深圳)有限公司 拒绝服务攻击的解决方法、装置、设备及介质
CN113645256A (zh) * 2021-10-13 2021-11-12 成都数默科技有限公司 一种不降低tcp会话数据价值密度的聚合方法
CN113645256B (zh) * 2021-10-13 2021-12-28 成都数默科技有限公司 一种不降低tcp会话数据价值密度的聚合方法

Similar Documents

Publication Publication Date Title
CN106534048A (zh) 一种防范sdn拒绝服务攻击的方法、交换机和系统
EP3424183B1 (en) System and method for dataplane-signaled packet capture in ipv6 environment
CN104348716B (zh) 一种报文处理方法及设备
CN102197627B (zh) 组播流量收敛的改善
CN108141416B (zh) 一种报文处理方法、计算设备以及报文处理装置
WO2015074324A1 (zh) 一种数据包快速转发方法及装置
US10425337B2 (en) Method for processing downlink signalling of SDN virtualization platform based on openflow
CN105357146B (zh) 出口网关内缓存队列饱和攻击防御方法、装置及系统
CN103763194B (zh) 一种报文转发方法及装置
EP3720075B1 (en) Data transmission method and virtual switch
US9065723B2 (en) Unaddressed device communication from within an MPLS network
US20130294449A1 (en) Efficient application recognition in network traffic
US7478168B2 (en) Device, method and program for band control
CN106549871A (zh) 一种报文处理的方法、设备和系统
CN105939297A (zh) 一种tcp报文重组方法和装置
US20160254998A1 (en) Service chaining using in-packet bloom filters
Abdulsalam et al. Improvement of high-availability seamless redundancy (HSR) unicast traffic performance using port locking
CN103475657B (zh) 防syn泛洪攻击的处理方法和装置
CN103595712B (zh) 一种Web认证方法、装置及系统
CN106330762A (zh) 交换机加速处理数据的方法、cpu核和交换机
CN104486226B (zh) 一种报文处理方法及装置
CN103746920A (zh) 一种基于网闸实现数据传输的方法
WO2016062067A1 (zh) 一种用户报文的转发控制方法以及处理节点
CN105141526B (zh) 虚拟网络通信的方法及装置
CN108418794B (zh) 一种智能变电站通信网络抵御arp攻击的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170322

RJ01 Rejection of invention patent application after publication