Linux和Windows Server下Snort NIDS的性能评估比较

https://doi.org/10.1016/j.jnca.2009.07.005获取权限和内容

摘要

本文对Snort的性能进行了实验评估和比较国家数据系统在Linux和Windows 2003 Server这两种流行平台下运行时。当运行Snort的PC主机受到正常和恶意流量以及不同流量负载条件的影响时,会测量Snort性能。从吞吐量和数据包丢失。为了提供合理的解释并更好地了解Snort的行为,我们还测量了在内核级别遇到的数据包丢失。此外,我们还确定了关键的系统参数(对于Linux和Windows),这些参数对分配给Snort应用程序的CPU带宽百分比提供了细粒度控制,并因此影响其性能。我们调查这种影响,并确定最合适的值来改进和优化Snort的性能。具体来说,对于Windows,我们调查定制Processor Scheduling配置选项的影响;对于Linux,我们研究了调整Linux内核中使用的Budget可配置参数的影响数据包接收机制。

介绍

网络入侵检测系统(NIDS)是当今网络安全基础设施的重要组成部分。它们提供了一个防御层,用于监控网络流量是否存在可疑活动或模式,并在检测到潜在的恶意流量时向系统管理员发出警报。商业NIDS通常有很高的货币成本(最低数千美元,极端情况下甚至数十万美元)。Snort是一个公开可用的开源NIDS。事实上,Snort是世界上部署最广泛的入侵检测技术,迄今为止有数百万次下载,它已成为业界事实上的标准(Snort)。Snort通常是基于PC的NIDS,但也集成在第三方解决方案中。

Snort目前是作为单线程用户级应用程序编写的。它利用TCP/IP堆栈捕获和检查数据包有效负载,以识别恶意活动的签名。通常,NIDS驻留在网络边缘,对进入受保护网络的每个数据包执行深度数据包检查(Alder等人,2004),以对抗数千个攻击特征。签名表示为安全团体经常更新的一组规则。当数据包与签名匹配时,会发出警报,指示试图入侵或滥用。对于基于PC的解决方案,Snort可以在许多平台(如Linux、FreeBSD和Windows)上运行。在当今私人家庭和中小型企业的局域网中,运行Snort NIDS的首选操作系统是Linux或Windows Server 2003。这两个操作系统是最广泛用于运行基于PC的高端服务器的操作系统。Microsoft操作系统Windows Vista相对较新,很难被绝大多数用户采用,因为它需要更多的CPU能力和硬件资源。相反,WindowsServer2003已经过了它的生命周期,并且已经完全成熟,所需的CPU和内存资源要少得多。

为了使Snort高效,它必须跟上当今不断增长的流量,链路速度高达数十Gbps(每秒千兆比特)。不这样做的后果可能会危及内部网络的安全。如果入侵检测系统无法以要求的速率执行数据包检查,则会允许数据包在未被检测到的情况下进入网络。文献中有大量研究讨论了Snort的性能限制,并提出了提高其整体性能的技术。在Abbas(2002)和Vermeiren等人(2004)中,进行了一项初步研究,将Snort设计为一个多线程应用程序,利用当今的多核架构。在Turnbull(2007)和Geschke(2006)中,通过卸载Snort的一些基本功能(包括警报和日志记录),Snort的性能有所提高,从而使Snort能够专注于数据包检查的主要功能。Aldwairi等人(2005)、Weinsberg等人(2007)、Yu等人(2007年)、Coppens等人(2004年)、Sourdis等人(2006年)、Cho和Mangione-Smith(2008年)、Baker和Prasanna(2005年)、Lin等人(2007日)、,Mitra等人(2007年)使用新的优化技术,结合定制FPGA(现场可编程门阵列)和硬件,大大改进了规则和字符串匹配。通过使用不同的数据包捕获库,并允许Snort直接访问分配给NIC(网络接口卡)的内核接收环形缓冲区,可以提高性能(Deri,2005;the Snort Project,2008)。在Biswas和Sinha(2006)中,当完全消除传统网络TCP/IP堆栈和套接字接口机制时,表现出了显著的改进。到目前为止,所有这些提议的技术还没有被Snort开发人员采用。Snort的软件体系结构和运行环境保持不变。因此,定制和集成这些解决方案时存在困难和不兼容性,特别是对于典型的最终用户。

之前在Salah和Kahtani(新闻稿)中介绍了在Linux下提高Snort性能的工作。与之形成鲜明对比的是,本文对Snort在两种首选操作系统(Linux和Windows)下的性能进行了评估和比较研究。我们考虑Linux和Windows的默认系统配置。我们还考虑并研究调整Linux和Windows操作系统的关键性能优化和配置参数对Snort性能的影响。这将有助于选择最佳配置参数来提高和改进Snort的性能。我们通过识别和调整关键系统参数来提高Snort性能的技术可以与Abbas(2002)、Vermeiren等人(2004)、Turnbull(2007)、Geschke(2006)、Aldwairi等人(2005)、Weinsberg等人(2007),Yu等人(2007年)、Coppens等人(2004年)、Sourdis等人(2006年)提出的技术正交,Cho和Mangione Smith(2008)、Baker和Prasanna(2005)、Lin等人(2007)、Mitra等人(2007)、Deri(2005)、Snort项目(2008)、Biswas和Sinha(2006)。我们的改进包括描述Snort应用程序的典型执行行为和CPU处理需求,并相应地选择这些关键系统参数的最佳配置。

论文的其余部分组织如下。第2节简要介绍了Snort的软件体系结构和运行环境。本节还详细介绍了Linux网络子系统的内部工作,并讨论了提高Snort性能的关键调优系统参数。第3节描述了带有Windows和Linux配置详细信息的实验设置。本节还介绍了Snort的安装配置和设置。第4节介绍了Linux和Windows的性能度量和比较,并进行了详细的解释和分析。最后,第5节总结了研究并确定了未来的工作。

节代码段

背景

为了分析Snort的性能和行为,识别关键的系统配置参数,我们提供了关于Snort软件组件及其运行环境的足够背景。我们还回顾并讨论了Snort NIDS的性能限制。由于Windows Server 2003内核是一个封闭的专有操作系统,我们无法正确描述影响Snort行为和性能的Windows底层网络子系统。

实验装置

为了测量Snort的性能,我们建立了一个简单的测试台(如图4所示),该测试台由两台Linux机器组成,其中一台是发送机,另一台是与1相连的接收器 Gbps以太网交叉电缆。其基本思想是通过让发送方生成高流量率来让Snort屈服,然后测量Snort在接收方的表现。发送器是配备两个Intel Xeon处理器的DELL PowerEdge 1800,运行速度为3.6 GHz,带4个 GB内存。它有一个嵌入式

性能测量

为了比较和评估Snort的性能,针对正常和恶意数据包生成的流量负载,对两个关键性能指标进行了一些测量。这两个关键指标是Snort的平均吞吐量和数据包丢失。为了解释结果并分析Snort的行为,我们还测量了Linux内核网络子系统看到的数据包丢失。需要注意的是,Snort丢弃数据包发生在数据包捕获函数库缓冲区,而丢弃

结论

本文评估并比较了Snort NIDS在Linux和Windows 2003 Server这两种流行平台下运行时的性能。当运行Snort的主机同时受到正常和恶意流量的影响时,主要根据Snort吞吐量和数据包丢失来测量和比较性能。为了提供合理的解释并更好地了解Snort的行为,我们还测量了在内核级别遇到的数据包丢失。我们还学习了

致谢

我们感谢法赫德国王石油和矿产大学对完成这项工作的支持。这项工作由项目资助INT-383。我们也非常感谢KUTE和pktgen流量生成器的作者,塞巴斯蒂安·赞德和罗伯特·奥尔森,他们帮助我们安装并运行了他们的工具。我们也非常感谢Linux NAPI的设计者和开发人员Jamal Salim Hadi对NAPI内部工作的宝贵电子邮件回复。最后,我们

工具书类(30)

  • 西。等。

    Linux网络数据包接收的性能分析

    国际计算机通信杂志,爱思唯尔科学

    (2007)
  • J。等。

    用于网络入侵管理系统的高效内存字符串匹配算法

    清华科技学报

    (2007)
  • Abbas S.引入多线程解决方案以提高snort的效率。计算机系硕士论文。。。
  • R。阿尔德等。

    Snort 2.1入侵检测

    (2004年)
  • M。阿尔德瓦里等。

    用于加速入侵检测的可配置字符串匹配硬件

    ACM SIGARCH计算机架构新闻

    (2005)
  • Baker Z,Prasanna K。入侵检测系统的高通量链接匹配。收录:……会议记录。。。
  • C、。本韦努蒂

    理解Linux网络内幕

    (2005)
  • Biswas A,Sinha P.PCI设备的高效实时Linux接口:加强网络入侵的研究。。。
  • D。女贞等。

    了解Linux内核

    (2005)
  • Carr J.Snort:开源网络入侵预防。电子安全星球,2007年6月5日。可用时间:。。。
  • 年。等。

    可重构设备的深层网络包过滤器设计

    嵌入式计算系统ACM事务

    (2008)
  • Coppens J,De Smet S,den Berghe S,De Turck F,Demeester P.概率包过滤器的性能评估。。。
  • Deri L.nCap:线速数据包捕获和传输。收录:第三届IEEE/IFIP端到端研讨会论文集。。。
  • Emma D、Pescape A、Ventre G.D-ITG,分布式互联网流量生成器。可在。。。
  • Geschke D.Snort的快速日志项目,2006年。可用时间:。。。
  • 引用人(39)

    • 高速网络中开源入侵检测系统的性能问题分析

      2020年,《信息安全与应用杂志》
      引文摘录:

      一些研究[1–3]发现,IDS性能会受到各种因素的影响,例如IDS配置、网络流数量、1和流持续时间。例如,Salah等人[1]和Alhomuda等人[2]发现不同的操作系统(OS)和平台可能会影响IDS性能。Salah等人[1]发现Snort在Linux环境中处理1 Gb/s流量时表现更好。

    • 入侵检测系统基础

      2022年,计算智能研究
    • 偏远地区电信网络的光伏发电和物联网能耗

      2021年,智能电网和可持续能源的技术和经济
    查看Scopus上的所有引用文章
    查看全文