本发明涉及计算机网络流量分类,具体涉及一种基于机器学习的软件定义网络中流量特征选择方法。
背景技术:
1、随着5g技术的推广和应用,入侵检测系统(ids)作为一种关键的安全设备或软件,在5g网络中的作用变得尤为重要。ids负责监视计算机网络或系统活动,检测和响应恶意活动、未经授权的访问或异常行为,以保护网络不受侵害。在众多网络威胁中,分布式拒绝服务(ddos)攻击因其能够迅速耗尽有限的硬件资源、导致服务终止或性能下降而成为主要威胁。5g网络的高带宽和低延迟特性,虽然为用户带来了更好的体验,但同时也为ddos攻击提供了更为便利的条件。攻击者可以利用更多的资源和更高的效率发起攻击,对个人、企业和组织的信息安全构成严重威胁。
2、根据netscout的威胁情报报告,ddos攻击的频率正在逐年上升。2021年ddos攻击总次数达到975万次,而2022年则增长到了1053万次,同比增长了8%。随着ddos攻击的增加导致迫切需要针对这些攻击采取及时有效的检测以及保障措施。软件定义网络(sdn)作为一种新兴的网络架构,通过将网络设备的控制平面与数据平面分离,赋予了网络更大的灵活性和可编程性。这种特性不仅使得网络管理和控制更为集中,也为入侵检测带来了新的机遇。随着网络流量的日益复杂化,传统的基于签名的检测方法已难以满足需求,而基于异常的检测方法则面临着高误报率和计算资源消耗的问题。为了提高检测的准确性并降低误报率,特征选择成为了一个关键的研究方向。然而,正是因为sdn的这种集中控制特性,使得其更易受到分布式拒绝服务(ddos)攻击的威胁。尤其是sdn控制器作为网络中的核心组件,一旦受到故障或攻击,将导致整个sdn网络瘫痪。因此,开发能够在sdn环境中实时、高效检测ddos攻击的入侵检测系统(ids)显得至关重要。然而,随着攻击特征数量的增加,ids的计算成本也随之增加,消耗更多的内存和cpu资源,延长了攻击检测时间。特征选择(fs)是提高ids性能的关键技术之一。它通过去除不必要和冗余的特征,选择最合适的特征子集,从而提高对各种攻击类型的模式分类的准确性。在基于人工智能(ai)的ids中,一个至关重要的环节是识别并采用一组最优特征,这组特征能够精准地对数据集中的攻击行为进行检测,从而显著提升整个系统的检测准确率。因此,寻找一种能够有效减少特征数量、提高检测速度的方法对于构建可靠的ids至关重要。
3、在现有的技术中,ddos攻击的检测准确性往往会因为特征空间的扩展而降低。此外,设计复杂的ddos检测模型会显著增加所需的计算资源。深度学习技术在ddos攻击检测领域同样面临多重挑战,包括:高计算复杂性,这通常是由模型混合架构的复杂性所引起的;处理开销大,尤其是在实施和维护这些模型时;检测过程耗时较长,这在需要快速响应的网络安全环境中是一个较为严重的问题。
4、针对以上问题,亟需设计一种基于机器学习的软件定义网络中流量特征选择方法,以解决上述现有技术存在的上述问题。
技术实现思路
1、针对上述存在的问题,本发明旨在提供一种基于机器学习的软件定义网络中流量特征选择方法,本方法能够有效的从网络流量数据中筛选出最具代表性和区分度的特征,且能够显著减少检测所需的时间,满足5g网络对ids高速度和高可靠性的要求;解决了现有技术检测ddos攻击时,检测过程耗时较长的问题。
2、为了实现上述目的,本发明所采用的技术方案如下:
3、一种基于机器学习的软件定义网络中流量特征选择方法,包括
4、步骤1:采集数据,获取数据集,并对数据集进行描述;
5、步骤2:对数据集中数据进行预处理;
6、步骤3:设计基于特征重要性分数的特征选择方法;
7、步骤4:训练xrdi分类器,利用xrdi分类器进行软件定义网络中流量特征的选择。
8、作为优选的方案,步骤2所述对数据集中数据进行预处理的过程
9、包括
10、步骤2.1:数据清洗,删除所有的缺失值和无穷大值的样本;
11、步骤2.2:标签数值化,正常流量标签设置为0,ddos攻击流量设置为1;
12、步骤2.3:平衡数据集,对数据集样本数量进行扩充或降低;
13、步骤2.4:对数据集进行数据归一化处理。
14、作为优选的方案,步骤2.4所述对数据集进行数据归一化处理的应用变换函数为:
15、
16、其中,fmax为最大值,fmin为最小值。
17、作为优选的方案,步骤3所述基于特征重要性分数的特征选择方法包括
18、步骤3.1:建立基于特征重要性分数的特征选择方法—xrdi;
19、步骤3.2:利用xrdi进行特征选择。
20、作为优选的方案,所述基于特征重要性分数的特征选择方法的算法流程包括
21、步骤3.1.1:根据极端梯度提升算法,首先计算xgboost模型的特征重要性权重,并将这些初始权重命名为xgboost_score1;随后,使用数据归一化处理的应用变换函数对xgboost_score1进行归一化处理,得到归一化后的特征重要性分数xgboost_score2;
22、步骤3.1.2:基于决策树与随机森林原理,评估随机森林模型的特征重要性,并将原始分数命名为rf_score1;再使用数据归一化处理的应用变换函数将rf_score1进行归一化,得到rf_score2;
23、步骤3.1.3:采用决策树算法来计算特征重要性分数,并将原始分数命名为dt_score1;通过使用数据归一化处理的应用变换函数得到归一化后的特征重要性分数dt_score2;
24、步骤3.1.4:利用信息增益方法计算特征重要性分数,将原始分数命名为ig_score1;同样地,经过使用数据归一化处理的应用变换函数的归一化处理后,得到ig_score2;
25、步骤3.1.5:将上述步骤3.1.1-步骤3.1.4四种模型归一化后的特征重要性分数进行相加,得到一个组合特征重要性分数
26、combined feature score=xgboost_score2+rf_score2+dt_score2+ig_score2;
27、步骤3.1.6:对每种类型的特征按照其组合特征重要性分数进行排序,识别出对模型预测最为关键的特征。
28、作为优选的方案,在步骤3.1.1中,使用式(1)计算xgboost模型的特征重要性权重,具体为
29、
30、其中,weight(f)表示特征f的重要性权重,gain(f,i)表示特征f在第i个节点的分裂中的增益,coverage(f,i)表示特征f在第i个节点的覆盖率,n表示总节点数量。
31、作为优选的方案,在步骤3.1.2中,使用式(3)计算评估随机森林(rf)模型的特征重要性,具体为
32、
33、其中,n表示树的总数量,t是树的索引,imp(f,t)是特征f在树t中的基尼不纯度减少量。
34、作为优选的方案,步骤3.1.4所述利用信息增益(ig)方法计算特征重要性分数的过程包括
35、(1)首先计算目标变量y的熵entropy(y);
36、(2)然后对于特征x的每一个可能取值xi,计算在该取值下目标变量y的条件熵entropy(y|xi);
37、(3)最后计算信息增益ig(x,y),即目标变量y的熵减去特征x对其条件熵的加权和;计算公式如下:
38、
39、其中,ig(x,y)表示特征x对于目标变量y的信息增益,entropy(y)表示目标变量y的熵,|x|表示样本总数,|xi|表示特征|x|中第i个取值对应的样本数量,entropy(y|xi)表示特征x的取值为xi的条件下,目标变量y的条件熵。
40、作为优选的方案,步骤4所述训练xrdi分类器的过程包括
41、步骤4.1:划分数据集,将数据集拆分为7:3的比例划分训练集和测试集;
42、步骤4.2:使用ml算法进行模型训练。
43、本发明的有益效果是:本发明公开了一种基于机器学习的软件定义网络中流量特征选择方法,与现有技术相比,本发明的改进之处在于:
44、1.本发明提出了一种基于机器学习的软件定义网络中流量特征选择方法,本方法融合了四种特征重要性选择算法,提取最具代表性的特征,实现了更高的检测准确率和更少的检测时间;
45、2.基于xrdi方法构建了四种ml模型,在三个数据集(insdn、cicids2017和cicids2018)上进行仿真实验,结果表明本文的方法在准确性、计算成本和检测时间方面均优于传统的ddos检测方法;
46、3.本方法实现了sdn环境中实时ddos检测和告警系统,内置通知系统包含邮件通知和微信通知等功能;同时,经实验验证,本方法能够有效的从网络流量数据中筛选出最具代表性和区分度的特征,且能够显著减少检测所需的时间(ddos攻击实时检测的平均检测时间352.7098ms,平均预测时间仅0.2304ms),满足了5g网络对ids高速度和高可靠性的要求,具有检测效果好、检测效率高的优点。