本发明涉及网络安全领域,尤其涉及一种入侵检测方法、装置及存储介质。
背景技术:
随着网络中攻击方式的不断更新与变异,传统的基于特征匹配的入侵检测方法已无法有效进行攻击检测,特别是当攻击者特征越来越复杂时,传统的入侵检测方法表现出误报率高、自适应性差、检测效率低等弊端。因此,基于机器学习的入侵检测方法兴起。
在大量利用机器学习解决入侵检测问题的研究中,训练数据的不平衡性及样本特征复杂性,容易导致攻击检测的准确率及效率均较低。
技术实现要素:
本发明的实施例提供一种入侵检测方法、装置及存储介质,能够解决复杂网络入侵环境下的攻击检测问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供一种入侵检测方法,包括:
获取m类异常样本,并对各类样本数量进行均衡处理;
对所述m类异常样本中的各样本进行特征约简;
将特征约简后的m类异常样本及正常样本,作为样本集合,对初始机器学习模型进行训练,得到入侵检测模型;其中,所述机器学习模型由m 1个分类器构成;
基于所述入侵检测模型,进行网络攻击检测。
结合第一方面,在第一方面的第一种可能的实现方式中,所述获取m类异常样本,并对各类样本数量进行均衡处理,包括:
统计所述m类异常样本中每类异常样本的数量;
针对样本数量低于第一预设值的类,对所述类内样本进行样本变换得到至少一个新样本;或者,针对样本数量高于第二预设值的类,对所述类内的部分样本进行过滤处理;
得到异常样本数量符合预设条件的m类异常样本。
结合第一方面,在第一方面的第二种可能的实现方式中,所述对所述m类异常样本中的各样本进行特征约简,包括:
提取所述m类异常样本中的各样本的特征向量;
针对每个所述样本的特征向量中各特征与相应异常类标签之间的相关度,对各特征进行排序;并基于svm算法对特征向量中的特征进行选取操作,得到特征约简后的样本特征向量。
结合第一方面,在第一方面的第三种可能的实现方式中,所述将特征约简后的m类异常样本及正常样本,作为样本集合,对初始机器学习模型进行训练,得到入侵检测模型,包括:
所述样本集合包括m 1个子集;其中,m个异常类子集中的每个样本均携带有相应异常类标签信息,1个正常类子集中的每个样本均携带有正常类标签信息;
将所述样本集合输入至所述初始机器学习模型,分别基于每个异常类子集与正常类子集合并的数据集,对初始机器学习模型中所述异常类相应的分类器进行训练,得到所述入侵检测模型;其中,所述入侵检测模型由m 1个分类器构成。
结合第一方面,在第一方面的第四种可能的实现方式中,所述基于所述入侵检测模型,进行网络攻击检测,包括:
将当前网络信息输入至所述入侵检测模型;
响应于与所述入侵检测模型中的任意一个异常类分类器的类中心之间的距离小于或等于预设值,将所述异常类分类器的类标签作为网络攻击检测结果;
响应于与所述入侵检测模型中的正常类分类器的类中心之间的距离小于或等于预设值,将所述正常分类器的类标签作为网络攻击检测结果;
响应于与所述m 1个分类器的类中心之间的距离均大于预设值,将未知攻击类型作为网络攻击检测结果。
第二方面,本发明的实施例提供一种入侵检测装置,包括:
均衡模块,用于获取m类异常样本,并对各类样本数量进行均衡处理;
约简模块,用于对所述m类异常样本中的各样本进行特征约简;
训练模块,用于将特征约简后的m类异常样本及正常样本,作为样本集合,对初始机器学习模型进行训练,得到入侵检测模型;其中,所述机器学习模型由m 1个分类器构成;
检测模块,用于基于所述入侵检测模型,进行网络攻击检测。
结合第二方面,在第二方面的第一种可能的实现方式中,所述均衡模块包括:
统计子模块,用于统计所述m类异常样本中每类异常样本的数量;
均衡子模块,用于针对样本数量低于第一预设值的类,对所述类内样本进行样本变换得到至少一个新样本;或者,针对样本数量高于第二预设值的类,对所述类内的部分样本进行过滤处理;
所述均衡子模块,还用于得到异常样本数量符合预设条件的m类异常样本。
结合第二方面,在第二方面的第二种可能的实现方式中,所述约简模块包括:
提取子模块,用于提取所述m类异常样本中的各样本的特征向量;
约简子模块,用于针对每个所述样本的特征向量中各特征与相应异常类标签之间的相关度,对各特征进行排序;并基于svm算法对特征向量中的特征进行选取操作,得到特征约简后的样本特征向量。
结合第二方面,在第二方面的第三种可能的实现方式中,所述样本集合包括m 1个子集;其中,m个异常类子集中的每个样本均携带有相应异常类标签信息,1个正常类子集中的每个样本均携带有正常类标签信息;
所述训练模块,还用于将将所述样本集合输入至所述初始机器学习模型,分别基于每个异常类子集与正常类子集合并的数据集,对初始机器学习模型中所述异常类相应的分类器进行训练,得到所述入侵检测模型;其中,所述入侵检测模型由m 1个分类器构成。
结合第二方面,在第二方面的第四种可能的实现方式中,所述检测模块包括:
输入子模块,用于将当前网络信息输入至所述入侵检测模型;
第一检测子模块,用于响应于与所述入侵检测模型中的任意一个异常类分类器的类中心之间的距离小于或等于预设值,将所述异常类分类器的类标签作为网络攻击检测结果;
第二检测子模块,用于响应于与所述入侵检测模型中的正常类分类器的类中心之间的距离小于或等于预设值,将所述正常分类器的类标签作为网络攻击检测结果;
第三检测子模块,用于响应于与所述m 1个分类器的类中心之间的距离均大于预设值,将未知攻击类型作为网络攻击检测结果。
第三方面,本发明的实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现第一方面提供的方法的步骤。
本发明实施例提供的入侵检测方法、装置及存储介质,通过获取m类异常样本,并对各类样本数量进行均衡处理;对所述m类异常样本中的各样本进行特征约简;将特征约简后的m类异常样本及正常样本,作为样本集合,对初始机器学习模型进行训练,得到入侵检测模型;其中,所述机器学习模型由m 1个分类器构成;基于所述入侵检测模型,进行网络攻击检测。能够通过对各个异常类样本数量的均衡处理,实现各异常类之间的样本数量相对一致,即对各异常攻击的相应分类器的训练程度相对一致,从而可以避免由于攻击样本数量过少而对某些异常攻击的检测准确率低的问题,能够提高异常攻击的检测准确率;同时,通过对复杂样本特征进行特征约简,保留样本中用于检测异常攻击的重要特征,从而能够在保证检测准确率的同时进一步提高检测效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例的入侵检测方法的流程示意图;
图2是本发明实施例的入侵检测方法的另一流程示意图;
图3是本发明实施例的入侵检测装置结构示意图;
图4是本发明实施例的均衡模块31的结构示意图;
图5是本发明实施例的约简模块32的结构示意图;
图6是本发明实施例的检测模块34的结构示意图;
图7是本发明实施例的入侵检测装置700的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明一实施例提供一种入侵检测方法,如图1所示,所述方法包括:
101、获取m类异常样本,并对各类样本数量进行均衡处理。
102、对所述m类异常样本中的各样本进行特征约简。
103、将特征约简后的m类异常样本及正常样本,作为样本集合,对初始机器学习模型进行训练,得到入侵检测模型;其中,所述机器学习模型由m 1个分类器构成。
104、基于所述入侵检测模型,进行网络攻击检测。
与现有技术相比,本发明实施例能够通过对各个异常类样本数量的均衡处理,实现各异常类之间的样本数量相对一致,即对各异常攻击的相应分类器的训练程度相对一致,从而可以避免由于攻击样本数量过少而对某些异常攻击的检测准确率低的问题,能够提高异常攻击的检测准确率;同时,通过对复杂样本特征进行特征约简,保留样本中用于检测异常攻击的重要特征,从而能够在保证检测准确率的同时进一步提高检测效率。
本发明又一实施例提供一种入侵检测方法,如图2所示,所述方法包括:
201、获取m类异常样本,并统计所述m类异常样本中每类异常样本的数量。
202、针对样本数量低于第一预设值的类,对所述类内样本进行样本变换得到至少一个新样本;或者,针对样本数量高于第二预设值的类,对所述类内的部分样本进行过滤处理。
对于本发明实施例,步骤202可以包括:
首先,对于所有的少数类样本x,搜索其距离最近的k个样本。在这k个样本中,若少数类样本的个数多于多数类样本的个数,则x为安全样本(safetysample);若少数类样本的个数少于多数类样本的个数,且存在少数类样本,则x为危险样本(dangeroussample);若均为多数类样本,则该少数类样本x为噪声样本(noisesample)。
然后,若x是噪声样本,对其进行过采样时给数据集引入了噪声的风险,但是噪声样本又对分类有一定的正面影响。因此为了降低噪声带来的风险,在少数类中随机选择一个样本x′,依照公式xnew=x rand(0.5,1)·(x′-x)生成靠近少数类的新样本。
最后,若x不是噪声样本,则从其k个紧邻样本中随机选择1个样本x′,如果x′属于多数类的样本,则依照公式xnew=x rand(0,0.5)·(x′-x)生成靠近x的新样本;如果x′属于少数类的样本,则依照公式xnew=x rand(0,1)·(x′-x)生成新样本。
203、得到异常样本数量符合预设条件的m类异常样本。
在本发明实施例中,每个异常类的异常样本数量的预设条件可以为大于或等于该第一预设值,并且小于或等于第二预设值。
例如,第一预设值为300,第二预设值为320。通过步骤202可以将样本数量小于300的异常类进行样本变换,生成新样本,使得该异常类的样本数量达到300;同时,通过步骤202还可以将样本数量大于320的异常类进行部分样本过滤舍弃,使得该异常类的样本数量低于300。最终,实现m个异常类中的每个异常类的异常样本数量均处于300至320之间。
另一种可选地实施例中,第一预设值与第二预设值相同,此时,每个异常类的异常样本数量的预设条件为等于该第一预设值或第二预设值。
例如,第一预设值为500,第二预设值也为500。通过步骤202可以将样本数量小于500的异常类进行样本变换,生成新样本,使得该异常类的样本数量达到500;同时,通过步骤202还可以将样本数量大于5000的异常类进行部分样本过滤舍弃,使得该异常类的样本数量降为500。最终,实现m个异常类中的每个异常类的异常样本数量均等于500。
204、提取所述m类异常样本中的各样本的特征向量。
在本发明实施例中,每个样本的特征向量均包含多个特征。
205、针对每个所述样本的特征向量中各特征与相应异常类标签之间的相关度,对各特征进行排序;并基于svm算法对特征向量中的特征进行选取操作,得到特征约简后的样本特征向量。
对于本发明实施例,通过svm算法选取出每个异常样本特征向量中与该异常样本的类标签相关度相对较高的多个特征,选取出的这些特征对于异常检测的贡献度高于其他特征。在本发明实施例中,通过svm算法进行特征选取操作后,舍弃样本特征向量中未被选择的其他特征,从而实现对样本数据的特征约简处理,即对样本的特征向量的降维处理。
在本发明实施例中,利用svm算法进行特征选取。考虑到入侵检测的准确率(accuracy)与特征选取息息相关,因此,将acc做为特征选取的判断标准。若对样本进行特征约简后保留的特征越少,并且准确率越高,则作为模型训练的最优解,即作为模型训练的目标。
206、将所述样本集合输入至所述初始机器学习模型,分别基于每个异常类子集与正常类子集合并的数据集,对初始机器学习模型中所述异常类相应的分类器进行训练,得到所述入侵检测模型。
其中,所述入侵检测模型由m 1个分类器构成。在本发明实施例中,步骤206训练用的所述样本集合包括m 1个子集;其中,m个异常类子集中的每个样本均携带有相应异常类标签信息,1个正常类子集中的每个样本均携带有正常类标签信息。
在本发明实施例中,在机器学习模型的训练过程中,对于每一类网络异常行为数据,将其与正常行为数据相结合,然后在该合成的数据集上训练,得到一个online-svm分类器,作为入侵检测模型。
对于本发明实施例,在模型训练的过程中,对于每一类网络异常行为数据,将其与正常行为数据相结合,然后在该合成的数据集上训练一个online-svm分类器。假设存在m种异常网络行为,表示为{att1,att2,l,attm},通过以上方法,可以得到m个新的训练集和m个online-svm分类器。最后,将所有异常网络行为数据与正常网络行为数据相结合得到第m 1个训练集,并建立第m 1个online-svm分类器。对深度学习的训练具体流程包括下述步骤(1)-(3)。
(1)获取m个经过均衡处理后的异常样本集{att1_t,att2_t,l,attm_t}与1个正常样本集{normal};
(2)生成m个训练集,即{att1_t,normal},{att2_t,normal},···,{attm_t,normal}和{att1_t,att2_t,l,attm_t,normal};
(3)训练m 1个online-svm分类器,分别为clf_att1,clf_att2,···,clf_attm和clf_normal。
207、基于所述入侵检测模型,进行网络攻击检测。
可选地,步骤207可以包括:将当前网络信息输入至所述入侵检测模型;响应于与所述入侵检测模型中的任意一个异常类分类器的类中心之间的距离小于或等于预设值,将所述异常类分类器的类标签作为网络攻击检测结果;响应于与所述入侵检测模型中的正常类分类器的类中心之间的距离小于或等于预设值,将所述正常分类器的类标签作为网络攻击检测结果;响应于与所述m 1个分类器的类中心之间的距离均大于预设值,将未知攻击类型作为网络攻击检测结果。
对于本发明实施例,入侵检测模型由m 1个online-svm分类器构成,并且所使用的训练集各不相同,因此,针对某种特定的网络异常行为可以通过定制实现,并且能够弹性扩展。在进入分类器之前,为了提高分类效率,可以采用k-means找到所有类别样本的聚类中心,根据待检测数据到各类聚类中心的平均距离来判断进入哪个分类器。
在本发明实施例中,令k(i)代表i类中聚类中心的数目,i∈{att1,att2,…,attm,normal},i类的第k个聚类中心表示为
(1)通过下述公式计算待测样本x到每一类的平均距离dist(i):
(2)将x输入到clf-ind中,ind=argminidist(i);
(3)如果ind∈{att1,att2,…,attm},x的类别即clf-ind的输出结果,用cls来表示,cls∈{attind,normal};
(4)如果ind=normal,那么x的类别cls有两种取值,cls∈{attunknown,normal};如果cls=attunknown,那么x认为是未知攻击类型。
对于本发明实施例,以上异常入侵检测方法可以应用于交警在现场通过手机等移动通讯设备将实时路况信息输入系统;也可以应用于任何网友通过手机等移动通讯设备将实时路况信息输入系统;还可以应用于122总台的人员通过安装在各个路口的摄像头,从大屏幕上判断实施路况信息,通过电脑或手机输入系统。
与现有技术相比,本发明实施例能够通过对各个异常类样本数量的均衡处理,实现各异常类之间的样本数量相对一致,即对各异常攻击的相应分类器的训练程度相对一致,从而可以避免由于攻击样本数量过少而对某些异常攻击的检测准确率低的问题,能够提高异常攻击的检测准确率;同时,通过对复杂样本特征进行特征约简,保留样本中用于检测异常攻击的重要特征,从而能够在保证检测准确率的同时进一步提高检测效率。
本发明又一实施例提供一种入侵检测装置,如图3所示,所述装置包括:
均衡模块31,用于获取m类异常样本,并对各类样本数量进行均衡处理;
约简模块32,用于对所述m类异常样本中的各样本进行特征约简;
训练模块33,用于将特征约简后的m类异常样本及正常样本,作为样本集合,对初始机器学习模型进行训练,得到入侵检测模型;其中,所述机器学习模型由m 1个分类器构成;
检测模块34,用于基于所述入侵检测模型,进行网络攻击检测。
进一步的,如图4所示,所述均衡模块31包括:
统计子模块311,用于统计所述m类异常样本中每类异常样本的数量;
均衡子模块312,用于针对样本数量低于第一预设值的类,对所述类内样本进行样本变换得到至少一个新样本;或者,针对样本数量高于第二预设值的类,对所述类内的部分样本进行过滤处理;
所述均衡子模块312,还用于得到异常样本数量符合预设条件的m类异常样本。
进一步的,如图5所示,所述约简模块32包括:
提取子模块321,用于提取所述m类异常样本中的各样本的特征向量;
约简子模块322,用于针对每个所述样本的特征向量中各特征与相应异常类标签之间的相关度,对各特征进行排序;并基于svm算法对特征向量中的特征进行选取操作,得到特征约简后的样本特征向量。
所述样本集合包括m 1个子集;其中,m个异常类子集中的每个样本均携带有相应异常类标签信息,1个正常类子集中的每个样本均携带有正常类标签信息;
所述训练模块33,还用于将所述样本集合输入至所述初始机器学习模型,分别基于每个异常类子集与正常类子集合并的数据集,对初始机器学习模型中所述异常类相应的分类器进行训练,得到所述入侵检测模型;其中,所述入侵检测模型由m 1个分类器构成。
进一步的,如图6所示,所述检测模块34包括:
输入子模块341,用于将当前网络信息输入至所述入侵检测模型;
第一检测子模块342,用于响应于与所述入侵检测模型中的任意一个异常类分类器的类中心之间的距离小于或等于预设值,将所述异常类分类器的类标签作为网络攻击检测结果;
第二检测子模块343,用于响应于与所述入侵检测模型中的正常类分类器的类中心之间的距离小于或等于预设值,将所述正常分类器的类标签作为网络攻击检测结果;
第三检测子模块344,用于响应于与所述m 1个分类器的类中心之间的距离均大于预设值,将未知攻击类型作为网络攻击检测结果。
与现有技术相比,本发明实施例能够通过对各个异常类样本数量的均衡处理,实现各异常类之间的样本数量相对一致,即对各异常攻击的相应分类器的训练程度相对一致,从而可以避免由于攻击样本数量过少而对某些异常攻击的检测准确率低的问题,能够提高异常攻击的检测准确率;同时,通过对复杂样本特征进行特征约简,保留样本中用于检测异常攻击的重要特征,从而能够在保证检测准确率的同时进一步提高检测效率。
本发明实施例还提供另一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序被一个或者一个以上的处理器用来执行图1、图2所示实施例提供的入侵检测方法。
本发明实施例提供的入侵检测装置可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的入侵检测方法、装置及存储介质可以适用于对网络中的异常入侵进行检测,但不仅限于此。
如图7所示,入侵检测装置700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,个人数字助理等。
参照图7,入侵检测装置700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(i/o)的接口712,传感器组件714,以及通信组件716。
处理组件702通常控制无人机控制装置700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令。
此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在无人机控制装置700的操作。这些数据的示例包括用于在无人机控制装置700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为无人机控制装置700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为无人机控制装置700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述无人机控制装置700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当无人机控制装置700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(mic),当无人机控制装置700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
i/o接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为无人机控制装置700提供各个方面的状态评估。例如,传感器组件714可以检测到无人机控制装置700的打开/关闭状态,组件的相对定位,例如所述组件为无人机控制装置700的显示器和小键盘,传感器组件714还可以检测无人机控制装置700或无人机控制装置700一个组件的位置改变,用户与无人机控制装置700接触的存在或不存在,无人机控制装置700方位或加速/减速和无人机控制装置700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于无人机控制装置700和其他设备之间有线或无线方式的通信。无人机控制装置700可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
在示例性实施例中,无人机控制装置700可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
1.一种入侵检测方法,其特征在于,包括:
获取m类异常样本,并对各类样本数量进行均衡处理;
对所述m类异常样本中的各样本进行特征约简;
将特征约简后的m类异常样本及正常样本,作为样本集合,对初始机器学习模型进行训练,得到入侵检测模型;其中,所述机器学习模型由m 1个分类器构成;
基于所述入侵检测模型,进行网络攻击检测。
2.根据权利要求1所述的入侵检测方法,其特征在于,所述获取m类异常样本,并对各类样本数量进行均衡处理,包括:
统计所述m类异常样本中每类异常样本的数量;
针对样本数量低于第一预设值的类,对所述类内样本进行样本变换得到至少一个新样本;或者,针对样本数量高于第二预设值的类,对所述类内的部分样本进行过滤处理;
得到异常样本数量符合预设条件的m类异常样本。
3.根据权利要求1所述的入侵检测方法,其特征在于,所述对所述m类异常样本中的各样本进行特征约简,包括:
提取所述m类异常样本中的各样本的特征向量;
针对每个所述样本的特征向量中各特征与相应异常类标签之间的相关度,对各特征进行排序;并基于svm算法对特征向量中的特征进行选取操作,得到特征约简后的样本特征向量。
4.根据权利要求1所述的入侵检测方法,其特征在于,所述将特征约简后的m类异常样本及正常样本,作为样本集合,对初始机器学习模型进行训练,得到入侵检测模型,包括:
所述样本集合包括m 1个子集;其中,m个异常类子集中的每个样本均携带有相应异常类标签信息,1个正常类子集中的每个样本均携带有正常类标签信息;
将所述样本集合输入至所述初始机器学习模型,分别基于每个异常类子集与正常类子集合并的数据集,对初始机器学习模型中所述异常类相应的分类器进行训练,得到所述入侵检测模型;其中,所述入侵检测模型由m 1个分类器构成。
5.根据权利要求1所述的入侵检测方法,其特征在于,所述基于所述入侵检测模型,进行网络攻击检测,包括:
将当前网络信息输入至所述入侵检测模型;
响应于与所述入侵检测模型中的任意一个异常类分类器的类中心之间的距离小于或等于预设值,将所述异常类分类器的类标签作为网络攻击检测结果;
响应于与所述入侵检测模型中的正常类分类器的类中心之间的距离小于或等于预设值,将所述正常分类器的类标签作为网络攻击检测结果;
响应于与所述m 1个分类器的类中心之间的距离均大于预设值,将未知攻击类型作为网络攻击检测结果。
6.一种入侵检测装置,其特征在于,包括:
均衡模块,用于获取m类异常样本,并对各类样本数量进行均衡处理;
约简模块,用于对所述m类异常样本中的各样本进行特征约简;
训练模块,用于将特征约简后的m类异常样本及正常样本,作为样本集合,对初始机器学习模型进行训练,得到入侵检测模型;其中,所述机器学习模型由m 1个分类器构成;
检测模块,用于基于所述入侵检测模型,进行网络攻击检测。
7.根据权利要求6所述的入侵检测装置,其特征在于,所述均衡模块包括:
统计子模块,用于统计所述m类异常样本中每类异常样本的数量;
均衡子模块,用于针对样本数量低于第一预设值的类,对所述类内样本进行样本变换得到至少一个新样本;或者,针对样本数量高于第二预设值的类,对所述类内的部分样本进行过滤处理;
所述均衡子模块,还用于得到异常样本数量符合预设条件的m类异常样本。
8.根据权利要求6所述的入侵检测装置,其特征在于,所述约简模块包括:
提取子模块,用于提取所述m类异常样本中的各样本的特征向量;
约简子模块,用于针对每个所述样本的特征向量中各特征与相应异常类标签之间的相关度,对各特征进行排序;并基于svm算法对特征向量中的特征进行选取操作,得到特征约简后的样本特征向量。
9.根据权利要求6所述的入侵检测装置,其特征在于,所述样本集合包括m 1个子集;其中,m个异常类子集中的每个样本均携带有相应异常类标签信息,1个正常类子集中的每个样本均携带有正常类标签信息;
所述训练模块,还用于将所述样本集合输入至所述初始机器学习模型,分别基于每个异常类子集与正常类子集合并的数据集,对初始机器学习模型中所述异常类相应的分类器进行训练,得到所述入侵检测模型;其中,所述入侵检测模型由m 1个分类器构成。
10.根据权利要求6所述的入侵检测装置,其特征在于,所述检测模块包括:
输入子模块,用于将当前网络信息输入至所述入侵检测模型;
第一检测子模块,用于响应于与所述入侵检测模型中的任意一个异常类分类器的类中心之间的距离小于或等于预设值,将所述异常类分类器的类标签作为网络攻击检测结果;
第二检测子模块,用于响应于与所述入侵检测模型中的正常类分类器的类中心之间的距离小于或等于预设值,将所述正常分类器的类标签作为网络攻击检测结果;
第三检测子模块,用于响应于与所述m 1个分类器的类中心之间的距离均大于预设值,将未知攻击类型作为网络攻击检测结果。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-5所述方法的步骤。
技术总结