SDN环境下基于在线深度学习的攻击检测与缓解系统及方法

文档序号:36999709发布日期:2024-02-09 12:43阅读:15来源:国知局
SDN环境下基于在线深度学习的攻击检测与缓解系统及方法

本发明涉及网络安全,具体涉及sdn环境下基于在线深度学习的攻击检测与缓解系统及方法。


背景技术:

1、软件定义网络(software defined network,sdn)通过解耦网络交换机的逻辑控制功能和数据转发功能,能够集中灵活地配置网络转发规则,使网络能够独立于硬件发展。更强的开放性、可编程性以及可扩展性优势,使sdn逐渐成为当前云计算和大数据环境下流行的网络组织形式。然而,sdn的开放性优势也为网络攻击带来便利,例如:拒绝服务攻击(denial ofservice,dos)可以快速耗尽控制器的可用资源,使交换机缓冲区溢出;攻击者还可以通过开放的api接口窃取或篡改网络中的非公开数据,可以说sdn自诞生以来,其自身的安全性就面临着巨大挑战。

2、sdn在设计之初主要考虑如何调度与分配网络资源。以主流的openflow协议为例,当任何新流(无匹配规则的流)到达交换机后,由于自身流表中没有对应的匹配规则,就会向控制器发送packetin分组,询问处理办法。控制器接到请求消息后,分析请求、计算转发路径,并向其连接的所有节点发送流表更新信息。以后,交换机对该流的所有后续数据包都将基于新的流表规则进行处置,而无需再询问控制器。这种开放式的网络架构可以有效地动态调度网络资源,提升网络链路的利用效益。然而,sdn这种控制器和转发平面之间的开放性设计,使其更加容易受到网络攻击,尤其是分布式拒绝服务攻击(distributed denialofservice,ddos)能够从任意转发设备所连接的终端发起,利用过载控制器队列或淹没交换机流表的方式就能轻松达到降低服务质量甚至瘫痪网络的目标。因此,检测和缓解ddos攻击已经成为保障sdn正常运行的主要任务。

3、sdn中的ddos攻击检测是指运用一定的技术手段,检查与分析sdn中的流量数据,发现网络中可能存在的攻击行为。传统的检测方法主要包括基于统计、基于信息论、基于聚类、基于机器学习等方法,但是这些方法普遍存在着模型算法复杂、策略更新困难、计算开销大、检测耗时长等问题。sdn中的ddos攻击缓解旨在确保控制器或交换机即使遭受ddos攻击时,仍然可以保持较为稳定的网络服务状态。常用的缓解方法主要是通过限速策略实现的,例如:令牌桶、漏桶、固定窗口和滑动窗口等技术。但这种策略通常不区分主机是否合法,而是无差别的对所有主机进行限制,这种方法造成对合法主机的损害;另外,大多数限速策略只能暂时减缓恶意攻击流量到达控制器的速率,却不能从根本上将其消除。

4、在线深度学习是一种动态更新的深度神经网络算法,它可以通过学习顺序到达的数据流特征,实时更新自身参数,并且每次参数更新后都得到当前数据模式下的最佳状态。因此,在线深度学习技术常被用于金融数据、网络流量等流式数据的分析与预测活动中;因此,如果能将在线深度学习引用在ddos攻击检测及缓解中,便可以通过优化交换机向控制器预期发送的分组数量与控制器可用队列的剩余容量之间的关系,动态调节每条链路可发送新流请求的权重,将权重变化超过阈值的判定为攻击链路,实现对ddos攻击的精细检测,很好的解决上述现有技术存在的问题;但将在线深度学习引用在ddos攻击检测及缓解中,目前并无相关记载。

5、针对以上问题,亟需设计一种sdn环境下基于在线深度学习的攻击检测与缓解系统及方法,以解决上述现有技术存在的问题。


技术实现思路

1、针对上述存在的问题,本发明旨在提供一种sdn环境下基于在线深度学习的攻击检测与缓解系统及方法,本方法通过利用交换机端口的统计信息,计算出流入、流出交换机的网络流和数据包的特征数据,与判定阈值比较后,即可实现对sdn环境中ddos攻击的粗略检测。根据网络的拓扑结构搭建出无向图神经网络,以链路间传输分组量定义连接权重,控制器通过动态调节各链路的权重,实现对ddos攻击的精细检测与缓解,具有检测和缓解效果好并且能够更加合理充分的配置网络资源的特点。

2、为了实现上述目的,本发明所采用的技术方案如下:

3、sdn环境下基于在线深度学习的攻击检测与缓解方法,包括步骤

4、s1.利用信息采集模块周期性的采集流经交换机端口的流量序列信息,并将该序列信息进行转换,发送到两阶段检测模块;

5、s2.利用两阶段攻击检测模块对信息采集模块传递的网络攻击信息进行检测;

6、s3.在检测到网络攻击信息后,攻击缓解模块根据两阶段攻击检测模块提供的恶意主机状态信息,定位恶意主机位置、设置包括源地址、有效时间、操作动作等内容的数据包过滤规则,并发送给其控制的所有交换机。

7、优选的,步骤s2所述的利用两阶段攻击检测模块对信息采集模块传递的网络攻击信息进行检测的过程包括

8、s201.基于交换机端口流量统计信息的攻击检测,对交换机所控网段中ddos攻击的粗略检测;

9、s202.基于控制器资源优化的检测,当步骤s201检测出网络中存在攻击行为后,启动本阶段,利用动态调整终端主机允许发送新流的权重,并根据权重变化量对网络攻击进行精细检测。

10、优选的,步骤s201所述的对ddos攻击的粗略检测过程包括

11、(1)当ddos攻击发起时,交换机的流入-转发比减小,流入-转发比如式(1)所示:

12、

13、在式(1)中,numflowin代表流入交换机的网络流数量,numpacketin代表从交换机转发至控制器packetin分组的数量,ratepacketin代表流入交换机的网络流数量与从交换机转发至控制器packetin分组数量的比值;

14、(2)交换机的正常转发比减小,正常转发比如式(2)所示:

15、

16、在式(2)中,numflowout代表流出交换机的网络流数量,numflowin代表流入交换机的网络流数量,rateflowio代表流出交换机的网络流数量占流入交换机的网络流数量的比例;

17、(3)交换机流入和流出交换机数据包的数量差比网络在正常情况下会有显著激增,传入、传出交换机数据包的数量差如式(3)所示:

18、

19、在式(3)中,代表传入交换机的数据包数量,代表传出交换机的数据包数量,δnumpacket代表传入、传出交换机数据包的数量差;

20、(4)当交换机的ratepacketin和rateflowio都减小到阈值时,而δnumpacket增大到阈值时,判定网络中存在ddos攻击,并对攻击主机所在位置进行概略判断。

21、优选的,步骤s202所述的对网络攻击的精细检测过程包括

22、(1)根据sdn中的主机集合h=(h1,h2,...,hn),交换机集合s=(s1,s2,...,sk)以及控制器的拓扑结构建立sdn的神经网络结构;

23、(2)在sdn的神经网络结构中,设连接权重为从主机hi能够发送到交换机sj的新流与最大允许数的比,权重wj为从交换机转发到控制器报文与控制器最大允许量的比,连接权重与权重wj发送报文数最之间的关系为

24、

25、

26、其中,为交换机可接受新流请求的最大数,为控制器可接收报文的最大数,为某个交换机sj向控制器传送的报文信息数量,为某个主机hi在时间周期t内向所连接交换机发送的新流请求数;

27、(3)每台交换机转发到控制器的分组数为所连接主机发出新流请求数量之和为

28、其中

29、同理,控制器接收到多个交换机发送的分组总量为

30、其中

31、(4)将控制器资源利用的优化问题描述为控制器接收分组总量与可用队列容量之差的最小化问题,使用均方误差作为损失函数

32、

33、利用误差反向传播的方法更新交换机到控制器的权重

34、

35、其中,η为学习率,根据链式法则式(9)变换为

36、

37、使用同样的方法更新主机到交换机的权重

38、

39、网络模型训练时,使用relu函数作为激活函数;

40、(4)检测时,含有ddos攻击的非法流量数据,会引起该链路转发权重的变化,当链路转发权重变化量超过合理区间时,判定该链路终端为攻击源所在:

41、

42、其中,为检测时主机发送新流的权重与正常情况下主机发送新流权重的差值。

43、优选的,步骤s3所述的攻击缓解模块对两阶段攻击检测模块检测到的网络攻击缓解的过程包括

44、(1)攻击缓解模块根据检测模块发送的攻击链路信息,提取该主机的特征信息;

45、(2)并在交换机的流表中设置一个默认的端口在一定时间内,丢弃来自攻击主机发出的任何无匹配规则的数据包,同时禁止交换机向控制器发送packetin分组消息,通过这种方式禁止接收攻击主机的新流请求,从而使交换机阻止ddos攻击流进入网络。

46、sdn环境下基于在线深度学习的攻击检测与缓解系统,包括信息采集模块、两阶段攻击检测模块和攻击缓解模块;

47、所述信息采集模块用于周期性的采集流经交换机端口的流量序列相关信息,并将其转换为所需的形式,发送到两阶段检测模块;

48、所述两阶段攻击检测模块用于对信息采集模块传递的网络攻击信息进行检测;

49、所述攻击缓解模块用于对两阶段攻击检测模块检测到的网络攻击进行缓解,配置网络资源。

50、优选的,所述的基于在线深度学习的ddos攻击检测及缓解系统部署在sdn控制器上。

51、本发明的有益效果是:本发明公开了sdn环境下基于在线深度学习的攻击检测与缓解系统及方法,与现有技术相比,本发明的改进之处在于:

52、1.本方法设计了一种sdn环境下基于在线深度学习的攻击检测与缓解方法,本方法将在线深度学习算法与限速策略相结合,根据sdn拓扑结构搭建无向图神经网络;通过统计sdn交换机端口输入、输出的网络流的数量和数据包的数量、交换机向控制器发送packetin分组的数量以及交换机正常转发流的数量等信息,计算该交换机的流入-转发比、正常转发比等特征数据,通过与检测阈值进行比较,实现对sdn中ddos攻击的粗略检测。通过优化交换机向控制器预期发送的分组数量与控制器可用队列的剩余容量之间的关系,动态调节每条链路可发送新流请求的权重,将权重变化超过阈值的判定为攻击链路,实现对ddos攻击的精细检测;通过对攻击链路的追踪溯源,实现对攻击主机的定位,并将其发送出的新流引入到默认端口作丢弃处理,从而缓解ddos攻击对sdn的威胁;

53、2.本方法利用交换机端口的统计信息,计算出流入、流出交换机的网络流和数据包的特征数据,与判定阈值比较后,即可实现对sdn环境中ddos攻击的粗略检测。根据网络的拓扑结构搭建出无向图神经网络,以链路间传输分组量定义连接权重,控制器通过动态调节各链路的权重,实现对ddos攻击的精细检测与缓解,具有检测和缓解效果好并且能够更加合理充分的配置网络资源的优点。

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