CN115695041A - 基于sdn的ddos攻击检测与防护的方法及应用 - Google Patents
基于sdn的ddos攻击检测与防护的方法及应用 Download PDFInfo
- Publication number
- CN115695041A CN115695041A CN202211441791.2A CN202211441791A CN115695041A CN 115695041 A CN115695041 A CN 115695041A CN 202211441791 A CN202211441791 A CN 202211441791A CN 115695041 A CN115695041 A CN 115695041A
- Authority
- CN
- China
- Prior art keywords
- attack
- port
- data packet
- suspicious
- quinary
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于SDN的DDOS攻击检测与防护的方法及应用,该方法包括以下步骤:采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型;合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包;判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量;标志所述攻击流量中源IP熵值最大的交换机端口为可疑端口,标志重复检测为可疑端口的交换机端口为攻击端口;将防御规则下发至所述攻击端口所在的交换机,过滤攻击流量。该方法能够有效降低控制器负载,保护SDN控制器和交换机。
Description
技术领域
本发明是关于网络安全技术领域,特别是关于一种基于SDN的DDOS攻击检测与防护的方法及应用。
背景技术
在SDN网络中,攻击者通常会利用僵尸网络对控制器发起DDOS攻击。由于SDN集中管控的特性,当DDOS攻击出现时,交换机与控制器之间通信次数急剧增加,交换机流表数呈爆炸式增长,最终会使交换机流表缓存耗尽,链路拥塞,控制器系统资源耗尽,最终导致SDN网络崩溃。
目前大多数现有技术方案仅执行DDoS攻击检测,而未解决检测到DDOS攻击后如何防御和恢复的问题。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种基于SDN的DDOS攻击检测与防护的方法及应用,其能够有效降低控制器负载,保护SDN控制器和交换机,提高检测准确率。
为实现上述目的,本发明的实施例提供了一种基于SDN的DDOS攻击检测的方法。
在本发明的一个或多个实施方式中,所述方法包括:采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型;合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包;判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量。
在本发明的一个或多个实施方式中,所述采集数据包的五元特征采取滑动窗口机制来实现,具体包括:在滑动窗口尾部写入所述数据包,完成对所述数据包的操作;滑动窗口向后移动,删除前端数据包,增添尾部数据包,重复前述步骤。
在本发明的一个或多个实施方式中,所述采集数据包的五元特征采取滑动窗口机制来实现,还包括:根据网络中主机的数量来设定滑动窗口大小,其中所述窗口大小为发送数据包的最大数量。
在本发明的一个或多个实施方式中,所述计算所述五元特征的熵值,包括:统计窗口中所述数据包的五元特征出现的次数,根据次数和窗口大小计算每个特征出现的概率,并计算窗口内各个特征的熵值,将每个窗口的五元特征的熵值合并做hash运算。
在本发明的一个或多个实施方式中,所述判断hash计算值是否超过阈值,包括:所述阈值为网络中最大的源IP熵值。
在本发明的一个或多个实施方式中,所述判断所述可疑流量是否存在攻击行为,包括:采用SVM算法来判别可疑流量是否存在攻击行为。
为实现上述目的,本发明的实施例还提供了一种基于SDN的DDOS攻击防护的方法。
在本发明的一个或多个实施方式中,所述方法包括:采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型;合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包;判断所述可疑流量是否存在攻击行为,若是,判定该数据包为攻击流量;若否,过滤该数据包;标志所述攻击流量中源IP熵值最大的交换机端口为可疑端口,标志重复检测为可疑端口的交换机端口为攻击端口;以及将防御规则下发至所述攻击端口所在的交换机,过滤攻击流量。
在本发明的一个或多个实施方式中,所述采集数据包的五元特征采取滑动窗口机制来实现,具体包括:在滑动窗口尾部写入所述数据包,完成对所述数据包的操作;滑动窗口向后移动,删除前端数据包,增添尾部数据包,重复前述步骤。
在本发明的一个或多个实施方式中,所述采集数据包的五元特征采取滑动窗口机制来实现,还包括:根据网络中主机的数量来设定滑动窗口大小,其中所述窗口大小为发送数据包的最大数量。
在本发明的一个或多个实施方式中,所述计算所述五元特征的熵值,包括:统计窗口中所述数据包的五元特征出现的次数,根据次数和窗口大小计算每个特征出现的概率,并计算窗口内各个特征的熵值,将每个窗口的五元特征的熵值合并做hash运算。
在本发明的一个或多个实施方式中,所述判断hash计算值是否超过阈值,包括:所述阈值为网络中最大的源IP熵值。
在本发明的一个或多个实施方式中,所述判断所述可疑流量是否存在攻击行为,包括:采用SVM算法来判别可疑流量是否存在攻击行为。
在本发明的一个或多个实施方式中,所述将防御规则下发至所述攻击端口所在的交换机,包括:判断规则缓存队列中是否存在该防御规则,若是,则不下发;若否,则将该防御规则添加到所述规则缓存队列中,并在控制器上下发该防御规则到攻击端口所在的交换机上。
在本发明的一个或多个实施方式中,所述防御规则以流表项形式存在于交换机中,其特征在于,所述方法还包括:在所述流表项的生存时间内,若DDOS攻击停止,则所述流表项自动失效。
在本发明的另一个方面当中,提供了一种基于SDN的DDOS攻击检测的装置,其包括计算模块和监测模块。
计算模块,用于采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型。
检测模块,用于合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包;判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量。
在本发明的一个或多个实施方式中,所述计算模块还用于:采集数据包的五元特征采取滑动窗口机制来实现,在滑动窗口尾部写入所述数据包,完成对所述数据包的操作;滑动窗口向后移动,删除前端数据包,增添尾部数据包,重复前述步骤。
在本发明的一个或多个实施方式中,所述计算模块还用于:根据网络中主机的数量来设定滑动窗口大小,其中所述窗口大小为发送数据包的最大数量。
在本发明的一个或多个实施方式中,所述计算模块还用于:统计窗口中所述数据包的五元特征出现的次数,根据次数和窗口大小计算每个特征出现的概率,并计算窗口内各个特征的熵值,将每个窗口的五元特征的熵值合并做hash运算。
在本发明的一个或多个实施方式中,所述检测模块还用于:所述阈值为网络中最大的源IP熵值。
在本发明的一个或多个实施方式中,所述检测模块还用于:采用SVM算法来判别可疑流量是否存在攻击行为。
在本发明的另一个方面当中,提供了一种基于SDN的DDOS攻击防护的装置,其包括计算模块、监测模块、判定模块和防御模块。
计算模块,用于采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型。
检测模块,用于合并五元特征的熵值并进行hash计算,判断hash运算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包;判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量。
判定模块,用于标志所述攻击流量中源IP熵值最大的交换机端口为可疑端口,标志重复检测为可疑端口的交换机端口为攻击端口。
防御模块,用于将防御规则下发至所述攻击端口所在的交换机,过滤攻击流量。
在本发明的一个或多个实施方式中,所述计算模块还用于:采集数据包的五元特征采取滑动窗口机制来实现,在滑动窗口尾部写入所述数据包,完成对所述数据包的操作;滑动窗口向后移动,删除前端数据包,增添尾部数据包,重复前述步骤。
在本发明的一个或多个实施方式中,所述计算模块还用于:根据网络中主机的数量来设定滑动窗口大小,其中所述窗口大小为发送数据包的最大数量。
在本发明的一个或多个实施方式中,所述计算模块还用于:统计窗口中所述数据包的五元特征出现的次数,根据次数和窗口大小计算每个特征出现的概率,并计算窗口内各个特征的熵值,将每个窗口的五元特征的熵值合并做hash运算。
在本发明的一个或多个实施方式中,所述检测模块还用于:所述阈值为网络中最大的源IP熵值。
在本发明的一个或多个实施方式中,所述检测模块还用于:采用SVM算法来判别可疑流量是否存在攻击行为。
在本发明的一个或多个实施方式中,所述防御模块还用于:判断规则缓存队列中是否存在该防御规则,若是,则不下发;若否,则将该防御规则添加到所述规则缓存队列中,并在控制器上下发该防御规则到攻击端口所在的交换机上。
在本发明的一个或多个实施方式中,所述防御模块还用于:所述防御规则以流表项形式存在于交换机中,在所述流表项的生存时间内,若DDOS攻击停止,则所述流表项自动失效。
与现有技术相比,根据本发明实施方式的基于SDN的DDOS攻击检测与防护的方法及应用,其能够通过收集交换机上发给控制器的packet_in数据包,复用了控制器的消息接收机制,与周期性收集流表项信息相比,能够有效地降低控制器负载;通过采用两级攻击检测的方式,一级检测模块通过源IP熵值过滤大量正常流量,二级检测模块判别网络中是否存在攻击,定位并及时采取防御措施,从转发层面过滤大量恶意流量,能够有效地保护SDN控制器和交换机,且提高了检测准确率;通过源IP、源端口、目的IP、目的端口和协议类型五元特征来描述网络中源IP和目的IP的分散性,能够更早地检测出来DDoS攻击并及时进行防御,避免过多损失。
附图说明
图1是SDN控制器的布局架构图;
图2是SDN网络的结构示意图;
图3是SDN网络中DDoS攻击的整体示意图;
图4是根据本发明一实施方式的基于SDN的DDOS攻击检测的方法的示意图;
图5是根据本发明一实施方式的基于SDN的DDOS攻击检测的方法的窗口滑动机制的示意图。
图6是根据本发明一实施方式的基于SDN的DDOS攻击防护的方法的示意图;
图7是根据本发明一实施方式的基于SDN的DDOS攻击防护的系统结构图;
图8是根据本发明一实施方式的基于SDN的DDOS攻击防护的方法的具体流程图;
图9是根据本发明一实施方式的基于SDN的DDOS攻击检测的装置的结构图;
图10是根据本发明一实施方式的基于SDN的DDOS攻击防护的装置的结构图。
图11是根据本发明一实施方式的基于SDN的DDOS攻击检测与防护的的计算设备的硬件结构图;
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
如图1和图2所示,软件定义网络SDN(Software-Defined Networking)是一种新型的网络架构,其核心思想是将控制逻辑和转发逻辑分离成两个平面,包括集中式控制平面与分布式数据平面。SDN具有集中控制、控制平面与数据平面解耦、可编程性强等特点。但是SDN并不是绝对安全的,因为SDN控制器集中管理网络资源,所以一旦控制器单点失效,整个网络将面临瘫痪的风险。
分布式拒绝服务攻击DDoS(Distributed Denial of Service)是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布的、协同的大规模攻击方式。DDoS攻击会造成服务器资源被攻击者占用,导致服务器无法对其他正常用户提供服务。在SDN网络中,DDoS攻击不仅对目标主机造成危害,更对交换机和控制器产生影响。
配合图2,如图3所示,攻击者在SDN网络中发起伪造源IP的DDoS攻击时,交换机接收到大量不同源IP的攻击数据包,这些数据包在流表上匹配失败,触发交换机上发大量packet_in消息。控制器接收到这些异常的packet_in消息,消耗大量资源处理,并向交换机下发流表项,这些无用流表项占据交换机的流表空间。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例1
如图4所示,介绍本发明的一个实施例中基于SDN的DDOS攻击检测的方法,该方法包括如下步骤。
在步骤S401中,采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型。
正常状况下,网络中源IP和目的IP种类相当,源端口和目的端口种类相当,且源IP、源端口、目的IP、目的端口分布在一定范围内,然而当发生DDOS攻击时,网络中源IP、源端口和目的端口种类将会陡然增大,目的IP分布变得集中。
熵是随机程度的度量,一个系统随机程度越高,信息分布越分散,熵值越高,反之,系统随机程度越低,熵值越低。在本实施例中,熵值越大,五元特征分布越广泛,差异越大;熵值越小,五元特征互异性越小。
在步骤S402中,合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包。
在具体的场景中,当发生DDOS攻击时,网络中源IP、源端口、目的IP、目的端口和协议类型的熵值均有可能会出现陡然增大的可能,但不管是哪个特征的熵值出现陡然增大,但对于整体而言,五元特征的合并之后的熵值较正常情况时势必也会出现明显增大的表征。所以在本实施方式中,从整体出发只需要对五元特征合并之后熵值进行hash计算,通过将计算得到的hash值与预设的阈值进行比较,即可以判断是否为可疑流量。
诚然,在判定该数据包为可疑流量后,还可以进一步地根据该数据包源IP、源端口、目的IP、目的端口和协议类型的各自的熵值来判断攻击具体来自五元特征中的哪一个。
在步骤S403中,判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量。
在本实施方式中,在判断数据包是否为可疑流量后,还需要对可疑流量做进一步的判断,并不是所有的可疑流量就势必为攻击流量,只有是判断为攻击流量的可疑流量才需要明确去进行防御应对。
实施例2
如图4和图5所示,介绍本发明的一个实施例中基于SDN的DDOS攻击检测的方法,该方法包括如下步骤。
在步骤S401中,采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型。
在本实施例中,在SDN网络中受到DDOS攻击时,交换机接收到不同源IP的攻击数据包并上发多个packet_in数据包至控制器。
具体的,所述采集数据包的五元特征采取滑动窗口机制来实现,实现滑动窗口机制具体为,在滑动窗口尾部写入所述数据包,完成对所述数据包的操作;滑动窗口向后移动,删除前端数据包,增添尾部数据包,重复前述步骤。其中,根据网络中主机的数量来设定滑动窗口大小,其中所述窗口大小为发送数据包的最大数量。
应当理解的是,本发明仅提供滑动窗口机制作为一种采集数据包五元特征的方法,不应当视为对本申请中采集方法的限制,同样可以采用其他流量控制方法完成对数据包五元特征的采集。
滑动窗口机制是TCP的一种流量控制方法,该机制允许发送方在停止并等待确认前连续发送多个分组,而不必每发送一个分组就停下来等待确认,从而增加数据传输的速率提高应用的吞吐量。其基本工作流程就是由接收方通告窗口的大小,这个窗口称为提出窗口,也就是接收方窗口。窗口通过滑动的方式,向后移动,确保下一次发送仍然可以发送窗口大小的数据包。
在实际使用中,该机制可以分为两部分:第一部分表示数据包已经发送,但未得到确认应答包;第二部分表示允许发送,但未发送的数据包。在进行数据包发送时,当发送了最大数量的数据包,有时不会同时收到这些数据包的确认应答包,而是收到部分确认应答包。如图5所示,发送端发送了2001-5000三个数据包至接收端,接收端确认应答后,发送端收到部分确认应答包即2001-4000,下一次发送的时候发送4001-7000三个数据包,故而窗口滑动向前滑动了两个数据包。
在本实施例中采取滑动窗口机制计算熵值,窗口大小是采样数据包的数目和计算熵值的单位。采用基于数量的滑动窗口机制,设置一个窗口大小为SIZE,计算过程如下:
1)当前窗口作用于控制器接收到的packet_in数据包序列,窗口内包含SIZE个packet_in数据包,每个数据包对应一组五条特征;
2)统计当前窗口内各特征出现的次数,根据次数和窗口大小计算每个特征出现的概率;
3)根据每个特征出现的概率,计算当前窗口内各特征的熵值;
4)滑动窗口向后移动,去除前端项,添加进尾部项,重复上述步骤。
在本实施例中,统计窗口中所述数据包的五元特征出现的次数,根据次数和窗口大小计算每个特征出现的概率,并计算窗口内各个特征的熵值,将每个窗口的五元特征的熵值合并做hash运算。
熵是随机程度的度量,一个系统随机程度越高,信息分布越分散,熵值越高,反之,系统随机程度越低,熵值越低。为了详细说明本实施例中特征的熵值计算,以源IP熵值计算为例。一个窗口中,不同的源IP分别记为1,2,3…n,概率分别为p1,p2,...,pn,则该窗口中源IP熵值如下:
熵值E越大,源IP分布越广泛,差异越大;熵值E越小,源IP互异性越小。
具体的,在判定该数据包为可疑流量后,还可以根据该数据包源IP、源端口、目的IP、目的端口和协议类型的熵值来判断攻击具体来自五元特征中的哪一个。
在步骤S402中,合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定数据包为可疑流量;若否,过滤该数据包。
在本实施例中,所述阈值为网络中最大的源IP熵值。
在具体的场景中,当发生DDOS攻击时,网络中源IP、源端口、目的IP、目的端口和协议类型的熵值均有可能会出现陡然增大的可能,但不管是哪个特征的熵值出现陡然增大,但对于整体而言,五元特征的合并之后的熵值较正常情况时势必也会出现明显增大的表征。所以在本实施方式中,从整体出发只需要对五元特征合并之后熵值进行hash计算,通过将计算得到的hash值与预设的阈值进行比较,即可以判断是否为可疑流量。
诚然,在判定该数据包为可疑流量后,还可以进一步地根据该数据包源IP、源端口、目的IP、目的端口和协议类型的各自的熵值来判断攻击具体来自五元特征中的哪一个。
在步骤S403中,判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量。
在本实施例中,采用SVM算法来判别可疑流量是否存在攻击行为。
具体的,进行训练数据的收集,使用SVM算法对训练数据进行统计建模,获得SVM攻击检测模型。
SVM算法是一种统计学算法,它是一种二分类模型,其基本模型是定义在特征空间上的间隔最大的线性分类器,同时也是一种经典的模式识别算法,泛化能力强,无论样本的大小都有较好的分类效果。SVM的学习算法就是求解凸二次规划的最优化算法,基本原理就是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。
在本实施例中,以DARPA数据集来举例说明,使用SVM算法的具体步骤如下:
1)收集实验中正常流量和攻击流量,结合DARPA数据集中正常流量和攻击流量,作为训练数据;
2)训练数据为离线数据和SDN网络在线数据相结合;
3)在线数据采用实验拓扑中的模拟流量数据,在SDN网络环境中基于正常网络通信流量的特性,在网络中模拟发起synflood、udpflood和icmpflood不同混合比例的攻击,数据收集模块收集此时的数据作为负样本。将离线和在线的数据混合,提取训练样本的五元特征值;
4)使用SVM算法对训练数据进行统计建模,得到SVM攻击检测模型。
在本实施方式中,在判断数据包是否为可疑流量后,还需要对可疑流量做进一步的判断,并不是所有的可疑流量就势必为攻击流量,只有是判断为攻击流量的可疑流量才需要明确去进行防御应对。
实施例3
如图6至图8所示,介绍本发明的一个实施例中基于SDN的DDOS攻击防护的方法,该方法包括如下步骤。
在步骤S601中,采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型。
在本实施例中,在SDN网络中受到DDOS攻击时,交换机接收到不同源IP的攻击数据包并上发多个packet_in数据包至控制器。
具体的,采集数据包的五元特征采取滑动窗口机制来实现,实现滑动窗口机制具体为,在滑动窗口尾部写入所述数据包,完成对所述数据包的操作;滑动窗口向后移动,删除前端数据包,增添尾部数据包,重复前述步骤。其中,根据网络中主机的数量来设定滑动窗口大小,其中所述窗口大小为发送数据包的最大数量。
应当理解的是,本发明仅提供滑动窗口机制作为一种采集数据包五元特征的方法,不应当视为对本申请中采集方法的限制,同样可以采用其他流量控制方法完成对数据包五元特征的采集。
在本实施例中,统计窗口中所述数据包的五元特征出现的次数,根据次数和窗口大小计算每个特征出现的概率,并计算窗口内各个特征的熵值,将每个窗口的五元特征的熵值合并做hash运算。
在步骤S602中,合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包。
在本实施例中,所述阈值为网络中最大的源IP熵值。
在具体的场景中,当发生DDOS攻击时,网络中源IP、源端口、目的IP、目的端口和协议类型的熵值均有可能会出现陡然增大的可能,但不管是哪个特征的熵值出现陡然增大,但对于整体而言,五元特征的合并之后的熵值较正常情况时势必也会出现明显增大的表征。所以在本实施方式中,从整体出发只需要对五元特征合并之后熵值进行hash计算,通过将计算得到的hash值与预设的阈值进行比较,即可以判断是否为可疑流量。
诚然,在判定该数据包为可疑流量后,还可以进一步地根据该数据包源IP、源端口、目的IP、目的端口和协议类型的各自的熵值来判断攻击具体来自五元特征中的哪一个。
在步骤S603中,判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量。
在本实施例中,采用SVM算法来判别可疑流量是否存在攻击行为。
具体的,进行训练数据的收集,使用SVM算法对训练数据进行统计建模,获得SVM攻击检测模型。
在本实施方式中,在判断数据包是否为可疑流量后,还需要对可疑流量做进一步的判断,并不是所有的可疑流量就势必为攻击流量,只有是判断为攻击流量的可疑流量才需要明确去进行防御应对。
在步骤S604中,标志所述攻击流量中源IP熵值最大的交换机端口为可疑端口,标志重复检测为可疑端口的交换机端口为攻击端口。
在步骤S605中,将防御规则下发至所述攻击端口所在的交换机,过滤攻击流量。
在本实施例中,判断规则缓存队列中是否存在该防御规则,若是,则不下发;若否,则将该防御规则添加到所述规则缓存队列中,并在控制器上下发该防御规则到攻击端口所在的交换机上。
具体的,在所述流表项的生存时间内,若DDOS攻击停止,则所述流表项自动失效。
防御规则采用流表项的形式存在于交换机中,所述流表项的生存时间为30s。若30s内DDOS攻击停止,则该流表项自动失效,用于保证攻击结束后网络通信能正常进行。
根据本发明实施方式的基于SDN的DDOS攻击检测与防护的方法及应用,其能够通过收集交换机上发给控制器的packet_in数据包,复用了控制器的消息接收机制,与周期性收集流表项信息相比,能够有效地降低了控制器负载;通过采用两级攻击检测的方式,一级检测模块通过源IP熵值过滤大量正常流量,二级检测模块判别网络中是否存在攻击,定位并及时采取防御措施,从转发层面过滤大量恶意流量,能够有效地保护SDN控制器和交换机,且提高了检测准确率;通过源IP、源端口、目的IP、目的端口和协议类型五元特征描述网络中源IP和目的IP的分散性,能够更早地检测出来DDOS攻击并进行防御,避免过多损失。
实施例4
如图9所示,介绍根据本发明具体实施方式的基于SDN的DDOS攻击检测的装置包括计算模块901和监测模块902。
计算模块901,用于采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型。
检测模块902,用于合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包;判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量。
计算模块901还用于:所述采集数据包的五元特征采取滑动窗口机制来实现,在滑动窗口尾部写入所述数据包,完成对所述数据包的操作;滑动窗口向后移动,删除前端数据包,增添尾部数据包,重复前述步骤。
计算模块901还用于:根据网络中主机的数量来设定滑动窗口大小,其中所述窗口大小为发送数据包的最大数量。
计算模块901还用于:统计窗口中所述数据包的五元特征出现的次数,根据次数和窗口大小计算每个特征出现的概率,并计算窗口内各个特征的熵值,将每个窗口的五元特征的熵值合并做hash运算。
检测模块902还用于:所述阈值为网络中最大的源IP熵值。
检测模块902还用于:采用SVM算法来判别可疑流量是否存在攻击行为。
如图10所示,介绍根据本发明具体实施方式的基于SDN的DDOS攻击检测的装置包括计算模块1001、监测模块1002、判定模块1003和防御模块1004。
计算模块1001,用于采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型。
检测模块1002,用于合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包;判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量。
判定模块1003,用于标志所述攻击流量中源IP熵值最大的交换机端口为可疑端口,标志重复检测为可疑端口的交换机端口为攻击端口。
防御模块1004,用于将防御规则下发至所述攻击端口所在的交换机,过滤攻击流量。
计算模块1001还用于:所述采集数据包的五元特征采取滑动窗口机制来实现,在滑动窗口尾部写入所述数据包,完成对所述数据包的操作;滑动窗口向后移动,删除前端数据包,增添尾部数据包,重复前述步骤。
计算模块1001还用于:根据网络中主机的数量来设定滑动窗口大小,其中所述窗口大小为发送数据包的最大数量。
计算模块1001还用于:统计窗口中所述数据包的五元特征出现的次数,根据次数和窗口大小计算每个特征出现的概率,并计算窗口内各个特征的熵值,将每个窗口的五元特征的熵值合并做hash运算。
检测模块1002还用于:所述阈值为网络中最大的源IP熵值。
检测模块1002还用于:采用SVM算法来判别可疑流量是否存在攻击行为。
防御模块1004还用于:判断规则缓存队列中是否存在该防御规则,若是,则不下发;若否,则将该防御规则添加到所述规则缓存队列中,并在控制器上下发该防御规则到攻击端口所在的交换机上。
防御模块1004还用于:所述防御规则以流表项形式存在于交换机中,在所述流表项的生存时间内,若DDOS攻击停止,则所述流表项自动失效。
图11示出了根据本说明书的实施例的用于基于SDN的DDOS攻击检测的计算设备110的硬件结构图。如图11所示,计算设备110可以包括至少一个处理器1101、存储器1102(例如非易失性存储器)、内存1103和通信接口1104,并且至少一个处理器1101、存储器1102、内存1103和通信接口1104经由总线1105连接在一起。至少一个处理器1101执行在存储器1102中存储或编码的至少一个计算机可读指令。
应该理解,在存储器1102中存储的计算机可执行指令当执行时使得至少一个处理器1101进行本说明书的各个实施例中以上结合图1-11描述的各种操作和功能。
在本说明书的实施例中,计算设备110可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-11描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
根据本发明实施方式的基于SDN的DDOS攻击检测与防护的方法及应用,其能够通过收集交换机上发给控制器的packet_in数据包,复用了控制器的消息接收机制,与周期性收集流表项信息相比,能够有效地降低控制器负载;通过采用两级攻击检测的方式,一级检测模块通过源IP熵值过滤大量正常流量,二级检测模块判别网络中是否存在攻击,定位并及时采取防御措施,从转发层面过滤大量恶意流量,能够有效地保护SDN控制器和交换机,且提高了检测准确率;通过源IP、源端口、目的IP、目的端口和协议类型五元特征来描述网络中源IP和目的IP的分散性,能够更早地检测出来DDoS攻击并及时进行防御,避免过多损失。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
Claims (13)
1.一种基于SDN的DDOS攻击检测的方法,其特征在于,所述方法包括:
采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型;
合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包;
判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量。
2.如权利要求1所述的基于SDN的DDOS攻击检测的方法,其特征在于,所述采集数据包的五元特征采取滑动窗口机制来实现,具体包括:
在滑动窗口尾部写入所述数据包,完成对所述数据包的操作;
滑动窗口向后移动,删除前端数据包,增添尾部数据包,重复前述步骤。
3.如权利要求2所述的基于SDN的DDOS攻击检测的方法,其特征在于,所述采集数据包的五元特征采取滑动窗口机制来实现,还包括:
根据网络中主机的数量来设定滑动窗口大小,其中所述窗口大小为发送数据包的最大数量。
4.如权利要求3所述的基于SDN的DDOS攻击检测的方法,其特征在于,所述计算所述五元特征的熵值,包括:
统计窗口中所述数据包的五元特征出现的次数,根据次数和窗口大小计算每个特征出现的概率,并计算窗口内各个特征的熵值,将每个窗口的五元特征的熵值合并做hash运算。
5.如权利要求1所述的基于SDN的DDOS攻击检测的方法,其特征在于,所述判断hash计算值是否超过阈值,包括:
所述阈值为网络中最大的源IP熵值。
6.如权利要求1所述的基于SDN的DDOS攻击检测的方法,其特征在于,所述判断所述可疑流量是否存在攻击行为,包括:
采用SVM算法来判别可疑流量是否存在攻击行为。
7.一种基于SDN的DDOS攻击防护的方法,其特征在于,所述方法包括:
采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型;
合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包;
判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量;
标志所述攻击流量中源IP熵值最大的交换机端口为可疑端口,标志重复检测为可疑端口的交换机端口为攻击端口;以及
将防御规则下发至所述攻击端口所在的交换机,过滤攻击流量。
8.如权利要求7所述的基于SDN的DDOS攻击防护的方法,其特征在于,所述将防御规则下发至所述攻击端口所在的交换机,包括:
判断规则缓存队列中是否存在该防御规则,若是,则不下发;
若否,则将该防御规则添加到所述规则缓存队列中,并在控制器上下发该防御规则到攻击端口所在的交换机上。
9.如权利要求7所述的基于SDN的DDOS攻击防护的方法,其中所述防御规则以流表项形式存在于交换机中,其特征在于,所述方法还包括:
在所述流表项的生存时间内,若DDOS攻击停止,则所述流表项自动失效。
10.一种基于SDN的DDOS攻击检测的装置,其特征在于,所述装置包括:
计算模块,用于采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型;
检测模块,用于合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包;判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量。
11.一种基于SDN的DDOS攻击防护的装置,其特征在于,所述装置包括:
计算模块,用于采集数据包的五元特征,并计算所述五元特征的熵值,其中所述五元特征包括源IP、源端口、目的IP、目的端口和协议类型;
检测模块,用于合并五元特征的熵值并进行hash计算,判断hash计算值是否超过阈值,若是,判定该数据包为可疑流量;若否,过滤该数据包;判断所述可疑流量是否存在攻击行为,若是,判定该可疑流量为攻击流量;若否,过滤该可疑流量;
判定模块,用于标志所述攻击流量中源IP熵值最大的交换机端口为可疑端口,标志重复检测为可疑端口的交换机端口为攻击端口;以及
防御模块,用于将防御规则下发至所述攻击端口所在的交换机,过滤攻击流量。
12.一种电子设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1至6中任一项所述的基于SDN的DDOS攻击检测的方法和7至9中任一项所述的基于SDN的DDOS攻击防护的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的基于SDN的DDOS攻击检测的方法和7至9中任一项所述的基于SDN的DDOS攻击防护的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211441791.2A CN115695041B (zh) | 2022-11-17 | 2022-11-17 | 基于sdn的ddos攻击检测与防护的方法及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211441791.2A CN115695041B (zh) | 2022-11-17 | 2022-11-17 | 基于sdn的ddos攻击检测与防护的方法及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115695041A true CN115695041A (zh) | 2023-02-03 |
CN115695041B CN115695041B (zh) | 2023-08-04 |
Family
ID=85053205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211441791.2A Active CN115695041B (zh) | 2022-11-17 | 2022-11-17 | 基于sdn的ddos攻击检测与防护的方法及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115695041B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116506225A (zh) * | 2023-06-27 | 2023-07-28 | 武汉中科通达高新技术股份有限公司 | 协作式DDoS攻击检测方法、系统、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108282497A (zh) * | 2018-04-28 | 2018-07-13 | 电子科技大学 | 针对SDN控制平面的DDoS攻击检测方法 |
CN109005157A (zh) * | 2018-07-09 | 2018-12-14 | 华中科技大学 | 一种软件定义网络中DDoS攻击检测与防御方法与系统 |
US20210092153A1 (en) * | 2018-02-05 | 2021-03-25 | Chongqing University Of Posts And Telecommunications | Ddos attack detection and mitigation method for industrial sdn network |
CN113452695A (zh) * | 2021-06-25 | 2021-09-28 | 中国舰船研究设计中心 | 一种SDN环境下的DDoS攻击检测和防御方法 |
WO2021227322A1 (zh) * | 2020-05-13 | 2021-11-18 | 南京邮电大学 | 一种SDN环境DDoS攻击检测防御方法 |
CN114513340A (zh) * | 2022-01-21 | 2022-05-17 | 华中科技大学 | 一种软件定义网络中的两级DDoS攻击检测与防御方法 |
-
2022
- 2022-11-17 CN CN202211441791.2A patent/CN115695041B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210092153A1 (en) * | 2018-02-05 | 2021-03-25 | Chongqing University Of Posts And Telecommunications | Ddos attack detection and mitigation method for industrial sdn network |
CN108282497A (zh) * | 2018-04-28 | 2018-07-13 | 电子科技大学 | 针对SDN控制平面的DDoS攻击检测方法 |
CN109005157A (zh) * | 2018-07-09 | 2018-12-14 | 华中科技大学 | 一种软件定义网络中DDoS攻击检测与防御方法与系统 |
WO2021227322A1 (zh) * | 2020-05-13 | 2021-11-18 | 南京邮电大学 | 一种SDN环境DDoS攻击检测防御方法 |
CN113452695A (zh) * | 2021-06-25 | 2021-09-28 | 中国舰船研究设计中心 | 一种SDN环境下的DDoS攻击检测和防御方法 |
CN114513340A (zh) * | 2022-01-21 | 2022-05-17 | 华中科技大学 | 一种软件定义网络中的两级DDoS攻击检测与防御方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116506225A (zh) * | 2023-06-27 | 2023-07-28 | 武汉中科通达高新技术股份有限公司 | 协作式DDoS攻击检测方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115695041B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Saini et al. | Detection of DDoS attacks using machine learning algorithms | |
CN109005157B (zh) | 一种软件定义网络中DDoS攻击检测与防御方法与系统 | |
Hsieh et al. | Detection DDoS attacks based on neural-network using Apache Spark | |
CN108429651B (zh) | 流量数据检测方法、装置、电子设备及计算机可读介质 | |
CN109644184B (zh) | 用于从ipfix数据检测云上的ddos僵尸网络的聚类方法 | |
CN111614627A (zh) | 一种面向sdn的跨平面协作ddos检测与防御方法与系统 | |
CN104901971A (zh) | 对网络行为进行安全分析的方法和装置 | |
CN103929334A (zh) | 网络异常通知方法和装置 | |
CN105100122A (zh) | 一种基于大数据分析的威胁检测和预警的方法及系统 | |
Rathore et al. | Hadoop based real-time intrusion detection for high-speed networks | |
CN110944016B (zh) | DDoS攻击检测方法、装置、网络设备及存储介质 | |
CN115695041B (zh) | 基于sdn的ddos攻击检测与防护的方法及应用 | |
Luong et al. | DDoS attack detection and defense in SDN based on machine learning | |
US20230156034A1 (en) | Real-time threat detection for encrypted communications | |
CN114513340A (zh) | 一种软件定义网络中的两级DDoS攻击检测与防御方法 | |
CN114205147B (zh) | 基于软件定义网络的链路泛洪攻击防御方法及系统 | |
CN106789954A (zh) | 一种基于多cpu的ddos攻击识别的方法和装置 | |
Al-Fawa'reh et al. | Detecting stealth-based attacks in large campus networks | |
Hussain et al. | A novel deep learning based intrusion detection system: Software defined network | |
CN113824700B (zh) | 基于端口相似性的双阶段软件定义网络流表溢出防御方法 | |
Yadav et al. | A hybrid approach for detection of ddos attacks using entropy and machine learning in software defined networks | |
Tang et al. | FTODefender: An efficient flow table overflow attacks defending system in SDN | |
Nisa et al. | TPAAD: Two‐phase authentication system for denial of service attack detection and mitigation using machine learning in software‐defined network | |
CN110881016B (zh) | 一种网络安全威胁评估方法及装置 | |
Singh | Machine learning in openflow network: comparative analysis of DDoS detection techniques. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |