基于SDN的异构LDDoS攻击联合检测和防御方法

文档序号:37191159发布日期:2024-03-01 13:01阅读:20来源:国知局
基于SDN的异构LDDoS攻击联合检测和防御方法

本发明涉及软件定义网络和入侵检测和防御技术,具体涉及一种基于sdn的异构lddos攻击联合检测和防御方法。


背景技术:

1、软件定义网络(sdn)是一种基于三层架构的新型网络范式,包括数据平面、控制平面和应用平面。它将网络设备的控制和转发模块解耦,实现数据平面的灵活监控和管理,并使网络的操作变得可编程。这使得新的网络功能(例如路由和转发、网络虚拟化和可视化)能够以编程方式定义,以适应用户需求。在这种架构中,控制器和数据平面依然会受到各种网络攻击,其中分布式拒绝服务(ddos)攻击是最常见的攻击,目前已经存在许多针对ddos攻击的入侵检测和防御系统,但是很少有研究者考虑到低速率分布式拒绝服务(lddos)攻击,对它的研究也较少。

2、lddos攻击是一种针对tcp连接的攻击,对链路中的tcp连接有很强的破坏性,同时其自身周期性发送攻击流量,有较低的攻击成本,极具隐蔽性;其中异构lddos攻击作为一种新的攻击变体,可以逃脱现有方案的识别,更具隐蔽性,这对公共网络的安全造成了很大的威胁。

3、lddos攻击是根据传输控制协议(tcp)拥塞窗口变化的机制,针对目标定期发起的一系列离散攻击。成功的lddos攻击会使链路拥塞,导致tcp拥塞窗口进入重传超时(rto)或加法增加/乘法减少(aimd)阶段,在周期性的攻击下,这将使拥塞窗口持续降低,tcp连接的数据发送量明显减少。

4、机器学习技术的引入极大地提高了对网络攻击的检测水平,机器学习模型经过数据集训练之后,在检测网络攻击时展现了较高的准确性。现有的相关技术方案存在以下问题:

5、专利cn114070601a公开一种基于emdr-we算法的ldos攻击检测方法,针对的是ldos攻击,是一种单点攻击,属于dos攻击的一种,其入侵检测方法,不包含对攻击的防御和处理,并且在检测过程中采用额是基于熵值的方法来检测攻击,只能用来检测ldos攻击。

6、专利cn110598794a公开一种分类对抗的网络攻击检测方法及系统,针对的是普通的网络攻击例如ddos攻击,不适用于lddos攻击的检测,因为lddos攻击具有隐蔽性和周期性。


技术实现思路

1、发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于sdn的异构lddos攻击联合检测和防御方法,本发明采用梯度提升决策树加逻辑回归集成模型和脉冲频率分析法,使用两种方法联合检测并识别出攻击流,通过使用变点检测窗口,极大地缩短检测和识别的时间;然后利用软件定义网络实现攻击流的防御和监控,缓解误判和流表溢出带来的危害,提高了检测准确性。

2、技术方案:本发明的一种基于sdn的异构lddos攻击联合检测和防御方法,包括以下步骤:

3、步骤(1)、流量的获取与处理;

4、获取交换机各端口的网络流量,并对网络流量进行特征工程,提取对应信息特征,包括数据包到达时间,数据包大小、数据包传输速度、带宽等;

5、步骤(2)、数据集的采集与制作;

6、进行网络拓扑的仿真以及异构低速率分布式拒绝服务攻击的模拟,获取取每个检测窗口dw中所有数据包的统计信息,计算得到相应统计特征,包括:平均数据包大小特征、平均数据包传输速度特征、数据包大小的离散系数特征和平均带宽比特征,并将统计特征和对应标签写入新的csv文件,作为得最终所得数据集;

7、步骤(3)、先对步骤(2)所得数据集进行预处理得到训练集和测试集,然后将gbdt模型和lr模型堆叠形成集成模型,接着对该集成模型使用处理后的训练集进行训练;

8、步骤(4)、攻击的检测和识别,使用联合检测的方法对检测窗口内的网络流量进行检测,并找出其中的攻击流量;具体过程如下:

9、步骤(4-1)、对步骤(1)抓捕的网络流量进行处理,转化为pandas dataframe形式的数据;

10、步骤(4-2)、将处理好的网络流量数据输入到集成模型,若预测结果为攻击则输出1,否则输出为0;

11、步骤(4-3)、根据检测窗口dw的大小,选取0到检测窗口dw中的几个节点作为输出节点,在每个时间节点输出步骤(4-2)的检测结果;若检测结果为0,则继续步骤(4-1),若检测结果为1,则使用脉冲频率分析法进行分析,分析方法为;

12、步骤(a)、根据ip地址或mac地址对检测窗口dw内的网络流量数据进行分类,并根据采样周期t’对数据流量序列进行采样;

13、步骤(b)、记录数据包总数n,然后计算低于阈值th1的低流量数据包数量n1,n1连续低于th1的次数被视为n2;

14、步骤(c)、计算p=n1/n,并将其与所有流量的平均值pvar进行比较,其中

15、若p>pvar且n2>th2,则表明该ip或mac的流量为攻击,输出1和其ip地址或mac地址;若p<pvar或n2<tj2,则重复步骤(4-1)并将p计算到pvar;

16、步骤(5)、攻击流的防御,当获取攻击流的ip或mac地址之后,通过下发流规则来拦截和丢弃攻击流;

17、步骤(6)、流量的后续监控,监控流规则的匹配信息,包括流量匹配的数据包个数,数据大小。

18、进一步地,所述步骤(1)的详细过程为:

19、步骤(1-1)、在交换机上运行scapy模块的sniff()函数,通过sniff()函数捕获各端口的网络流量的数据包;

20、步骤(1-2)、记录每个数据包的到达时间;

21、步骤(1-3)、根据检测窗口dw的大小对捕获的网络流量进行特征工程,筛选出对应重要的信息特征,包括数据包到达时间,数据包大小、数据包传输速度、带宽等。

22、进一步地,所述步骤(2)数据集的采集与制作的具体过程如下:

23、步骤(2-1)、使用mininet搭建网络环境;

24、步骤(2-2)、添加主机和交换机;

25、步骤(2-3)、连接ryu控制器,运行程序以保证网络中各节点的正常通信;

26、步骤(2-4)、主机之间建立通信连接,包括tcp和udp连接;

27、步骤(2-5)、重放正常流量的数据集;

28、步骤(2-6)、在攻击者主机上运行攻击代码,设置攻击周期为t,突发时间为t;

29、步骤(2-7)、同步各个攻击主机,使得每个攻击的周期t保持一致;

30、步骤(2-8)、启动wireshark对个交换机端口进行抓包,保存为数据报文件;

31、步骤(2-9)、使用tshark命令处理数据报文件,保留数据包大小,到达时间,源ip地址,目的ip地址,源mac地址,目的mac地址等,将其转化为csv文件;

32、步骤(2-10)、读取csv文件,并设置检测窗口大小为dw;

33、步骤(2-11)、获取每个检测窗口dw中所有数据包的统计信息,计算得到平均数据包大小、平均数据包传输速度、数据包大小的离散系数、平均带宽比等特征;

34、步骤(2-12)、制作标签,若检测窗口dw中包含的攻击主机的数据包个数超过10条,则打上标签为1,否则为0;

35、步骤(2-13)、将统计特征和标签写入新的csv文件,作为得到的数据集。

36、进一步地,所述步骤(3)模型训练的具体过程如下:

37、步骤(3-1)、使用pandas及其相关的模块读取步骤(2)所得数据集;

38、步骤(3-2)、进行特征工程,查看数据集中是否有缺失值,对数据集中缺失数据进行填充,填充为0,并对数据集中非数值型数据进行编码(如标签特征);

39、步骤(3-3)、将多余的特征和标签列去除(如数据包的编号、源mac地址、源ip地址、目的ip地址、目的mac地址等),保留的特征赋值给x,并且将标签列赋值给y,并按照一定的比例将数据集拆分为训练集和测试集;

40、步骤(3-4)、进行数据增强,在训练集中添加拉普拉斯噪声和高斯噪声,提高机器学习模型的适应性和鲁棒性;

41、步骤(3-5)、使用集成模型进行训练;

42、步骤(3-6)、打印出集成模型训练的结果,若集成模型的精度低则改变参数,继续步骤(3-5);

43、步骤(3-7)、保存得到最优的集成模型。

44、进一步地,所述步骤(5)攻击流的防御的具体过程如下:

45、步骤(5-1)、通过步骤(4-8)获取攻击流的ip或mac地址;

46、步骤(5-2)、撰写流规则,将流规则的匹配项设置为ip或mac匹配,当ip或mac地址等于攻击流的ip或mac地址时,将“action”参数设置为“drop”以丢弃攻击流;

47、步骤(5-3)、下发流表,并在黑名单上记录对应攻击流的信息和流规则的标识符。

48、进一步地,所述步骤(6)流量的监控的具体过程为:

49、步骤(6-1)、读取黑名单,获取每个攻击流对应的流规则;

50、步骤(6-2)、为新的流规则设置监控周期mt;

51、步骤(6-3)、当到达监控周期时,获取流规则的统计信息中的“n_packets”和“n_bytes”,判断与上个周期相比数值是否增加,若增加则将监控周期mt增加,否则删除该条流规则;

52、步骤(6-4)、更新黑名单,将黑名单中删除的流规则对应的状态设置为0,重复步骤(6-1)。

53、有益效果:与现有技术相比,本发明具有以下优点:

54、(1)、本发明针对异构低速率分布式拒绝服务攻击,采用了机器学习和脉冲频率分析法联合检测方法,用来检测和识别攻击,准确率达到了99.12%。同时,使用了变点检测窗口来协调两种方法,使得本方案可以在较短时间内作出反映,并保证较高的准确性。

55、(2)、本发明采用了软件定义网络中的流规则和流统计功能。通过下发流表来匹配攻击流,从而对攻击流进行丢弃,以此达到防御效果,通过使用流统计功能,本方案可以监控和删除已下发的流表,缓解了误判和流表溢出带来的危害。

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