论文部分内容阅读
入侵检测系统(Intrusion Detection System,简称IDS)从检测技术上分为误用检测(Misuse Detection)和异常检测(Anomaly Detection)两种。误用检测技术是基于匹配入侵特征库的原理,其特点是误报率低、漏报率高;异常检测技术是基于分析行为模式的原理,其特点是漏报率低,误报率高。这两种技术各有优劣,如何将这两种技术有效的结合起来以提高入侵检测系统的性能是当前信息安全领域研究的重要问题之一。误用检测技术的典型应用代表有Snort系统。Snort是一个开源的网络入侵检测软件,它采用规则驱动的语言和插件扩充的形式,能够实时对数据流量进行分析、对网络数据包和系统日志进行检测。Snort系统的功能非常强大,其代码的简洁性、免费性和可移植性使得Snort成为入侵检测系统的原型系统。而异常检测技术一直处于理论研究之中,并且多数是基于数据挖掘的方法进行研究的,目前缺乏成熟和完美的系统。数据挖掘(Data Mining)综合了人工智能技术、机器学习技术和数据库理论,它是知识发现(Knowledge Discovery in Database,简称KDD)理论的扩展。本文立足于对网络入侵检测技术的分析,着重研究网络数据流的异常检测算法。网络数据流属于典型的数据流类型的数据,从数据流分析的角度看,异常检测可以看作是如何发现异常数据流的问题,该问题可以看作是数据挖掘领域的离群点分析问题。而对于数据流的挖掘分析问题又是在数据挖掘领域里极具挑战性的新课题。因为数据流具有海量、动态变化的特点,使得传统的数据挖掘算法对数据流的分析效果不是很好,如何改进现有数据挖掘算法使其能有效的检测出数据流中的异常行为,是当前数据挖掘领域的一个难点和热点问题。其难点之一就是要求算法只能一次或有限次数的扫描数据集,并且要求算法的处理速度相当快。在对数据流处理的方法中,具有代表性的算法有数据流聚类算法CluStream。本文将CluStream算法应用于网络数据流的研究,提出了一种改进的双层框架结构的数据流异常检测算法ADStream (Anomaly Detection of Data Stream,简称ADStream),该方法能在线对数据流进行聚类处理,保存聚类的数据特征信息,并在倾斜时间框架下对聚类的特征信息进行保存,系统再对保存的数据进行离线分析处理,得到数据流的正常和异常行为模式。本文作者将ADStream算法应用到Snort系统中,构造了一个新的既具有误用检测能力,又具有异常检测能力的网络入侵检测模型系统,并用标准的KDD99数据集对它进行了测试。