论文部分内容阅读
入侵检测是一种用于发现计算机网络或系统中违反安全策略的行为并对其做出反应的过程。通过对网络攻击类型和入侵检测方法的研究,发现常用的入侵检测方法不能很好的检测基于数据包负载的攻击,即对于U2R和R2L这两类攻击的检测率较低,但这两类攻击对网络或系统也会造成较大威胁。因此,对于提高U2R和R2L这两类攻击的检测率的研究非常有必要。本文首先分析了对于U2R和R2L两类攻击检测率低的原因,研究发现原因有两点:第一,KDD CUP99数据集中存在的大量的冗余记录导致了数据集的严重偏斜,从而导致了学习算法从频繁记录中学到的知识多,从不频繁记录中学到的知识少;第二,不像DoS和Probe攻击,U2R和R2L攻击的数据记录中不具有频繁的序列模式,因此,如果对R2L、U2R两类攻击和DoS、Probe两类攻击不加区分的进行检测,R2L和U2R的检测率很难提高。针对以上两点原因,本文提出了一种基于支持向量机和贝叶斯分类的入侵检测模型,模型首先利用BIRCH聚类算法对训练数据集进行规约处理,从而消除训练数据集的数据偏斜现象,接着利用支持向量机检测DoS和Probe攻击,利用贝叶斯分类算法检测U2R和R2L攻击。实验结果显示,本文模型的整体检测率达到了96.68%,而对于U2R和R2L两类攻击,本文模型的检测率分别达到了68.6%和45.7%,要好于其他模型,对于R2L的检测率仍然非常低,低于50%,其原因是在测试集中有一种属于R2L类型的数据snmpgetattack,其属性特征与正常数据没有任何区别,因此无法检测。