一种基于转发路径自迁移的链路型DDoS防御方法及系统转让专利

申请号 : CN201710200585.5

文献号 : CN106961387B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王利明雷程马多贺孔同陈凯欧悯洁董文婷

申请人 : 中国科学院信息工程研究所

摘要 :

本发明提出了一种基于转发路径自迁移的链路型DDoS防御方法,应用于SDN,其步骤包括:1)通过收集LLDP报文,构造网络流量矩阵并定位拥塞链路;2)判断拥塞链路是否构成链路泛洪攻击;3)如存在链路泛洪攻击,则识别拥塞链路中的可疑网络流;4)依据约束条件选取与拥塞链路不邻接的可迁移链路集合、选取待迁移的网络流和迁移时间间隔,并生成迁移规则信息;依据迁移规格信息对可疑网络流进行迁移。并将该方法在基于OpenFlow的软件定义网络中实现。该方法通过采用易于维护和迁移的组件式实现对链路式DDoS攻击防御系统的部署。同时提出实现上述方法的系统。

权利要求 :

1.一种基于转发路径自迁移的链路型DDoS防御方法,应用于SDN,其步骤包括:

1)通过收集LLDP报文,构造网络流量矩阵并定位拥塞链路;

2)判断拥塞链路是否构成链路泛洪攻击;

3)如构成链路泛洪攻击,则识别拥塞链路中的可疑网络流;

4)依据约束条件选取与拥塞链路不邻接的可迁移链路集合、选取待迁移的网络流和迁移时间间隔,并生成迁移规则信息;依据迁移规则信息对可疑网络流进行迁移;

步骤4)中依据约束条件选取与拥塞链路不邻接的可迁移链路集合、选取待迁移的网络流包括利用可满足性模理论对所述约束条件进行形式化描述,并依据约束条件选取与拥塞链路不邻接的可迁移链路集合并计算其可用带宽,同时计算拥塞链路中存储的网络流量密度与非拥塞链路可用带宽的匹配度并将匹配度升序排序后进行匹配。

2.如权利要求1所述的基于转发路径自迁移的链路型DDoS防御方法,其特征在于,步骤

1)中通过收集LLDP报文,构造网络流量矩阵包括:

1-1)向SDN控制器发送网络拓扑获取请求;

1-2)SDN控制器构造Packet Out消息向所属交换机节点发送LLDP数据包;

1-3)SDN控制器向交换机节点下发流表;

1-4)针对SDN控制器收到的Packet In报文,依据数据包的来源得到链路的目的交换机和目的端口,并通过对LLDP报文进行解析,得到LLDP报文信息;

1-5)依据SDN控制器收集的LLDP报文信息构建网络流量矩阵。

3.如权利要求2所述的基于转发路径自迁移的链路型DDoS防御方法,其特征在于,步骤

1-2)中所述LLDP数据包格式为通用格式,将其中的Chassis ID TLV和Port ID TLV分别设置为交换机节点的datapath ID和零。

4.如权利要求1所述的基于转发路径自迁移的链路型DDoS防御方法,其特征在于,步骤

2)中通过最短路径算法判断拥塞链路是否构成链路泛洪攻击,包括:

2-1)若拥塞链路集合构成网络的割边,则依据存在目标区域通信被切断的特性,判定构成链路泛洪攻击;

2-2)若拥塞链路集合未构成网络的割边,则统计拥塞链路的重要程度,若超过一设定阈值,则判定构成链路泛洪攻击;

2-3)否则,网络未发生链路泛洪攻击。

5.如权利要求4所述的基于转发路径自迁移的链路型DDoS防御方法,其特征在于,步骤

3)中识别拥塞链路中的可疑网络流包括:

3-1)若链路第一次发生拥塞,则记录拥塞链路中网络流身份信息;

3-2)若链路并非第一次发生拥塞,则对该链路上一时间间隔出现拥塞时记录的网络流信息进行匹配;

3-2-1)若没有相同源地址信息的网络流,则记录该网络流;

3-2-2)若存在相同源地址信息的网络流,判断是否为已被迁移网络流;

3-2-2-1)若为网络流未被实施迁移,则记录该条网络流信息并判断为可疑网络流;

3-2-2-2)若为网络流已被实施迁移,则将该条网络流信息添加到黑名单中。

6.如权利要求1所述的基于转发路径自迁移的链路型DDoS防御方法,其特征在于,所述匹配包括:

4-1)选取匹配度小的网络流,若匹配后非拥塞链路的流量密度超过一阈值,则选取匹配度小且流量小的网络流与之匹配;

4-2)若匹配后非拥塞链路的流量密度不超过阈值,但拥塞链路的流量密度仍超过阈值,则重新计算匹配度,并选取匹配度小的网络流进行匹配;

4-3)若匹配后非拥塞链路的流量密度不超过阈值,但拥塞链路的流量密度也不超过阈值,则匹配结束。

7.如权利要求1所述的基于转发路径自迁移的链路型DDoS防御方法,其特征在于,步骤

4)中选取所述迁移时间间隔包括依据匹配结果实施迁移并将迁移的网络流信息上报给SDN控制器;SDN控制器对可疑网络流进行限流和丢弃,对上报的网络流信息依据匹配结果通过流表的Modify-State消息配置交换机,并通过修改idle_time值设定迁移时间间隔。

8.一种基于转发路径自迁移的链路型DDoS防御系统,其特征在于,包括:一检测模块,用于通过收集LLDP报文,定位拥塞链路;判断拥塞链路是否构成链路泛洪攻击;如构成链路泛洪攻击,则识别拥塞链路中的可疑网络流;

所述路径迁移模块,用于根据收集的LLDP报文构造网络流量矩阵;依据约束条件选取与拥塞链路不邻接的可迁移链路集合、选取待迁移的网络流和迁移时间间隔,并生成迁移规则信息,依据迁移规则信息对可疑网络流进行迁移;其中,依据约束条件选取与拥塞链路不邻接的可迁移链路集合、选取待迁移的网络流包括利用可满足性模理论对所述约束条件进行形式化描述,并依据约束条件选取与拥塞链路不邻接的可迁移链路集合并计算其可用带宽,同时计算拥塞链路中存储的网络流量密度与非拥塞链路可用带宽的匹配度并将匹配度升序排序后进行匹配。

9.如权利要求8所述的基于转发路径自迁移的链路型DDoS防御系统,其特征在于,还包括:一流量采集和数据统计模块、一缓存空间维护模块及时间窗维护模块;

所述流量采集和数据统计模块,用于收集链路的网络流量密度,并生成时间间隔t内的流统计数据;

所述缓存空间维护模块,用于存储网络流量矩阵、拥塞链路信息和可疑网络流信息;

所述时间窗维护模块,用于实现时间滑窗机制。

说明书 :

一种基于转发路径自迁移的链路型DDoS防御方法及系统

技术领域

[0001] 本发明属于计算机网络安全领域。具体来说,涉及到一种基于转发路径自迁移的链路型DDoS防御方法及系统。

背景技术

[0002] 随着网络应用的不断普及和深化,互联网一方面正在深刻影响人们的生活方式,孕育着社会运转的新常态;另一方面也成为国家战略性关键基础设施,支撑着国家重要领域的有效运转。然而,现有网络控制平面与数据平面紧耦合的特性阻碍了网络或服务管理的效率。软件定义网络(Software Defined Network,SDN)中逻辑控制和数据转发分离的设计思想为分布式路由难以有效协同管理的问题带来了新思路。它将路由器和交换机等网络设备的控制功能从数据转发功能中解耦处理的网络架构,由一个可编程的逻辑集中式控制器管理整个网络;由底层转发设备实现数据转发功能。
[0003] 软件定义网络主要分为应用层、控制平面和数据平面三部分。由于SDN集中控制的特点,使得控制器可以在线获取网络性能指标,并在此基础上及时调配资源、实施全局决策。与此同时,SDN网络灵活的匹配域使得网络中任意给定的源地址和目的地址可以具有多条无环路径,从而实现灵活、细粒度的流量管控。
[0004] 另一方面,中国互联网络信息中心最新发布的《第37次中国互联网络发展状况统计报告》显示:截至2015年12月,中国网民规模达6.88亿,互联网普及率为50.3%。近年来随着诸如“棱镜门”、SWIFT银行系统风波、2.7亿Gmail和Hotmail账号遭泄露等重大安全事件的不断曝光,网络空间安全成为政府组织和产业、学术界共同关注的焦点。分布式拒绝服务攻击(Distributed Denial of Service,DDoS)仍然是影响网络安全运行的重要威胁之一。
[0005] 对于传统的DDoS攻击,目前已经有一系列较为有效的防御方法,比如入口过滤机制、控制器代理模型等。它们主要是基于网络流量的统计与数据源的识别,以区分DDoS攻击流量与正常用户流量。然而,近年来一种以Crossfire为代表的链路泛洪攻击(Link Flooding Attack,LFA)成为了产业界与学术界的关注热点。LFA的攻击目标并非传统DDoS攻击的节点,如服务器、主机等。LFA通过攻击与目标节点连通的一组或多组转发链路,从而降低甚至阻断目标节点的通信能力,从而实现拒绝服务的目的。
[0006] 链路泛洪攻击的基本原理如下:
[0007] (1)链路图的构建与监控:攻击者利用不同的傀儡节点向选定目标节点周边的通信路径发送探测报文,从而构建僵尸网络群到目标节点周边区域的链路图(Link Map)。在此基础上,攻击者通过定期地发送探测报文以确保构建链路图的准确性,一旦实际拓扑结构发生变化,则攻击者构建的链路图也随之进行修改。
[0008] (2)目标链路选定:攻击者通过计算链路的流量密度从构建的链路图上选取目标链路。攻击者通过计算链路图中的链路遍历次数,从中选取密度最高的链路。为了保证攻击的有效性,攻击者会选取多个目标链路作为一组,以阻碍目标节点与剩余网络区域的通信。
[0009] (3)分配傀儡节点并产生攻击流量:在选定目标链路后,攻击者将依据不同目标链路的带宽计算泛洪所需的傀儡机,并依据拓扑结构和泛洪目标链路所需的傀儡机数量对控制的傀儡机进行分组。每个傀儡机会向对多条目标链路发送数据流,从而保证总流量可以达到泛洪的目标。与此同时,傀儡机通过产生低流量的数据流实现攻击流与合法数据流相混淆,以防止不被检测。

发明内容

[0010] 有鉴于此,本发明提出了基于转发路径自迁移的链路型DDoS防御方法及系统,并将该方法在基于OpenFlow的软件定义网络中实现。该方法通过采用易于维护和迁移的组件式(Component)实现对链路式DDoS攻击防御系统的部署。
[0011] 本发明的目的之一是提出一种基于转发路径自迁移的链路型DDoS防御方法,应用于SDN,其步骤包括:
[0012] 1)通过收集LLDP报文,构造网络流量矩阵并定位拥塞链路;
[0013] 2)判断拥塞链路是否构成链路泛洪攻击;
[0014] 3)如存在链路泛洪攻击,则识别拥塞链路中的可疑网络流;
[0015] 4)依据约束条件选取与拥塞链路不邻接的可迁移链路集合、选取待迁移的网络流和迁移时间间隔,并生成迁移规则信息;依据迁移规格信息对可疑网络流进行迁移。
[0016] 进一步地,步骤1)中通过收集LLDP报文,构造网络流量矩阵包括:
[0017] 1-1)向SDN控制器发送网络拓扑获取请求;
[0018] 1-2)SDN控制器构造Packet Out消息向所属交换机节点发送LLDP数据包;
[0019] 1-3)SDN控制器向交换机节点下发流表;
[0020] 1-4)针对SDN控制器收到的Packet In报文,依据数据包的来源得到链路的目的交换机和目的端口,并通过对LLDP报文进行解析,得到LLDP报文信息;
[0021] 1-5)依据SDN控制器收集的LLDP报文信息构建网络流量矩阵。
[0022] 进一步地,步骤1-2)中所述LLDP数据包格式为通用格式,将其中的Chassis ID TLV和Port ID TLV分别设置为交换机节点的datapath ID和零。
[0023] 进一步地,步骤2)中通过最短路径算法判断拥塞链路是否构成链路泛洪攻击,包括:
[0024] 2-1)若拥塞链路集合构成网络的割边,则依据存在目标区域通信被切断的特性,判定构成链路泛洪攻击;
[0025] 2-2)若拥塞链路集合未构成网络的割边,则统计拥塞链路的重要程度,若超过一设定阈值,则判定构成链路泛洪攻击;
[0026] 2-3)否则,网络未发生链路泛洪攻击。
[0027] 进一步地,步骤3)中识别拥塞链路中的可疑网络流包括:
[0028] 3-1)若链路第一次发生拥塞,则记录拥塞链路中网络流身份信息;
[0029] 3-2)若链路并非第一次发生拥塞,则对该链路上一时间间隔出现拥塞时记录的网络流信息进行匹配;
[0030] 3-2-1)若没有相同源地址信息的网络流,则记录该网络流;
[0031] 3-2-2)若存在相同源地址信息的网络流,判断是否为已被迁移网络流;
[0032] 3-2-2-1)若为网络流未被实施迁移,则记录该条网络流信息并判断为可疑网络流;
[0033] 3-2-2-2)若为网络流已被实施迁移,则将该条网络流信息添加到黑名单中。
[0034] 进一步地,步骤4)中依据约束条件选取与拥塞链路不邻接的可迁移链路集合、选取待迁移的网络流包括利用可满足性模理论对所述约束条件进行形式化描述,并依据约束条件选取与拥塞链路不邻接的可迁移链路集合并计算器可用带宽,同时计算拥塞链路中存储的网络流量密度与非拥塞链路可用带宽的匹配度并将匹配度升序排序后进行匹配。
[0035] 进一步地,所述匹配包括:
[0036] 4-1)选取匹配度小的网络流,若匹配后非拥塞链路的流量密度超过一阈值,则选取匹配度小且流量小的网络流与之匹配;
[0037] 4-2)若匹配后非拥塞链路的流量密度不超过阈值,但拥塞链路的流量密度仍超过阈值,则重新计算匹配度,并选取匹配度小的网络流进行匹配;
[0038] 4-3)若匹配后非拥塞链路的流量密度不超过阈值,但拥塞链路的流量密度也不超过阈值,则匹配结束。
[0039] 进一步地,步骤4)中选取所述迁移时间间隔包括依据匹配结果实施迁移并将迁移的网络流信息上报给SDN控制器;SDN控制器对可疑网络流进行限流和丢弃,对上报的网络流信息依据匹配结果通过流表的Modify-State消息配置交换机,并通过修改idle_time值设定迁移时间间隔。
[0040] 本发明的另一目的是提出一种基于转发路径自迁移的链路型DDoS防御系统,包括:
[0041] 一检测模块,用于通过收集LLDP报文,定位拥塞链路;判断拥塞链路是否构成链路泛洪攻击;如存在链路泛洪攻击,则识别拥塞链路中的可疑网络流;
[0042] 所述路径迁移模块,用于根据收集的LLDP报文构造网络流量矩阵;依据约束条件选取与拥塞链路不邻接的可迁移链路集合、选取待迁移的网络流和迁移时间间隔,并生成迁移规则信息,依据迁移规则信息对可疑网络流进行迁移。
[0043] 进一步地,还包括:一流量采集和数据统计模块、一缓存空间维护模块及时间窗维护模块;
[0044] 所述流量采集和数据统计模块,用于收集链路的网络流量密度,并生成时间间隔t内的流统计数据;
[0045] 所述缓存空间维护模块,用于存储网络流量矩阵、拥塞链路信息和可疑网络流信息;
[0046] 所述时间窗维护模块,用于实现时间滑窗机制。
[0047] 通过采取上述技术方案,本发明整体采用软件定义网络架构,通过逻辑上的集中控制构建网络流量矩阵,使得基于转发路径自迁移的链路型DDoS防御系统可以从全网视角分析和统计网络流量。链路泛洪攻击检测部分利用全局视角实时定位拥塞链路,判定潜在或正在进行的链路泛洪DDoS攻击和受害目标,提取可疑网络流信息并基于黑名单机制过滤攻击流。传输路径自迁移部分依托软件定义网络灵活的匹配域,以网络中同一源和目的IP之间存在的多条无环路径为基础,实现灵活、快速的转发路径迁移。通过可满足性模理论对迁移路径的转发路由开销、转发链路开销、传输路径可达性、传输长度进行形式化描述,在此基础上选取满足约束条件的迁移路径,并通过计算拥塞链路中存储的网络流量密度与非拥塞链路可用带宽的匹配度实现网络流的高效迁移。基于转发路径自迁移的链路型DDoS防御系统通过软件定义网络灵活的网络流转发控制和全网视角的流量监控,定位链路拥塞、识别攻击流并判定被链路型DDoS攻击的转发链路集,通过转发路径自迁移消除链路泛洪攻击,从而实现对链路型DDoS攻击的有效防御。

附图说明

[0048] 图1为本发明的基于转发路径自迁移的链路型DDoS防御方法在一实施范例中LLDP报文格式。
[0049] 图2为本发明的基于转发路径自迁移的链路型DDoS防御方法在一实施例中拥塞链路定位示意图。
[0050] 图3为本发明的基于转发路径自迁移的链路型DDoS防御方法在一实施例中防御系统组成以及功能分布示意图。
[0051] 图4为本发明的基于转发路径自迁移的链路型DDoS防御系统在一实施例中检测模块的执行流程示意图。
[0052] 图5为本发明的基于转发路径自迁移的链路型DDoS防御系统在一实施例中的路径迁移模块执行流程示意图。

具体实施方式

[0053] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,可以理解的是,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054] 参考图3,在一实施例中,描述基于转发路径自迁移的链路型DDoS防御系统,包括路径迁移服务器。路径迁移服务器包括:流量采集和数据统计模块、缓存空间维护模块、时间窗维护模块、检测模块和路径迁移模块。
[0055] 所述流量采集和数据统计模块,用于收集网络链路的流量密度,并生成时间间隔t内的流统计数据;
[0056] 所述缓存空间维护模块,用于路径迁移服务器存储网络流量矩阵、拥塞链路信息和可疑网络流信息;
[0057] 所述时间窗维护模块,用于实现时间滑窗机制;
[0058] 所述检测模块,用于定位拥塞链路、判断链路泛洪攻击是否发生、确定可疑网络流,并产生攻击警告信息;
[0059] 所述路径迁移模块,用于构造网络流量矩阵、依据约束条件选取与拥塞链路不邻接的可迁移链路集合、选取待迁移的网络流和迁移时间间隔,并生成迁移规则信息。
[0060] 基于上述系统实施的基于转发路径自迁移的链路型DDoS防御方法,其实施步骤如下:
[0061] 1)在软件定义网络的控制器上建立一个检测模块和路径迁移模块,所述路径迁移模块分配一个网络流量矩阵存储空间;所述检测模块分配两个存储空间,一个拥塞链路存储空间,一个可疑网络流信息存储空间,设定更新时间间隔t,进入等待阶段;其中,时间间隔t由管理员根据运行环境及实际需求自行设定,无统一值。
[0062] 2)在每个时间间隔内,所述路径迁移模块向SDN控制器发送网络拓扑获取请求;
[0063] 3)SDN控制器构造Packet Out消息向所属交换机节点(Si)发送链路发现协议(Link Layer Discovery Protocol,LLDP)数据包,其格式为SDNLLDP协议的通用格式,如图1所示。由于SDN网络中具有大量的交换机,且每个交换机具有多个端口,现有拓扑发现方法会占用大量资源。因此,针对控制器在配置阶段已经获得了交换机的所有端口信息这一特征,由于MAC地址与交换机端口为一一映射,将LLDP中的Chassis ID TLV和Port ID TLV分别设置为Si的datapath ID(dpid)和零;
[0064] 4)SDN控制器向交换机节点Si下发流表,规则为:对于从SDN控制器接收到的LLDP数据包,将其源MAC地址设置为端口MAC地址,并从对应的端口转发出去;
[0065] 5)针对SDN控制器收到的各交换机发送的Packet In报文,依据数据包的来源得到链路的目的交换机和目的端口,并通过对LLDP报文进行解析,得到链路的源交换机和MAC地址,通过源MAC地址查找对应的端口号的数据;SDN控制器解析后得到的数据发送给检测模块;
[0066] 6)所述路径迁移模块依据SDN控制器收集的LLDP报文构建网络拓扑,并存储网络拓扑,并依据网络中链路的重要程度赋值;该赋值过程为公知技术手段,在此不再赘述。
[0067] 6-1)若有增加的链路,所述路径迁移模块更新构建的网络拓扑,同时路径迁移模块向控制器发送Port Statistics请求以计算链路可用带宽;
[0068] 6-2)若没有增加的链路,所述路径迁移模块向控制器发送Port Statistics请求以计算链路可用带宽;
[0069] 7)所述路径迁移模块在每个时间间隔内构建和更新网络流量矩阵,并将其存在网络流量矩阵存储空间中;
[0070] 7-1)若流量矩阵中存在超过设定流量密度阈值的拥塞链路,所述路径迁移模块通知所述检测模块,所述检测模块依据对链路流密度进行排序,并向超过设定流量密度阈值的链路通过SDN控制器发送Individual Flow Statistics和Aggregate Flow Statistics请求;其中,流量密度阈值是通过历史数据训练获得的,其设定依据和范围是公知的,但对于不同类型的网络具体数值是不同的,本领域技术人员根据网络类型选取,在此不再赘述。
[0071] 7-2)若没有超过设定流量密度阈值的链路,则不进行操作;
[0072] 8)所述检测模块利用SDN全局视角定位拥塞链路,并利用最短路径算法(Dijkstra Algorithm)判断入口集合与目的集合之间的链路是否存在链路泛洪攻击;
[0073] 8-1)若拥塞链路集合构成网络的割边,则依据存在目标区域通信被切断的特性,判定网络正在发生链路泛洪攻击;
[0074] 8-2)若未构成网络的割边,则统计拥塞链路的重要程度,若超过设定阈值,则判定网络遭受链路泛洪攻击;
[0075] 8-3)否则,网络未发生链路泛洪攻击;
[0076] 9)为了后续步骤进行匹配和迁移,所述检测模块依据反馈信息,即路径迁移没模块上报的拥塞报告信息,计算拥塞链路中相同目的地址网络流的带宽占用比重;
[0077] 10)与此同时,识别拥塞链路中的可疑网络流;
[0078] 10-1)若链路第一次发生拥塞,则所述检测模块将拥塞链路中网络流身份信息存储到拥塞链路网络流信息空间,并将结果上报给所述路径迁移模块;
[0079] 10-2)若链路并非第一次发生拥塞,则所述检测模块对该链路上一时间间隔出现拥塞时存储的网络流信息进行匹配;
[0080] 10-2-1)若没有相同源地址信息的网络流,则将结果上报给所述路径迁移模块;
[0081] 10-2-2)若存在相同源地址信息的网络流,判断是否为已被迁移网络流;
[0082] 10-2-2-1)若为网络流未被所述路径迁移模块实施迁移,则将该条网络流信息存储到可疑网络流信息存储空间;
[0083] 10-2-2-2)若为网络流已被所述路径迁移模块实施迁移,则将该条网络流信息添加到黑名单中,将结果上报给所述路径迁移模块;
[0084] 11)所述路径迁移模块将可疑网络流上报给SDN控制器;
[0085] 12)所述路径迁移模块利用可满足性模理论对约束条件进行形式化描述,并依据约束条件选取与拥塞链路不邻接的可迁移链路集合并计算器可用带宽,同时计算拥塞链路中存储的网络流量密度与非拥塞链路可用带宽的匹配度,并将匹配度升序排序;
[0086] 12-1)选取匹配度小的网络流,若匹配后非拥塞链路的流量密度超过阈值,则选取匹配度小且流量小的网络流与之匹配;
[0087] 12-2)若匹配后非拥塞链路的流量密度不超过阈值,但拥塞链路的流量密度仍超过阈值,则重新计算匹配度,并选取匹配度小的网络流进行匹配;
[0088] 12-3)若匹配后非拥塞链路的流量密度不超过阈值,但拥塞链路的流量密度也不超过阈值,则匹配结束;
[0089] 13)所述路径迁移模块依据匹配结果实施迁移并将迁移的网络流信息发送给所述检测模块,并上报给SDN控制器;
[0090] 14)SDN控制器对所述检测模块上报的可疑网络流进行限流和丢弃,对所述路径迁移模块上报的网络流信息依据匹配结果通过流表的Modify-State消息配置交换机,并通过修改idle_time值设定迁移周期(Routing Migration Period,RMP)。
[0091] 具体说明检测模块定位拥塞链路的原理和过程:
[0092] 所述检测模块将源IP地址相同的数据包视为同一条流,并统计连续的时间间隔为t内一条流的数据包数量。
[0093] 所述检测模块将每条链路的流统计数据存储在本地时序增加的缓存队列上,并由时间窗维护模块维护一个宽度为时间间隔t的时间滑窗,使得时间窗口在缓存队列上滑动。时间窗口向时序增加方向滑动,滑出时间窗的缓存队列上的数据将被删除,队列空间被释放。
[0094] 所述检测模块利用SDN交换机流表中的技术功能,通过对已经加载的流表项进行统计,从而判断是否发生拥塞。当流经该条规则的网络流少于设定阈值,则可判断该条转发路径上的交换机发生了拥塞。
[0095] 所述检测模块利用SDN全局视角定位拥塞链路,具体如图2所示。当所述检测模块发现交换机出现拥塞,通过控制器向两个节点Si和Si+1下发规则。Si有两条规则,其匹配域为IP协议和目的IP:一条是处理控制器发送的ICMP请求报文,并且将动作域设定为转发至与Si+1的端口;另一条是对应ICMP应答报文,动作域设置为之间转发给控制器。控制器构建ICMP请求报文发送至Si,并将TTL初始值设定为1。Si转发该报文,并收到反馈。控制器收到反馈,若是超时报文,则重新发送请求,且将TTL值加1;若收到的是目的不可达报文,则可判断拥塞链路为Si与Si+1之间构成的链路。
[0096] 如图3所示,首先流量采集与数据统计模块在采样周期T内,将数据上报给路径迁移模块。路径迁移模块根据LLDP构建网络拓扑,并依据Port Statistics构建流量矩阵。若存在拥塞,则将信息发送给检测模块,并通过全局视角定位拥塞链路、检测是否存在链路型DDoS攻击。若拥塞链路构成网络割边,则存在链路泛洪攻击;若未构成割边,但拥塞链路阈值超过设定的重要度阈值,则存在链路泛洪攻击;否则不存在链路泛洪攻击。检测模块记录拥塞链路中的数据流并将其上报给迁移模块。迁移模块依据约束条件选取可迁移链路集合,并匹配待迁移网络流和可迁移链路。若匹配后非拥塞链路流密度超过阈值,则选取匹配度小且流量密度小的网络流与之匹配;若匹配后拥塞链路流密度仍超过阈值,则重新计算匹配度,并进行匹配;否则匹配结束。最后,迁移模块将设定的迁移周期和迁移网络流上报给SDN控制器,并实施路径迁移。
[0097] 由上述可知,本申请的技术内容主要包括:由检测模块基于检测算法判断和定位潜在链路型DDoS攻击可疑攻击流;由路径迁移模块基于迁移算法缓解和防御链路型DDoS攻击。
[0098] 如图4所示,检测链路型DDoS攻击可疑攻击流在检测模块上实现。检测模块依托SDN网络灵活的匹配域和全局视角进行拥塞链路定位。通过Dijkstra算法计算最短路径,并由此判断入口集合与目的集合之间的链路是否存在链路型DDoS攻击:若拥塞链路构成网络割边,则存在链路泛洪攻击;若未构成割边,但拥塞链路阈值超过设定的重要度阈值,则存在链路泛洪攻击;否则不存在链路泛洪攻击。最终,检测模块记录拥塞链路中的数据流并将其上报给迁移模块。
[0099] 检测模块算法:
[0100] 输入:N为用于计算的流数,δ为检测阈值
[0101] 输出:链路型攻击判别、可疑网络流信息
[0102] (1)初始化采样周期T={t1,t2…tm},采样频率f,滑动时间窗Win={win1,win2…winn};
[0103] (2)在采样周期T内根据目的IP地址统计拥塞链路中的网络流密度;
[0104] (3)利用Dijkstra算法计算最短路径,构建关键链路和路由最小集合Critical={Switch,Link};
[0105] (4)若拥塞链路构成入口集合与目的集合之间的割边,则反馈链路型DDoS攻击警报信息给迁移模块,并跳转到步骤(9);
[0106] (5)若拥塞链路不构成入口集合与目的集合之间的割边,则计算拥塞链路重要度累积和∑wi;
[0107] (6)比较拥塞链路重要度累积和∑wi与检测阈值δ;
[0108] (7)若∑wi>δ,则反馈链路型DDoS攻击警报信息给迁移模块,并记录可疑网络流信息,并跳转到步骤(9);
[0109] (8)否则,仅反馈拥塞链路信息;
[0110] (9)搜索可疑网络流记录与该周期内的可疑网络流信息;
[0111] (10)若匹配成功,将其标记为攻击流,加入黑名单并反馈给SDN控制器进行限流或丢弃;
[0112] (11)否则,记录可疑网络流信息。
[0113] 如图5所示,路径迁移模块根据LLDP构建网络拓扑和流量矩阵,并依据链路重要程度赋予权值。它基于约束条件构建可迁移链路集合,同时依托检测模块上报的可疑网络流对待迁移网络流和可迁移链路实施匹配。若匹配后非拥塞链路流密度超过阈值,则选取匹配度小且流量密度小的网络流与之匹配;若匹配后拥塞链路流密度仍超过阈值,则重新计算匹配度,并进行匹配;否则匹配完成。最后,迁移模块将设定的迁移周期和迁移网络流上报给SDN控制器,并实施路径迁移;此外,将迁移的网络流发送给检测模块,并保持在可疑网络流存储空间中。
[0114] 路径迁移算法:
[0115] 输入:可疑网络流信息,网络链路流量密度
[0116] 输出:迁移网络流和迁移周期
[0117] (1)初始化网络流量矩阵存储空间,设定采样周期为T;
[0118] (2)接收流量采集与数据统计模块发送的LLDP统计信息,并在下一周期开始时返回步骤(1);
[0119] (3)构建SDN网络拓扑结构并赋予链路权值wi;
[0120] (4)接收流量采集与数据统计模块基于Port Statistics统计的链路流密度信息;
[0121] (5)构建网络流量矩阵Mtrxn×m,并设定网络路由和链路的成本阈值 和[0122] (6)计算路由节点剩余容量Cv(k)和转发链路的剩余容量Ce(k),并在下一周期开始时返回步骤(4);
[0123] (7)利用可满足性模理论形式化描述转发路径开销、可达性和转发路径长度约束,并选择符合约束条件的路由和链路集合;
[0124] (8)接收检测模块发送的可疑网络流信息;
[0125] (9)计算可疑网络流产生的边际成本cv(k)和ce(k);
[0126] (10)计算拥塞链路实际成本与设定成本阈值的差 和
[0127] (11)匹配拥塞链路阈值差与可疑网络流的mv=|abc(v)-cv(k)|和me=|abc(e)-ce(k)|,并进行升序排列;
[0128] (12)选取{mv,me}小的可疑网络流与备选链路匹配m′v=|Cv(k)-cv(k)|和m′e=|Ce(k)-ce(k)|;
[0129] (13)若匹配后非拥塞链路的流量密度超过阈值,则返回步骤(11);
[0130] (14)若匹配后非拥塞链路的流量密度未超过阈值,但拥塞链路的流量密度仍超过阈值,则返回步骤(10);
[0131] (15)否则,设定迁移链路与迁移周期;
[0132] (16)将迁移的网络流信息发送给所述检测模块,并上报给SDN控制器。
[0133] 可满足性模理论形式化描述的约束条件具体如下:
[0134] (1)转发路径开销约束:它是指选取的跳变路由要能承载所有数据流累计所需的最大流表长度。公式(1)表示添加一条新的流表项所需的边际成本函数。其中,σ为调整参数,经过分析选取α=2n; 表示当第k条数据流的转发信息添加到路由节点v后流表的利用率。公式(2)说明累计流表增加的边际成本必须在所选路由节点可承载范围 之内,且剩余的流表长度不小于 从而不会出现数据溢出等问题。其中 表示路由节点Switchv需要保留的最小数据量。类似于公式(1),公式(3)表示转发一条数据流所需的边际成本。其中 表示当第k条数据流经转发路径e后带宽的利用率。公式(4)说明了累计带宽消耗的边际成本必须在所选转发链路可承载的范围 之内,且剩余的带宽不小于 使得转发链路具有剩余能力处理由于负载均衡和网络抖动等引起的数据波动。其中 表示转发链路Linke需要保留的最小数据量。
[0135]
[0136] 若 则
[0137]
[0138] 则
[0139] (2)可达性约束:如公式(5)-(7)所示,它表示每个路由节点所转发的数据流是可达的。公式(5)表示在该条转发路径上的所有路由节点的入度和出度是相同的。公式(6)表示路径中的每个转发节点都与其上一跳和下一跳路由节点物理邻接,χ(Switchv)表示去除转发路径的源地址和目的地址所属的路由节点后剩余的路由节点集合。然而,将数据流从一个节点转发到其相邻的下一跳节点并不能保证数据的可达。因此,公式(7)表示从下一跳路由节点到目标节点的距离不大于现有转发节点到目标路由节点的距离,其中 表示Switchv到目标节点的距离。当数据流到达目标路由节点时将不会再进行转发。
[0140]
[0141] 若 则
[0142] 若
[0143] (3)转发路径长度约束:由于数据传输的时延与转发路径中路由节点个数成正相关,因此公式(8)表示每条数据流的转发路径长度不能超过设定的最大值Lmax。
[0144]
[0145] 综上所述。在本申请的技术方案中,检测模块和路径迁移摸块可以插件模式安装在SDN控制器中,或者作为独立服务器与SDN控制器相连。检测模块依据路径迁移模块发送的拥塞报告,通过全局视角定位拥塞链路;通过Dijkstra算法计算最短路径,并由此判断入口集合与目的集合之间的链路是否存在链路型DDoS攻击;此外,基于链路型DDoS攻击特征,通过检测拥塞链路是否存在可疑网络流以识别攻击流。路径迁移模块依据首先构建网络拓扑,并计算链路的流密度和重要程度;基于约束条件构建可迁移链路集合;同时依托检测模块上报的可疑网络流与可迁移链路进行匹配,从而确定网络流的迁移路径和迁移周期。