一种入侵检测方法、装置
技术领域
本发明属于入侵检测技术领域,尤其涉及一种入侵检测方法、装置。
背景技术
入侵检测(Intrusion Detection,ID)的研究与发展已经有20余年的历史,这项技术是在不影响系统性能的前提下,通过收集和分析计算机网络或计算机系统中若干信息,检查网络或系统中是否存在违反安全策略的行为和遭到攻击的迹象,并采取相应的对抗措施。
当前,国内外学者已提出大量的入侵检测算法,如统计方法、贝叶斯推理方法、机器学习方法、神经网络、数据挖掘、遗传算法、支持向量机等方法。评判入侵检测系统的参数主要有两个,即正确率和误检率。正确率是指检测到的入侵总数占数据集入侵总数的比率,而误检率是指将非入侵行为错检为入侵行为的比率。
然而,在已有入侵检测方法中,直接在粗糙的入侵检测数据集K DD CUP99上应用入侵检测算法,由于KDD CUP99数据集中含有海量的异构数据记录,对其进行直接的数据分析与挖掘将需要很长的时间,检测效率非常低。并且,在已有入侵检测方法中,采用无监督的聚类算法或者仿射传播聚类算法对数据集进行聚类处理,得到的聚类结果精确度不高,导致入侵检测到的异常数据的准确率很低。
发明内容
本发明实施例提供了一种入侵检测方法、装置,旨在解决现有技术提供的入侵检测方法,直接在K DD CUP99数据集上应用入侵检测算法,检测效率非常低,并且准确率低的问题。
一方面,提供一种入侵检测方法,所述方法包括:
对入侵检测数据集KDD CUP99进行数据规范化处理,得到一个n维的高维向量组;
对所述n维的高维向量组进行降维处理,得到一个m维的低维向量组,其中m小于n;
利用半监督的仿射传播聚类算法对所述m维的低维向量组进行处理,得到聚类结果;
在所述聚类结果中,根据所得簇中数据量的大小,确定一个正常簇和至少一个异常簇;
获取所述至少一个异常簇中的数据,所述数据是入侵检测到的异常数据。
进一步地,所述对所述n维的高维向量组进行降维处理,得到一个m维的低维向量组包括:
计算所述n维的高维向量组中的两两向量之间的协方差,生成相关系数矩阵;
计算所述相关系数矩阵的特征值与特征向量;
确定特征值最大的前m个特征值对应的m个特征向量;
由所述m个特征向量组成所述m维的低维向量组。
进一步地,所述半监督的仿射传播聚类算法是引进综合指标对所述仿射传播聚类算法的迭代进行监督和指导,以得到聚类结果。
进一步地,所述综合指标是对Sil指标和正确率指标进行加和处理之后得到的指标。
进一步地,所述Sil指标反映了聚类结构的类内紧密性与类间可分性;
所述正确率指标反映了聚类一次后检测到的入侵总数所占百分比。
另一方面,提供一种入侵检测装置,所述装置包括:
数据规范单元,用于对入侵检测数据集KDD CUP99进行数据规范化处理,得到一个n维的高维向量组;
降维单元,用于对所述n维的高维向量组进行降维处理,得到一个m维的低维向量组,其中m小于n;
聚类处理单元,用于利用半监督的仿射传播聚类算法对所述m维的低维向量组进行处理,得到聚类结果;
簇确定单元,用于在所述聚类结果中,根据所得簇中数据量的大小,确定一个正常簇和至少一个异常簇;
异常数据确定单元,用于获取所述至少一个异常簇中的数据,所述数据是入侵检测到的异常数据。
进一步地,所述降维单元包括:
矩阵生成模块,用于计算所述n维的高维向量组中的两两向量之间的协方差,生成相关系数矩阵;
特征计算模块,用于计算所述相关系数矩阵的特征值与特征向量;
向量确定模块,用于确定特征值最大的前m个特征值对应的m个特征向量;
低维向量组确定模块,用于由所述m个特征向量组成所述m维的低维向量组。
进一步地,所述半监督的仿射传播聚类算法是引进综合指标对仿射传播聚类算法的迭代进行监督和指导,以得到聚类结果。
进一步地,所述综合指标是对Sil指标和正确率指标进行加和处理之后得到的指标。
进一步地,所述Sil指标反映了聚类结构的类内紧密性与类间可分性;
所述正确率指标反映了聚类一次后检测到的入侵总数所占百分比。
在本发明实施例,对入侵检测数据集KDD CUP99进行规范化处理后生成的高维向量组利用数据降维方法进行数据归约,生成低维向量组,可以将与数据挖掘任务不相关或冗余的属性删除,找出最小属性集。一方面使得数据类的概率分布尽可能地接近使用所有属性得到的原分布,另一方面使得后面的聚类算法计算速度得到较大提升。另外,在对低维向量组进行处理时,采用半监督的仿射传播聚类算法,既解决了无监督聚类算法指定初始聚类中心与数目的缺点,又解决了仿射传播聚类算法在松散数据集上得不到准确聚类结果的缺陷,从而提高了入侵检测模型异常检测的准确率。
附图说明
图1是本发明实施例一提供的入侵检测方法的实现流程图;
图2是本发明实施例一提供的入侵检测方法中,对所述n维的高维向量组进行降维处理,得到一个m维的低维向量组的实现流程图;
图3是本发明实施例二提供的入侵检测装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,先对入侵检测数据集KDD CUP99进行数据规范化处理,得到一个n维的高维向量组;再对所述n维的高维向量组进行降维处理,得到一个m维的低维向量组,其中m小于n;再利用半监督的仿射传播聚类算法对所述m维的低维向量组进行处理,得到聚类结果;然后在所述聚类结果中,根据所得簇中数据量的大小,确定一个正常簇和至少一个异常簇;最后获取所述至少一个异常簇中的数据,所述数据是入侵检测到的异常数据。
以下结合具体实施例对本发明的实现进行详细描述:
实施例一
图1示出了本发明实施例一提供的入侵检测方法的实现流程,详述如下:
在步骤S101中,对入侵检测数据集KDD CUP99进行数据规范化处理,得到一个n维的高维向量组。
在入侵检测模型中,数据集的选择是研究和评价入侵检测算法的第一步,数据集的好坏将直接决定各种入侵检测算法的评价结果。
由哥伦比亚大学IDS实验室整理形成的安全审计数据集KDD CUP99,许多论文及研究成果都基于该数据集为基础。该数据集分为训练集与检测集,其中包含了大量的网络连接记录,每条连接记录含有41维特征,共有39种类型的攻击记录,训练数据集中每个网络连接记录都被标记为正常或某种攻击,其中有22种攻击类型的记录。另有17种未知攻击类型出现在测试集中。
各种入侵检测算法对数据集进行操作的第一个重要步骤就是数据规范化处理。用聚类算法进行入侵检测的一个重要前提是,同类型数据,无论同是正常数据或攻击数据,都将在特定的度量空间上聚集在一起。
由于入侵检测数据集-KDD CUP99数据集既包含连续型数据又包含非数值型数据,所以对二者分别进行归一化处理。
在本发明实施例中,首先把KDD CUP99中的连续型变量的数据标准化,这是因为对于连续属性值,不同的度量单位会对聚类分析结果产生影响。
为了使数据之间的量纲具有可比性,对连续型变量进行规范化处理,将其数据取值从[min,max]映射到[0,1]区间。对于非数值型数据项,不能直接处理,可以先将其离散化,利用编码映射成[0,1]区间的数值。
通过上述方法,KDD CUP99数据集经过规范化处理变成了一个n维的高维向量组。其中,n为正整数。
在步骤S102中,对所述n维的高维向量组进行降维处理,得到一个m维的低维向量组,其中m小于n。
针对步骤S101中得到的n维的高维向量组,由于其特征维数较高,对于后面的聚类技术的应用会产生时间代价较高的问题,所以需要对高维向量组进行降维处理。
降维处理的基本思想就是:假定待归约的数据由n个属性或维描述的元组或数据向量组成,在损失尽可能小的前提下,从n维特征中搜索出k个最能代表数据的n维正交向量,从而达到降维的目的,简化特征维数,使特征更加突出,有利于提高聚类的效果。
在本发明实施例中,图2示出了对所述n维的高维向量组进行降维处理,得到一个m维的低维向量组的详细步骤,如下:
步骤1、计算所述n维的高维向量组中的两两向量之间的协方差,生成相关系数矩阵。
在通过步骤S101对KDD CUP99数据集中的数据进行规范化处理后,每个属性都落入了相同的区间。然后利用统计学的知识,计算两个向量之间的协方差,其结果组成相关系数矩阵。
步骤2、计算所述相关系数矩阵的特征值与特征向量。
计算步骤1中生成的相关系数矩阵的特征值与特征向量,并将特征值按照从大到小的顺序或者从小到大的顺序进行排列。大的特征值表示了相关系数矩阵中某一成分的方差影响大,这样的因子分析起来才会有效果。
步骤3、确定特征值最大的前m个特征值对应的m个特征向量。
利用步骤2计算出的特征值计算每个特征向量的累计贡献率。确定m值,求贡献率,最后取累计贡献率达到85%的特征值所对应的特征向量。
步骤4、由所述m个特征向量组成所述m维的低维向量组。
由累计贡献率达到85%的特征值所对应的m个特征向量组成所述m维的低维向量组。这时低维向量组中向量的个数m是小于n的,即在保留绝大部分信息的情况下,达到了降维的目的。
在步骤S103中,利用半监督的仿射传播聚类算法对所述m维的低维向量组进行处理,得到聚类结果。
通常入侵检测方法中,采用的是无监督聚类算法,比如K-means和模糊C均值等,这类聚类算法一般需要预先设置初始聚类中心与数目,并且经常终止于局部最优解,得不到准确的聚类结果,从而使检测率低而误检率高。
基于仿射传播聚类算法(Affinity Propagation Clustering,AP)的入侵检测方法则没有无监督聚类算法的缺点,它将每个数据点看作潜在的聚类中心,通过信息迭代更新来自主决定最后的聚类中心与数目,从而获得准确的聚类结果。
仿射传播聚类算法包括以下步骤:
步骤11、针对入侵检测数据集,对连续型变量与非数值型变量分别利用欧式距离和特定公式计算两两样本点之间的距离,并将该距离存储于矩阵s当中。
其中,矩阵的对角线上元素为偏向参数p,作为该点能否作为聚类中心的评判标准。它的作用是通过调节参数p来使聚类结果更加精确,该值越大,这个点成为聚类中心的可能性越大。
步骤12、为了找到合适的聚类中心需要不断的从数据样本中搜集相关信息,包括吸引度(Responsibility)与归属度(Availability)。
吸引度和归属度分别用R(i,k)与A(i,k)表示。吸引度表示第k个样本点适合做第i个样本点聚类中心的程度;归属度表示第i个样本点选择第k个样本点作为聚类中心的适合程度。若R(i,k)与A(i,k)之和越大,则样本点k成为聚类中心的可能性越大,并且点i属于k所在的簇的可能性也越大。
步骤13、不断循环迭代更新R(i,k)与A(i,k),即每个点的吸引度与归属度的值,直到满足迭代终止条件,判断得到的聚类中心个数是否满足要求,否则调整p值,重复上述过称,直到满足要求,同时将其余的数据点分配到相应的聚类中去,输出聚类结果
本发明实施例中,利用半监督的仿射传播聚类算法对所述m维的低维向量组进行处理,得到聚类结果。
对于入侵检测数据来说,异常数据的类型并不会太多,集中在四个大类当中,所以,针对传统的仿射传播聚类产生聚类数目过多,聚类结果不够精确的缺点,将半监督的概念引入传统的仿射传播聚类算法当中,即引进综合指标对仿射传播聚类算法的迭代进行监督和指导,以得到聚类结果。结合一次聚类后得到的正确率与误检率指标,我们再引进一个Silhouette指标(简称Sil),使用对Sil指标与正确率指标进行加和处理得到的综合指标来对聚类效果进行评测,从而对聚类算法进行监督和指导。
Sil指标反映了聚类结构的类内紧密性与类间可分性,正确率指标反映了聚类一次后检测到的入侵总数所占百分比,误检率指标反映了聚类一次后误认为入侵的正常数据所占的百分比。
在本发明实施例中,针对入侵检测数据集,我们将Sil与正确率指标之和作为综合指标进行评测,指标数值越大,则聚类结果越优,入侵检测的正确性越高。
在半监督的过程中,在传统AP算法基础上,每次对p值的更新采取同样的下降步幅。在最新p值的基础上,利用AP算法求得聚类数目,同时计算Sil值与正确率的加和指标。然后比较p值更新前后的两个指标值大小。随着每次p值的更新,统计指标值连续下降的次数,当次数达到一定标准,便不再更新p值,取指标值最大的那次聚类结果作为最优结果输出。
在步骤S104中,在所述聚类结果中,根据所得簇中数据量的大小,确定一个正常簇和至少一个异常簇。
在本发明实施例中,针对入侵检测数据集,基于正常数据的数量远大于异常数据的数量这一条件,在聚类处理后的聚类结果中,计算所得到的每一簇张的数据的数量,将数据量最大的那一簇作为正常数据聚成的一簇,简称正常簇,其他的簇作为异常数据聚成的簇,简称异常簇。
在步骤S105中,获取所述至少一个异常簇中的数据,所述数据是入侵检测到的异常数据。
在本发明实施例中,异常簇中的数据即为监测到的异常数据。
本实施例,对入侵检测数据集KDD CUP99进行规范化处理后生成的高维向量组利用数据降维方法进行数据归约,生成低维向量组,可以将与数据挖掘任务不相关或冗余的属性删除,找出最小属性集。一方面使得数据类的概率分布尽可能地接近使用所有属性得到的原分布,另一方面使得后面的聚类算法计算速度得到较大提升。
另外,对数据集进行规范化,将属性数据按比例缩放,使之落入一个小的特定区间。这种对属性的规范化对于涉及距离度量的聚类算法,将有助于加快学习阶段的速度;对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属性相比权重过大。
另外,在对低维向量组进行处理时,采用半监督的仿射传播聚类算法,即解决了无监督聚类算法指定初始聚类中心与数目的缺点,又解决了仿射传播聚类算法在松散数据集上得不到准确聚类结果的缺陷,从而提高了入侵检测模型异常检测的准确率。
本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
实施例二
图3示出了本发明实施例二提供的入侵检测装置的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该入侵检测装置3包括:数据规范单元31、降维单元32、聚类处理单元33、簇确定单元34和异常数据确定单元35。
其中,数据规范单元31,用于对入侵检测数据集KDD CUP99进行数据规范化处理,得到一个n维的高维向量组;
降维单元32,用于对所述n维的高维向量组进行降维处理,得到一个m维的低维向量组,其中m小于n;
聚类处理单元33,用于利用半监督的仿射传播聚类算法对所述m维的低维向量组进行处理,得到聚类结果;
簇确定单元34,用于在所述聚类结果中,根据所得簇中数据量的大小,确定一个正常簇和至少一个异常簇;
异常数据确定单元35,用于获取所述至少一个异常簇中的数据,所述数据是入侵检测到的异常数据。
具体的,所述降维单元32包括:
矩阵生成模块,用于计算所述n维的高维向量组中的两两向量之间的协方差,生成相关系数矩阵;
特征计算模块,用于计算所述相关系数矩阵的特征值与特征向量;
向量确定模块,用于确定特征值最大的前m个特征值对应的m个特征向量;
低维向量组确定模块,用于由所述m个特征向量组成所述m维的低维向量组。
具体的,所述半监督的仿射传播聚类算法是引进综合指标对仿射传播聚类算法的迭代进行监督和指导,以得到聚类结果。
进一步地,所述综合指标是对Sil指标和正确率指标进行加和处理之后得到的指标。
进一步地,所述Sil指标反映了聚类结构的类内紧密性与类间可分性;
所述正确率指标反映了聚类一次后检测到的入侵总数所占百分比。
本发明实施例提供的入侵检测装置可以应用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
值得注意的是,上述装置实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。