论文部分内容阅读
随着计算机软硬件的迅猛发展,计算机网络之上的应用日益广泛,在享受互联网带来的各种便利的同时,人们面临着更严重的网络入侵的威胁。网络上随处可见的黑客软件使得入侵行为与日俱增,统计数据表明,每年网络入侵事件的数量呈指数形式增长。与此同时,网络入侵更显示出多样性,智能性,隐蔽性等特点,这使得仅靠传统的杀毒软件、防火墙等静态防御技术无法保证网络的安全。入侵检测系统通过对网络数据流进行主动地分析,可以对网络进行更深层次的保护,因而成为网络安全的一个重要组成部分。误用入侵检测使用其系统内部的知识库对网络流量进行匹配,检测效率较快,易于投入使用,可以在检测的同时给出入侵的类型,其缺点是不能检测到系统知识库以外类型的未知攻击。异常入侵检测通过建立一个系统正常行为的轮廓,采用对待检测行为与正常行为的偏离程度判断入侵行为,可以发现新的种类的入侵。异常入侵检测实质上是分类问题,将入侵行为与正常行为分开。分类(模式识别)问题在机器学习,最优化等领域得到了深入的研究。支持向量机(SVM)通过VC维理论控制其泛化(推广)能力,使得它甚至能够在小样本数据上得到很好的学习精度。与传统的机器学习方法不同,支持向量机的求解过程受数据维度影响较小,很适合解决高维度数据集的分类问题。增量学习方法的产生是为了处理机器学习中遇到的情形:第一种情形是当数据是随着时间产生的;第二种情形是数据集太大以至于不能放入内存进行处理。这两种情形都不能用一次训练完成,增量学习就是在学习过程中有新的训练样本加入的学习方法。增量学习方法仅需保存部分历史记录,从而减少了内存的使用,同时也可以增快训练速度。支持向量机由于其控制期望风险,使得在小样本上也表现出很好的效果,其学习结果取决于样本中的一小部分支持向量,因此很适于增量学习。在支持向量机增量学习中,仅需保存一小部分历史数据,同时也可以在增量过程中对新增样本集进行约减。通过最大化间隔来得到最优分界面的支持向量机有很突出的几何特性,即决定最优分界面的支持向量最不可能出现在数据集每一类的中心附近。所以我们可以删去距离中心点较近的同类样本点,从而提高支持向量机的训练速度。同时,对数据的约减可以在新增样本上进行,最初有人使用误分点保留的办法处理新增数据,这会丢弃很多的有用信息。一种有效的方法是使用KTT条件对新增数据进行筛选,保留违背KTT条件的数据。这种方法保留了增量数据的大部分有用信息,在实际使用中有较好的效果。基于上述事实,本文提出了一种基于支持向量机增量学习的异常入侵检测算法。该算法使用超球算法对历史数据进行删减,使用广义的KTT条件对新增样本进行筛选,从而大大减少了支持向量机需要处理的数据量,在一定程度上提高了系统的效率。超球算法首先对一类样本点求中心,然后以距离中心最大的点为边界做一个超球,通过选择特定的参数删除球心周围的点。该算法基于这样一个假设:支持向量最不可能出现在类中心的附近。研究表明,违背广义KTT条件的新增样本点最有可能改变原数据集的分类决策函数。我们使用这条规则对增量数据进行删减,使得每次新加入的样本点都可以对学习过程有贡献,而删掉了大部分无用的样本点。文章的最后,我们通过实验实现了基于支持向量机增量的异常入侵检测算法,并与标准支持向量机以及KTT算法进行对比。实验结果表明,本文的算法能够得到与标准支持向量机算法接近的准确率,而训练时间和检测时间大大降低,从而证明了算法的有效性。