论文部分内容阅读
随着高速网络环境的日益普及,传统网络入侵检测系统(Network Intrusion DetectionSystem,NIDS)检测海量网络数据报文时普遍存在检测效率不高、处理能力不足及丢包率较高等瓶颈问题。如何提高NIDS在高速网络环境中的执行效率,已成为目前网络安全领域的研究热点问题之一。虽然如今已有针对高速网络环境的较为优秀的网络入侵检测系统,但大多都是通过使用专门设计的加速硬件来提高检测速度,不但成本昂贵且灵活性不足,只适用于特殊机构而无法大规模普及和推广。由于近年来,计算机图形处理器(Graphic Processing Unit,GPU)在自身硬件性能上取得了高速发展同时价格相对较低,其非图形领域的GPU通用计算(General-Purpose computing on Graphics ProcessingUnits,GPGPU)伴随着其日益成熟的可编程工具,使发掘使用GPU极其可观的并行处理资源,早已成为国内外学者的研究重点。该文就是在上述研究背景下,为利用GPU强大的高性能并行处理能力,结合GPU自身特殊的体系结构特点,将传统实现于CPU的WM(Wu-Manber)多模式匹配算法做了相应的并行化改造,进而提出了一种基于GPU的多模式匹配算法,即GPU_WM算法。经实验验证,本文GPU_WM算法较原算法能够取得较好的加速比。在研究分析了目前较流行的开源Snort入侵检测系统后,本文的后续工作主要是使用GPU_WM算法作为Snort检测引擎算法,利用GPU的高并行处理能力来提高Snort的整体检测速度。本文先是设计了基于GPU检测引擎的Snort系统架构,之后为降低Snort所捕获报文从主机内存到GPU显存的传输时间消耗对整个系统执行效率的影响,采用了分块分批传入GPU的解决方案。因Snort规则库三维链表组织结构较为复杂,目前采用的临时处理办法是对Snort规则库中的待匹配模式串进行了提取以适用于GPU_WM算法。经模拟实验测试数据表明,文本的基于GPU检测引擎Snort系统在处理性能上较原Snort有一定的提高,同时丢包率取得一定程度上的改善。