一种基于软件定义网络的分布式拒绝服务DDoS攻击溯源系统和方法与流程

文档序号:21719759发布日期:2020-08-05 01:09阅读:663来源:国知局
一种基于软件定义网络的分布式拒绝服务DDoS攻击溯源系统和方法与流程

本发明涉及一种软件定义网络安全防御技术,属于网络安全技术领域。



背景技术:

随着云计算、大数据等新兴技术的发展,网络流量不断增大,传统以ip为核心的网络架构难以满足网络扩展性、管理性、灵活性的需求。软件定义网络(softwaredefinednetwork,sdn)是一种新型的网络架构,诞生于美国斯坦福大学的研究项目,其核心思想在于数控分离,将网络的控制功能集中到控制器,赋予网络的可编程性,指导底层交换机的数据转发,从而提高了网络的灵活性与扩展性,更加方便了网络流量的管理。

分布式拒绝服务(distributeddenial-of-service,ddos)攻击已成为网络安全的最大威胁之一,破坏力强、实施简单且缺乏简易可行的对抗措施,其危险性在集中控制与开放的sdn中尤为突出。最常见的一类ddos攻击采用的主要手段为:攻击者操控多台主机构造大量的数据包发送给目标系统,耗尽网络的带宽资源,从而使目标系统无法响应正常用户的请求。传统网络针对ddos攻击的防御方案大多围绕流量清洗和防火墙阻拦,而这些方案在清洗和阻拦攻击流量的同时,也损失了网络中的正常流量,难以实现端口级的精准处理,资源消耗大且效果不好。因此,在检测到攻击发生时,及时定位攻击端口并采取相关措施意义重大。而软件定义网络的出现,为ddos攻击的溯源带来了新的启示:控制器的集中控制特性,可以实时监控网络流量,提供网络拓扑;数控分离和可编程的特性为网络流量的监控管理以及转发规则的实时更新提供了条件。

目前基于sdn的ddos攻击溯源方案主要分为两类:基于流表递归查询的溯源机制和基于packet-in消息分析的溯源机制。而这些方案仅仅依靠控制器对整个网络进行攻击溯源,需要控制器不断地获取、分析网络中的流量信息,当网络规模较大时,控制器负担巨大,难以正常工作。

利用sdn集中控制、全局拓扑等特性,将传统的包记录溯源技术与边缘交换机相结合,不仅可以实现有效的ddos攻击溯源,还大大降低了控制器的工作负担,具有实际应用意义。



技术实现要素:

针对软件定义网络中ddos攻击溯源存在的控制器负担过重问题,本发明设计了一种基于包记录与边缘交换机的ddos攻击溯源系统。本方法首次将数据面与控制面的溯源结合起来,边缘交换机实时统计进入本域的流量状况,基于信息熵的方法对ddos做初步检测,发现异常,立即上报控制器,同时,开始记录数据包相关信息;控制器收到示警后,通过随机森林算法对异常流量做进一步的精确检测,确认攻击发生后,向边缘交换机下发异常包特征信息,边缘交换机通过对比之前记录的数据包信息,确定出攻击端口,上报控制器,控制器下发丢弃流表,在端口处阻断攻击流量。与传统方法比较,本方法的控制器只有在收到边缘交换机示警后才启动检测与溯源模块,大部分的统计与计算工作放在了边缘交换机端,从而大大降低了控制器的负担。

为了实现上述目的,本发明采用如下技术方案:

一种基于软件定义网络的分布式拒绝服务ddos攻击溯源系统,该溯源系统包括域外攻击源、被攻击主机、openflow交换机、sdn控制器,其特征在于:

所述域外攻击源向被攻击主机发送ddos攻击数据包;

所述被攻击主机接收网络中的攻击数据包与正常数据包;

所述openflow交换机包括不可编程的普通openflow交换机和可编程的openflow边缘交换机;

所述sdn控制器使用的是ryu控制器框架,ryu控制器负责拓扑获取、随机森林检测和流表下发;

所述系统建立在sdn平台上,openflow边缘交换机实时统计进入该网络的流量信息,通过信息熵的方法对流量初检,发现异常即向控制器示警,同时开始记录数据包信息,存入数据库,所述数据包信息包括数据包的源ip、目的ip、交换机标识、入端口、协议类型、到达时间;

控制器在初始化时,会首先获取网络的拓扑信息,发送给openflow边缘交换机,以方便边缘交换机记录数据包信息,在网络正常的时间里,控制器只是指导底层交换机数据的转发,在得到openflow边缘交换机示警后,运用随机森林算法对异常流量做进一步的精确检测,确认攻击发生后,向openflow边缘交换机下发异常包特征信息,openflow边缘交换机通过对比之前记录的数据包信息,确定出攻击端口,上报给控制器,控制器下发丢弃流表,在端口处阻断攻击流量。

特别地,控制器的流量收集与攻击检测模块在网络正常的时间里并不运行,只是负责指导简单的流量转发,只有在收到openflow边缘交换机的示警后才启动检测,降低了控制器在攻击检测过程中的负担。

特别地,sdn平台中流表的下发与接收,采用的是ryu控制器中的openflow协议部分,支持openflow1.0到openflow1.3版本,可以通过openflow协议获取到网络的拓扑与流量信息,方便网络的统一调度。

特别地,ryu控制器框架中的api提供,方便用于进一步的开发,针对ddos攻击溯源进行可视化展示。

本发明还提供一种基于软件定义网络的分布式拒绝服务ddos攻击溯源方法,所述方法基于包括域外攻击源、被攻击主机、openflow交换机、sdn控制器的系统,所述openflow交换机包括不可编程的普通openflow交换机和可编程的openflow边缘交换机,其特征在于该方法包括如下步骤:

(1)软件定义网络sdn环境初始化,将需要的终端主机和各openflow交换机设备进行初始化;

(2)控制器初始化,下发lldp协议包感知网络拓扑,获取边缘交换机的端口信息,并发送给边缘交换机,方便其记录数据包信息,并计算最佳路径,下发流表,指导交换机转发数据包;

(3)openflow边缘交换机实时统计流量信息,计算目的ip信息熵与流表数目,将这俩个值分别与其正常阈值比较,其中任一值异常时,即说明流量异常,边缘交换机开始记录流经数据包的特征信息,包括数据包的源ip、目的ip、交换机标识、入端口、协议类型、到达时间,并向控制器示警;

(4)控制器收到示警,立即通过ofpflowstatsrequest及ofpportstats-request指令收集全局网络的流量信息;

(5)控制器根据ddos攻击的特点从收集的流量信息中提取深度特征,构成特征多元组,包括流包数均值、流表平均比特数、不同端口增速、流增速、源ip增速;

(6)控制器将提取的特征输入到经数据集训练的随机森林分类器中检测;

(7)控制器确认攻击发生后,将攻击包的特征信息发送给边缘交换机;

(8)边缘交换机通过匹配已记录的数据包信息,找到攻击端口,并上报给控制器;

(9)控制器得知攻击端口后,下发流表,在源头处丢弃攻击包,阻断攻击。

本发明的有益效果:

1系统将繁琐的流量统计、信息熵计算、数据包记录与匹配工作下放到边缘交换机,充分利用边缘交换机的空闲计算资源,控制器只有在收到边缘交换机的示警后才启动检测工作,有效降低了控制器的负担。

2系统在初始化时即通过控制器获得网络的拓扑信息,发送给边缘交换机并针对溯源需求,设计了有效的六元信息组,方便了攻击包的信息匹配。

3系统的控制器在确定攻击发生后,下发攻击包特征信息,由边缘交换机进行信息匹配,确定出攻击端口,进一步降低了控制器负担。

3系统将边缘交换机的初步检测与控制器的随机森林检测结合,对网络中的ddos攻击进行了更全面、准确的防御。

4系统的控制器在收到边缘交换机上报的攻击端口信息后,下发流表,在攻击端口处丢弃攻击包,从源头上阻止了攻击包进入网络,有效地保护了网络资源。

附图说明

图1是本发明基于软件定义网络的ddos攻击溯源系统的整体结构图;

图2是本发明基于软件定义网络的ddos攻击溯源方法的整体流程图。

具体实施方式

为了能够更清楚地描述本发明的技术内容,下面结合附图对本发明作进一步说明。

本发明设计了一种基于软件定义网络的分布式拒绝服务ddos攻击溯源系统。本发明借鉴边缘计算的思想,设置边缘交换机,将攻击溯源的大部分工作下放到边缘交换机端,设计了一种基于软件定义网络的ddos攻击溯源系统。

该系统针对软件定义网络中ddos攻击溯源时控制器负担大的问题,通过可编程的openflow边缘交换机进行攻击初检、数据包记录,控制器只在收到示警后,才运用随机森林算法确认攻击的发生,然后向边缘交换机下发攻击包特征信息,由边缘交换机匹配信息,确定攻击端口,进而有效的阻断攻击。整个攻击溯源过程主要在边缘交换机端进行,大大降低了控制器的负担。

图1给出了本发明所述系统的整体架构,整个系统共分为四部分,域外攻击来源、openflow交换机、sdn控制器、被攻击主机。各部分的具体功能为:

(1)域外攻击来源主要指其他网络域的傀儡主机,它们被攻击者控制,向网络中发起攻击,攻击包通过边缘交换机进入域内网络;

(2)openflow交换机包括普通的openflow交换机和具有可编程性的openflow边缘交换机。普通的openflow交换机只负责数据的转发,边缘交换机实时统计经过该交换机的流量信息,计算目的ip信息熵,统计流表数目,发现异常即开始记录数据包,并向控制器示警。在收到控制器攻击包特征信息后,进行特征匹配,确定攻击端口。

(3)sdn控制器是本系统的指挥中心,指导网络中数据的转发及攻击包的检测处理,采用的控制器框架是ryu控制器框架。控制器具有全局网络的拓扑与流量信息,指导底层交换机数据的转发,在得到边缘交换机示警后,运用随机森林算法进一步确认攻击的发生,然后下发攻击包特征信息,待边缘交换机确定完攻击端口后,下发流表在源头处阻断攻击。

本发明还设计了一种基于软件定义网络的分布式拒绝服务ddos攻击溯源方法,所述方法基于包括域外攻击源、被攻击主机、openflow交换机、sdn控制器的系统,主要流程图如图2所示。具体步骤为:

(1)sdn环境初始化,将需要的终端主机和各openflow交换机设备进行初始化。

(2)控制器初始化,下发lldp协议包感知网络拓扑,将拓扑信息发送给边缘交换机,计算最佳路径,下发流表,指导交换机转发数据包。

(3)openflow边缘交换机实时统计流量信息,计算目的ip信息熵与流表数目,将这俩个值分别与其正常阈值比较,其中任一值异常时,即说明流量异常,边缘交换机开始记录流经的数据包信息,包括数据包的源ip、目的ip、交换机标识、入端口、协议类型、到达时间,并向控制器示警。

(4)控制器收到示警,立即通过ofpflowstatsrequest及ofpportstats-request指令收集全局网络的流量信息。

(5)控制器根据ddos攻击的特点从收集的流量信息中提取深度特征,构成特征多元组,包括流包数均值、流表平均比特数、不同端口增速、流增速、源ip增速。

(6)控制器将提取的特征输入到经数据集训练的随机森林分类器中检测。

(7)控制器确认攻击发生后,将攻击包的特征信息发送给边缘交换机。

(8)边缘交换机通过匹配数据包信息,找到攻击端口,并上报给控制器。

(9)控制器得知攻击端口后,下发流表,在源头处丢弃攻击包,阻断攻击。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1