论文部分内容阅读
针对日趋严重的网络安全问题,出现了越来越多的网络安全防护手段。入侵检测系统就是众多核心防护手段当中的一种。网络入侵检测系统(NIDS)是一种主动防范的安全技术,能够对网络传输进行实时监视,并能在发现可疑传输时采取相应的反应措施。随着网络环境的不断提速,网络攻击手段的不断增多,入侵检测系统需要处理的网络数据量急剧膨胀,当超过其处理能力时,入侵检测系统就会有丢包的现象出现。本文就是针对如何提高入侵检测系统的检测效率开展工作。本文以Snort入侵检测系统作为研究对象,通过对Snort系统的分析,得知模式匹配操作是影响入侵检测系统性能的关键,大约占据了Snort入侵检测系统运行时间的50%左右。可见,通过改进模式匹配操作确实能够有效地提高系统的整体性能。因此本文主要就Snort入侵检测系统中的AC多模式匹配算法进行研究,通过对算法的改进来提高算法性能,进而提高系统性能。本文先就串行AC算法改进进行研究,针对AC算法内存消耗大的缺陷,提出两种改进方案对算法进行改进。由于串行AC算法本身已较完善,串行改进虽能提高效率,但是效果并不明显。考虑到模式匹配操作非常适合于单指令多数据的并行处理形式,结合GPU体系结构及其高并行计算能力,选择将串行AC算法并行化,实现基于GPU的并行AC算法。通过利用GPU的高并行处理能力,可以实现同时对多个网络数据包的匹配操作,从而大幅度的提高检测效率。本文后续工作主要就是对Snort系统进行改进,使之能够适应并行AC算法。通过设计实验进行测试,发现并行AC算法相对于原AC算法来说,性能确实有较大提升:字符匹配能力从155MB/s提升至2.3GB/s,计算时间所占比例由60%缩小到了10%。结合Snort系统,改进后的系统较原系统对网络数据包的处理速度提升了近一倍。可见,并行化改进确实提高了系统的性能。