通过并行处理提升IPS性能

如今多核处理器的迅速发展为并行处理技术提供了广阔空间,我们在多核处理器的硬件平台上,可以利用并行处理来提升IPS性能,但实际上提升IPS性能取决于不IPS并行化方法及程度,不幸的是IPS软件的并行化远比硬件增加1个或几个物理内核要复杂得多,这涉及到操作系统并发工作的模式、流量的分担与负载、IPS引擎的并行检测、配置的同步与竞争控制、事件统计以及运行态调试等等问题。以下我们将对这些IPS并行化中的问题逐一探寻。

首先需要IPS系统软件(这里假定IPS系统是一个运行于应用层的程序,如果将IPS做为内核模块嵌入到操作系统中则需要考虑的问题会更多一些)的载体-操作系统本身支持并行化,也即操作系统有稳定的SMP版本。操作系统在多核处理器硬件平台上一般有两种构架,一种是SMP方式,也称为同构方式(见图:SMP方式示意图,以4核为例),另一种为AMP方式,也称为异构方式(见图:AMP方式示意图,以4核为例)。

 

 

SMP方式示意图

 

       

AMP方式示意图

SMP方式顾名思义就是将多个内核平等看待,每个内核运行的操作系统相同,且每个内核上都运行一套IPS系统,这样从数据接收、连接建立、数据检测到数据发送都是并发执行的,相当于多个IPS系统在同时运行。这种架构比较简洁,各个处理器内核负载均衡,可以全方位地提升IPS性能,特别是在测试单一性能指标时,由于所有内核都参与处理工作,往往可以获得比较好的表现。这种架构也有其固有缺陷,因为所有内核都运行相同的软件系统(包含操作系统和IPS系统),势必产生对共享资源(内存数据、文件描述符、I/O设备等)的争用。为处理并发与同步需要使用大量的锁机制,而这些锁的操作又影响了性能发挥,更严重的是随着内核数量的增多,并发与同步的消耗达到一定的量级,这时性能就不再增长甚至下降了。

AMP方式就是将多个内核区别看待,可以运行不同的操作系统也可以在相同的操作系统上运行不同的任务,各个处理器内核按照任务划分,各负其责,规避共享资源的竞争,做到“术有专攻”,从而提升IPS性能。完整的操作系统往往比较庞大,耗费资源较多,效率也较低。拿出几个物理内核,在其上建立一种简易的系统环境(有时候直接叫做“裸核”环境),在这个“洁净的空间”内运行单一任务(比如收发数据、模式匹配等)往往可以获得极高的性能,这是AMP方式的特点,也是其优势。另外一种方式,在相同的操作系统上运行不同的任务也是同样的机理,只不过更容易实现一些,相应的性能提升的效果也逊色一些。这种架构也有其缺陷,在测试单一性能指标时,因为特定功能只有有限的内核参与处理,往往性能不够理想。架构本身也比较复杂,需要仔细权衡各个内核的任务分担,否则会造成内核负载不均衡,影响性能发挥。

选择哪一种架构需要根据处理器硬件平台与IPS系统本身的特点来抉择,通常在硬件处理器内核比较少的情况下选择SMP架构,在需要将一大堆不可能并行化的“遗产”继承到产品中时只好选择AMP架构,如果已经使用了硬件内容加速,那么可以选择SMP架构,如果是新开发IPS产品,内核分工可以动态调整的AMP架构是不错的选择,但需要保证足够的技术储备和适当的人力投入。

在确定了工作模式后,就要考虑流量的分担与负载问题了,多个内核并行处理,它们共同的输入就是来自网络的数据流,如何将这些数据流“喂”给处理器内核呢?最简单的就是轮询方法,即将到达的数据依次交给等待处理的内核,各个内核平均分配,这对早期的基于单个数据包检测的IPS系统比较适合。现代的IPS系统功能丰富,不仅可以进行TCP流重组,还可以跟踪应用层协议和控制流量。但是在多个内核上并发地跟踪TCP状态机是个棘手的问题,实现难度也较大,所以出现了另外一种按照五元组分流的方法,即将同一个数据流分配到同一个内核上,保障一个数据流始终由一个内核处理。这种方式大大降低了IPS内部实现复杂度,虽然具有流量较小时负载不均衡的副作用,但从研发成本考虑还是可以接受的。

接下来就是对提升性能至关重要的IPS引擎的并行检测,IPS检测引擎的并发是提升性能的关键。这里的引擎主要指应用协议的识别和分析、攻击特征的匹配、策略的检查以及后续的数据处理。如果运行于应用层,可以将每个IPS引擎作为一个单独的进程对待,它们共用一份公共的攻击特征库,对各自的输入的数据流进行并行检测和处理,就好像多个引擎在同时工作。但是数据流之间有时候是相关的,比如一个应用层协议可以动态协商出它的一个子连接,当这个子连接分配到另外一个IPS进程上处理时,要想控制它就需要进行进程间通讯,这样引擎的独立性就被破坏了。同样在双机热备份的状态同步、应用层协议动态识别上也会遇到同样的困难。如果IPS作为一个内核模块运行于操作系统核心层,那么需要对所有可能产生竞争的共享资源进行并发访问控制,使其彻底并行化,除此之外可能没有什么更好的办法了。

配置问题是并发系统中一个棘手的问题,用户常常在系统运行过程中进行配置变更,而且总是希望这种变更后的配置能够即时生效。

在并发IPS系统中只有一份配置,配置的变化意味着所有的并行工作都要暂停下来,需要根据新的配置调整运行参数。运行时态频繁地调整配置不可避免地影响并发IPS系统性能,如果设计不好还会产生“停顿”,导致丢包。同样的,在IPS系统中各种统计数据(流量统计、事件统计、时间统计等)都需要实时地准确地显示到用户可视层面,多个引擎需要并发地对单一数据结果操作,如果简单地用锁规避竞争也会很大程度上影响并发IPS系统性能的提升。

一个系统的成熟和完善离不开调试,与基于单内核的系统相比,并发IPS系统的调试工具极度匮乏,调试手段也很不成熟。那些传统的强大的单步跟踪工具已经没有用武之地,就连简单的打印调试信息也需要特别小心,因为你需要先知道这个信息是哪个内核打印的才好定位问题。如果系统运行时死锁,那么整个系统或者IPS进程会被挂起,但留下的供你调试的线索却非常有限。总之,有四类问题比较关键:死机、内存泄漏、内存篡改和报文调试。这些问题影响并发IPS系统的稳定,当然也影响到性能发挥。

 

 

【编辑推荐】

  1. 如何构建入门级IDS
  2. IDS漏洞分析与黑客入侵手法
  3. 测试评估IDS的性能指标
  4. 正确评估IDS性能的标准与步骤
  5. 企业测试IDS的四条重要标准

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/137240.html<

(0)
运维的头像运维
上一篇2025-03-02 11:21
下一篇 2025-03-02 11:22

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注