一种软件定义网络中的DDoS攻击风险量化防御方法及系统与流程

文档序号:36226460发布日期:2023-11-30 13:00阅读:39来源:国知局
一种软件定义网络中的的制作方法

本技术涉及计算机网络安全领域,具体来说,涉及一种软件定义网络中的ddos攻击风险量化防御方法及系统。


背景技术:

1、拒绝服务(denial of service,dos)攻击,是指故意攻击网络协议实现的缺陷或直接耗尽被攻击对象的资源,让目标计算机或网络无法提供正常的服务或资源访问的行为。ddos则是指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动dos攻击,从而成倍地提高拒绝服务攻击的威力。ddos攻击是目前网络环境下最严重的威胁之一。

2、sdn是一种新型的网络架构,设计理念是将网络的控制平面与数据转发层面分离,并实现可编程化控制。sdn架构通常分为三层,最上层为应用层,包括不同的业务和应用;控制层主要负责处理数据资源的编排,维护网络拓扑,信息状态等;数据转发层负责基于流表的数据处理,转发和状态收集。在sdn架构下可以通过深层次的数据包分析,实现更加灵活的更新流量策略,在复杂的网络环境中可以实现更高级的网络监控,为细粒度的网络攻击识别提供了基础,并且sdn的可编程性为在网络攻击识别中应用机器学习模块提供了良好的接口。

3、与传统路由网络相比,sdn支持可编程和动态的网络。虽然它拥有更灵活的网络管理,但我们应该了解当前和即将到来的安全威胁以及其部署。现有对sdn研究中不乏针对服务器ddos攻击的研究。早在2010年,braga等人提出通过训练smo分类器,来检测ddos攻击,但是只讨论了ddos检测方法,并没有考虑到缓解机制。2014年,k.giotis et等人提出利用sflow和openflow来实现异常入侵检测的方法。利用sflow的抽样能力进行流量的采集,利用统计熵的方法来进行异常检测。openflow协议用于通过修改现有流的优先级值和安装带有drop动作和高优先级的新的流规则来减轻攻击。但是,熵方法有一个强有力的假设,即交通数据遵循一定的正态分布。如果假设不正确,检测率就会降低。2015年,rui wang等人提出了一种基于熵的轻量级ddos攻击检测模型并且运行在控制器中。该方案针的是受害者主机的攻击,他们将控制器的功能进行了拓展,使得控制器机能够记录最近一次流表中目的地址的变化量,然后进行熵值的计算,通过与阈值的比较做出判断。该方案仅仅依靠目的地址的变化量的熵值来判断攻击,会对一些正常的流量请求产生误判,并且将判断程序运行在控制器硬件上,日后的更新会比较麻烦且对控制器的运行造成较大的负担从而产生较高的处理时延。

4、对于具有较高识别率的ddos检测系统,必须通过sdn网络架构中的应用层收集足够的数据资料才能够正常运行,然而在收集数据资料并加以实施的过程中,势必会产生处理上的延迟。相对的,找出ddos攻击并同时能够缓解攻击对网络系统的影响,让网络系统能够在保有应对攻击流量能力的同时,使正常用户的访问不受影响,这种兼顾攻击检测与缓解的问题还有待解决。


技术实现思路

1、本发明主要在sdn架构下设计了一套ddos攻击风险量化防御方法及系统,目的在于如何快速应对攻击以及确保ddos攻击检测的识别率,在用户拥有正常服务体验的前提下,处理来自ddos攻击的威胁。本发明使用sdn网络架构,相较于大多数在sdn上ddos攻击检测研究均是在控制器上进行判断与解析,本发明将初步的判断与解析设置在交换机上,由sdn架构中的数据转发层就率先对流量进行初步的处理,该层位于处理数据包流量的第一线,因此在此施展初步的攻击风险量化处理便能有效且快速的应对攻击流量,进而配合上机器学习进行攻击识别,能够形成两阶段的攻击防御,这样既确保了较高的攻击识别率,又能使用户的正常访问流量不受影响。

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

3、本发明第一方面公开了一种软件定义网络中的ddos攻击风险量化防御方法,所述软件定义网络包括应用层、控制层和数据转发层,其中应用层包括机器学习缓解服务器和资料收集模块,控制层包括网络控制器和路由控制模块,数据转发层包括若干交换机,每个交换机上均设置有熵判断模块;

4、所述方法包括第一阶段攻击风险量化处理阶段和第二阶段机器学习攻击识别阶段,具体包括如下步骤:

5、其中,第一阶段攻击风险量化处理阶段包括:

6、步骤1:接收到数据包后,判断数据包类型是arp数据包还是ip数据包,若数据包为arp数据包则进入步骤2,若数据包为ip数据包则进入步骤5;

7、步骤2:当接收到arp数据包时,首先比对系统中ip地址来源表,判断所述arp数据包来源是否记录于系统中,若是则进入步骤3,若否则将所述arp数据包的源ip记录于系统中并协助转发至目的地址,结束识别判断;

8、步骤3:判断所述arp数据包数量是否小于上限pktnuma,若小于则将所述arp数据包协助转发至目的地址,结束识别判断;若大于或等于则进入步骤4;

9、步骤4:熵判断模块判断所述arp数据包是否为正常,若是则将所述arp数据包协助转发至目的地址,结束识别判断;若否则进一步判断是否为攻击数据包,若是则直接丢弃数据包,若否则将所述arp数据包协助转发至目的地址,结束识别判断;

10、步骤5:熵判断模块判断所述ip数据包是否为攻击数据包,若是则直接丢弃数据包,并将源ip地址列入黑名单,若否则进入步骤6;

11、步骤6:熵判断模块判断所述ip数据包是否为正常,若是则由路由控制模块寻找最佳转发路径转发所述ip数据包,若判断为疑似攻击则由路由控制模块寻找最差转发路径转发所述ip数据包;

12、第二阶段机器学习攻击识别阶段,具体包括:

13、资料收集模块定时向网络控制器请求数据转发层的数据资料,并交由机器学习缓解服务器采用机器学习算法判断是否有攻击发生,当系统判断有攻击时,发送识别结果让网络控制器把攻击源列入黑名单,后续来自攻击源的数据包流量一律丢弃处理;

14、当执行完第一阶段攻击识别后会开始第二阶段的攻击判断,此时下一轮进来的数据包流量会开始下一轮的第一阶段攻击识别并不断循环,第二阶段会对数据包流量定时进行高精度的攻击判断。

15、进一步的,所述熵判断模块对数据包进行量化分级具体包括:

16、s1、熵判断模块接收到数据包后首先计算业务提供服务器端的熵值,并判断转发到业务提供服务器端的所述数据包数量是否小于阈值pktnumb,若是则判定所述数据包为正常流量,若否则进入步骤s2;

17、s2、判断转发到业务提供服务器端的所述数据包是否为同一个来源,若是则所述数据包为正常流量,若否则进入步骤s3;

18、s3、熵判断模块根据所述熵值给予不同的量化分级,当熵值大于阈值entropyx时判断为正常流量,当熵值小于等于entropyx且大于等于entropyy时判断为疑似攻击,当熵值小于entropyy判断为攻击流量;

19、s4、对于判断为疑似攻击或攻击流量的数据包进行判断是否存在误判,若否则保持原有判断结果,若是则将结果修改为正常流量。

20、进一步的,熵判断模块接收到数据包后首先计算业务提供服务器端的熵值具体包括:

21、采用公式(1)计算熵值,其中h(x)为欲计算的熵值,n为数据包流量来源总数,pi为数据包流量来源i流向业务提供服务器的概率;

22、

23、采用公式(2)计算数据包流量来源i流向业务提供服务器的概率pi,其中fi为数据包流量来源i流向业务提供服务器的数据包数量,ft则为业务提供服务器接收到所有数据包流量来源的数据包总量,采用公式(3)计算得出;

24、

25、

26、进一步的,所述对于判断为疑似攻击或攻击流量的数据包进行判断是否存在误判,具体包括:

27、检测所述判断为疑似攻击或攻击流量的数据包数量占数据总流量的比率,若比率大于等于阈值pt,则将结果判断为不存在误判,若小于阈值则将结果修改为正常流量;或者,

28、检测所述判断为疑似攻击或攻击流量的数据包每5秒钟的访问次数,判断所述访问次数是否大于等于阈值pktnumc,若是则将结果判断为不存在误判,若否则将结果修改为正常流量;或者,

29、检测所述判断为疑似攻击或攻击流量的数据包每5秒钟的访问次数,判断所述访问次数是否大于等于阈值pktnumc,若否则将结果修改为正常流量,若是则进一步检测所述判断为疑似攻击或攻击流量的数据包来源首次访问时间,并根据首次访问时间距离当前检测时间的长短动态设置阈值x,当所述判断为疑似攻击或攻击流量的数据包从首次访问时间到当前检测时间的访问次数大于等于所述阈值x时,将结果判断为不存在误判。

30、进一步的,熵判断模块对数据包进行量化分级后,交由路由控制模块寻找转发路径,具体包括:

31、基于每条路径的负载率,从所述数据包到业务提供服务器的所有转发路径中进行挑选,对判定为正常流量的数据包,选择负载率最低的路径为最佳转发路径;对判定为疑似攻击的数据包,选择负载率最高的路径为最差转发路径;

32、选择完转发路径后,依据选择的路径将负责率更新,使之后的数据包能够以最新的负载率为依据进行路径选择。

33、进一步的,所述机器学习算法包括:svm算法、决策树算法或随机森林算法。

34、本发明第二方面公开了一种软件定义网络中的ddos攻击风险量化防御系统,所述软件定义网络包括应用层、控制层和数据转发层,其中应用层包括机器学习缓解服务器和资料收集模块,控制层包括网络控制器和路由控制模块,数据转发层包括若干交换机,每个交换机上均设置有熵判断模块;

35、所述交换机接收到数据包后,判断数据包类型是arp数据包还是ip数据包,当接收到arp数据包时,首先比对系统中ip地址来源表,判断所述arp数据包来源是否记录于系统中,若否则将所述arp数据包的源ip记录于系统中并协助转发至目的地址,结束识别判断,若是则进一步判断所述arp数据包数量是否小于上限pktnuma,若小于则将所述arp数据包协助转发至目的地址,结束识别判断,若大于或等于则交由熵判断模块;

36、熵判断模块判断所述arp数据包是否为正常,若是则将所述arp数据包协助转发至目的地址,结束识别判断;若否则进一步判断是否为攻击数据包,若是则直接丢弃数据包,若否则将所述arp数据包协助转发至目的地址,结束识别判断;

37、熵判断模块判断ip数据包是否为攻击数据包,若是则直接丢弃数据包,并将源ip地址列入黑名单,若否则进一步判断所述ip数据包是否为正常,若为正常则由路由控制模块寻找最佳转发路径转发所述ip数据包,若判断为疑似攻击则由路由控制模块寻找最差转发路径转发所述ip数据包;

38、资料收集模块定时向网络控制器请求数据转发层的数据资料,并交由机器学习缓解服务器采用机器学习算法判断是否有攻击发生,当系统判断有攻击时,所述机器学习缓解服务器发送识别结果让网络控制器把攻击源列入黑名单,后续来自攻击源的数据包流量一律丢弃处理。

39、本发明第三方面公开了一种电子设备,包括:一个或多个处理器,计算机可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的方法步骤。

40、本发明第四方面公开了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现上述的方法步骤。

41、总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下

42、有益效果:

43、本发明通过采用两阶段的ddos攻击检测的方式,第一阶段通过在数据转发层的交换机上设置熵判断模块对熵值和阈值的比较进行攻击判断,过滤大量攻击流量,在底层网络架构就行攻击防御识别,让攻击流量在第一时间就进行缓解处理,减轻了网络控制器的处理压力,第二阶段通过在应用层设置机器学习缓解服务器采用机器学习算法高精度判别网络中是否还存在攻击,定位并及时采取防御措施,进一步过滤大量恶意流量,保护sdn控制器和交换机,检测准确率更高。通过两阶段的攻击识别,使检测方法同时具有攻击快速识别和高识别准确率两项优点。

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