基于多核处理器的并行入侵检测系统

基于多核处理器的并行入侵检测系统

ID:37594178

大小:263.11 KB

页数:11页

时间:2019-05-25

基于多核处理器的并行入侵检测系统_第1页
基于多核处理器的并行入侵检测系统_第2页
基于多核处理器的并行入侵检测系统_第3页
基于多核处理器的并行入侵检测系统_第4页
基于多核处理器的并行入侵检测系统_第5页
资源描述:

《基于多核处理器的并行入侵检测系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第8卷第6期信息技术快报Vol.8No.6InformationTechnologyLetterNov.2010pSnort:基于多核处理器的并行入侵检测系统贺鹏姜海洋谢高岗摘要:网络入侵检测与防御系统在当前的IP网络安全领域中扮演着重要的角色,互联网流量的激增和单核处理器在数据包处理上存在的瓶颈,使得传统的运行于单核上的单线程网络入侵检测与防御系统已经远远不能满足网络发展的需求。为了解决这个问题,本文以主流单线程网络入侵检测与防御系统软件Snort为基础,设计了一个基于软件流水的并行入侵检测系统pSnort,将传统的Snort划分为2个阶段,通过将其中最耗

2、时的处理阶段并行化,以达到提升性能的目的。同时,通过程序设计,pSnort避免了由于并行化而带来的严重的同步/互斥问题。经过试验,pSnort在IntelQuad-coreXeon通用平台上可以获得超过1Gbps的包处理速度。相对于传统的Snort,pSnort最高能获得147%的性能提升以及2.5倍加速比。关键词:多核Snort软流水并行架构1引言随着互联网的发展与广泛应用,缓冲区溢出攻击、拒绝服务攻击、后门漏洞攻击等各种网络攻击层出不穷。攻击者利用各种后门软件获取目标系统的管理员权限,向其他主机发动拒绝服务攻击。虽然主流的操作系统、应用软件定期发布各种安

3、全补丁来修复软件中存在的漏洞,但其更新速度远远赶不上漏洞发现的速度,这使得网络入侵检测系统(NetworkIntrusionDetectionSystem,NIDS)在网络安全领域显得越来越重要。网络入侵检测系统是运行在网络边缘用于检测异常流量的网络安全设备。开源软件[1]Snort作为主流网络入侵检测系统之一,运行于通用CPU平台上,使用特征选择的异常检测方式,通过定期更新异常特征数据库达到维护网络安全的目的。其他的网络入侵检测系统,例如Bro等基本上采用相类似的结构。当前,Snort面临以下三方面的挑战:−在Snort系统中,异常特征数据库是以规则的形式

4、存储的。这些规则刻画了异常流量的协议信息、端口信息和可疑内容等信息,数据包需要与规则集进行匹配。一般情况下,一种攻击对应着一条识别规则。随着网络中各种不同种类的攻击的增长,Snort规则库中规则的数量也在不断增加。这使得Snort的检测计算负载加重。实际的测量结果表明,在单核平台上(2.0GHzAMDOpteron处理器),Snort的吞吐量[4]最高不到500Mbps;−攻击者利用目标操作系统TCP/IP协议栈的特点,将攻击代码以分片或者重叠的方式隐藏在不同包之间,以期望绕过网络入侵检测系统的检测。因此为了找出这些潜在的网络威胁,Snort提供了IP分片重

5、组、流重组等复杂功能还原网络中的数据流。这些功能所引起的计算与存储开销也是不小的;−芯片性能提高大致遵循摩尔定律,即每18个月性能提高一倍。而吉尔德定律认为,49pSnort:基于多核处理器的并行入侵检测系统在未来25年内,主干网的带宽将每6个月增加一倍。按照吉尔德定律的描述,带宽的增长指数超过摩尔定律所预测的CPU处理速度增长指数的3倍。因此,以传统Snort为代表的单线程网络入侵检测系统正面临着严重的性能难题。多核处理器平台的出现为基于通用CPU平台实现的高速网络入侵检测系统带来了新的机遇。但传统网络入侵检测系统是针对单核平台开发的,Snort以单线程模

6、式运行,Bro的数据分析部分也是单线程模式运行,它们不能充分利用多核处理器的特性提升性能。目前,多线程网络入侵检测系统正逐渐成为研究的热点。例如Snort开发小组正在开发新一代Snort[5]sp3.0,以支持多线程数据包处理;Bro的主要开发人员也宣称多线程数据包处理将是他们[6][3]下一步工作的重点。然而网络数据包处理程序是一种有状态应用(StatefulApplications),其各模块间耦合比较紧密,数据依赖程度较高,并行化难度较大。以Snort为例,Snort数据包处理虽然是逐包检测的,但Snort内部由于采用了IP分片重组和流重组机制,会联合

7、处理属于同一个IP分片、同一个流的多个数据包,还原业务流以便进行深度数据包检测(DPI,DeepPacketInspection)。在检测数据包时,Snort必须依据业务流的上一个包所带来的状态改变,这使得基于包的并行策略非常难以应用于并行化Snort。针对这一现状,本文实验分析Snort各个检测过程的处理时间,在此基础上,提出了一种采用流并行机制与软件流水的并行入侵检测系统pSnort。pSnort着眼于并行化Snort处理流程中最耗时的部分以最大限度利用多核平台的计算资源,同时充分考虑到多线程可能带来的同步/互斥开销,从架构设计上将其予以消除。测试实验表

8、明,pSnort可以获得1Gbps的处理速度,相对于

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。