一种基于多模型融合的网络入侵检测的方法及系统与流程

文档序号:18972553发布日期:2019-10-29 03:01阅读:252来源:国知局
一种基于多模型融合的网络入侵检测的方法及系统与流程

本申请涉及网络安全技术领域,特别涉及一种基于多模型融合的网络入侵检测的方法、系统、设备及计算机可读存储介质。



背景技术:

随着互联网的不断发展,网络安全已经成为现代信息社会中最重要的需求之一。目前,网络安全面临着严峻的形势,网络中的攻击越来越频繁,网络攻击的方式也呈现出隐蔽性和多样性的特征,入侵者通过网络入侵可以获得计算机系统权限从而导致数据泄露、网络瘫痪等等。

识别网络攻击行为是保护网络安全的重要手段之一。基于多模型融合的网络入侵检测技术是一种保护网络安全的重要技术,基于多模型融合的网络入侵检测技术可以按照一定的安全策略,通过对软硬件,网络的运行状况进行监控,进而发现各种攻击行为和攻击结果,以保证计算机系统资源的完整性,它弥补了防火墙的不足之处并且可以更高效的检测网络攻击行为。

近些年来随着机器学习的发展,以传统的机器学习算法为基础的基于多模型融合的网络入侵检测方法被越来越多应用到基于多模型融合的网络入侵检测系统中,与以往的基于多模型融合的网络入侵检测方法比较,传统的机器学习方法更加有效的利用了数据,但是使用传统的机器学习进行基于多模型融合的网络入侵检测准确率较低。

因此,如何提高基于多模型融合的网络入侵检测的准确率是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种基于多模型融合的网络入侵检测的方法、系统、设备及计算机可读存储介质,用于提高基于多模型融合的网络入侵检测的准确率。

为解决上述技术问题,本申请提供一种基于多模型融合的网络入侵检测的方法,该方法包括:

获取公开数据集;

对所述公开数据集中的数据进行预处理,得到训练数据集和待测数据集;

利用所述训练数据集对预设融合模型进行训练,直至所述预设融合模型收敛;

利用收敛后的所述预设融合模型对所述待测数据集进行基于多模型融合的网络入侵检测,得到基于多模型融合的网络入侵检测结果。

可选的,所述预设融合模型包括双向长短记忆模型、极端梯度提升模型以及融合层;

所述利用收敛后的所述预设融合模型对所述待测数据集进行基于多模型融合的网络入侵检测,得到基于多模型融合的网络入侵检测结果,对应包括:

利用所述双向长短记忆模型检测所述待测数据集为入侵数据的第一概率;

利用所述极端梯度提升模型检测所述待测数据集为所述入侵数据的第二概率;

利用所述融合层对所述第一概率和所述第二概率进行加权计算,得到所述基于多模型融合的网络入侵检测结果。

可选的,利用所述训练数据集对预设融合模型进行训练,直至所述预设融合模型收敛,包括:

利用所述双向长短记忆模型检测所述待测数据集为所述入侵数据的第三概率,并利用所述极端梯度提升模型检测所述待测数据集为所述入侵数据的第四概率;

计算所述第三概率与实际结果的第一误差参数值,并计算所述第四概率与所述实际结果的第二误差参数值;

根据所述第一误差参数值利用梯度下降算法循环迭代优化所述双向长短记忆模型的权值和偏置,直至所述双向长短记忆模型收敛;

根据所述第二误差参数值利用所述梯度下降算法循环迭代优化所述极端梯度提升模型的权值和偏置,直至所述极端梯度提升模型收敛。

可选的,对所述公开数据集中的数据进行预处理,得到训练数据集和待测数据集,包括:

在所述公开数据集中的数据进行特征数值化处理,得到目标数据;

利用卡方检验法对所述目标数据的特征重要性进行计算,得到第一特征集合;

对所述第一特征集合进行特征选择,得到第二特征集合;

对所述第二特征集合中的缺失值进行均值填充,并将填充后的所述第二特征集合划分为所述训练数据集和所述待测数据集。

本申请还提供一种基于多模型融合的网络入侵检测的系统,该系统包括:

获取模块,用于获取公开数据集;

预处理模块,用于对所述公开数据集中的数据进行预处理,得到训练数据集和待测数据集;

训练模块,用于利用所述训练数据集对预设融合模型进行训练,直至所述预设融合模型收敛;

入侵检测模块,用于利用收敛后的所述预设融合模型对所述待测数据集进行基于多模型融合的网络入侵检测,得到基于多模型融合的网络入侵检测结果。

可选的,所述预设融合模型包括双向长短记忆模型、极端梯度提升模型以及融合层;

所述入侵检测模块对应包括:

第一检测子模块,用于利用所述双向长短记忆模型检测所述待测数据集为入侵数据的第一概率;

第二检测子模块,用于利用所述极端梯度提升模型检测所述待测数据集为所述入侵数据的第二概率;

加权子模块,用于利用所述融合层对所述第一概率和所述第二概率进行加权计算,得到所述基于多模型融合的网络入侵检测结果。

可选的,所述训练模块包括:

第三检测子模块,用于利用所述双向长短记忆模型检测所述待测数据集为所述入侵数据的第三概率,并利用所述极端梯度提升模型检测所述待测数据集为所述入侵数据的第四概率;

第一计算子模块,用于计算所述第三概率与实际结果的第一误差参数值,并计算所述第四概率与所述实际结果的第二误差参数值;

第一优化子模块,用于根据所述第一误差参数值利用梯度下降算法循环迭代优化所述双向长短记忆模型的权值和偏置,直至所述双向长短记忆模型收敛;

第二优化子模块,用于根据所述第二误差参数值利用所述梯度下降算法循环迭代优化所述极端梯度提升模型的权值和偏置,直至所述极端梯度提升模型收敛。

可选的,所述预处理模块包括:

数值化处理子模块,用于在所述公开数据集中的数据进行特征数值化处理,得到目标数据;

第二计算子模块,用于利用卡方检验法对所述目标数据的特征重要性进行计算,得到第一特征集合;

特征选择子模块,用于对所述第一特征集合进行特征选择,得到第二特征集合;

填充子模块,用于对所述第二特征集合中的缺失值进行均值填充,并将填充后的所述第二特征集合划分为所述训练数据集和所述待测数据集。

本申请还提供一种基于多模型融合的网络入侵检测设备,该基于多模型融合的网络入侵检测设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任一项所述基于多模型融合的网络入侵检测的方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述基于多模型融合的网络入侵检测的方法的步骤。

本申请所提供基于多模型融合的网络入侵检测的方法,包括:获取公开数据集;对公开数据集中的数据进行预处理,得到训练数据集和待测数据集;利用训练数据集对预设融合模型进行训练,直至预设融合模型收敛;利用收敛后的预设融合模型对待测数据集进行基于多模型融合的网络入侵检测,得到基于多模型融合的网络入侵检测结果。

本申请所提供的技术方案,先通过对公开数据集中的数据进行预处理,减少了不相关特征和冗余信息对检测结果的影响;再通过自学习的方法提取数据集中的特征,能够更好的挖掘数据之间的相互依赖性,最后利用收敛后的预设融合模型对待测数据集进行基于多模型融合的网络入侵检测,使得得到基于多模型融合的网络入侵检测结果更为准确,与传统的机器学习方法相比,节省了人工挖掘关联规则的成本,更有效的利用了数据特征,提高了基于多模型融合的网络入侵检测率。本申请同时还提供了一种基于多模型融合的网络入侵检测的系统、设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种基于多模型融合的网络入侵检测的方法的流程图;

图2为本申请实施例所提供的一种双向长短记忆模型的结构示意图;

图3为图1所提供的一种基于多模型融合的网络入侵检测的方法中s103的一种实际表现方式的流程图;

图4为图1所提供的一种基于多模型融合的网络入侵检测的方法中s102的一种实际表现方式的流程图;

图5为本申请实施例所提供的一种基于多模型融合的网络入侵检测的系统的结构图;

图6为本申请实施例所提供的另一种基于多模型融合的网络入侵检测的系统的结构图;

图7为本申请实施例所提供的一种基于多模型融合的网络入侵检测设备的结构图。

具体实施方式

本申请的核心是提供一种基于多模型融合的网络入侵检测的方法、系统、设备及计算机可读存储介质,用于提高基于多模型融合的网络入侵检测的准确率。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种基于多模型融合的网络入侵检测的方法的流程图。

其具体包括如下步骤:

s101:获取公开数据集;

基于传统的机器学习方法更加有效的利用了数据,但是使用传统的机器学习进行基于多模型融合的网络入侵检测准确率较低,本申请提供了一种基于多模型融合的网络入侵检测的方法,用于解决上述问题;

可选的,这里提到的获取公开数据集,其具体可以为获取nsl-kdd数据集,nsl-kdd数据集包括三个子集:kddtrain+,kddtest+,kddtest-21。本申请将kddtrain+作为训练集,将kddtest+和kddtest-21作为测试集,其中存在41项数据特征,1项攻击类型特征,攻击类型特征中分为正常和异常两种类型。

s102:对公开数据集中的数据进行预处理,得到训练数据集和待测数据集;

可选的,这里提到的预处理,具体可以包括特征选择、特征数值化和数据归一化,其中:

特征选择,是指将特征中不发散、与攻击类型特征的攻击类型相关性不高的特征删除掉,例如在本文数据集中第7,8,11,14个特征几乎全为0,经过卡方检验的第15,17,19,32,40个特征不发散,第9,20,21个特征与目标类型毫无关联,所以需要将其都删除;

特征数值化是将特征中的非数值化特征通过独热编码转换为数值特征,以本文数据集为例,在本文的数据集中存在protocol_type、service和flag以及label4个特征属性的取值为离散的字符型,对于protocol_type的3种类型数据的属性:udp,icmp,tcp将其分别编码为二进制特征向量(1,0,0),(0,1,0)和(0,0,1);将service型特征的70种不同类型的符号属性编码为70维二进制向量;将flag型特征包含的11种符号属性编码为11维二进制特征向量;将label型特征包含的2种攻击类型编码为2维的二进制向量;

数据归一化,将经过特征选择和特征数值化后所得到的数据统一线性映射到[0,1]区间之内,该步骤的目的是按照原有数据的统计分布特性,将每个属性特征的统计性统一归纳,使不同维度的数据特征具有可比性对基于多模型融合的网络入侵检测结果的贡献相同;经过归一化的数据可以更好的被预设融合模型所学习,具

体可以通过公式完成处理;

其中,xi表示当前处理数据的第i个特征的原取值,xi'表示该值经过归一化处理后的值,xmin表示所有数据中该特征属性的最小值,xmax表示所有数据中该特征属性的最大值。

s103:利用训练数据集对预设融合模型进行训练,直至预设融合模型收敛;

优选的,该预设融合模型具体可以包括双向长短记忆模型、极端梯度提升模型以及融合层,其中:

极端梯度提升模型在训练过程中,通过改变训练样本的权重,学习多个分类器,最终获得最优分类器。在每一轮训练结束之后,降低被正确分类的训练样本权重,增大分类错误的样本权重,多次训练之后,一些被错误分类的训练样本会获得更多关注,而正确的训练样本权重趋近于0,得到多个简单的分类器,通过对这些分类器进行组合得到该极端梯度提升模型;

双向长短记忆模型是由前向长短记忆模型和后向长短记忆模型组合而成的一个结构,能很好的完成数据特征的抽取以及运算,长短期记忆网络是循环神经网络上的一个特殊结构,能够很好的保存长数据特征的依赖关系具体架构如图2所示;

请参考图2,图2为本申请实施例所提供的一种双向长短记忆模型的结构示意图,双向长短记忆模型是由一层输入层,三层隐藏层和一层全连接层组成;除最后一层外每一层的激活函数都为relu函数,隐藏层采用batchnormalization机制,使双向长短记忆模型更快的收敛;

其中,全连接层作为输出层,batchnormalization机制是使神经网络训练过程中的每一层神经网络的输入保持相同的分布;

可选的,这里提到的,利用训练数据集对预设融合模型进行训练,其具体可以为:

将预处理后对应着m条n维维度的kddtrain+数据输入到双向长短记忆模型和极端梯度提升模型中;

利用双向长短记忆模型和极端梯度提升模型对输入数据进行计算,得到分类结果,其结果为m条数据的二维二进制向量表示攻击类型,例如[1,0]向量表示正常类型,[0,1]表示为异常类型。

s104:利用收敛后的预设融合模型对待测数据集进行基于多模型融合的网络入侵检测,得到基于多模型融合的网络入侵检测结果。

可选的,这里提到的利用收敛后的预设融合模型对待测数据集进行基于多模型融合的网络入侵检测,得到基于多模型融合的网络入侵检测结果,其具体可以为:

利用双向长短记忆模型检测待测数据集为入侵数据的第一概率;

利用极端梯度提升模型检测待测数据集为入侵数据的第二概率;

利用融合层对第一概率和第二概率进行加权计算,得到基于多模型融合的网络入侵检测结果。

优选的,在得到基于多模型融合的网络入侵检测结果之后,还可以输出检测完成的提示信息至预设位置,以便用户能够及时获取到该基于多模型融合的网络入侵检测结果。

基于上述技术方案,本申请所提供的一种基于多模型融合的网络入侵检测的方法,先通过对公开数据集中的数据进行预处理,减少了不相关特征和冗余信息对检测结果的影响;再通过自学习的方法提取数据集中的特征,能够更好的挖掘数据之间的相互依赖性,最后利用收敛后的预设融合模型对待测数据集进行基于多模型融合的网络入侵检测,使得得到基于多模型融合的网络入侵检测结果更为准确,与传统的机器学习方法相比,节省了人工挖掘关联规则的成本,更有效的利用了数据特征,提高了基于多模型融合的网络入侵检测率。

针对于上一实施例的步骤s103,其中所描述的利用训练数据集对预设融合模型进行训练,直至预设融合模型收敛,其具体也可以为如图3所示的步骤,下面结合图3进行说明。

请参考图3,图3为图1所提供的一种基于多模型融合的网络入侵检测的方法中s103的一种实际表现方式的流程图。

其具体包括以下步骤:

s301:利用双向长短记忆模型检测待测数据集为入侵数据的第三概率,并利用极端梯度提升模型检测待测数据集为入侵数据的第四概率;

s302:计算第三概率与实际结果的第一误差参数值,并计算第四概率与实际结果的第二误差参数值;

例如,分类结果是[1,0],表示为正常类型,实际结果为[0,1],表示为异常类型,则使用loss函数(例如交叉熵函数)计算两者之间的误差参数值;

s303:根据第一误差参数值利用梯度下降算法循环迭代优化双向长短记忆模型的权值和偏置,直至双向长短记忆模型收敛;

s304:根据第二误差参数值利用梯度下降算法循环迭代优化极端梯度提升模型的权值和偏置,直至极端梯度提升模型收敛。

针对于上一实施例的步骤s102,其中所描述的对公开数据集中的数据进行预处理,得到训练数据集和待测数据集,其具体也可以为如图4所示的步骤,下面结合图4进行说明。

请参考图4,图4为图1所提供的一种基于多模型融合的网络入侵检测的方法中s102的一种实际表现方式的流程图。

其具体包括以下步骤:

对公开数据集中的数据进行预处理,得到训练数据集和待测数据集,包括:

s401:在公开数据集中的数据进行特征数值化处理,得到目标数据;

s402:利用卡方检验法对目标数据的特征重要性进行计算,得到第一特征集合;

s403:对第一特征集合进行特征选择,得到第二特征集合;

s404:对第二特征集合中的缺失值进行均值填充,并将填充后的第二特征集合划分为训练数据集和待测数据集。

请参考图5,图5为本申请实施例所提供的一种基于多模型融合的网络入侵检测的系统的结构图。

该系统可以包括:

获取模块100,用于获取公开数据集;

预处理模块200,用于对公开数据集中的数据进行预处理,得到训练数据集和待测数据集;

训练模块300,用于利用训练数据集对预设融合模型进行训练,直至预设融合模型收敛;

入侵检测模块400,用于利用收敛后的预设融合模型对待测数据集进行基于多模型融合的网络入侵检测,得到基于多模型融合的网络入侵检测结果。

请参考图6,图6为本申请实施例所提供的另一种基于多模型融合的网络入侵检测的系统的结构图。

该预设融合模型具体可以包括双向长短记忆模型、极端梯度提升模型以及融合层;

该入侵检测模块400对应可以包括:

第一检测子模块,用于利用双向长短记忆模型检测待测数据集为入侵数据的第一概率;

第二检测子模块,用于利用极端梯度提升模型检测待测数据集为入侵数据的第二概率;

加权子模块,用于利用融合层对第一概率和第二概率进行加权计算,得到基于多模型融合的网络入侵检测结果。

进一步的,该训练模块300可以包括:

第三检测子模块,用于利用双向长短记忆模型检测待测数据集为入侵数据的第三概率,并利用极端梯度提升模型检测待测数据集为入侵数据的第四概率;

第一计算子模块,用于计算第三概率与实际结果的第一误差参数值,并计算第四概率与实际结果的第二误差参数值;

第一优化子模块,用于根据第一误差参数值利用梯度下降算法循环迭代优化双向长短记忆模型的权值和偏置,直至双向长短记忆模型收敛;

第二优化子模块,用于根据第二误差参数值利用梯度下降算法循环迭代优化极端梯度提升模型的权值和偏置,直至极端梯度提升模型收敛。

该预处理模块200可以包括:

数值化处理子模块,用于在公开数据集中的数据进行特征数值化处理,得到目标数据;

第二计算子模块,用于利用卡方检验法对目标数据的特征重要性进行计算,得到第一特征集合;

特征选择子模块,用于对第一特征集合进行特征选择,得到第二特征集合;

填充子模块,用于对第二特征集合中的缺失值进行均值填充,并将填充后的第二特征集合划分为训练数据集和待测数据集。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

请参考图7,图7为本申请实施例所提供的一种基于多模型融合的网络入侵检测设备的结构图。

该基于多模型融合的网络入侵检测设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在基于多模型融合的网络入侵检测设备700上执行存储介质730中的一系列指令操作。

基于多模型融合的网络入侵检测设备700还可以包括一个或一个以上电源727,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,和/或,一个或一个以上操作系统741,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述图1至图4所描述的基于多模型融合的网络入侵检测的方法中的步骤由基于多模型融合的网络入侵检测设备基于该图7所示的结构实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上对本申请所提供的一种基于多模型融合的网络入侵检测的方法、系统、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

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