一种基于软件定义网络的DDoS攻击检测及防御方法和系统技术方案

技术编号:19219738 阅读:26 留言:0更新日期:2018-10-20 08:13
本发明专利技术公开了一种基于软件定义网络的DDoS(分布式拒绝服务)攻击检测及防御方法和系统,涉及计算机网络安全领域,通过不同软件定义网络控制器相互连接而形成的控制器网络,实现单个软件定义网络内部及多个软件定义网络之间的DDoS攻击检测、溯源及阻断,以解决传统网络下难以从源头防御DDoS攻击的问题。本发明专利技术由检测、溯源及阻断三个模块组成。提取不同类型DDoS攻击的特征,以机器学习算法实现检测;通过不同软件定义网络的控制器之间依据指定方式交互数据,实现多个软件定义网络之间的DDoS攻击溯源及阻断。在软件定义网络环境下,本发明专利技术能实时追踪到攻击者的IP地址,并准确阻断攻击流量。

【技术实现步骤摘要】
一种基于软件定义网络的DDoS攻击检测及防御方法和系统
本专利技术涉及计算机网络安全领域,尤其涉及一种基于软件定义网络的DDoS攻击检测及防御方法和系统。
技术介绍
拒绝服务(DenialofService,DoS)攻击,是指故意攻击网络协议实现的缺陷或直接耗尽被攻击对象的资源,让目标计算机或网络无法提供正常的服务或资源访问的行为。DDoS则是指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。DDoS攻击是目前网络环境下最严重的威胁之一。而在传统网络环境下,缺少能有效地对DDoS攻击进行溯源的方案,且阻断流量的方案也大多是在受害者一端执行。包标记是一种影响广泛的溯源方案,然而限制在于全网络路径协作的前提,需要对路由器进行修改,在现实中不适用于大规模的DDoS的溯源;ICMP报文检测、链路泛洪等方法,也有着准确度不高、开销过大等缺点,不适用于实际情况。而软件定义网络网络能够很好地解决上述问题。软件定义网络(SDN)是一种新型的,数据和控制层面分离的灵活的网络架构。控制平面,控制器能监控整个网络,并实现对各种协议的部署和转发规则的控制;数据转发层面,交换机只需要根据已有的转发规则,对数据包进行匹配转发。这种新型的网络架构由于其可控性,能有效地获取整个网络中的流量,并控制网络中的流量走向,从而解决从源头防御DDoS攻击的问题。因此,本领域的技术人员致力于开发一种基于软件定义网络的DDoS攻击检测及防御方法和系统,实现单个软件定义网络内部及多个软件定义网络之间的DDoS攻击检测、溯源及阻断
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是传统网络下难以从源头防御DDoS攻击的问题。为实现上述目的,本专利技术提供了一种基于软件定义网络的DDoS攻击检测及防御方法和系统,由检测、溯源及阻断三个模块组成。提取不同类型DDoS攻击的特征,以机器学习算法实现检测;通过不同软件定义网络的控制器之间依据指定方式交互数据,实现多个软件定义网络之间的DDoS攻击溯源及阻断。本专利技术提供的一种基于软件定义网络的DDoS攻击检测及防御方法,包括如下步骤:步骤1、收集DDoS攻击流量和正常流量数据,选择用作攻击检测模块的机器学习模型,根据收集数据,预先训练好检测模型,安装在需要进行检测的主机上;步骤2、主机初次与交换机连接时,控制器记录下连接端口和真实源IP,记为一张端口-IP表;步骤3、假定主机H1为受害主机,H1收集进出的数据包,统计其中各类数据包的数量,计算进出数量的比值;步骤4、H1将各类数据包的进出比值送往安装的检测模型,检测模型输出是否受到攻击,如果受到攻击,同时输出攻击的流量特征;步骤5、H1生成包含溯源请求、自身IP地址和攻击流量特征的数据包,发往控制器C1,所述C1为H1所在软件定义网络的控制器;步骤6、C1收到溯源请求,向控制器网络中其他控制器广播包含受害者IP和攻击流量特征的消息;步骤7、控制器C2收到广播消息,分析自己管辖的软件定义网络网络中的流量特征,与攻击流量特征进行对比,找到是否有端口的发出流量符合攻击特征,如果有,根据端口-IP表找到对应的源IP地址,回复C1包含攻击者IP的消息,如果没有则回复无;步骤8、C1收到回复,将攻击者IP信息发送给H1;步骤9、C1收到C2检测到攻击者的回复,向C2发送包含阻断请求、攻击者IP和受害者IP的消息;步骤10、C2收到阻断请求,遍历端口-IP表获取攻击者端口,下发新的流表项,丢弃从该端口发往受害者IP的所有数据包。进一步地,所述控制器网络由不同软件定义网络控制器相互连接形成,实现单个软件定义网络内部及多个软件定义网络之间的DDoS攻击检测、溯源及阻断。进一步地,所述软件定义网络包括主机-交换机-控制器层和控制器-控制器层,所述主机-交换机-控制器层采用OpenFlow协议下的常规软件定义网络网络结构,提供基本的数据转发功能;所述控制器-控制器层是由不同软件定义网络的控制器构成的控制器网络,通过额外的安全信道进行通信,用于交换各自的流量数据,协作完成对全局范围的DDoS攻击的溯源和阻断。进一步地,所述端口-IP表记录各交换机端口和与之连接的主机的真实源IP地址,用于溯源和阻断操作。本专利技术还提供了一种基于软件定义网络的DDoS攻击检测及防御系统,包括检测模块、溯源模块和阻断模块,所述检测模块位于有防御需求的主机上,提取进出的数据包特征,提供预先训练好的DDoS攻击检测模型,根据提取的特征判断攻击情况;所述溯源模块由控制器负责,指定控制器之间通信的方式,控制器接受管辖范围内的主机发起的溯源请求,和其他控制器交互攻击流量特征,并根据收到的攻击流量特征,匹配自己管辖范围的流量特征,确定攻击者的位置;所述阻断模块由控制器负责,受害者所属控制器向攻击者所属控制器发起阻断请求,收到阻断请求的控制器下发相应流表项,阻断攻击者发往受害者的流量。本专利技术提出的一种基于软件定义网络的DDoS攻击检测及防御方法和系统,主要解决了传统网络环境下,难以对DDoS攻击者溯源及从源头阻断攻击流量的问题,采用新型的软件定义网络网络,能方便有效地从源头上防御DDoS攻击。其二,溯源过程由软件层面实现,数据包的转发等基本功能依然是通过现有的路由协议进行,不需要对进行修改,具有更好的兼容性和通用性。其三,能够应对软件定义网络环境下同时发生多起DDoS攻击的情况。之外,整个过程中,交换机和控制器的计算开销、传输开销小,阻断过程也只在攻击者的端口进行,尽量减小了对网络中的其他流量的影响。专利技术中的受害者主机,替换为受到攻击的局域网,该系统同样适用。以下将结合附图对本专利技术的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本专利技术的目的、特征和效果。附图说明图1是本专利技术的一个较佳实施例的采用的软件定义网络网络结构图;图2是本专利技术的一个较佳实施例的检测模块的检测流程示意图;图3是本专利技术的一个较佳实施例的溯源模块中控制器广播溯源请求的流程示意图;图4是本专利技术的一个较佳实施例的溯源模块中控制器匹配攻击者的流程示意图;图5是本专利技术的一个较佳实施例的控制器阻断攻击者流量的流程示意图。具体实施方式以下参考说明书附图介绍本专利技术的多个优选实施例,使其
技术实现思路
更加清楚和便于理解。本专利技术可以通过许多不同形式的实施例来得以体现,本专利技术的保护范围并非仅限于文中提到的实施例。在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本专利技术并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。如图1所示,本专利技术提出了一种基于SDN的DDoS攻击检测及防御方法,采用的SDN环境由多个独立的SDN组成,各SDN的控制器之间通过单独的安全信道进行通信,形成一个控制器网络。这里的SDN架构可分为两层,一是主机-交换机-控制器层,这部分采用以OpenFlow协议为基础的SDN网络,负责基本的数据转发功能,依据以下流程进行转发:(1)主机发送数据包到交换机;(2)交换机将数据包头部的关键字和流表中所有流表项的匹配字段进行对比,如果匹配失败进入步骤3,本文档来自技高网
...

【技术保护点】
1.一种基于软件定义网络的DDoS攻击检测及防御方法,其特征在于,包括如下步骤:步骤1、收集DDoS攻击流量和正常流量数据,选择用作攻击检测模块的机器学习模型,根据收集数据,预先训练好检测模型,安装在需要进行检测的主机上;步骤2、主机初次与交换机连接时,控制器记录下连接端口和真实源IP,记为一张端口‑IP表;步骤3、假定主机H1为受害主机,H1收集进出的数据包,统计其中各类数据包的数量,计算进出数量的比值;步骤4、H1将各类数据包的进出比值送往安装的检测模型,检测模型输出是否受到攻击,如果受到攻击,同时输出攻击的流量特征;步骤5、H1生成包含溯源请求、自身IP地址和攻击流量特征的数据包,发往控制器C1,所述C1为H1所在软件定义网络的控制器;步骤6、C1收到溯源请求,向控制器网络中其他控制器广播包含受害者IP和攻击流量特征的消息;步骤7、控制器C2收到广播消息,分析自己管辖的软件定义网络网络中的流量特征,与攻击流量特征进行对比,找到是否有端口的发出流量符合攻击特征,如果有,根据端口‑IP表找到对应的源IP地址,回复C1包含攻击者IP的消息,如果没有则回复无;步骤8、C1收到回复,将攻击者IP信息发送给H1;步骤9、C1收到C2检测到攻击者的回复,向C2发送包含阻断请求、攻击者IP和受害者IP的消息;步骤10、C2收到阻断请求,遍历端口‑IP表获取攻击者端口,下发新的流表项,丢弃从该端口发往受害者IP的所有数据包。...

【技术特征摘要】
1.一种基于软件定义网络的DDoS攻击检测及防御方法,其特征在于,包括如下步骤:步骤1、收集DDoS攻击流量和正常流量数据,选择用作攻击检测模块的机器学习模型,根据收集数据,预先训练好检测模型,安装在需要进行检测的主机上;步骤2、主机初次与交换机连接时,控制器记录下连接端口和真实源IP,记为一张端口-IP表;步骤3、假定主机H1为受害主机,H1收集进出的数据包,统计其中各类数据包的数量,计算进出数量的比值;步骤4、H1将各类数据包的进出比值送往安装的检测模型,检测模型输出是否受到攻击,如果受到攻击,同时输出攻击的流量特征;步骤5、H1生成包含溯源请求、自身IP地址和攻击流量特征的数据包,发往控制器C1,所述C1为H1所在软件定义网络的控制器;步骤6、C1收到溯源请求,向控制器网络中其他控制器广播包含受害者IP和攻击流量特征的消息;步骤7、控制器C2收到广播消息,分析自己管辖的软件定义网络网络中的流量特征,与攻击流量特征进行对比,找到是否有端口的发出流量符合攻击特征,如果有,根据端口-IP表找到对应的源IP地址,回复C1包含攻击者IP的消息,如果没有则回复无;步骤8、C1收到回复,将攻击者IP信息发送给H1;步骤9、C1收到C2检测到攻击者的回复,向C2发送包含阻断请求、攻击者IP和受害者IP的消息;步骤10、C2收到阻断请求,遍历端口-IP表获取攻击者端口,下发新的流表项,丢弃从该端口发往受害者IP的所有数据包。2.如权利要求1所述的基于软件定义网络的DDoS攻击检测...

【专利技术属性】
技术研发人员:齐开悦吴越贺博仁邹福泰刘杉影
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

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

1