1.一种基于关联规则分类的网络入侵检测方法包括以下步骤:
第1步、对国际标准数据集10%KDDCup99预处理,并将预处理后的数据集分成训练集和测试集两部分数据;
第2步、采用改进的Apriori算法(Apriori-index)对选取的训练集中的网络连接数据进行训练,提取到关联规则,将关联规则存放到关联规则库中,同时将关联规则库中的关联规则展示出来;
第3步、测试集中的每条网络连接数据逐条匹配关联规则库中关联规则,根据不同关联规则的条件长度和网络连接类型分别计算权值,找出最大权值所对应的网络连接类型即为最终分类得到的结果;
第4步、保存第3步中分类结果,将上述分类过程和分类得到的结果展示出来;同时为保证该方法良好的自学习特性,测试集的数据在根据关联规则分类得到具体的网络连接类型后,训练集数据连同对应的网络连接类型重新加入到训练集数据中,为后续关联规则提取提供新的训练集数据源,保证关联规则的动态更新。
2.根据权利要求1所述的基于关联规则分类的网络入侵检测方法,其特征在于:第1步中数据集预处理的方法是:
第1.1步、为每列数据添加位置参数;因为10%KDDCup99数据集中有大量相同的数据,数据集中处于不同列的数据有不同的含义,而原始的Apriori算法在处理数据集中不同列的相同数据项时将他们视为同样的数据,因此直接使用原始的Apriori算法处理数据集会影响提取规则速度和分类结果的准确度;为避免出现以上问题,需要在数据预处理阶段为每条网络连接数据的每个数据项添加位置参数;
第1.2步、采用交叉验证的方法选取经过第1.1步预处理后的10%KDDCup99数据集中
60%的连接数据作为训练集,剩余的40%的连接数据作为测试集;由于改进的Apriori算法能够处理字符类型数据,同时数值类型的数据也能够视为字符类型数据,所以无需对网络连接数据中的字符类型数据进行数值化和归一化处理。
3.根据权利要求1所述的基于关联规则分类的网络入侵检测方法,其特征在于:第2步所述采用Apriori-index算法提取关联规则的方法是:第2.1步、初始化最小支持度阈值Min_Support,最小置信度阈值Min_Confidence;
通过查阅文献资料和实验验证,最小支持度阈值和最小置信度阈值分别设定为25%和
78.5%能够获得较高的分类准确度;初始化最小支持度阈值Min_Support=25%,最小置信度阈值Min_Confidence=78.5%;
第2.2步、找出所有的频繁项集;遍历训练集中的所有的网络连接数据,统计每个属性值对应的连接类型及其出现的频度,形成候选项集合C1;在此基础上,根据支持度公式计算支持度;其中Occur(X)表示训练集中所有网络连接数据中包含频繁项{X}的数量,Count(D)表示训练集{D}中所有网络连接的数量;在候选项集合C1中删除支持度低于最小支持度阈值Min_Support的候选项,剩余的候选项形成频繁1-项集L1;然后对于每种网络连接类型,连接L1中的不同元素构成候选项集合C2,再次遍历训练集数据,根据支持度公式计算C2中的每个候选项的支持度,删除候选项集合C2中支持度低于最小支持度阈值Min_Support的候选项,剩余候选项形成频繁2-项集L2;按照网络连接类型,再连接L2中的不同元素构成候选项集合C3,再次遍历训练集数据,计算C3中的每个候选项的支持度,删除支持度低于最小支持度阈值Min_Support的候选项,剩余的候选项形成频繁3-项集L3;重复进行以上的遍历、删除和连接的步骤,直到没有新的候选项产生,所有的频繁项集(L1,L2,...,Ln)都已搜寻得到;其中,连接步骤和删除步骤分别严格满足连接定理和频繁子集定理,即:若两个(k-1)-项集的前(k-2)个项相同,而最后一个项不同,则证明它们可连接得到k-项集;若k-项集任意一个子集不是频繁项集,则该k-项集也不是频繁项集;
第2.3步、由频繁项集产生关联规则;对于第2.2步中得到的频繁项集(L1,L2,...,Ln),假设频繁项集Li中每个频繁项li的网络连接类型用tj表示;如果(li-tj)→tj的置信度大于最小置信度阈值Min_Confidence,则输出(li-tj)→tj;置信度的计算根据置信度计算公式:其中Support(A∪B)和Support(A)分别表示频繁项{A∪B}和{A}的支持度;即置信度公式可化为:找到的所有满足要求的(li-tj)→tj,即为关联规则;
第2.4步、将第2.3步中得到的关联规则添加到关联规则库中,作为对测试集中未知类型的网络连接数据测试分类的判断依据;
第2.5步、将关联规则库中的关联规则展示出来;10%KDDCup99数据集的数据量较大,经过Apriori-index算法训练得到的关联规则非常多,关联规则在页面内显示会比较混乱,所以关联规则展示页面进行适当的缩放,使关联规则清晰展示。
4.根据权利要求1所述的基于关联规则分类的网络入侵检测方法,其特征在于:第3步所述的确定最终网络连接类型的方法是:第3.1步、读取测试集数据,对测试集中的每条网络连接数据按照关联规则分类,统计分类结果;10%KDDCup99数据集中每条网络连接数据有41个属性数据项和1个连接类型数据项,第2步中提取到的关联规则的条件部分包含有多个属性数据项,测试集中的每条未知类型的网络连接数据按照提取的关联规则分类时,会有多条关联规则与之对应,所以按关联规则分类需经过以下过程:第3.1.1步、对读取到的测试集中的一条连接数据,遍历整个关联规则库,统计并记录匹配的关联规则Ri(例如:(li-tj)→tj)中条件部分(li-tj)的长度,即统计关联规则Ri条件部分(li-tj)包含的属性数据项的数量Lengthi;
第3.1.2步、分别计算匹配的n条规则中对应的网络连接类型部分tj的权值;按照Apriori-index算法权值计算公式:计算该条未知网络连接类型的测试数据在经过关联规则库中所有关联规则比对后匹配的第j种网络连接类型tj的权值;这主要是由于关联规则条件部分(li-tj)的长度Lengthi越大,分类准确度越高,这样做能够同其他关联规则加以区分,提高分类结果的准确度;
第3.2步、输出分类结果:网络连接类型t;比较所有的权值,从中找出权值最高的Weight(t),将分类结果即网络连接类型t输出。
5.根据权利要求1所述的基于关联规则分类的网络入侵检测方法,其特征在于:第4步所述的展示分类过程和分类后的网络连接类型以及向训练集中添加分类后的测试数据方法是:第4.1步、测试数据展示;为将每条测试数据从读取直至分类完成过程展示出来,将每条测试数据用运动的图形代表,图形的运动轨迹和颜色变化代表测试数据的分类过程和分类得到的连接类型;
第4.2步、将测试过的网络连接数据与对应的网络连接类型添加到训练集中,保证该方法能够自学习;考虑到实际网络状况的动态特性,一次训练所得的关联规则不能始终代 表网络的当前状况,在本方法中将每条分类后的测试数据连同其网络连接类型加入到训练集中并再次训练,实时训练产生新规则并更新到关联规则库中。