论文部分内容阅读
入侵检测技术通过收集计算机系统或者网络中若干关键点的信息,来监视计算机和网络系统的运行状态,以发现各种攻击企图、攻击行为或者攻击结果。随着网络安全问题的日益严峻,入侵检测凭借其自身特点有效地弥补了传统安全保护措施的不足,已成为计算机与网络安全的重要组成部分。目前入侵检测的方法和模型多种多样,主要是统计方法、数据挖掘和专家系统。它们各有各的优缺点,但目的都是为了对数据进行分析,从而提高入侵检测系统的运行效率和准确率。随着高速网络的快速发展,网络数据的产生速度已经远远地超过了入侵检测系统的处理能力,给网络入侵检测系统不断带来新的挑战。当运算能力不能满足时,入侵检测系统就会忽略掉一部分数据包,造成漏报。如何在高速网络环境下提高入侵检测系统的检测性能,已成为入侵检测技术研究的重要内容。由于网络数据流具有突发性的特点,即在某一时刻,网络数据流量特别大;而在另外某一时刻,网络流量可能较小。这种突发性从入侵检测系统的角度来看,就是入侵检测系统可能有时处于特别繁忙的状态,在很短的时间内要从大量的网络数据包中检测出入侵事件,并对这些入侵事件做出实时的响应;而在另外的一段时间内,入侵检测系统可能在相对较长的时间内都没有捕获到数据包,所以就比较空闲。据此,本文提出了在超负载情况下选择性地丢弃一部分对检测率影响比较小的数据包,从而减轻检测引擎的负担。Snort入侵检测系统作为一种著名的开源网络入侵检测系统,能够有效地保护信息系统安全,在业界已经得到了广泛研究和使用。Snort的结构由几大软件模块组成,这些模块使用插件模式和Snort结合,扩展起来非常方便。预处理器中,stream5和frag3(最新版本)是基本的两个预处理器插件,完成将多个包中的数据进行合并的工作。我们所要进行的讨论就是在这一层上增加选择性的丢包处理,通过选择性的丢弃一部分对检测率影响不大或者直接没有影响的数据包,以减少到达NIDS检测引擎的网络数据量,这将是一种较好的方法。