利用硬件加速方法提高网络安全性能

时间:2007-06-26
网络带宽消耗已经成为现代网络中的“瓶颈”问题。除了消耗网络带宽,垃圾邮件(SPAM)、蠕虫或病毒等引起的“代价”还包括在终端节点需花费大量时间去处理这些问题。随着MP3播放器和视频播放的普及,那些提供和点对点(P2P)服务的数据流已成为当前网络传送的主要数据。每秒数兆比特的P2P流量在快速以太网或吉比特以太网中也许不算是重要的部分,但它们无疑会流经连通网络与外界的DSL/T1或其它链路。

在数字时代,同样会有大量恶意的数据流在网络上传输,其中包括计算机病毒、恶意软件、垃圾邮件以及拒绝服务攻击(DoS)等。有关数据显示,网络病毒对经济的影响非常大,近几年来每年用米清理网络数据的费用高达数十亿美元,以保证安全设备、应用加速设备和其它网络设备的正常工作,并终让用户更高效地利用带宽。

以上所有设备的一个共同点是,需要查找第三层(IP)协议头,(header)到应用协议层的开放系统互连(OSI)栈。同时,所需性能水平的增长速度高于网络中有害流量的增长速度。那些目前在网络上提供这些服务的通用CPU能否继续提供必需的性能以阻止这些有害流量进入并通过网络传播吗?不论是将这一更高层处理称为“应用敏感”型还是“内容敏感”型,事实上,所有这些安全风险和低优先级流量都在使用与高优先级流量相同的第3层、第4层甚至第7层网络协议。无论是P2P数据流使用端口(例如80端口)伪装成wcb数据流以便顺利通过防火墙,还是垃圾邮件使用与用户急需业务以及私人电子邮件相同的简单邮件传送协议(SMTP)连接,如果不深入分析应用层是无法识别出数据流的。

目前市场上已经存在许多解决方案可以处理这个问题,如采用确定的有限自动机(DFA)或非确定的有限自动机(NFA)算法的正规表达式引擎,连同表查找来确定连接层细节。或者可以使用专门处理方法来评估每种模式匹配以及从网络连接收集到的任何其它信息。不过,所有这些方法均在未针对上述类型操作优化的通用CPU上处理。

难监测的应用层攻击包括针对协议栈及其缺陷而精心设计的攻击,它们会对网络以及存储在网络节点上的数据造成严重破坏。这类攻击的例子包括:病毒将自己附在电子邮件的一个可执行文件上,并对计算机造成严重破坏;蠕虫病毒利用用户自己的系统资源繁殖并扩散到其他用户;甚至还可以是特洛伊木马,它看起来像有用的软件工具,但一旦执行就会在计算机中建立后门,从而方便恶意行为的入侵。在网络节点处监测这些应用层攻击应首先监控该系统的每个连接,再决定是否需要进一步处理。

这种监控方法要求跟踪所有连接的协议状态,并对每个面向更深入应用层处理的连接的某些状态进行连续监视。每个连接必须基于逐包(packet-by-packet)处理机制来处理,对数据包进行详细分析以找出能够指示数据流类型的特征信息,藉以警告软件小心这一连接;或者寻找组合特征信息来检测某些特殊攻击,并阻止其向其它网络资源进一步扩散。目前许多设备是在通用CPU上用软件实现这些功能的。但是,这些设备并不具备足够的性能来处理流经该网络节点的所有数据流。为了能在网络节点中以处理一定数据流量(保证网络带宽安全所必需的流量)所要求的性能完成该任务,设计工程师需要采用硬件加速方法来实现大部分模式匹配数据包处理。这样CPU也能更有效地完成任务。

利用硬件加速方法解决问题

采用这种目标硬件加速方法可以将性能等级从每秒数百兆比特提升到每秒数吉比特。它还能释放通用CPU周期,使之更好地执行其它需要更多灵活性的功能。

与运行在CPU上的软件相比,目标硬件能以更高的性能水平更好地处理各种功能。只要软件能够容易地使用该硬件提供的特性和功能,那么只需要少量软件开发成本就能迅速提升性能。这种性能的提升允许网络系统以更高的吞吐量处理更高层的数据包,同时仍然保持全部性能水平。此外,更高性能将允许系统在网络的许多地方提供网络服务质量(Qos)、应用协议加速、入侵防护、杀毒、恶意软件和垃圾邮件检测与阻止功能。

例如,在一个典型的网络中,每台PC机和服务器都有其杀毒软件。因此,如果没有中央网络杀毒(AV)设备,在一个拥有两万以上员工的公司中,为全部两万多台PC机和服务器更新的操作系统补丁和新的特征数据就需花费数周或数天的时间。

56页图1所示提供了一种不同的解决方案。用户可以增加一个独立的隔离区(DMZ),该区域带有一台运行AV软件的服务器。AV软件将与能够满足用户需要的防火墙/VPN以及正常邮件服务器一起工作。将来用户可以用增加了AV支持的统一威胁管理/集成多业务路由器(UTM/ISR)来取代防火墙/VPN(虚拟专用网络)。采用这种架构仅需要几分钟就能更新少量的网络AV设备(如图2所示)。

分类查找就是一个可卸载到硬件完成任务的例子,通常需要通过分类查找来确定如何对某个特定的数据包做进一步处理(例如模式匹配)。例如,飞思卡尔公司的MPC8572EPowerQUICC III处理器利用“表查找”引擎实现了这一功能,它可为数据流分类提供匹配哈稀查找,并支持访问控制列表(ACL)功能,从而实现更全面的策略决策。数据包上的ACL查寻有助于识别该连接上可能承载的协议类型。这个连接上的后续数据包可利用IP地址和第4层端口号的匹配查找进行分类,从而为该数据流/连接设置必要的处理。软件则根据数据流级分类结果来确定哪种服务和/或更高层处理(如模式匹配)是必需的。

一旦数据流的协议得到确认,那么该数据流的状态以及任何后续的更高层处理也就可以确定下来。很多后续处理(例如模式匹配)可以用硬件实现加速。当模式匹配过程找到感兴趣的结果时,则可以用软件确定这一结果,并决定下一步处理方案。

这些决定涉及很多方面:例如为该数据流提供明确的Qos;确保高优先级应用获得所需的带宽;攻击检测和防止;或在个网络节点通过丢弃而不是允许通过来阻止入侵。在某些情况下,模式匹配可以通过在数据包内搜寻数据来确定该数据流属于哪种类型,然后提取必要的端口信息以帮助在网络中建立新的语音连接。模式匹配还能识别用于P2P数据流的端口,虽然P2P的优先级非常低,但是会占用大量网络带宽和资源。

实现实例

下面将探讨如何利用MPC8572E处理器来实现以及加速流量管理器。MPC8572E是专为高性能、应用敏感型网络和内容安全而设计的一款处理器。流量管理器的主要目的是根据承载的应用对数据流进行分类,然后确定数据流的QoS。问题是有些应用(如P2P)经常采用以下方法进行伪装:允许用户改变默认端口;使用随机端口;使用属于其它应用的端口(如HTTP的80端口)。

因此,流量管理器无法使用过去的简单方法来确定数据流的应用类别。相反地,它必须深入分析数据流的负载,并与“特征信息”进行比较。将数据流的负载与特征信息和其它正规表达式(RegEx)模式进行匹配极其耗费CPU资源。据报导,“当全部70个协议滤波器工作时,系统吞吐量将下降到低于10Mbps。而且,有超过90%的CPU时间花在正规表达式匹配上,留给其它功能的时间极少。”

在MPC8572E中,这种CPU密集型操作已被卸载到集成的模式匹配器上执行,并得到加速,从而极大地提高了系统性能。此外,处理器的特殊硬件性能有助于加速对应用敏感的流量管理器中的其它操作。如今,许多网络设备中针对安全和路由的大量数据包级处理是由通用CPU上运行的软件或ASIC来实现。但随着网络攻击事件的增多,出现许多摩尔定律无法跟上性能需求的应用。

多核解决方案可提高处理性能,但它需花费大量软件资源来优化源代码才能充分发挥多核的优势。但是,CPU资源仍会被浪费,因为它们所执行的任务用目标加速方式可以获得更好的效果,例如上面所述的硬件模式匹配、表查找以及校验和验证等。

目前被加入SoC的硬件加速功能可卸载CPU并不擅长的任务,从而留出更多资源从事它们擅长的工作。这种增强的软件性能给系统设计师提供更高的性能,可帮助他们实现解决方案的差异化,并提高未来系统的网络安全性能,从而进一步保证高优先级数据在未米网络中的传输安全。

 

  
上一篇:动力试验车图像无线传输控制系统的开发应用
下一篇:汽车行驶记录仪的数据传输设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料