当前位置: 首页 > 专利查询>北京大学专利>正文

一种基于SDN架构的DDoS攻击检测及防护方法和系统技术方案

技术编号:19186612 阅读:31 留言:0更新日期:2018-10-17 02:19
本发明专利技术公开了一种基于SDN架构的DDoS攻击检测及防护方法和系统。该方法在每个LAN中设置一安全保护单元,安全保护单元根据现有的非DDoS攻击时刻的流量数据集建立分类模型;每隔一定时间,SDN网络中的所有交换机将自己的流表发送给控制器,由控制器将收到的流表转发给上层应用进行整理,将整理后的流表项按照目的地址发送给对应LAN的安全保护单元;安全保护单元利用所述分类模型判定是否为DDoS攻击,如果是则下发过滤规则列表给控制器;控制器将过滤规则列表发送给其下属交换机,以过滤攻击流量。本发明专利技术能够实现DDoS攻击的快速检测和防护,能防护不同类型的DDoS攻击。

A DDoS attack detection and protection method and system based on SDN architecture

The invention discloses a DDoS attack detection and protection method and a system based on the SDN structure. In this method, a security protection unit is set up in each LAN, and the security protection unit establishes a classification model according to the existing non-DDoS attack time traffic data set. Every certain time, all switches in SDN network send their own flow tables to the controller, and the controller forwards the received flow tables to the upper application for sorting. The sorted flow table items are sent to the security protection unit of the corresponding LAN according to the destination address; the security protection unit determines whether the DDoS attack is or not by using the classification model; and if so, the filter rule list is sent to the controller; and the controller sends the filter rule list to its subordinate switches to filter the attack traffic. The invention can realize fast detection and protection of DDoS attacks, and can protect different types of DDoS attacks.

【技术实现步骤摘要】
一种基于SDN架构的DDoS攻击检测及防护方法和系统
本专利技术涉及一种基于SDN架构的DDoS攻击检测及防护方法和系统,属于计算机应用

技术介绍
DDoS攻击全称为DistributedDenail-of-Service(分布式拒绝服务)攻击,该类攻击的目的是使目标系统无法响应正常用户的服务请求。最常见的一类DDoS攻击为洪泛式DDoS攻击,该类攻击所采用的主要手段是:攻击者操控多台机器构造大量的数据包发送给目标系统,耗尽目标系统的系统资源或者带宽资源,从而使正常用户的服务请求无法被处理甚至接收,最终导致目标系统无法响应正常用户的请求。DDoS攻击大部分借助于僵尸网络来产生流量发起攻击,由于目前互联网中存在着大量的僵尸网络,发起DDoS的攻击的门槛也随之降低。攻击者利用僵尸网络中的中心控制节点控制大量僵尸机执行相同的命令,产生重复无用的流量发往受害机,从而达到攻击目的。目前针对DDoS的攻击检测手段多样,根据其方法使用的数据类型我们将其分为基于数据包的方法和基于流的方法。基于数据包的检测算法根据数据包的包头信息或者数据包内容信息加以一定处理从而达到检测目的。数据包是网络中直接可得的数据格式,数据包包含流量的全部内容,可利用的信息最多,往往能达到较好的检测效果。因此基于数据包的检测算法是目前最常见的检测算法。但是该类型的检测算法使用的数据粒度很细,并且DDoS攻击往往包含大量的攻击流量,因此此类算法的复杂度往往较高,检测耗时较长,可能会给系统带来更大的负载,甚至加剧DDoS攻击对系统的影响。另一种方法是基于流的检测算法,该类方法采用的数据格式为网络中的“流”(flow)数据。在计算机网络中“流”数据是指一对端点之间双向传输的数据包的集合。因此一条TCP连接中所有的数据包对应着同一条“流”数据,因此其数据类型相较于数据包来说粒度更粗,因此将其作为检测DDoS攻击的基本数据格式,具有检测效率高的优点。但是由于其想较于数据包来说较难获取,因此必须选择合适的网络架构从而可以较为简单的获取到“流”数据。目前针对DDoS的防护手段主要分为基于分流和基于过滤的两种。基于分流的方法主要采用大量的提供相同服务的服务器在DDoS到来的时候按照某种分配策略将流量分摊到多台服务器上,从而分散每台服务器的压力。虽然此类方法较为简单且有效,但是耗费了大量系统资源去处理无用的攻击流量,必然会造成大量资源浪费。基于过滤的检测算法其目标在于区分攻击流量和正常流量,然后丢弃到攻击流量只处理正常用户的服务请求。采用此类算法可以节省大量的系统资源。但是必须巧妙的制定过滤规则才能使其适用于各种类型的DDoS攻击。为了适应互联网结构和应用的快速变化,SDN架构应运而生。SDN全称Software-definednetworking又被称为软件定义网络。其相较于传统互联网架构的最大特点是数控分离。SDN架构由下到上依次由数据平面,控制平面、应用平面组成。控制平面和数据平面之间利用统一的通信接口进行通信,目前主要采用OpenFlow协议。控制平面和应用平面之间的通讯接口按照实际需求定制开发。控制平面主要包含控制器负责运行控制逻辑策略。数据平面主要由多台交换机组成。每台交换机维护着一个流表,每一条表项对应一条“流”,记录着该“流”中的数据包的转发策略——正常转发、通过特定端口转发、丢弃等,并更新该表项的内容例如数据包个数,字节数等等。各交换机互相连接构成转发网且与控制器相连,流表中的转发策略由控制器及其上层应用决定。当新的数据包到达交换机,交换机会首先将其和流表中的表项依次匹配,如匹配成功则按照表项中规定的转发策略进行处理,如无匹配项则将该数据包信息转发给控制平面的控制器,由控制器及上层应用决定转发策略。并将该策略下发给对应数据平面中的所有交换机。由于其控制粒度是基于“流”,因此可以提供“流”信息而不会带来额外负担,极为适用于基于流的DDoS攻击检测防护算法。
技术实现思路
基于上述内容,本专利技术提供了一种基于SDN架构的DDoS攻击检测及防护方法和系统,通过采用SDN架构,本方法可以直接获取互联网中的“流”数据且可快速下发过滤规则,从而达到快速检测和防护的效果。本专利技术通过系统现有流量使用非监督的聚类算法生成分类模型,因此可适用于不同种类的系统。检测到DDoS攻击后,可根据分类结果抽取DDoS攻击流量提取过滤规则,从而能防护不同类型的DDoS攻击。为了实现上述目的,本专利技术采用以下技术方案:一种基于SDN架构的DDoS攻击检测及防护方法,包括:1)每个LAN(局域网)对应一个安全保护单元——SafeGuardUnit,简称SGU,用于DDoS攻击的检测和防护。SGU根据现有的非DDoS攻击时刻的流量数据集建立分类模型。2)每隔一定时间(比如t秒),SDN数据平面的所有交换机将自己的流表发送给控制器,由控制器将收到的流表转发给上层应用进行整理,合并相同项等。然后由控制器将处理后的流表项按照目的地址发送给对应LAN的SGU。3)SGU根据收到的流表项,利用所述分类模型判定是否为DDoS攻击,如果是则下发过滤规则列表给控制器。4)控制器收到SGU发来的过滤规则列表,将过滤规则列表发送给其下属交换机,以过滤攻击流量。进一步,步骤3)如果所述分类模型判定不是DDoS攻击,则重复执行步骤1)-2)。进一步,步骤1)具体包括:1-1)SGU利用本LAN现有的非DDoS攻击时刻获取的流量数据集抽取其协议类型、持续时间、数据包平均长度、数据包个数作为特征,使用k-means进行聚类,将其分为k组,并获取k个分类簇的中心点作为分类模型M,并计算每个类中的数据所占比例,作为非DDoS时刻的分类分布Pn。1-2)将本LAN现有的非DDoS攻击时刻获取的流量数据集,以时间t作为窗口,按照时间将其分组,假设结果为g组,计算每一组的D值、PktNum值。以第i组为例,Di代表第i组的分类分布Pi和Pn之间的KL距离(参见公式1),用于刻画该时段内的流量分布和非DDoS攻击时刻的流量分布之间的差异,该值越大,说明差异越大。PktNumi代表该时间段内的流量大小,单位为“数据包数目/秒”。1-3)根据步骤1-2)中的计算结果,计算出三个门限值Thresholdd,Thresholdp,ThresholdIP,用于后续DDoS攻击的判定和攻击特征的提取。Thresholdd用来限制正常情况下的分类分布之间的最大差异,具体计算方法参见公式2。Thresholdp用来限制正常情况下的最大流量,具体计算方法参见公式3。Thresholdip用来限制正常情况下每个IP的最大发包速率,其取值为每个IP的发包速度的最大值,单位为“数据包个数/秒”,参见公式4,其中Pktip表示源地址为参数ip的“流”所含数据包数目,Durationip表示源地址为参数ip的“流”的持续时间,Nip表示源地址为参数ip的“流”数目。Thresholdd=1.5×max(Di:∈[1,g])公式2Thresholdp=10×Pn公式3进一步,步骤3)具体包括:3-1)SGU依次处理表项,抽取其协议类型、持续时间、数据包平均长度、数据包个数,使用分类模型M将本次接收到的流表项分为k组,计算Dt,PktNum本文档来自技高网
...

【技术保护点】
1.一种基于SDN架构的DDoS攻击检测及防护方法,其特征在于,包括以下步骤:1)在每个LAN中设置一安全保护单元,所述安全保护单元根据现有的非DDoS攻击时刻的流量数据集建立分类模型;2)每隔一定时间,SDN网络中的所有交换机将自己的流表发送给控制器,由控制器将收到的流表转发给上层应用进行整理,然后由控制器将整理后的流表项按照目的地址发送给对应LAN的安全保护单元;3)安全保护单元根据收到的流表项,利用所述分类模型判定是否为DDoS攻击,如果是则下发过滤规则列表给控制器;4)控制器收到安全保护单元发来的过滤规则列表,将过滤规则列表发送给其下属交换机,以过滤攻击流量。

【技术特征摘要】
1.一种基于SDN架构的DDoS攻击检测及防护方法,其特征在于,包括以下步骤:1)在每个LAN中设置一安全保护单元,所述安全保护单元根据现有的非DDoS攻击时刻的流量数据集建立分类模型;2)每隔一定时间,SDN网络中的所有交换机将自己的流表发送给控制器,由控制器将收到的流表转发给上层应用进行整理,然后由控制器将整理后的流表项按照目的地址发送给对应LAN的安全保护单元;3)安全保护单元根据收到的流表项,利用所述分类模型判定是否为DDoS攻击,如果是则下发过滤规则列表给控制器;4)控制器收到安全保护单元发来的过滤规则列表,将过滤规则列表发送给其下属交换机,以过滤攻击流量。2.根据权利要求1所述的方法,其特征在于,步骤3)如果所述分类模型判定不是DDoS攻击,则重复执行步骤1)-2)。3.根据权利要求1所述的方法,其特征在于,步骤1)包括:1-1)安全保护单元利用本LAN现有的非DDoS攻击时刻获取的流量数据集抽取其协议类型、持续时间、数据包平均长度、数据包个数作为特征,进行聚类,得到分类模型,并计算每个类中的数据所占比例作为非DDoS时刻的分类分布;1-2)将本LAN现有的非DDoS攻击时刻获取的流量数据集,以时间t作为窗口,按照时间将其分组;计算每一组的时间段内的流量分布和非DDoS攻击时刻的流量分布之间的差异,以及该时间段内的流量大小;1-3)根据步骤1-2)中的计算结果,计算出三个门限值Thresholdd,Thresholdp,ThresholdIP,用于后续DDoS攻击的判定和攻击特征的提取,其中Thresholdd用来限制正常情况下的分类分布之间的最大差异,Thresholdp用来限制正常情况下的最大流量,Thresholdip用来限制正常情况下每个IP的最大发包速率。4.根据权利要求3所述的方法,其特征在于,步骤1-1)使用k-means方法进行聚类,分为k组,获取k个分类簇的中心点作为分类模型M。5.根据权利要求4所述的方法,其特征在于,步骤1-2)计算第i组的Di值、PktNumi值,其中Di代表第i组的分类分布Pi和非DDoS时刻的分类分布Pn之间的KL距离,用于刻画该时段内的流量分布和非DDoS攻击时刻的流量分布之间的差异,该值越大说明差异越大;PktNumi代表该时间段内的流量大小。6.根据权利要求5所述的方法,其特征在于,所述距离Di为KL距离,其计算公式如下,其中g为分组后的组数:7.根据权利要求6所述的方法,其特征在于,步骤1-3)采用以下公式计算三个门限值Thresholdd,Thresholdp,ThresholdIP:Thresholdd=1.5×max(Di:i∈[1,g]);Thresholdp=10×Pn;其中,Pktip表示源地址为参数ip的流所含数据包数目,Durationip表示源地址为参数ip的流的持续时间,Nip表示源地址为参数ip的流数目。8.根据权利要求7所述的方法,其特征在于,步骤3)包括:...

【专利技术属性】
技术研发人员:韩心慧魏爽武新逢黎桐辛
申请(专利权)人:北京大学
类型:发明
国别省市:北京,11

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

1