一种入侵检测方法及装置制造方法
【专利摘要】本发明适用于信息安全【技术领域】,提供了一种入侵检测方法及装置,所述方法包括:对原始数据集进行预处理;对预处理后的数据点进行距离度量;基于预定算法以及距离度量,获得簇的个数;基于距离度量,计算预处理后的数据点的密度指标;基于距离度量和密度指标,计算数据点的距离指标;计算数据点的密度指标与距离指标的乘积r并排序;选择前k个数据点作为各个簇的中心点;将剩余的数据点分配到离其距离最近且密度指标比其高的中心点所属的簇中;将分配后的簇按照其包含的数据点的个数进行排序,将簇中数据点的个数最多的簇判定为正常簇,其余的簇判定为异常簇。通过本发明,可有效解决现有技术存在的运算开销大,初始值的设定影响聚类结果的问题。
【专利说明】一种入侵检测方法及装置
【技术领域】
[0001] 本发明属于信息安全【技术领域】,尤其涉及一种入侵检测方法及装置。
【背景技术】
[0002] 现有应用到入侵检测中的聚类算法大致分为两种:一种是基于划分的的聚类算 法,一种是基于密度的的聚类算法。
[0003] 基于划分的聚类算法,如κ-means,由于簇的个数K与初始聚类中心点是事先人为 选定的,一旦选择不好,可能无法获得有效的聚类结果;其次,基于划分的聚类算法不能处 理非球形簇、不同尺寸和不同密度的簇。
[0004] 基于密度的聚类算法,如经典的 DBSCAN(Density-Based Spatial Clustering of Applications with Noise),对于高维度且数据量较大的入侵数据,运算开销会比较大,而 且预先定义的密度阈值会对后面的聚类结果有明显的影响。
【发明内容】
[0005] 鉴于此,本发明实施例提供一种入侵检测方法及装置,以解决现有技术存在的运 算开销大,初始值的设定影响聚类结果的问题。
[0006] 一方面,本发明实施例提供一种入侵检测方法,所述方法包括:
[0007] 对原始数据集进行预处理,所述原始数据集包含多个数据记录,每个数据记录包 含连续型数据点和/或非数值型数据点;
[0008] 对预处理后的数据集中每一个数据点进行距离度量;
[0009] 基于预定算法以及所述距离度量,获得簇的个数;
[0010] 基于所述距离度量,计算预处理后的数据集中每一个数据点的密度指标;
[0011] 基于所述距离度量和数据点的密度指标,计算数据点的距离指标;
[0012] 计算每一个数据点的密度指标与距离指标的乘积r,并按r的大小进行排序;
[0013] 基于所述排序,选择前k个数据点作为各个簇的中心点,所述k为所述簇的个数, k为大于零的整数;
[0014] 将剩余的数据点分配到离其距离最近且密度指标比其高的中心点所属的簇中;
[0015] 将分配后的簇按照其包含的数据点的个数进行排序,将簇中数据点的个数最多的 簇判定为正常簇,其余的簇判定为异常簇。
[0016] 另一方面,本发明实施例提供一种入侵检测装置,所述装置包括:
[0017] 预处理单元,用于对原始数据集进行预处理,所述原始数据集包含多个数据记录, 每个数据记录包含连续型数据点和/或非数值型数据点;
[0018] 距离度量单元,用于对预处理后的数据集中每一个数据点进行距离度量;
[0019] 簇个数获取单元,用于基于预定算法以及所述距离度量,获得簇的个数;
[0020] 密度指标计算单元,用于基于所述距离度量,计算预处理后的数据集中每一个数 据点的密度指标;
[0021] 距离指标计算单元,用于基于所述距离度量和数据点的密度指标,计算数据点的 距离指标;
[0022] 排序单元,用于计算每一个数据点的密度指标与距离指标的乘积r,并按r的大小 进行排序;
[0023] 中心点确定单元,用于基于所述排序,选择前k个数据点作为各个簇的中心点,所 述k为所述簇的个数,k为大于零的整数;
[0024] 分配单元,用于将剩余的数据点分配到离其距离最近且密度指标比其高的中心点 所属的簇中;
[0025] 判定单元,用于将分配后的簇按照其包含的数据点的个数进行排序,将簇中数据 点的个数最多的簇判定为正常簇,其余的簇判定为异常簇。
[0026] 本发明实施例与现有技术相比存在的有益效果是:本发明实施例基于预定算法 (例如Canopy算法)以及距离度量(例如加权的欧几里德距离度量),获得簇的个数,并通 过计算获得预处理后的数据集中每一个数据点的密度指标和距离指标,将所述密度指标和 距离指标的乘积作为综合指标,根据所述综合指标获得簇的中心点,解决了现有技术人为 设定初始值(如簇的中心点、簇的个数等)影响聚类结果的问题。而且,对于高维度且数 据量较大的入侵数据,相比于现有的聚类方法,无需迭代最优目标函数,明显减少了计算开 销。另外,由于是基于密度的聚类算法,对于非球形簇,也有很好的聚类效果,并能自动检测 出异常簇,具有较强的易用性和实用性。
【专利附图】
【附图说明】
[0027] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。
[0028] 图1是本发明实施例一提供的入侵检测方法的实现流程图;
[0029] 图2是本发明实施例二提供的入侵检测装置的组成结构图。
【具体实施方式】
[0030] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0031] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0032] 实施例一:
[0033] 图1示出了本发明实施例一提供的入侵检测方法的实现流程,该方法过程详述如 下:
[0034] 在步骤SlOl中,对原始数据集进行预处理,所述原始数据集包含多个数据点。
[0035] 在本发明实施例中,所述原始数据集包含多个数据记录(例如异构型数据记录), 每个数据记录可能包含连续型数据点和/或非数值型数据点,需要对二者分别进行数据规 范化处理,具体可以是:
[0036] 对原始数据集中的连续型数据点,将其数据取值从[min,max]映射到范围小于预 设值的区间(例如[0,1]区间);
[0037] 对原始数据集中的非数值型数据,将其离散化后,通过编码映射成数值,或者直接 在所述距离度量中进行比较,根据特定公式计算其距离。
[0038] 所述原始数据集经过上述数据规范化预处理后变成高维向量组。其中,所述原始 数据集可以为KDD CUP99数据集,该数据集分为训练数据集与检测数据集,其中包含了大量 的数据记录,每个数据记录含有41维特征,共有39种类型的攻击记录,训练数据集中每个 数据记录都被标记为正常或某种攻击,其中有22种攻击类型的记录。另有17种未知攻击 类型出现在测试数据集中。
[0039] 需要说明的是,本发明实施例对数据集进行规范化处理,将属性数据按比例缩放, 使之落入一个小的特定区间,对于涉及距离度量的聚类算法,将有助于加快学习阶段的速 度,并且可以帮助防止具有较大初始值域的属性与具有较小初始值域的属性相比权重过 大,进而影响距离度量的准确性。
[0040] 在步骤S102中,对预处理后的数据集中每一个数据点进行距离度量。
[0041]由于在密度聚类算法中,数据量较大、特征维数较多的数据在运算方面一般开销 较大。因此,本发明实施例基于欧几里德公式对预处理后的数据进行距离度量,采用欧几里 德公式的突出优点是计算简单,运行速度快,且可以支持多维空间索引,欧几里德公式具体 如下:
[0042]
【权利要求】
1. 一种入侵检测方法,其特征在于,所述方法包括: 对原始数据集进行预处理,所述原始数据集包含多个数据记录,每个数据记录包含连 续型数据点和/或非数值型数据点; 对预处理后的数据集中每一个数据点进行距离度量; 基于预定算法以及所述距离度量,获得簇的个数; 基于所述距离度量,计算预处理后的数据集中每一个数据点的密度指标; 基于所述距离度量和数据点的密度指标,计算数据点的距离指标; 计算每一个数据点的密度指标与距离指标的乘积r,并按r的大小进行排序; 基于所述排序,选择前k个数据点作为各个簇的中心点,所述k为所述簇的个数,k为 大于零的整数; 将剩余的数据点分配到离其距离最近且密度指标比其高的中心点所属的簇中; 将分配后的簇按照其包含的数据点的个数进行排序,将簇中数据点的个数最多的簇判 定为正常簇,其余的簇判定为异常簇。
2. 如权利要求1所述的方法,其特征在于,所述对原始数据集进行预处理包括: 对原始数据集中的连续型数据点,将其数据取值从[min,max]映射到范围小于预设值 的区间; 对原始数据集中的非数值型数据点,将其离散化后,通过编码映射成数值,或者直接在 所述距离度量中进行比较。
3. 如权利要求1或2所述的方法,其特征在于,所述对预处理后的数据集中每一个数据 点进行距离度量包括: 基于加权的欧几里德公式对预处理后的数据集中每一个数据点进行距离度量。
4. 如权利要求1所述的方法,其特征在于,所述基于所述距离度量,计算预处理后的数 据集中每一个数据点的密度指标包括: 针对某个数据点i,计算i与其周围数据点的距离,将距离小于或等于预定距离的周围 数据点的个数作为所述i的密度指标。
5. 如权利要求1或4所述的方法,其特征在于,所述基于所述距离度量和数据点的密度 指标,计算数据点的距离指标包括: 针对某个数据点i,获取密度指标比i密度指标大的数据点%,并计算i与%的距离, 将计算得到的最小距离作为所述i的距离指标,其中j大于或等于1。
6. -种入侵检测装置,其特征在于,所述装置包括: 预处理单元,用于对原始数据集进行预处理,所述原始数据集包含多个数据记录,每个 数据记录包含连续型数据点和/或非数值型数据点; 距离度量单元,用于对预处理后的数据集中每一个数据点进行距离度量; 簇个数获取单元,用于基于预定算法以及所述距离度量,获得簇的个数; 密度指标计算单元,用于基于所述距离度量,计算预处理后的数据集中每一个数据点 的密度指标; 距离指标计算单元,用于基于所述距离度量和数据点的密度指标,计算数据点的距离 指标; 排序单元,用于计算每一个数据点的密度指标与距离指标的乘积r,并按r的大小进行 排序; 中心点确定单元,用于基于所述排序,选择前k个数据点作为各个簇的中心点,所述k 为所述簇的个数,k为大于零的整数; 分配单元,用于将剩余的数据点分配到离其距离最近且密度指标比其高的中心点所属 的簇中; 判定单元,用于将分配后的簇按照其包含的数据点的个数进行排序,将簇中数据点的 个数最多的簇判定为正常簇,其余的簇判定为异常簇。
7. 如权利要求6所述的装置,其特征在于,所述预处理单元具体用于: 对原始数据集中的连续型数据点,将其数据取值从[min,max]映射到范围小于预设值 的区间; 对原始数据集中的非数值型数据点,将其离散化后,通过编码映射成数值,或者直接在 所述距离度量中进行比较。
8. 如权利要求6或7所述的装置,其特征在于,所述距离度量单元具体用于: 基于加权的欧几里德公式对预处理后的数据集中每一个数据点进行距离度量。
9. 如权利要求6所述的装置,其特征在于,所述密度指标计算单元具体用于: 针对某个数据点i,计算i与其周围数据点的距离,将距离小于或等于预定距离的周围 数据点的个数作为所述i的密度指标。
10. 如权利要求6或9所述的装置,其特征在于,所述距离指标计算单元具体用于: 针对某个数据点i,获取密度指标比i密度指标大的数据点%,并计算i与%的距离, 将计算得到的最小距离作为所述i的距离指标,其中j大于或等于1。
【文档编号】G06F17/30GK104517052SQ201410747764
【公开日】2015年4月15日 申请日期:2014年12月9日 优先权日:2014年12月9日
【发明者】张爽, 张涌, 宁立 申请人:中国科学院深圳先进技术研究院