论文部分内容阅读
入侵检测技术是继“防火墙”、“数据加密”等传统安全保护措施之后的新一代安全保障技术。它与防火墙、病毒防护、漏洞扫描、数据加密等技术一起,共同构筑了计算机网络安全的多层防护体系。近些年来,入侵检测技术已经有了飞速的发展,但是随着大量高速网络技术的出现,入侵检测系统正面临着巨大的挑战。如何保障系统及时、高效地分析,处理大量的网络数据包,减少甚至避免丢包现象的发生,是每一个网络入侵检测系统都要面临的问题。作者对以Snort为代表的开源入侵检测系统中各个主要模块进行了深入的研究,发现数据包捕获和规则匹配是影响系统性能的主要瓶颈。为了解决这些问题,论文对网络入侵检测系统的体系结构、网络数据包捕获模块以及分析检测技术等方面做了一些改进。在系统的体系结构上,采用了基于协议的分流技术。海量网络数据包按照协议类别,被分流到不同的分析处理模块。这样不仅提高了入侵检测系统的检测效率,而且也增强了系统自身的抗攻击能力,即使某一个分析处理模块无法正常工作,也不会影响到其它的分析处理模块。在网络数据包捕获模块的设计上,论文采用了零拷贝数据包捕获的设计方案(ZCPCP)。它的主要思想和最大优点就是通过用户层和网络接口的直接交互、避免数据包在内存的多次拷贝。这样使得数据包的行走路径缩短,极大地节省CPU的开销,为上层更复杂的处理赢得了宝贵的时间。在入侵检测技术上,论文采用协议分析技术与模式匹配技术相结合的检测方法,这样做的优势是:一方面,可以利用网络协议的高度规则性对数据包进行预处理,快速探测某些攻击的存在;另一方面又可以利用模式匹配算法对数据包负载中的内容进行特征匹配。在此,本论文通过详细分析BM模式匹配算法,对BM算法进行了一些改进,设计了增强型BM算法——EBM算法。同BM算法相比,EBM算法具有更大的文本指针偏移值,更少的字符匹配次数。另外,论文还对入侵检测系统规则库的组织结构进行了优化,即:进一步细化了规则的分类和在规则树中引入了动态调整机制。这样做的目的是:减少规则树的深度和使得规则树的结构能够根据网络入侵的实际情况,动态调整各个规则节点在规则树中的位置,从而减少不必要搜索路径,提高系统的检测效率。最后通过在Linux操作系统(FedoraCore.V5)上的实验证明,改进后入侵检测系统性能确实有了明显的提高。