CN115412368A - 一种抵抗DDoS攻击的SDN协同控制方法与系统 - Google Patents
一种抵抗DDoS攻击的SDN协同控制方法与系统 Download PDFInfo
- Publication number
- CN115412368A CN115412368A CN202211341706.5A CN202211341706A CN115412368A CN 115412368 A CN115412368 A CN 115412368A CN 202211341706 A CN202211341706 A CN 202211341706A CN 115412368 A CN115412368 A CN 115412368A
- Authority
- CN
- China
- Prior art keywords
- attack
- information
- sdn
- defense
- sdn controller
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- 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
Abstract
本公开提出一种抵抗DDoS攻击的SDN协同控制方法与系统,属于网络控制技术领域。本公开通过共享多控制器管辖域内的威胁信息,协同制定防御策略,以及定位攻击源并部署防御策略,实现多控制器SDN网络中对于DDoS攻击的协同检测与防御。
Description
技术领域
本发明属于网络控制技术领域,尤其涉及一种抵抗DDoS攻击的SDN协同控制方法与系统。
背景技术
控制器作为SDN(Software Defined Network,SDN,软件定义网络)的大脑,对数据平面的运行和网络状态监控起着至关重要的作用,往往更加吸引攻击者的注意。针对控制器的DDoS(Distributed Denial of Service,DDoS,分布式拒绝服务)攻击成为了最常见与最难防御的攻击手段之一,其攻击特征与传统网络中的DDoS攻击具有较明显的差别,攻击者通过恶意主机向交换机发送大量新的转发请求(首包),利用SDN数据平面与控制平面的交互机制,刺激多台交换机向控制器发送大量的PacketIN请求报文,以耗尽控制器的计算资源,达到DDoS攻击的目的。该攻击的实施方式和流量特征与传统网络中针对主机的DDoS攻击截然不同,这导致原有检测和防御DDoS攻击的方法无法直接应用于保护SDN控制器的场景。
发明内容
针对上述技术问题,本发明提供一种抵抗DDoS攻击的SDN协同控制方案。
本发明第一方面公开了一种抵抗DDoS攻击的SDN协同控制方法。所述DDoS攻击为分布式拒绝服务攻击,所述SDN为软件定义网络,所述SDN包括控制平面和数据平面,所述控制平面包括若干个SDN控制器,所述数据平面包括若干个交换机,每个SDN控制器对应一个或多个所述交换机;在每个SDN控制器中均部署网络拓扑和流量检测模块、跨域威胁信息共享模块,在所述SDN中部署防御策略制定模块以及防御策略下发模块,且所述每个SDN控制器中均包含容器化的区块链节点,各个区块链节点之间共同运行用于威胁信息共享的第一智能合约和用于防御策略转发的第二智能合约。
所述方法包括:步骤S1、对所述每个SDN控制器,调用所述网络拓扑和流量检测模块,获取与所述SDN控制器对应的一个或多个交换机在所述数据平面的网络拓扑信息、端口实时流量速率以及所述SDN控制器接收到的转发请求报文的四元组信息,基于所述端口实时流量速率和所述四元组信息生成可疑流量特征,所述可疑流量特征作为威胁信息存储在所述SDN控制器的分布式数据库中;步骤S2、对所述每个SDN控制器,调用所述跨域威胁信息共享模块,基于所述第一智能合约,经由所述控制器包含的区块链节点将所述网络拓扑信息和所述威胁信息上传至区块链;步骤S3、调用防御策略制定模块,从所述区块链中获取来自各个SDN控制器的所述网络拓扑信息和所述威胁信息,解析出其中包含的所述DDoS攻击的攻击源,并将针对所述攻击源的防御策略发送至所述防御策略下发模块,所述防御策略中包含防御流表规则和所述攻击源的交换机端口;步骤S4、调用所述防御策略下发模块,基于所述第二智能合约,经由所述区块链将所述防御策略下发至所述攻击源所在域的SDN控制器,使得所述攻击源所在域的SDN控制器将所述防御流表规则下发至所述攻击源的交换机端口。
根据本发明第一方面的方法,在所述步骤S1中:所述网络拓扑和流量检测模块基于所述SDN控制器接收到的来自所述对应的交换机的LLDP报文,确定所述网络拓扑信息,所述LLDP报文为链路层发现协议报文;在所述SDN控制器处配置sFlow协议的收集端(服务端),在所述SDN控制器对应的一个或多个交换机处配置所述sFlow协议的采集端(客户端),所述网络拓扑和流量检测模块通过所述采集端和所述收集端监测所述端口实时流量速率;在所述SDN控制器处配置OpenFlow协议,所述网络拓扑和流量检测模块基于所述OpenFlow协议解析所述转发请求报文,从所述转发请求报文中提取出所述四元组信息,包括源IP地址、源MAC地址、目的IP地址和目的MAC地址,并计算每个元组的熵值,所述熵值表征该元组被命中的概率;当所述端口实时流量速率高于流量速率阈值,且所述四元组信息中至少一个元组的熵值低于该元组的熵值阈值时,提取出超速的端口信息和低于所述熵值阈值的四元组信息形成所述可疑流量特征,作为一条所述威胁信息。
根据本发明第一方面的方法,在所述步骤S3中:所述防御策略制定模块利用RAFT共识协议,在各个所述区块链节点中通过选举确定一个主节点,所述防御策略制定模块经由所述主节点从所述区块链中获取所述网络拓扑信息和所述威胁信息,通过解析所述网络拓扑信息和所述威胁信息获取完整的攻击路径,并基于所述攻击路径确定所述攻击源;当所述主节点失效时,所述防御策略制定模块基于所述RAFT共识协议在剩余的区块链节点中重新选举出新的主节点;所述攻击源的防御策略中的防御流表规则为:将所述威胁信息中的所述四元组信息中的源IP地址和源MAC地址作为匹配字段,将包含所述匹配字段的攻击流量作为所述DDoS攻击进行丢弃处理。
根据本发明第一方面的方法,在所述步骤S4中:所述防御策略下发模块在接收到所述防御策略后,基于所述攻击源的交换机端口获取所述攻击源所在域中包含的SDN控制器,使得所述攻击源所在域的SDN控制器利用所述OpenFlow协议提供的FlowMod消息,根据所述防御流表规则更新防御流表,并将所述防御流表下发至与所述攻击源的交换机端口对应的交换机,使得所述攻击源的交换机丢弃包含所述匹配字段的DDoS攻击流量。
本发明第二方面公开了一种抵抗DDoS攻击的SDN协同控制系统。所述DDoS攻击为分布式拒绝服务攻击,所述SDN为软件定义网络,所述SDN包括控制平面和数据平面,所述控制平面包括若干个SDN控制器,所述数据平面包括若干个交换机,每个SDN控制器对应一个或多个所述交换机;在每个SDN控制器中均部署网络拓扑和流量检测模块、跨域威胁信息共享模块,在所述SDN中部署防御策略制定模块以及防御策略下发模块,且所述每个SDN控制器中均包含容器化的区块链节点,各个区块链节点之间共同运行用于威胁信息共享的第一智能合约和用于防御策略转发的第二智能合约。
对所述每个SDN控制器,调用所述网络拓扑和流量检测模块,获取与所述SDN控制器对应的一个或多个交换机在所述数据平面的网络拓扑信息、端口实时流量速率以及所述SDN控制器接收到的转发请求报文的四元组信息,基于所述端口实时流量速率和所述四元组信息生成可疑流量特征,所述可疑流量特征作为威胁信息存储在所述SDN控制器的分布式数据库中;对所述每个SDN控制器,调用所述跨域威胁信息共享模块,基于所述第一智能合约,经由所述控制器包含的区块链节点将所述网络拓扑信息和所述威胁信息上传至区块链;调用防御策略制定模块,从所述区块链中获取来自各个SDN控制器的所述网络拓扑信息和所述威胁信息,解析出其中包含的所述DDoS攻击的攻击源,并将针对所述攻击源的防御策略发送至所述防御策略下发模块,所述防御策略中包含防御流表规则和所述攻击源的交换机端口;调用所述防御策略下发模块,基于所述第二智能合约,经由所述区块链将所述防御策略下发至所述攻击源所在域的SDN控制器,使得所述攻击源所在域的SDN控制器将所述防御流表规则下发至所述攻击源的交换机端口。
根据本发明第二方面的系统,所述网络拓扑和流量检测模块基于所述SDN控制器接收到的来自所述对应的交换机的LLDP报文,确定所述网络拓扑信息,所述LLDP报文为链路层发现协议报文;在所述SDN控制器处配置sFlow协议的收集端(服务端),在所述SDN控制器对应的一个或多个交换机处配置所述sFlow协议的采集端(客户端),所述网络拓扑和流量检测模块通过所述采集端和所述收集端监测所述端口实时流量速率;在所述SDN控制器处配置OpenFlow协议,所述网络拓扑和流量检测模块基于所述OpenFlow协议解析所述转发请求报文,从所述转发请求报文中提取出所述四元组信息,包括源IP地址、源MAC地址、目的IP地址和目的MAC地址,并计算每个元组的熵值,所述熵值表征该元组被命中的概率;当所述端口实时流量速率高于流量速率阈值,且所述四元组信息中至少一个元组的熵值低于该元组的熵值阈值时,提取出超速的端口信息和低于所述熵值阈值的四元组信息形成所述可疑流量特征,作为一条所述威胁信息。
根据本发明第二方面的系统,所述防御策略制定模块利用RAFT共识协议,在各个所述区块链节点中通过选举确定一个主节点,所述防御策略制定模块经由所述主节点从所述区块链中获取所述网络拓扑信息和所述威胁信息,通过解析所述网络拓扑信息和所述威胁信息获取完整的攻击路径,并基于所述攻击路径确定所述攻击源;当所述主节点失效时,所述防御策略制定模块基于所述RAFT共识协议在剩余的区块链节点中重新选举出新的主节点;所述攻击源的防御策略中的防御流表规则为:将所述威胁信息中的所述四元组信息中的源IP地址和源MAC地址作为匹配字段,将包含所述匹配字段的攻击流量作为所述DDoS攻击进行丢弃处理。
根据本发明第二方面的系统,所述防御策略下发模块在接收到所述防御策略后,基于所述攻击源的交换机端口获取所述攻击源所在域中包含的SDN控制器,使得所述攻击源所在域的SDN控制器利用所述OpenFlow协议提供的FlowMod消息,根据所述防御流表规则更新防御流表,并将所述防御流表下发至与所述攻击源的交换机端口对应的交换机,使得所述攻击源的交换机丢弃包含所述匹配字段的DDoS攻击流量。
本发明第三方面公开了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现本公开第一方面中任一项所述的一种抵抗DDoS攻击的SDN协同控制方法中的步骤。
本发明第四方面公开了一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本公开第一方面中任一项所述的一种抵抗DDoS攻击的SDN协同控制方法中的步骤。
本发明提供的技术方案在多控制器管理的大规模SDN网络环境中,构建一种可以抵抗针对SDN控制器的DDoS的协同控制方案,使得多控制器之间可以实时快速地共享威胁流量特征,并根据全局威胁信息制定协同防御策略,同时识别攻击路径、定位攻击源、部署防御策略;从而实现网络控制平面对来自数据平面的分布式拒绝服务攻击的有效防御。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的抵抗DDoS攻击的SDN协同控制的示意图;
图2为根据本发明实施例的DDoS攻击场景的示意图;
图3为根据本发明实施例的一种电子设备的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明第一方面公开了一种抵抗DDoS攻击的SDN协同控制方法。图1为根据本发明实施例的抵抗DDoS攻击的SDN协同控制的示意图;图2为根据本发明实施例的DDoS攻击场景的示意图;如图1-2所示,所述DDoS攻击为分布式拒绝服务攻击,所述SDN为软件定义网络,所述SDN包括控制平面和数据平面,所述控制平面包括若干个SDN控制器,所述数据平面包括若干个交换机,每个SDN控制器对应一个或多个所述交换机;在每个SDN控制器中均部署网络拓扑和流量检测模块、跨域威胁信息共享模块,在所述SDN中部署防御策略制定模块以及防御策略下发模块,且所述每个SDN控制器中均包含容器化的区块链节点,各个区块链节点之间共同运行用于威胁信息共享的第一智能合约和用于防御策略转发的第二智能合约。
所述方法包括:步骤S1、对所述每个SDN控制器,调用所述网络拓扑和流量检测模块,获取与所述SDN控制器对应的一个或多个交换机在所述数据平面的网络拓扑信息、端口实时流量速率以及所述SDN控制器接收到的转发请求报文的四元组信息,基于所述端口实时流量速率和所述四元组信息生成可疑流量特征,所述可疑流量特征作为威胁信息存储在所述SDN控制器的分布式数据库中;步骤S2、对所述每个SDN控制器,调用所述跨域威胁信息共享模块,基于所述第一智能合约,经由所述控制器包含的区块链节点将所述网络拓扑信息和所述威胁信息上传至区块链;步骤S3、调用防御策略制定模块,从所述区块链中获取来自各个SDN控制器的所述网络拓扑信息和所述威胁信息,解析出其中包含的所述DDoS攻击的攻击源,并将针对所述攻击源的防御策略发送至所述防御策略下发模块,所述防御策略中包含防御流表规则和所述攻击源的交换机端口;步骤S4、调用所述防御策略下发模块,基于所述第二智能合约,经由所述区块链将所述防御策略下发至所述攻击源所在域的SDN控制器,使得所述攻击源所在域的SDN控制器将所述防御流表规则下发至所述攻击源的交换机端口。
具体地,在分布式的SDN网络系统中部署网络拓扑和流量监测模块、跨域威胁信息共享模块、防御策略制定模块、防御策略下发模块。其中网络拓扑和流量监测模块用于收集各个控制器管辖范围内的网络拓扑和交换机的流量统计信息,以及交换机向控制器请求的首包统计信息,并从中记录可疑流量特征;跨域威胁信息共享模块利用分布式数据库结合区块链的方式,汇聚从各域的控制器处收集的可疑流量特征,形成全局共享的威胁态势且不可被恶意篡改;防御策略制定模块根据全局威胁态势,识别出数据平面的DDoS攻击流量特征,结合全局网络拓扑确定攻击路径,制定防御策略;防御策略下发模块利用OpenFlow协议提供的FlowMod消息,向攻击源所在交换机下发防御的流表,有效阻止大量虚假的DDoS攻击流量对控制器的资源消耗攻击。
在步骤S1,对所述每个SDN控制器,调用所述网络拓扑和流量检测模块,获取与所述SDN控制器对应的一个或多个交换机在所述数据平面的网络拓扑信息、端口实时流量速率以及所述SDN控制器接收到的转发请求报文的四元组信息,基于所述端口实时流量速率和所述四元组信息生成可疑流量特征,所述可疑流量特征作为威胁信息存储在所述SDN控制器的分布式数据库中。
在一些实施例中,所述网络拓扑和流量检测模块基于所述SDN控制器接收到的来自所述对应的交换机的LLDP报文,确定所述网络拓扑信息,所述LLDP报文为链路层发现协议报文。
具体地,在每个SDN控制器上部署所述网络拓扑和流量监测模块,针对网络拓扑监测,在控制器中利用交换机上报的LLDP报文,解析并计算得到数据平面的网络拓扑信息。
在一些实施例中,在所述SDN控制器处配置sFlow协议的收集端(服务器),在所述SDN控制器对应的一个或多个交换机处配置所述sFlow协议的采集端(客户端),所述网络拓扑和流量检测模块通过所述采集端和所述收集端监测所述端口实时流量速率。
具体地,在每个SDN控制器上部署所述网络拓扑和流量监测模块,针对网络流量监测,在交换机和控制器分别配置sFlow协议的采集端和收集端,用于监测交换机各端口的实时流量速率。
在一些实施例中,在所述SDN控制器处配置OpenFlow协议,所述网络拓扑和流量检测模块基于所述OpenFlow协议解析所述转发请求报文,从所述转发请求报文中提取出所述四元组信息,包括源IP地址、源MAC地址、目的IP地址和目的MAC地址,并计算每个元组的熵值,所述熵值表征该元组被命中的概率。
具体地,在每个SDN控制器上部署所述网络拓扑和流量监测模块,针对网络流量监测,在控制器处利用OpenFlow协议解析每条转发请求报文(首包)的载荷,并记录原始请求流量的四元组信息(源IP地址、源MAC地址、目的IP地址、目的MAC地址),同时计算每个元组的熵值大小。
在一些实施例中,当所述端口实时流量速率高于流量速率阈值,且所述四元组信息中至少一个元组的熵值低于该元组的熵值阈值时,提取出超速的端口信息和低于所述熵值阈值的四元组信息形成所述可疑流量特征,作为一条所述威胁信息。
具体地,对于所述网络拓扑和流量监测模块,当监测到交换机端口的流量速率超出历史平均阈值,且所述四元组中的某一项或某几项的熵值低于历史统计的平均阈值时,将超速的端口信息和阈值偏低的元组信息作为可疑流量特征保存至分布式数据库中,形成威胁信息。
在步骤S2,对所述每个SDN控制器,调用所述跨域威胁信息共享模块,基于所述第一智能合约,经由所述控制器包含的区块链节点将所述网络拓扑信息和所述威胁信息上传至区块链。
具体地,所述跨域威胁信息共享模块由分布式数据库和部署在各个控制器的区块链节点组成,区块链节点之间运行了威胁信息共享和防御策略转发的智能合约。所述跨域威胁信息共享模块调用智能合约,将各个控制器收集的网络拓扑和威胁信息上传至区块链,形成不可篡改的全局信息。
在步骤S3,调用防御策略制定模块,从所述区块链中获取来自各个SDN控制器的所述网络拓扑信息和所述威胁信息,解析出其中包含的所述DDoS攻击的攻击源,并将针对所述攻击源的防御策略发送至所述防御策略下发模块,所述防御策略中包含防御流表规则和所述攻击源的交换机端口。
在一些实施例中,所述防御策略制定模块利用RAFT共识协议,在各个所述区块链节点中通过选举确定一个主节点,所述防御策略制定模块经由所述主节点从所述区块链中获取所述网络拓扑信息和所述威胁信息,通过解析所述网络拓扑信息和所述威胁信息获取完整的攻击路径,并基于所述攻击路径确定所述攻击源。
在一些实施例中,当所述主节点失效时,所述防御策略制定模块基于所述RAFT共识协议在剩余的区块链节点中重新选举出新的主节点。
具体地,所述防御策略制定模块首先利用RAFT共识协议,在多个区块链节点之间选举一个主节点作为分析威胁和制定决策的节点,若该主节点在运行过程中失效,则根据RAFT共识协议重新选举新的主节点,保证了决策的容错性。
具体地,对于主节点,其通过运行的智能合约查询区块链上存储的全局网络拓扑和威胁信息,所述防御策略制定模块根据全局信息计算得出攻击路径和攻击源的交换机端口,并制定相应的防御策略。
在一些实施例中,所述攻击源的防御策略中的防御流表规则为:将所述威胁信息中的所述四元组信息中的源IP地址和源MAC地址作为匹配字段,将包含所述匹配字段的攻击流量作为所述DDoS攻击进行丢弃处理,也即Action=Drop(丢弃)。
在步骤S4,调用所述防御策略下发模块,基于所述第二智能合约,经由所述区块链将所述防御策略下发至所述攻击源所在域的SDN控制器,使得所述攻击源所在域的SDN控制器将所述防御流表规则下发至所述攻击源的交换机端口。
在一些实施例中,所述防御策略下发模块在接收到所述防御策略后,基于所述攻击源的交换机端口获取所述攻击源所在域中包含的SDN控制器,使得所述攻击源所在域的SDN控制器利用所述OpenFlow协议提供的FlowMod消息,根据所述防御流表规则更新防御流表,并将所述防御流表下发至与所述攻击源的交换机端口对应的交换机,使得所述攻击源的交换机丢弃包含所述匹配字段的DDoS攻击流量。
具体地,所述防御策略下发模块接收到制定的防御策略,首先由主节点调用防御策略转发的智能合约将防御策略发送至攻击源所在域的控制器。其次,攻击源所在域的控制器收到防御策略后,解析生成相应的防御流表规则,所述的防御流表规则将前述可疑流量特征作为匹配字段,以及Action=Drop(丢弃)作为攻击流量的转发规则。控制器利用OpenFlow协议提供的FlowMod消息将防御流表下发至攻击源处交换机,实现在攻击源对DDoS流量的阻止,同时不影响中间域的交换机转发正常业务流量,降低防御开销。
本发明第二方面公开了一种抵抗DDoS攻击的SDN协同控制系统。所述DDoS攻击为分布式拒绝服务攻击,所述SDN为软件定义网络,所述SDN包括控制平面和数据平面,所述控制平面包括若干个SDN控制器,所述数据平面包括若干个交换机,每个SDN控制器对应一个或多个所述交换机;在每个SDN控制器中均部署网络拓扑和流量检测模块、跨域威胁信息共享模块,在所述SDN中部署防御策略制定模块以及防御策略下发模块,且所述每个SDN控制器中均包含容器化的区块链节点,各个区块链节点之间共同运行用于威胁信息共享的第一智能合约和用于防御策略转发的第二智能合约。
对所述每个SDN控制器,调用所述网络拓扑和流量检测模块,获取与所述SDN控制器对应的一个或多个交换机在所述数据平面的网络拓扑信息、端口实时流量速率以及所述SDN控制器接收到的转发请求报文的四元组信息,基于所述端口实时流量速率和所述四元组信息生成可疑流量特征,所述可疑流量特征作为威胁信息存储在所述SDN控制器的分布式数据库中;对所述每个SDN控制器,调用所述跨域威胁信息共享模块,基于所述第一智能合约,经由所述控制器包含的区块链节点将所述网络拓扑信息和所述威胁信息上传至区块链;调用防御策略制定模块,从所述区块链中获取来自各个SDN控制器的所述网络拓扑信息和所述威胁信息,解析出其中包含的所述DDoS攻击的攻击源,并将针对所述攻击源的防御策略发送至所述防御策略下发模块,所述防御策略中包含防御流表规则和所述攻击源的交换机端口;调用所述防御策略下发模块,基于所述第二智能合约,经由所述区块链将所述防御策略下发至所述攻击源所在域的SDN控制器,使得所述攻击源所在域的SDN控制器将所述防御流表规则下发至所述攻击源的交换机端口。
根据本发明第二方面的系统,所述网络拓扑和流量检测模块基于所述SDN控制器接收到的来自所述对应的交换机的LLDP报文,确定所述网络拓扑信息,所述LLDP报文为链路层发现协议报文;在所述SDN控制器处配置sFlow协议的收集端(服务端),在所述SDN控制器对应的一个或多个交换机处配置所述sFlow协议的采集端(客户端),所述网络拓扑和流量检测模块通过所述采集端和所述收集端监测所述端口实时流量速率;在所述SDN控制器处配置OpenFlow协议,所述网络拓扑和流量检测模块基于所述OpenFlow协议解析所述转发请求报文,从所述转发请求报文中提取出所述四元组信息,包括源IP地址、源MAC地址、目的IP地址和目的MAC地址,并计算每个元组的熵值,所述熵值表征该元组被命中的概率;当所述端口实时流量速率高于流量速率阈值,且所述四元组信息中至少一个元组的熵值低于该元组的熵值阈值时,提取出超速的端口信息和低于所述熵值阈值的四元组信息形成所述可疑流量特征,作为一条所述威胁信息。
根据本发明第二方面的系统,所述防御策略制定模块利用RAFT共识协议,在各个所述区块链节点中通过选举确定一个主节点,所述防御策略制定模块经由所述主节点从所述区块链中获取所述网络拓扑信息和所述威胁信息,通过解析所述网络拓扑信息和所述威胁信息获取完整的攻击路径,并基于所述攻击路径确定所述攻击源;当所述主节点失效时,所述防御策略制定模块基于所述RAFT共识协议在剩余的区块链节点中重新选举出新的主节点;所述攻击源的防御策略中的防御流表规则为:将所述威胁信息中的所述四元组信息中的源IP地址和源MAC地址作为匹配字段,将包含所述匹配字段的攻击流量作为所述DDoS攻击进行丢弃处理。
根据本发明第二方面的系统,所述防御策略下发模块在接收到所述防御策略后,基于所述攻击源的交换机端口获取所述攻击源所在域中包含的SDN控制器,使得所述攻击源所在域的SDN控制器利用所述OpenFlow协议提供的FlowMod消息,根据所述防御流表规则更新防御流表,并将所述防御流表下发至与所述攻击源的交换机端口对应的交换机,使得所述攻击源的交换机丢弃包含所述匹配字段的DDoS攻击流量。
本发明第三方面公开了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现本公开第一方面中任一项所述的一种抵抗DDoS攻击的SDN协同控制方法中的步骤。
图3为根据本发明实施例的一种电子设备的结构图;如图3所示,电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、近场通信(NFC)或其他技术实现。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本公开的技术方案相关的部分的结构图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明第四方面公开了一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本公开第一方面中任一项所述的一种抵抗DDoS攻击的SDN协同控制方法中的步骤。
综上。本发明提供的技术方案在多控制器管理的大规模SDN网络环境中,构建一种可以抵抗针对SDN控制器的DDoS的协同控制方案,使得多控制器之间可以实时快速地共享威胁流量特征,并根据全局威胁信息制定协同防御策略,同时识别攻击路径、定位攻击源、部署防御策略;从而实现网络控制平面对来自数据平面的分布式拒绝服务攻击的有效防御。
本发明提供的技术方案能够达到的技术效果包括:(1)将各控制器管辖范围内数据平面的异常流量信息汇聚上链并实现全局共享,形成了多控制器环境下的全局威胁态势;(2)在多控制器网络环境下还原跨域DDoS攻击的攻击路径,实现对攻击源交换机的精确定位;(3)在攻击源处交换机下发精确的防御策略,避免路径上其他交换机执行防御策略,允许路径上正常业务流量的转发,同时降低了整体的防御开销。
请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种抵抗DDoS攻击的SDN协同控制方法,其特征在于:
所述DDoS攻击为分布式拒绝服务攻击,所述SDN为软件定义网络,所述SDN包括控制平面和数据平面,所述控制平面包括若干个SDN控制器,所述数据平面包括若干个交换机,每个SDN控制器对应一个或多个所述交换机;
在每个SDN控制器中均部署网络拓扑和流量检测模块、跨域威胁信息共享模块,在所述SDN中部署防御策略制定模块以及防御策略下发模块,且所述每个SDN控制器中均包含容器化的区块链节点,各个区块链节点之间共同运行用于威胁信息共享的第一智能合约和用于防御策略转发的第二智能合约;
所述方法包括:
步骤S1、对所述每个SDN控制器,调用所述网络拓扑和流量检测模块,获取与所述SDN控制器对应的一个或多个交换机在所述数据平面的网络拓扑信息、端口实时流量速率以及所述SDN控制器接收到的转发请求报文的四元组信息,基于所述端口实时流量速率和所述四元组信息生成可疑流量特征,所述可疑流量特征作为威胁信息存储在所述SDN控制器的分布式数据库中;
步骤S2、对所述每个SDN控制器,调用所述跨域威胁信息共享模块,基于所述第一智能合约,经由所述SDN控制器包含的区块链节点将所述网络拓扑信息和所述威胁信息上传至区块链;
步骤S3、调用防御策略制定模块,从所述区块链中获取来自各个SDN控制器的所述网络拓扑信息和所述威胁信息,解析出其中包含的所述DDoS攻击的攻击源,并将针对所述攻击源的防御策略发送至所述防御策略下发模块,所述防御策略中包含防御流表规则和所述攻击源的交换机端口;
步骤S4、调用所述防御策略下发模块,基于所述第二智能合约,经由所述区块链将所述防御策略下发至所述攻击源所在域的SDN控制器,使得所述攻击源所在域的SDN控制器将所述防御流表规则下发至所述攻击源的交换机端口。
2.根据权利要求1所述的一种抵抗DDoS攻击的SDN协同控制方法,其特征在于,在所述步骤S1中:
所述网络拓扑和流量检测模块基于所述SDN控制器接收到的来自所述对应的交换机的LLDP报文,确定所述网络拓扑信息,所述LLDP报文为链路层发现协议报文;
在所述SDN控制器处配置sFlow协议的收集端,在所述SDN控制器对应的一个或多个交换机处配置所述sFlow协议的采集端,所述网络拓扑和流量检测模块通过所述采集端和所述收集端监测所述端口实时流量速率;
在所述SDN控制器处配置OpenFlow协议,所述网络拓扑和流量检测模块基于所述OpenFlow协议解析所述转发请求报文,从所述转发请求报文中提取出所述四元组信息,包括源IP地址、源MAC地址、目的IP地址和目的MAC地址,并计算每个元组的熵值,所述熵值表征该元组被命中的概率;
当所述端口实时流量速率高于流量速率阈值,且所述四元组信息中至少一个元组的熵值低于该元组的熵值阈值时,提取出超速的端口信息和低于所述熵值阈值的四元组信息形成所述可疑流量特征,作为一条所述威胁信息。
3.根据权利要求2所述的一种抵抗DDoS攻击的SDN协同控制方法,其特征在于,在所述步骤S3中:
所述防御策略制定模块利用RAFT共识协议,在各个所述区块链节点中通过选举确定一个主节点,所述防御策略制定模块经由所述主节点从所述区块链中获取所述网络拓扑信息和所述威胁信息,通过解析所述网络拓扑信息和所述威胁信息获取完整的攻击路径,并基于所述攻击路径确定所述攻击源;
当所述主节点失效时,所述防御策略制定模块基于所述RAFT共识协议在剩余的区块链节点中重新选举出新的主节点;
所述攻击源的防御策略中的防御流表规则为:将所述威胁信息中的所述四元组信息中的源IP地址和源MAC地址作为匹配字段,将包含所述匹配字段的攻击流量作为所述DDoS攻击进行丢弃处理。
4.根据权利要求3所述的一种抵抗DDoS攻击的SDN协同控制方法,其特征在于,在所述步骤S4中:
所述防御策略下发模块在接收到所述防御策略后,基于所述攻击源的交换机端口获取所述攻击源所在域中包含的SDN控制器,使得所述攻击源所在域的SDN控制器利用所述OpenFlow协议提供的FlowMod消息,根据所述防御流表规则更新防御流表,并将所述防御流表下发至与所述攻击源的交换机端口对应的交换机,使得所述攻击源的交换机丢弃包含所述匹配字段的DDoS攻击流量。
5.一种抵抗DDoS攻击的SDN协同控制系统,其特征在于:
所述DDoS攻击为分布式拒绝服务攻击,所述SDN为软件定义网络,所述SDN包括控制平面和数据平面,所述控制平面包括若干个SDN控制器,所述数据平面包括若干个交换机,每个SDN控制器对应一个或多个所述交换机;
在每个SDN控制器中均部署网络拓扑和流量检测模块、跨域威胁信息共享模块,在所述SDN中部署防御策略制定模块以及防御策略下发模块,且所述每个SDN控制器中均包含容器化的区块链节点,各个区块链节点之间共同运行用于威胁信息共享的第一智能合约和用于防御策略转发的第二智能合约;
其中:
对所述每个SDN控制器,调用所述网络拓扑和流量检测模块,获取与所述SDN控制器对应的一个或多个交换机在所述数据平面的网络拓扑信息、端口实时流量速率以及所述SDN控制器接收到的转发请求报文的四元组信息,基于所述端口实时流量速率和所述四元组信息生成可疑流量特征,所述可疑流量特征作为威胁信息存储在所述SDN控制器的分布式数据库中;
对所述每个SDN控制器,调用所述跨域威胁信息共享模块,基于所述第一智能合约,经由所述控制器包含的区块链节点将所述网络拓扑信息和所述威胁信息上传至区块链;
调用防御策略制定模块,从所述区块链中获取来自各个SDN控制器的所述网络拓扑信息和所述威胁信息,解析出其中包含的所述DDoS攻击的攻击源,并将针对所述攻击源的防御策略发送至所述防御策略下发模块,所述防御策略中包含防御流表规则和所述攻击源的交换机端口;
调用所述防御策略下发模块,基于所述第二智能合约,经由所述区块链将所述防御策略下发至所述攻击源所在域的SDN控制器,使得所述攻击源所在域的SDN控制器将所述防御流表规则下发至所述攻击源的交换机端口。
6.根据权利要求5所述的一种抵抗DDoS攻击的SDN协同控制系统,其特征在于,其中:
所述网络拓扑和流量检测模块基于所述SDN控制器接收到的来自所述对应的交换机的LLDP报文,确定所述网络拓扑信息,所述LLDP报文为链路层发现协议报文;
在所述SDN控制器处配置sFlow协议的收集端,在所述SDN控制器对应的一个或多个交换机处配置所述sFlow协议的采集端,所述网络拓扑和流量检测模块通过所述采集端和所述收集端监测所述端口实时流量速率;
在所述SDN控制器处配置OpenFlow协议,所述网络拓扑和流量检测模块基于所述OpenFlow协议解析所述转发请求报文,从所述转发请求报文中提取出所述四元组信息,包括源IP地址、源MAC地址、目的IP地址和目的MAC地址,并计算每个元组的熵值,所述熵值表征该元组被命中的概率;
当所述端口实时流量速率高于流量速率阈值,且所述四元组信息中至少一个元组的熵值低于该元组的熵值阈值时,提取出超速的端口信息和低于所述熵值阈值的四元组信息形成所述可疑流量特征,作为一条所述威胁信息。
7.根据权利要求6所述的一种抵抗DDoS攻击的SDN协同控制系统,其特征在于,其中:
所述防御策略制定模块利用RAFT共识协议,在各个所述区块链节点中通过选举确定一个主节点,所述防御策略制定模块经由所述主节点从所述区块链中获取所述网络拓扑信息和所述威胁信息,通过解析所述网络拓扑信息和所述威胁信息获取完整的攻击路径,并基于所述攻击路径确定所述攻击源;
当所述主节点失效时,所述防御策略制定模块基于所述RAFT共识协议在剩余的区块链节点中重新选举出新的主节点;
所述攻击源的防御策略中的防御流表规则为:将所述威胁信息中的所述四元组信息中的源IP地址和源MAC地址作为匹配字段,将包含所述匹配字段的攻击流量作为所述DDoS攻击进行丢弃处理。
8.根据权利要求7所述的一种抵抗DDoS攻击的SDN协同控制系统,其特征在于,其中:
所述防御策略下发模块在接收到所述防御策略后,基于所述攻击源的交换机端口获取所述攻击源所在域中包含的SDN控制器,使得所述攻击源所在域的SDN控制器利用所述OpenFlow协议提供的FlowMod消息,根据所述防御流表规则更新防御流表,并将所述防御流表下发至与所述攻击源的交换机端口对应的交换机,使得所述攻击源的交换机丢弃包含所述匹配字段的DDoS攻击流量。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1-4任一项所述的一种抵抗DDoS攻击的SDN协同控制方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1-4任一项所述的一种抵抗DDoS攻击的SDN协同控制方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211341706.5A CN115412368B (zh) | 2022-10-31 | 2022-10-31 | 一种抵抗DDoS攻击的SDN协同控制方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211341706.5A CN115412368B (zh) | 2022-10-31 | 2022-10-31 | 一种抵抗DDoS攻击的SDN协同控制方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115412368A true CN115412368A (zh) | 2022-11-29 |
CN115412368B CN115412368B (zh) | 2022-12-27 |
Family
ID=84168250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211341706.5A Active CN115412368B (zh) | 2022-10-31 | 2022-10-31 | 一种抵抗DDoS攻击的SDN协同控制方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115412368B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107172085A (zh) * | 2017-06-30 | 2017-09-15 | 江苏华信区块链产业研究院有限公司 | 基于区块链智能合约的主动防御方法及节点 |
CN108616534A (zh) * | 2018-04-28 | 2018-10-02 | 中国科学院信息工程研究所 | 一种基于区块链防护物联网设备DDoS攻击的方法及系统 |
CN109617931A (zh) * | 2019-02-20 | 2019-04-12 | 电子科技大学 | 一种SDN控制器的DDoS攻击防御方法及防御系统 |
CN109995764A (zh) * | 2019-03-07 | 2019-07-09 | 北京华安普特网络科技有限公司 | 一种基于区块链的ddos攻击防御方法 |
WO2019148576A1 (zh) * | 2018-02-05 | 2019-08-08 | 重庆邮电大学 | 一种工业SDN网络DDoS攻击检测与缓解方法 |
-
2022
- 2022-10-31 CN CN202211341706.5A patent/CN115412368B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107172085A (zh) * | 2017-06-30 | 2017-09-15 | 江苏华信区块链产业研究院有限公司 | 基于区块链智能合约的主动防御方法及节点 |
WO2019148576A1 (zh) * | 2018-02-05 | 2019-08-08 | 重庆邮电大学 | 一种工业SDN网络DDoS攻击检测与缓解方法 |
CN108616534A (zh) * | 2018-04-28 | 2018-10-02 | 中国科学院信息工程研究所 | 一种基于区块链防护物联网设备DDoS攻击的方法及系统 |
CN109617931A (zh) * | 2019-02-20 | 2019-04-12 | 电子科技大学 | 一种SDN控制器的DDoS攻击防御方法及防御系统 |
CN109995764A (zh) * | 2019-03-07 | 2019-07-09 | 北京华安普特网络科技有限公司 | 一种基于区块链的ddos攻击防御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115412368B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tan et al. | A new framework for DDoS attack detection and defense in SDN environment | |
Swami et al. | Software-defined networking-based DDoS defense mechanisms | |
Kalkan et al. | JESS: Joint entropy-based DDoS defense scheme in SDN | |
Shang et al. | FloodDefender: Protecting data and control plane resources under SDN-aimed DoS attacks | |
Rawat et al. | Software defined networking architecture, security and energy efficiency: A survey | |
US10079846B2 (en) | Domain name system (DNS) based anomaly detection | |
CN105493450B (zh) | 动态检测网络中的业务异常的方法和系统 | |
CN106982206B (zh) | 一种基于ip地址自适应转换的恶意扫描防御方法及系统 | |
CN108063765B (zh) | 适于解决网络安全的sdn系统 | |
CN111385235B (zh) | 一种基于动态变换的DDoS攻击防御系统和方法 | |
CN105634998B (zh) | 针对多租户环境下物理机与虚拟机统一监控的方法及系统 | |
CN111049859A (zh) | 一种基于拓扑分析的攻击流量分流和阻断方法 | |
Van Trung et al. | A multi-criteria-based DDoS-attack prevention solution using software defined networking | |
US11522798B2 (en) | Method and system for triggering augmented data collection on a network based on traffic patterns | |
Hyun et al. | Knowledge-defined networking using in-band network telemetry | |
CN113992539B (zh) | 网络安全动态路由跳变方法及系统 | |
CN112202646B (zh) | 一种流量分析方法和系统 | |
Jiang et al. | Bsd-guard: a collaborative blockchain-based approach for detection and mitigation of sdn-targeted ddos attacks | |
Lu et al. | A novel path‐based approach for single‐packet IP traceback | |
Wang et al. | Efficient and low‐cost defense against distributed denial‐of‐service attacks in SDN‐based networks | |
Zhao et al. | Achieving fine-grained flow management through hybrid rule placement in SDNs | |
CN113765896B (zh) | 基于人工智能的物联网实现系统及方法 | |
CN115412368B (zh) | 一种抵抗DDoS攻击的SDN协同控制方法与系统 | |
CN114978604A (zh) | 一种用于软件定义业务感知的安全网关系统 | |
Liu et al. | A traffic anomaly detection scheme for non-directional denial of service attacks in software-defined optical network |
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 |