• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2025全景工博会
传感器

添加入侵防护系统(IPS)功能亟需下一代网络处理器

  2005年03月06日  

诸如防火墙和网络入侵检测系统(NIDS)这样的传统安全方法已不足以防范现在的病毒和黑客的攻击,IPS已经成为下一级基本的安全防护措施。本文讨论了设计有效的IPS系统时的挑战和需要解决的关键问题,并分析了下一代网络处理器方案实现IPS的优势。

最近几年,越来越多的复杂病毒、蠕虫、拒绝服务攻击以及黑客的恶意入侵已经给商业单位数造成十亿美元的损失。鉴于应用程序的攻击行为、传统方法的反应特性和对不断演变攻击的无能为力,诸如防火墙和网络入侵检测系统这样的传统安全方法已经不足以防范这些行为。如今的需求是实时阻截攻击和入侵以保护价值重大的公司资产。

人们创建了IPS来实现这个目的,IPS已经成为下一级基本的安全防护措施。安全和企业网络市场的设备制造商正在考虑将IPS作为他们产品属性的一部分。然而,IPS系统在提供网络保护和对用户的操作透明度上具有独特的要求。IPS设备的存在不应该影响日常的网络功能或用户体验。

NIDS和IPS系统的比较

传统的网络IDS(NIDS)系统被设计用于被动地监测网络,根据规则集和策略来寻找异常行为(例如攻击、入侵、漏洞利用和滥用)。它们在不影响网络性能的情况下观察网络数据包流。如果NIDS突然出现故障,业务并不受影响,数据包像以前一样继续流动,故障对用户是透明的。

图1:NIDS和IPS系统的比较。

然而,与NIDS系统只监测流量、产生日志和报告以供日后分析不同的是,IPS系统是主动的在线设备,能丢弃攻击数据包,或者在数据包到达主机前断开连接(图1)。高级的IPS系统通常采用的入侵检测方法包括基于签名的检测、协议异常检测、流量异常和搜索检测。

IPS系统基于流经它们的流量的状态分析来检测入侵。它们执行片段重组、TCP字段重组、流量分析、应用协议确认和签名匹配来识别攻击。图1显示了网络入侵检测系统与入侵防护系统的不同之处。

为向用户提供不中断的服务,IPS系统必须实现很高的准确率,几乎没有什么错误的确认,这使得其成为一种计算密集的应用。因此,IPS的性能直接影响到网络的性能,从而产生延时、吞吐量、应用程序性能和可用性等问题。在将每个数据包继续传递之前,需要花一些额外时间来对包进行检查,这就引入了延时。如果数据包接收的速度要快于IPS能够处理与传递的速度,就会产生影响吞吐量的瓶颈。如果IPS系统产生故障,数据包的流动将停止,网络将不能使用。

IPS设计考虑

当设计IPS系统时,必须考虑很多因素。是将IPS功能构建到交换机、路由器和/或防火墙里,还是单独设计一个IPS系统?IPS系统设备应该放在网络中的什么位置?需要的可用性等级以及预期的吞吐量是什么?期望的用户体验是什么?设备将支持哪些其他的业务,例如虚拟专用网(VPN)等。

设计师还必须考虑性价比、上市时间和目标市场。小型商业环境不如大型企业环境对IPS性能要求那么高。与可用带宽成正比的期望吞吐量在这两种情况下区别会很大。

图2:在通用处理器上实现IPS。

IPS可以设计用于处理所有的网络流量(即吞吐量),或仅处理其中一部分。例如,不通过IPS设备路由所有的网络信息流,而是可以在交换机上有选择性地选用一个端口。智能交换机可以根据对一些反常网络行为的观察从一个特定的端口重新引导信息流到IPS系统。防火墙可以针对特定的协议选择性地应用入侵防护,或者仅针对寻址地址为特定IP地址的信息流使用入侵防护。

其它影响设计的因素包括加速的使用和处理器类型。处理器的选择和其性能对延时和吞吐量具有直接影响。例如系统带宽、容量、并发用户数和连接等因素都影响设备制造商做出的选择,例如集成或者独立的功能、单个或者多个内核处理器以及是否配置硬件加速和其他系统参数。

通用处理器和模式匹配协处理器

根据性能要求,设备制造商可以选择采用传统的通用处理器(GPP)来实现IPS功能。尽管GPP是实现IPS功能最廉价的选择,但它更适合低端性能要求的应用。不过,由于使软件在其上运行投入的工作较少以及更少的软件/硬件整合问题,因此采用GPP比采用更高性能的可选方案的产品面市时间更短。因为在IPS系统中使用的GPP是设计用于控制面应用,因此它们在数据面吞吐量上存在局限性。

设备制造商可以通过增加一种模式匹配硬件加速器(协处理器)来提升性能。就像VPN采用密码加速器来提高性能一样,模式搜索加速器广泛用于IPS字符串匹配。图2显示了采用GPP和模式匹配协处理器的设计。

图3:基于传统NPU的IPS实现。

如今大多数先进的模式匹配加速器支持一种常规表达式接口。为提供最有效的模式匹配加速并减少错误的确认,IPS软件必须与硬件加速器紧密整合。因为这个原因,很多的设备制造商可能选择实现他们自己的这种算法的定制版本和定制语言来提供软件和硬件之间的接口。这种整合包括几种优化技术,很大程度上取决于硬件加速和IPS软件的性能。

在典型的硬件加速实现中,IPS软件接收数据包并对这些数据包进行标准化处理以保持状态信息和流量统计数据等。在软件中执行分段和重组。在模式匹配的时候,合适的数据流被传递到硬件加速器。由于不同的搜索字符串和数据流缓冲器大小,每个硬件加速器对这个任务进行处理的方式不同。在所执行的模式搜索类型中,存在简单模式搜索和复杂模式搜索。

在简单模式搜索中,初始的搜索通过硬件在数据流上执行。然后所有匹配数据在“二次传递”中被发送到一个软件模式匹配中。尽管软件匹配比硬件匹配慢,但是软件只处理那些已被硬件确认的匹配项。所有用于识别攻击的基于上下文的复杂搜索逻辑都由软件实现。

上面方法的有效性取决于存在于数据流中的“正常”数据包与恶意数据包的相对数量比较。例如,如果只有百分之一的信息流包含恶意数据包,在软件中处理这些数据包所增加的开销很小。然而,如果99%的信息流包含恶意数据包,在软件中处理这些匹配将增加大量的开销,使硬件加速带来的好处变得没有效果。简单的模式搜索在硬件侧需要较少的编程工作和较少的整合工作,从而减少了面市时间。

在复杂的模式搜索中,一种具有应用程序意识的系统必须能执行一种基于上下文的搜索,这需要在应用程序中的某种状态下、在数据报中某个偏移量、或者在其它的预先确定的点执行字符串搜索。发送到硬件的参数包括数据流、查找字符串、协议类型和数据包深度。加速器提供的输出包括匹配字符串、协议和用于检测入侵的其他数据的信息。这种方法需要复杂的逻辑编程,以实现对硬件加速器编程,而且硬件必须能接受这些不同的参数。

IPS是一种处理密集的操作,即使是采用硬件加速,基于GPP的IPS系统也不能提供具有高信息流量的大型网络要求的性能。一种提升性能的折衷方法是使用对称多处理器(SMP),它允许多个GPP运行以及需要能支持SMP的软件。对于需要更高处理能力的应用,网络处理器能提供更高级别的性能。

传统网络处理器的局限

网络处理器(NPU)对于要求线速的高性能应用很理想。选择NPU,避免了困难、耗时且高成本的定制ASIC开发任务,而NPU能以接近于ASIC的速度来处理数据。

NPU是经过特定设计和优化从而以很快的速率处理网络协议的CPU。NPU通过将任务划分为控制面(慢的路径)和数据面(快速路径)处理来实现这一点,如图3所示。处理器的指令包含在片上固件内,指令可以用微码编写,来对NPU的行为进行编程。

图3中,数据面处理重复性的功能,如将数据包从一个接口转发到另外一个接口的交换功能、执行分类、调度、过滤和其他任务。快速路径处理像防火墙和VPN这样的需要直接的、一致处理的数据包。这就是NPU的力量。

慢的路径处理需要更复杂处理的数据包,例如协议中的关键字搜索或者与IPS功能相关的签名检测。控制面功能一般由一个外部GPP处理或者通过网络处理器中内嵌的控制面处理器处理。控制面软件必须设计成能将快速路径与慢的路径隔离开。为了使控制面和数据面紧密地协同工作,GPP必须通过一个经过仔细定义的应用编程接口(API)与NPU通信。

NPU主要设计用于第二层/第三层处理,带有复杂的专有软件开发模型,负荷很重。每个数据面必须针对特定的应用和控制面进行定制构建,增加了面市时间和成本。IPS功能对NPU的设计增加了新级别的逻辑复杂度。不幸的是,由于IPS软件的复杂特性,大多数的数据处理在控制面完成。这使得NPU架构不是很适合用于IPS软件。

具有IPS功能的安全设备的系统性能可以通过利用NPU并采用NPU架构来加强。NPU可用来提供模式匹配协处理从而减少控制面的负荷。这需要采用特定供应商的模式匹配微码来对NPU编程。另外一个选择是使用NPU来分担安全功能的处理,而不是IPS,以释放控制面的处理周期用于IPS处理。

尽管NPU对于像防火墙和VPN这样的其它网络应用提供了比GPP更高的性能,但与IPS软件相关的复杂性不断增加使得当前的NPU并不太令人满意。其他一些问题诸如编程和集成的复杂性、对加速器的依赖以及对更高性能的需求促使设计师去寻求性能更强大的解决方案。

下一代NPU实现IPS性能

未来的网络处理器通过利用复杂的处理器架构,增加智能功能和易用性,很有可能克服上面讨论的大部分局限性。将用来处理传统的网络处理任务的传统NPU架构和用于处理以内容为中心应用的协处理器解决方案结合起来,可以为像IPS这样的复杂应用提供一种理想的混合解决方案。多个处理单元(PE)和更强大的协处理器,如图4所示,可以专用于特定应用的处理,对像IPS这样的对内容关注的应用提供更好的支持。

下一代NPU将可能将基于操作系统的标准编程能力的易用性与高数据面吞吐量及内置的硬件加速结合起来,而不需要单独的协处理器。下一代的NPU还将可能能够以一种无缝和平衡的方式提供智能互联网业务应用和安全处理,同时提供更高的性能。

用于下一代NPU的多内核处理器将能够把不同的IPS任务卸载到不同的处理器上,或者将IPS任务专门分配到一个处理器,将防火墙任务分配到另外一个处理器,从而增加吞吐量并减少延迟以获得更高的性能。设计成以多线程执行任务、并且使线程之间依赖性很小的软件将能获得更高的性能。然而如果软件不能支持多内核架构,选择多内核处理器可能对增强性能不会有什么帮助。

作者:Srinivasa Rao Addepalli

CTO兼首席架构师

Intoto公司

最新视频
欧姆龙机器人高速多点检查 | 统合控制器实现一体化控制,可实现2ms扫描周期,提升运行节拍   
欧姆龙机器人高速多点检查 | 通过设备统合仿真实现整机模拟,效率、竞争力双提升   
研祥智能
施耐德电气EAE
魏德米勒麒麟专题
魏德米勒
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
AVEVA InTouch Unlimited重塑HMI/SCADA的无限可能
AVEVA InTouch Unlimited重塑HMI/SCADA的无限可能

12月18日,《AVEVA InTouch Unlimited重塑HMI/SCADA的无限可能》在线研讨会即将开播。

电子半导体行业的数字化未来
电子半导体行业的数字化未来

为助力广大电子半导体企业洞悉行业数智化发展趋势,并提供切实可行、可靠的解决方案,推动整个行业繁荣发展,剑维软件的专家团队

在线会议

社区