一种基于信息熵和机器学习的DDoS检测方法及系统

文档序号:38355264发布日期:2024-06-19 12:09阅读:128来源:国知局

本发明涉及ddos检测技术,特别是涉及一种基于信息熵和机器学习的ddos检测方法及系统。


背景技术:

1、互联网的发展极大地推动了社会进步,为人们的日常生活带来便利,同时用户对互联网服务的质量和性能要求不断提高。随着技术需求的增长和多样化,传统网络架构及其相关设备的局限性逐渐显现。软件定义网络(sdn)作为新型网络架构,通过将控制层(负责决策的控制器)与数据层分离,提高了网络的灵活性、可编程性和集中控制能力。sdn的核心创新在于实现了传统网络中交换设备转发功能与控制功能的分离,使得网络控制通过一个集中的控制器实现,从而提升了网络管理的灵活性和效率。此外,sdn通过开放编程接口,允许用户直接通过控制器编程来适应新业务需求,有效解决了传统网络在路径优化、维护管理及新业务部署方面的挑战。

2、然而,计算机网络技术的发展也带来了网络安全问题,其中分布式拒绝服务(ddos)攻击是近年来最常见且最严重的攻击之一。ddos攻击通常由黑客发起,旨在阻断用户对主机系统、网络资源或在线服务的访问。这种攻击通过发送大量请求,耗尽目标服务器的关键资源,导致服务器无法为合法客户端提供服务。ddos攻击的隐蔽性和难以检测的特点使得传统ddos防御方法在sdn环境中不再适用。针对sdn环境的ddos攻击检测,关键技术在于利用sdn的全局视角和集中控制特性,收集网络信息、提取特征、分析数据,以发现异常行为。现有的ddos攻击检测方案主要分为两类:基于统计分析的检测方案和基于机器学习的检测方案。

3、基于统计分析的检测方案:这类方法利用信息熵、信息距离及相关系数等概念来分析流量序列的随机性和相关性。例如,tao等提出的基于香农熵和sibson距离的检测方法,giotis等人使用的熵方法,崔杰等人提出的基于双地址熵的解决方案,以及邓等人将熵用于dos/ddos的检测。这些方法通过分析网络流量的统计特征并结合阈值来识别攻击行为,优势在于快速响应,但准确性和拓展性有限。

4、基于机器学习的检测方案:机器学习方法通过构建流量分类或聚类模型实现ddos攻击检测,具有较强的数据表征能力。例如,santos等详细讨论了各类机器学习算法在sdn网络中的ddos检测能力,jinye等通过收集流表统计信息并使用svm算法分类,以及liu等提出的基于熵和bp神经网络的ddos检测方法。这类方法在适当的流量特征下能保证较高的检测准确率,但复杂的算法带来较高的时间开销。

5、尽管上述方法在ddos攻击检测上虽取得成功,但计算资源和时间上的开销不容忽视,触发机制因此引起研究人员和开发人员的关注。目前大多数使用触发机制的方法都是周期性触发,例如braga等人的固定时间间隔触发,郭等人提出的触发算法,王等人设计的两阶段检测系统,以及puranik等人基于熵和机器学习的方案。这些方法尽管有效,但在灵活性和简便性方面存在不足。因此需要一种兼具灵活度和准确率的检测方法是极其有必要的。


技术实现思路

1、本发明的目的在于提供一种基于信息熵和机器学习的ddos检测方法及系统,解决现有ddos攻击检测方法中存在的计算资源和时间开销问题,同时提升触发机制的灵活性和准确性。

2、实现本发明目的的技术解决方案为:一种基于信息熵和机器学习的ddos检测方法,主要包括如下步骤:

3、ddos第一检测阶段:基于ddos攻击显著的流量特征,sdn控制器统计各个交换机单位时间δt内数据包packet-in报文速率以及其源ip和目的ip的条件熵,以判断交换机是否异常,若异常,则初步判断发生了ddos攻击。

4、ddos第二检测阶段:对于可能是ddos攻击的数据包,sdn控制器提取异常交换机的流表特征并计算,采用机器学习算法会提取五类重要特征{源ip速率、平均数据包、数据包标准偏差、平均字节频率、对流比例}进行第二阶段的判断,机器学习算法对此段时间内的5元组特征值进行分类{正常,异常},若仍异常,则说明遭受到了ddos攻击,若为误报,则调用ewma模块进行阈值调整。

5、阈值自适应调整:如果未报告攻击,说明此时的阈值过于严格,ewma模块会综合考虑前一时刻的预测值和实际观测值,通过他们的加权平均来进行更新,计算t时刻的预测值为此刻阈值。

6、进一步地ddos第一检测阶段的过程具体包括:

7、基于ddos攻击显著的流量特征,第一阶段触发模块会提取数据包packet-in报文速率和条件熵,作为该模块的判断依据;

8、1.1)、提取数据包packet-in报文速率,数据包packet-in报文速率定义为:

9、

10、公式中δt为时间间隔;sum(pkti)为时间间隔内控制器收集的packet-in报文比特大小,pkti为第i个数据包packet-in报文速率。

11、1.2)、提取源ip地址的ip地址合,计算源ip地址关于目的ip地址的条件熵,条件熵定义为:

12、

13、公式中p(sip|dip)为源ip地址对目的ip地址的条件概率。p(dip)为目的ip地址dip出现的条件概率。

14、1.3)、为减少误判的可能性,当满足下面公式的时候,触发模块会初步判断某主机可能遭受了ddos攻击,若当前时刻的packet-in报文速率不小于报文速率阈值或者条件熵不小于条件熵阈值,则交换机异常,其表达式为:

15、(vi≥hv)or(hij(sip|dip)≥he)==true

16、公式中:hv和he分别为报文速率和条件熵的初始阈值。

17、1.4)、如果此时流量特征未超过阈值,并不需要调整阈值,如果发现超过,那么调用第二阶段的机器学习模块,判断是否为真实攻击。

18、进一步地,ddos第二检测阶段机器学习的过程包括:

19、上述阶段结束后,如何判断ddos攻击发生,需要利用机器学习方法进一步鉴别和区分ddos攻击流量。我们针对sdn网络架构的特点,提取如下5项重要特征。

20、3.1)、源ip速率(speed ofsource ip,ssip):网络中每单位时间内源ip地址的总数。ssip定义为:

21、

22、其中,∑sipip是所有源的ip地址之和,δt是时间间隔。

23、3.2)、平均数据包(averagepackets,ap):ap是时间间隔内每个流的数据包总数。ap定义为:

24、

25、其中为时间间隔内的数据包总数,flows为时间间隔δt内的流。

26、3.3)、数据包标准偏差:(standard deviation ofpackets,sdp)。sdp定义为:

27、

28、3.4)、平均字节频率:(average byte frequency,abf):abf为时间间隔内每个流的流量字节总数。abf定义为:

29、

30、式中,bytes为时间间隔流中的比特数。

31、3.5)、对流比例(ratio offlow pairs,rfp)。rfp定义为:

32、

33、其中pf_nums为对流数量,fe_nums为流总数。

34、通过对机器学习模块的流量信息的提取和相关特征值计算,利用机器学习算法对此段时间内的5元组特征值进行分类{正常,异常},从而判断流量是否为攻击流量。

35、进一步地,阈值自适应调整包括:

36、如果机器学习模块并未报告攻击,这意味当前阈值可能过于严格,因此我们调用ewma模块调整条件熵值的阈值。反之,如果判断为真实攻击,说明当前阈值是合适的。

37、5.1)、如果未报告攻击,ewma模块会综合考虑前一时刻的预测值和实际观测值,通过他们的加权平均来进行更新,检测数据任意大小的偏移。ewma的定义如下:

38、设表示t-1时刻的预测值,yt-1表示t-1时刻的观测值,则t时刻的预测值的计算公式为:

39、

40、其中,α(0<α<1)称为平滑系数,表示ewma对于历史观测值的权重,α越接近1,表示对历史观测值的权重越低,,yt-1分别为前一时刻的预测值和实际观测值。

41、5.2)、如果报告攻击,那么就会触发报警,显示当前流量为异常流量,进行相应的处置。

42、一种实现所述基于信息熵和机器学习的ddos检测方法的系统,包括ddos第一检测模块、ddos第二检测模块、报警模块和阈值自适应调整模块,其中:

43、所述ddos第一检测模块通过sdn控制器统计各个交换机单位时间δt内数据包packet-in报文速率以及其源ip和目的ip的条件熵,基于阈值判断交换机是否异常,若异常,则初步判断发生了ddos攻击,触发ddos第二检测阶段,否则触发阈值自适应调整模块;

44、所述ddos第二检测模块通过sdn控制器提取异常交换机的流表特征,采用机器学习算法提取交换机的源ip速率、平均数据包、数据包标准偏差、平均字节频率和对流比例5元组特征值,对此段时间内的5元组特征值进行分类,若分类结果仍异常,则判断遭受到了ddos攻击,触发报警模块,否则触发ddos阈值自适应调整模块;

45、所述阈值自适应调整模块基于ewma模块,考虑前一时刻的预测值和实际观测值,通过加权平均来进行更新,计算t时刻的预测值为此刻ddos第一检测阶段阈值;

46、所述报警模块用于提醒当前发生了ddos攻击。

47、与现有技术相比,本发明的有益效果为:

48、本发明为一种用于sdn环境的两阶段分布式拒绝服务(ddos)攻击检测方法,该方法结合基于ewma模型的动态条件熵触发机制和机器学习算法,进行自适应动态阈值调整,通过更为高效和灵活的检测框架,减少对计算资源的依赖,提高检测精度,有效提升了ddos攻击的检测效率和准确性,为sdn环境中的网络安全防御提供了一种高效且可靠的技术解决方案。

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