一种SDN数据中心中防御DDoS攻击的方法与流程

文档序号:14281572阅读:524来源:国知局
一种SDN数据中心中防御DDoS攻击的方法与流程

本发明涉及一种sdn数据中心中防御ddos攻击的方法,属于ddos检测领域。



背景技术:

分布式拒绝服务攻击(ddos)是传统的拒绝服务攻击(dos)的升级版本,通过控制多台电脑或智能设备同时对目标发起拒绝服务攻击,使得目标服务器的计算资源或网络资源耗尽,丧失对正常用户的服务能力。如何防御ddos攻击是网络安全研究中的热点问题,随着电脑及智能设备的普及、网络带宽的不断增加,攻击者可以控制更多的僵尸主机发动ddos攻击。近年来,ddos攻击的次数与攻击规模不断增大,攻击的峰值带宽屡创新高。除了提醒用户及时更新系统,安装补丁及安全软件外,在服务器端做好防御ddos攻击的准备也是很有必要的。软件定义网络(sdn)将控制面与转发面分离,对网络进行集中式管控,其拥有的动态流控、全网视图并能集中控制、网络编程能力和简化的数据平面等特点,能为防御ddos攻击提供有力的帮助。随着it技术的快速发展,传统网络的弊端日渐凸显,sdn是未来网络的一个发展方向。现在的sdn研究多集中在网络服务质量(qos)、抽象资源管控等方面,而在sdn大规模部署的过程中,安全问题也是不得不考虑的重中之重。针对sdn环境的数据中心,我们提出了一种防御ddos攻击的方法,能够较好的缓解ddos攻击的影响。防御ddos攻击主要存在2方面的问题:1)如何实现快速的ddos攻击检测;2)如何减轻攻击的影响。我们的研究针对上述两个问题提出了一个完整的解决方案。



技术实现要素:

本发明所要解决的技术问题:采用某些机制保证在服务器遭到ddos攻击时,系统能及时检测到并采取相关措施在减轻攻击影响的情况下保证正常访问的用户能得到服务。

本发明所采用的技术方案:一种sdn数据中心中防御ddos攻击的方法,包括如下步骤:

(1)流量带宽检测与反馈:流量信息收集服务器作为旁路设备外挂于sdn网络的核心层,各sdn交换机定时将转发至不同目的服务器的流量信息发送至流量信息收集服务器,由流量信息收集服务器汇总出某一时刻发往每台服务器的流量信息;当发现发往某台服务器的流量大小超过阈值时,则认为这台服务器遭到了ddos攻击,立即通知控制器;

(2)流量清洗平台攻击流量与合法访问流量分离

(2.1)控制器接收到某台服务器遭到ddos攻击的消息后,向交换机下发流表,将转发至攻击目标的所有流量牵引至流量清洗平台;

(2.2)流量清洗平台对包进行深度检测,将正常访问的数据包分离出来并重新发往目标服务器,最后将正常访问的数据包与ddos攻击数据包分开送往蜜罐节点;

(3)蜜罐节点攻击流量特征提取、反馈禁止流表:蜜罐节点对正常访问的数据包和ddos攻击数据包进行对比并提取攻击流的特征,根据特征生成访问控制列表并发送至控制器;控制器根据收到的访问控制列表生成新的流表并下发至交换机,使得ddos攻击数据包在进入交换机后被丢弃,从而达到减轻ddos攻击,减轻服务器、流量清洗平台和蜜罐节点压力的效果。

进一步地,所述步骤(2.2)具体为:流量清洗平台根据其自身数据库中存储的畸形攻击包特征,对转发来的数据包进行匹配,对于畸形的攻击包进行丢弃并将攻击包的信息发送至蜜罐节点;对于经过第一轮过滤剩下的包,将其分为tcp和udp两类;针对tcp连接,流量清洗平台代替服务器进行响应回复,但并不为连接请求分配内存和cpu资源,若能收到客户端再次发来的ack确认,则认为此连接是由正常用户发起的,并将连接转交至真正的服务器,同时将正常用户信息发送至蜜罐节点;若超时仍然无法收到客户端的ack确认,则认为此连接是由ddos攻击者发起的虚假连接请求,随后将攻击包的信息发送至蜜罐节点并删除连接;对于udp类型的包,流量清洗平台对其进行报文分析,当发现有大量的包内容很长或是相似度很高甚至相同,则认为这些包是ddos攻击的包,随后将这些包的特征及正常udp信息发送至蜜罐节点并将这些包丢弃,正常的udp包发送至目标服务器。

本发明的有益效果是:

1、本发明作为一种sdn环境下的数据中心中防御ddos攻击的方法,与传统的防御ddos攻击的方法不同。充分发挥了sdn的优势,利用全网视图对交接机进行集中控制,动态控制流量的转发与丢弃。从而较好地实现对ddos攻击的检测与减轻。

2、本发明的突出优点是在保证防御ddos攻击的同时还能保证正常用户对服务器的访问,并对攻击者造成ddos攻击已经成功,服务已瘫痪的假象。

附图说明

图1为流量带宽检测与反馈流程示意图;

图2为流量清洗平台攻击流量与合法访问流量分离流程示意图;

图3为蜜罐节点攻击流量特征提取与反馈禁止流表流程示意图;

图4为sdn数据中心中防御ddos攻击方法的整体流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细说明。

如图1中所示,流量信息收集服务器作为旁路设备外挂于网络的核心层,各sdn交换机每隔一个固定周期将转发至不同目的服务器的流量信息发送至流量信息收集服务器,由流量信息收集服务器汇总出某一时刻发往每台服务器的流量信息。当发现发往某台服务器的流量大小超过一定的阈值,则认为这台服务器遭到了ddos攻击,随后通知控制器进行流量牵引。

如图2所示,控制器收到某台服务器遭到ddos攻击的消息后,向交换机下发流表,从而将转发至攻击目标的所有流量牵引至流量清洗平台。流量清洗平台对包进行深度检测,将正常访问的数据包分离出来并重新发往目标服务器,最后将正常访问的数据包与ddos攻击数据包分开送往蜜罐节点。

如图3所示,蜜罐节点对正常访问的数据包和ddos攻击数据包进行对比并提取攻击流的特征,根据特征生成访问控制列表并发送至控制器。控制器根据收到的访问控制列表生成新的流表并下发至交换机,使得ddos攻击数据包在进入交换机后被丢弃,从而达到减轻ddos攻击的效果。

实施例1:如图4所示,本实施例的工作流程需要经过以下几个步骤。

首先,对流量采用同步定时采样机制。转发面各个交换机节点根据流表将各个流的大小信息发送至流量信息收集服务器进行汇总,生成全局流量信息。当某台服务器遭到了ddos攻击,转发至其的流量必然增加,如流量信息收集服务器检测到转发至某台服务器(假设地址为10.20.0.1)的流量速率大于500mbps(该数值的选择可根据服务器的性能、提供的业务及历史访问流量大小而定,可以修改大小),则判定该服务器遭到了ddos攻击,并立即通知控制器。

控制器向转发面设备下发流表,将目的地址为10.20.0.1的包全部转发至流量清洗平台。流量清洗平台根据其自身数据库中存储的畸形攻击包特征,对转发来的数据包进行匹配,对于畸形的攻击包(如:land、pingofdeath、teardrop、winnuke、tcpflag等)进行丢弃并将攻击包的信息发送至蜜罐系统。对于经过第一轮过滤剩下的包,将其分为tcp和udp两类。针对tcp连接,流量清洗平台代替服务器进行响应回复,但并不为连接请求分配内存和cpu等资源,若能收到客户端再次发来的ack确认,则认为此连接是由正常用户发起的,并将连接转交至真正的服务器,同时将正常用户信息发送至蜜罐系统;若超时仍然无法收到客户端的ack确认,则认为此连接是由ddos攻击者发起的虚假连接请求,随后将攻击包的信息发送至蜜罐系统并删除连接。此方式对于ddos攻击中典型的tcpsynflood等攻击方式防御效果显著且不会阻断正常用户的访问。对于udp类型的包,流量清洗平台对其进行报文分析,当发现有大量内容很长、相似甚至相同的包,则认为这些包是ddos攻击的包,随后将这些包的特征及正常udp信息发送至蜜罐系统并将这些包丢弃,正常的udp包发送至目标服务器。

蜜罐系统根据收到的攻击信息及正常用户信息,制定精简的屏蔽策略(如某一网段有多个攻击者,则将该网段屏蔽)发送至控制器,由控制器下发流表至转发面节点,在交换机对攻击包进行丢弃,从而减轻服务器、流量清洗平台和蜜罐系统的压力。

本发明方法能保证数据中心内的服务器在遭到ddos攻击时,及时检测出并将发往ddos攻击目标的所有流量牵引至流量清洗平台。经过清洗后,合法访问的包将被重新注入网络中,而攻击包将被发送至蜜罐节点进行分析并得出访问控制列表对攻击包进行丢弃,从而保证服务器的正常运行、提供服务。

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