[发明专利]一种软件定义网络中链路洪泛攻击检测响应机制有效
申请号: | 201910643617.8 | 申请日: | 2019-07-17 |
公开(公告)号: | CN110351286B | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 于尧;张召;刘树美;高宵佳 | 申请(专利权)人: | 东北大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/26;H04L12/801 |
代理公司: | 大连东方专利代理有限责任公司 21212 | 代理人: | 姜玉蓉;李洪福 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 定义 网络 中链路洪泛 攻击 检测 响应 机制 | ||
1.一种软件定义网络中链路洪泛攻击检测响应方法,包括:潜在目标链路识别模块、链路拥塞监控模块、流量工程模块以及恶意主机识别模块,其特征在于,至少包括以下步骤:
S1:所述潜在目标链路识别模块通过SDN控制器通过头部空间分析获取网络拓扑中的流路径,分析识别网络拓扑中攻击者的目标链路;
S2:所述链路拥塞监控模块对识别的所述攻击者的目标链路进行实时监控,通过监控所述潜在目标链路的利用率是否达到预设的阈值来判断链路是否发生拥塞;
S3:所述流量工程模块获知拥塞链路的情况之后通过对网络的链路拓扑信息以及负载分布信息进行收集与分析,对所述拥塞链路的流量从小到大排序,然后将高速率流量进行优先调度进行调度,将所述网络拥塞的过载态势降低至75%以下;
S4:通过多次重路由所述拥塞链路上流量的源主机信息被记录下来;所述恶意主机识别模块结合所述多次重路由记录的源主机信息和重路由之后恶意主机发送探测路由命令traceroute的行为对潜在的恶意主机进行识别,并将识别出的恶意主机进行丢包限制;
所述控制器结合上一个周期的信息,得到每一个交换机在一个周期T内接收的字节数和转发的字节数,再结合控制器掌握的网络拓扑图,得到潜在目标链路的状态,通过每条链路转发的流量的字节数和周期T的比值求得链路的当前负载为:
其中,bt表示链路t时刻转发的字节数,bt-T表示时刻t-T链路转发的字节数,然后通过链路的当前负载load与链路带宽的比值求得链路利用率为:
其中,B表示链路带宽。
2.根据权利要求1所述的一种软件定义网络中链路洪泛攻击检测响应方法,其特征还在于:
所述网络拓扑感知获取首先根据OpenFlow协议,控制器与交换机相互发送hello数据包建立通信连接;
当连接建立完成后,所述控制器向所述交换机下发特征请求数据包features_request的数据包获取所述交换机的基本信息,其中包括交换机编号dpid以及交换机的各个端口号port_no,其中所述交换机编号dpid为所述交换机在网络中的唯一标识;所述控制器将携带dpid以及port_no信息的LLDP数据包通过packet_out消息向对应交换机的端口发送,交换机接收到LLDP数据包后向控制器发送packet_in消息询问控制器如何处理,最后控制器结合packet_in消息报头的交换机编号dpid、交换机的入端口号in_port以及LLDP报文中的dpid和port_no得出一条链路信息;
直到控制器与其控制的所有路由器进行通信并获取其相关信息为止,所述控制器获取的网络中的交换机以及相应的终端设备组成的网络拓扑图通过NetworkX存储成图等待链路拥塞判断模块以及流量工程模块调用。
3.根据权利要求1所述的一种软件定义网络中链路洪泛攻击检测响应方法,其特征还在于:
所述潜在目标链路识别模块根据获取的网络的拓扑结构信息来构建网络链路的集合Link Map,然后根据所述Link Map规划攻击;通过计算网络中流路径的交集来进行潜在目标链路的识别选择并结合控制器掌控的全局网络视图和头部空间分析网络拓扑感知获取;所述流路径表示一个流量进行过的路径。
4.根据权利要求1所述的一种软件定义网络中链路洪泛攻击检测响应方法,其特征还在于:
所述链路拥塞监控模块通过Ryu控制器掌握的全网视图以及周期性获取网络链路状态来判断潜在目标链路是否发生拥塞。
5.根据权利要求1所述的一种软件定义网络中链路洪泛攻击检测响应方法,其特征还在于:
所述流量工程模块引入了第三方包NetworkX来进行网络拓扑视图的存储,实现最佳转发路径的计算,需要对拥塞链路的流量进行从大到小排序,从而实现高效的缓解拥塞态势。
6.根据权利要求3所述的一种软件定义网络中链路洪泛攻击检测响应方法,其特征还在于:
所述控制器获取流路径的过程为:
为获取网络中潜在目标链路集合,本发明使用头部空间分析HSA来获取网络中的流路径;
在进行头部空间分析时,一个数据包的包头部被看作为一个0和1的序列,包头部空间表示为{0,1}L,其中L表示分组的长度,并且以bit为单位;网络中的转发设备T,通过T来表示交换机的转发过程;
当一个包头部h到达时,转发到交换机的端口p,表示为:
T(h,p)→{(h1,p1),(h2,p2,...)};
按照{switch,rule}的序列来建立一对节点之间的流路径,其中rule表示交换机中数据包的处理规则,则流路径可以表示为:
FPi=(s1,r1)→...→(sn-1,rn-1)→(sn,rn);
这里详细的描述一下SDN网络中获取流路径的详细步骤, 首先寻找流路径的起点,利用OpenFlow控制器掌控的全网拓扑,获取网络的路由信息,假设交换机s1为头结点;
读取流表中的数据包的头部信息,并将这些信息转化成二进制向量,并计算头结点的目的IP地址IP_Dst(h)和s1的源IP地址IP_Src(s1)的交集,其中x表示通配符,z表示位交集的空集;两个包头部的交集是逐次对每一位进行交集,如果任何一位返回z,则所有位的交集都是空集;所述头结点的目的IP地址和s1的源IP地址的交集的结果不是空集,将s1添加到流路径,根据网络拓扑来获取中s1的下一跳交换机,将s1的目的IP地址与其下一跳的源IP,所述交换机s2求交集;倘若不是空集,则将s2添加到流路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910643617.8/1.html,转载请声明来源钻瓜专利网。