摘要I摘要Snort是一个开源的网络入侵防御和检测系统(NIDS),其利用模式匹配算法以及用户自定义的规则集来检测潜在的非法入侵。在近几年网络流量激增与规则集不断增大的背景下,Snort这个基于CPU的单线程程序的处理能力是不够的。本文介绍了一个优化版本的Snort的设计与实现,它利用OpenCL将Snort中的模式匹配算法改进到GPU上运行。本项目的测试部分在Freescale的iMX6Q-SabreLiteARM开发板上进行,并且由于OpenCL良好的可移植性,程序也可以在x86的平台上进行运行测试。测试结果显示,改进版的Snort相对原版的Snort,将可应对的最大网络流量提高了两倍。关键字:Snort,网络入侵检测系统,模式匹配,OpenCL,GPUAbstractIIAbstractSnortisanopensourcenetworkintrusionpreventionanddetectingsystem(NIDS)usingpattern-matchingalgorithmsanduser-definedrulesettodetectpotentialillegalbreak-ins.AsSnortisasingle-threadCPU-orientedprogram,itisnotenoughwhenthenetworkstreamthroughputincreasesrapidlyandtherulesetgetsquitelargerinrecentyears.ThispaperintroducesadesignandimplementationofanoptimizedversionofSnortbasedonGPU-orientedpattern-matchingalgorithmsusingOpenCL.TheprojectistestedonaFreescaleiMX6Q-SabreLiteARMboard,andduetotheportabilityofOpenCL,italsoworksonx86platforms.ThetestresultsshowtheperformanceoftheoptimizedSnortapproximatelyimprovesthemaximumnetworkstreamthroughputthatSnortcouldcopewithbyafactoroftwo,comparedwiththeoriginalversion.KeyWords:Snort,NIDS,patternsmatching,OpenCL,GPU目录第1章引言.................................................................................................................11.1模版使用说明....................................................................................................11.2课题背景............................................................................................................11.3课题的价值及意义............................................................................................11.4课题的国内外研究现状....................................................................................11.5课题难点、重点、核心问题及方向................................................................1第2章相关概念与技术.............................................................................................22.1概述....................................................................................................................2第3章设计与实现.....................................................................................................33.1概述....................................................................................................................3第4章测试.................................................................................................................44.1概述....................................................................................................................4第5章结束语.............................................................................................................5参考文献..........................................................................................................................6致谢..................................................................................................................................7翻译文章..........................................................................................................................8原文..............................................................................................................................8译文..............................................................................................................................9第1章引言1第1章引言1.1模版使用说明右上角的样式,有四节标题,正文,代码,图表的题目,参考文献,使用的时候都用样式里面的格式。自动生成多级列表的标题号,贴代码的时候插入1x1的表格页眉如果需要更改:同是五章主要内容,双击页眉,每章改一次就行如果需要增加章节,需要在上一章的末尾插入“下一页”分节符然后再编辑页眉,具体方式可百度论文里面的图片都用“嵌入式环绕,1倍行距,居中”图题在下,表题在上,代码表题在上可直接往模版里面复制文字,复制的时候,粘贴选项用“只保留文本”1.2课题背景1.3课题的价值及意义1.4课题的国内外研究现状1.5课题难点、重点、核心问题及方向电子科技大学学士学位论文2第2章相关概念与技术2.1概述第3章设计与实现3第3章设计与实现3.1概述电子科技大学学士学位论文4第4章测试4.1概述第5章结束语5第5章结束语电子科技大学学士学位论文6参考文献[1]R.Gaster,L.Howes,D.R.Kaeli,等.《OpenCL异构计算》[M].(张云泉等译).北京:清华大学出版社,2012致谢7致谢电子科技大学学士学位论文8翻译文章原文翻译文章9译文