一种基于因果特征选择的异常流量检测系统及方法
- 国知局
- 2024-08-02 13:54:38
本发明涉及网络安全通信,尤其涉及一种基于因果特征选择的异常流量检测系统及方法。
背景技术:
1、随着科学技术的飞速发展,互联网已经普及到社会的各个领域。丰富的网络应用促进了社会和经济的快速发展。在改变人们生活方式的同时,也给网络安全带来了前所未有的挑战。由于网络协议的开放性,木马和病毒等恶意软件在互联网上广泛传播,针对网络协议和应用程序漏洞的拒绝服务攻击、零日攻击等各种网络攻击从未停止。这些攻击不仅影响了网络空间的正常运行,而且给国民经济造成了巨大损失,甚至威胁到国家安全。网络流量承载着系统状态、网络环境、商业秘密以及用户隐私等相关信息,是网络中信息传递和交互的载体。通过分析网络流量数据的特征可以发现网络中的异常情况,为网络态势感知提供参考,并制定相应的预防策略,这对提高网络保护能力和维护网络安全具有重要意义。
2、异常流量可能导致网络拥塞和负载增加,影响网络的正常运行和性能。当异常流量占据大量带宽或资源时,会导致延迟增加、数据包丢失以及服务不可用等问题,进而影响用户体验和业务运行。某些异常流量可能是由于错误配置、恶意软件或恶意用户导致的,这些流量会导致包括带宽、存储和计算资源等网络资源被浪费。而网络资源被浪费会增加网络运营成本,并降低整体网络系统的可用性和性能。因此,异常流量的准确检测对于维护网络资源与数据安全必不可少。网络流量异常检测作为一种有效的网络安全检测方法,利用各种检测技术来分析和判断网络流量,并发现网络中存在的潜在攻击。
3、小波分析源于经典的谐波分析,是一种基于数学理论的分析方法,与信号系统中的傅里叶分析具有相似性。小波分析通过对不同的频段进行分解,其中高频段对应的是瞬时变化的信息,低频段对应的是缓慢变化的信息,通过小波变换的手段使信号幅度产生突变。因此,可以采用小波变换的手段来检测网络中的异常流量。salagean等人就提出了一种基于分析离散小波变化和高阶统计分析的网络流量异常检测机制,该方法由特征分析、小波变换、统计分析、小波综合与异常检测五个部分组成。但由于在流量监测中的输入数据可能包含高频噪声和其他干扰,会对小波分析的结果产生干扰。
4、先前的学者尝试使用机器学习的方法进行网络流量异常检测,在基于机器学习的网络流量异常检测中,支持向量机(support vector machine,svm)是使用较为广泛的技术之一,具有很好的概括性和克服维数诅咒的能力。zhang等人提出了基于一类svm的网络流量异常检测模型。该检测模型能有效地从多种攻击中识别出正常状态,但是没有给攻击防御提供有力支撑。通常情况下会将上述算法与其他特征工程技术和方法相结合,以提高异常检测的准确性和鲁棒性。
5、然而,传统的小波变化由于在分解和重构产生的计算量较大,因此需要耗费大量的时间进行建模,且网络流量数据通常具有高维性,即特征数量很多。而对于高维数据,机器学习算法可能面临维度灾难和计算复杂度的问题,需要进行特征选择、降维或使用适合处理高维数据的算法来提高异常流量检测的效果。同时,在异常流量检测任务中正常流量样本通常比异常流量样本多得多,这就导致数据具有不平衡性,可能使得机器学习算法更倾向于将所有流量都归类为正常流量,从而无法有效地检测出异常流量。随着网络边界的不断延伸和各种服务应用的激增,流量数据呈现爆炸式增长。传统的机器学习方法在处理海量、高维且动态的网络流量时,往往面临特征设计困难、误报率高以及泛化能力弱等问题。
6、使用神经网络来进行异常检测是最近几年发展起来的研究热点,其原因在于神经网络具有很强的非线性逼近能力、自适应学习以及高效的并行处理能力。在网络流量异常检测技术中采用的神经网络包括深度卷积神经网络等。通过在大型网络流量数据集上进行训练,深度卷积神经网络学习正常网络流量的模式,并将其与异常流量区分开来。使用深度卷积神经网络进行异常检测的方法在检测网络入侵方面优于传统的机器学习算法,具有高准确率。但由于计算复杂度和训练时间等因素,该方法并不能快速检测出网络流量中的异常,不具备低时延性。
7、基于人工智能技术的流分类方案对于异常流量检测具有一定优势,但存在收敛速度慢、极易陷入局部极小值和检测准确率不理想等缺陷。在应对高维异常流量特征时,为避免无用特征对分类模型的影响,首先需要根据特征对分类的贡献度来进行特征的约减,然后使用约减后的特征进行分类器的训练,以降低模型的训练时间并提高分类准确率。同时深度学习方法通常需要大量的标记数据进行训练,以学习网络流量的模式和特征。然而在异常流量检测领域,获取足够的标记数据可能是一项挑战。由于异常流量通常是少数类别,标记异常流量数据的成本可能很高,导致数据量不足以训练有效的深度学习模型。
技术实现思路
1、针对上述现有技术的不足,本发明基于因果特征发现算法,提出了一种基于因果特征选择的异常流量检测系统及方法,实现稳定的异常流量检测。
2、本发明一方面提出的一种基于因果特征选择的异常流量检测系统,该系统包括依次连接的:初始化流量数据模块、特征选择模块、模型训练模块以及异常流量检测模块;
3、所述初始化流量数据模块,用于获取含有异常流量的数据包,并使用初始化工具对该数据包进行初始化,并利用得到的初始流量构建流量数据集;
4、所述特征选择模块,用于从流量数据集中提取与流量类别具有因果关系的因果特征;
5、所述模型训练模块,用于通过利用流量数据集和因果特征对极端随机树进行训练,得到训练好的极端随机树;
6、所述异常流量检测模块,用于将初始化流量数据模块得到的流量数据集和特征选择模块的因果特征输入训练好的极端随机树中进行异常流量监测,并验证该极端随机树的检测性能;
7、本发明另一方面提出的一种基于因果特征选择的异常流量检测方法,该方法包括如下步骤:
8、步骤1:从异常流量环境中采集若干条流量记录作为初始流量;
9、步骤2:利用流量特征提取工具对初始流量进行流量特征提取,并为初始流量中的每条流量记录添加流量类别标签,得到含有流量特征与流量类别标签的流量记录并构建流量数据集;
10、步骤3:对流量数据集进行异常数据清洗,删除流量数据集中含有缺失值的流量记录;
11、步骤4:对清洗后的流量数据集中的流量特征进行归一化处理,得到含有归一化后的流量特征与流量类别标签并构建数据集d;
12、步骤5:初始化一个空集作为因果特征集合s,采用前向选择算法选择因果特征并加入因果特征集合s,再采用后向选择算法删除因果特征集合s中的冗余特征,得到最终的因果特征集合s;
13、步骤6:利用最终的因果特征集合s和流量类别标签构建已标记的特征数据集d′;
14、步骤7:将已标记的特征数据集d′按照预定比例分为训练集与测试集;
15、步骤8:初始化极端随机树模型,将新的特征数据集d′输入极端随机树模型中进行训练,得到训练好的极端随机树模型;
16、步骤9:将测试集输入训练好的极端随机树模型中进行预测,得到异常流量检测结果;
17、步骤2中所述流量类别标签包括:正常流量、拒绝服务dos攻击流量、probing攻击流量和远程用户r2l攻击流量;
18、步骤5中所述采用前向选择算法选择因果特征并加入因果特征集合s的方法为:定义数据集d中的流量特征为特征变量y并构建特征变量集合v;定义数据集d中的流量类别标签为流量类别变量t;定义正向迭代次数k为1;将因果特征集合s作为特征x;对于特征变量集合v中的任意特征变量y,采用对数似然计算特征变量y和流量类别变量t之间的因果关联性并确定因果关联性最大的特征变量y;采用评价指标perf函数对对数似然进行定量分析,即分别计算特征x对流量类别变量t的预测偏差和加入特征变量y后的特征x对流量类别变量t的预测偏差,再将二者之间的差值作为perf函数值;如果perf函数值大于0,则证明该特征变量y为流量类别变量t的因果特征,并将该特征变量y加入到因果特征集合s中,同时从特征变量集合v中删除掉该特征变量y,进而将新的因果特征集合s作为下一个特征x,并重复上述过程,当特征变量集合v中没有特征变量y满足perf函数值大于0或特征变量集合v中无剩余的特征变量y,则终止前向选择;
19、所述perf函数为:
20、perf(x∪y)=de v(t|x)-de v(t|x∪y)
21、其中perf(·)表示perf函数;dev(t|x)表示特征x对流量类别变量t的预测偏差;dev(t|x∪y)表示在使用特征x与y后对流量类别变量t的预测偏差;
22、步骤5中所述采用后向选择算法删除因果特征集合s中的冗余特征的方法为:对当前因果特征集合s中的特征进行逐个删除,并计算每次删除某个特征vworst后当前因果特征集合s的perf函数值,如果每次删除某个特征vworst后perf函数值并未减小,即perf(s\vworst)≥perf(s),则将该特征vworst从当前因果特征集合s中剔除,反之则保留该特征,直至遍历当前因果特征集合s中的所有特征为止,得到最终的因果特征集合s;
23、所述步骤8进一步包括:
24、步骤8.1:初始化极端随机树模型,并将训练集作为训练样本;
25、步骤8.2:确定极端随机树模型中决策树的数量,对于每一个决策树,从训练样本中的因果特征集合s中随机选取若干特征构建特征子集;
26、步骤8.3:在每个决策树的当前节点上,从特征子集中随机选定一个特征并为该特征选择特征阈值,将训练样本中特征大于该特征阈值的样本划分为左子节点,将训练样本中特征小于该特征阈值的样本划分为右子节点;
27、步骤8.4:将步骤8.3中的得到的左子节点或右子节点作为当前节点,重复步骤8.3,继续进行节点划分,直到达到预设的停止条件,完成决策树的构建;
28、步骤8.5:重复步骤8.3-8.4,完成极端随机树模型中所有决策树的构建,将所有决策树进行,其中每个决策树都是基于不同的特征子集和特征阈值进行构建;
29、步骤8.6:利用极端随机树模型中所有决策树对训练样本进行预测,得到若干个预测的流量类别,采用投票的方式确定最终的预测类别;
30、步骤8.7:利用训练样本对极端随机树模型进行训练,得到训练好的极端随机树模型。
31、采用上述技术方案所产生的有益效果在于:
32、与现有技术相比,本发明方法使用早期丢弃的前后向选择算法(forward-backwardselection with early dropping,fbed)从特征变量集合中提取出与流量类别有关的因果特征,去除冗余特征,使用尽可能少的特征实现高精度的预测,能够有效防止维度灾难,减少训练时间,增强模型的泛化能力,防止过拟合情况发生。
33、本发明方法使用极端随机树(extremely randomized trees,extra trees)学习正常流量的模式,从网络流量中分离出异常流量,得到精确的异常检测结果,从而实现稳定的异常流量检测,哪怕是在噪声较大的环境中,性能也不会降低太多。
34、本发明方法提出了一种基于因果特征选择的异常流量检测系统,包括初始化流量数据模块、特征选择模块、模型训练模块和异常流量检测模块。在特征提取模块,为防止过多的特征导致数据量过大,数据冗余等问题,采用前后向选择算法(forward-backwardselection with early dropping,fbed)对特征进行因果关联性判断,选择流量的因果特征,多次迭代尽可能不遗漏任何候选特征,再通过裁剪的方法将冗余特征筛选出去,得到最后的特征集合输入到分类器中,做到使用尽可能少的特征实现高精度的预测。在模型训练模块与异常流量检测模块中,使用极端随机树模型对流量进行分类,相比于随机森林等方法更具鲁棒性。整个系统能在流量信息偏移较大时,还可以保持稳定的分类性能。
本文地址:https://www.jishuxx.com/zhuanli/20240801/241063.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表