论文部分内容阅读
随着互联网的快速发展,越来越多的政府机构、企业和个人将自己的计算机连接到互联网上,电子政务,电子商务正成为一个潮流,网络安全系统成了网络体系结构中不可或缺的重要部分,网络入侵检测系统作为网络安全系统的基础设施,已经成为维护网络安全的重要工具之一。传统的网络入侵榆测系统由于性能方面的限制无法应用到高速网络中。本文的主要目的就是要利用现代计算机体系结构的一些新特征来加速网络入侵检测系统中的检测引擎,使得在高速网络中,网络入侵检测系统也能够很好地工作。
本文首先考察了网络入侵检测系统的基本结构,详细讨论了检测引擎所使用的两大类型算法的特点,然后深入研究了现代体系结构的两个重要特征:多核和单指令多数据流,结合检测引擎算法的特点,考察了利用这两个特征来加速检测引擎的可行性。接下来从下列三个方面进行展开。
第一,在多核平台上,使用规则集分解的方法,实现检测引擎多核化,提出了使得每个核上的负载均衡化的规则集分割算法,然后讨论了检测引擎算法内存访问的特点,提出了基于单指令多数据流指令集而实现的高速缓存替换算法,并且使用双缓存方法来重叠检测计算和内存访问,降低检测引擎的内存访问开销,最大化检测引擎的并行度。
第二,在算法控制流并行的基础上,使用单指令多数据流指令集对入侵检测引擎进行指令集级的并行化,针对单指令多数据流指令的向量寄存器和对齐内存访问两个特性,设计了新的模式串集合数据结构重排算法,这种重排的结构大幅度地降低了向量化的检测引擎的内存访问开销。
最后,针对网络中的一类特殊的流量:压缩流量的检测,提出了不对流量进行完全解压缩,直接在压缩流量中进行搜索匹配的新算法,新算法利用压缩过程中的已经产生的编码信息来减少检测匹配过程中的重复搜索,同时针对该算法实现中的散列数据结构访问提出了基于单指令多数据流指令集的高速散列查找算法。