杀手契约 浅析FPGA在安全产品中的应用

2008-02-23 07:29:19来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  在安全产品中,X86、NP、ASIC、FPGA各自代表了不同的体系架构。然而,无论是媒体还是厂商,都难以将一种架构的差异与产品的优劣捆绑在一起,不过面对FPGA在IPS中的“杀手”级优势,以及针对市场上愈演愈烈的架构之争,《网络世界》有必要与读者一起分享技术上的来龙去脉。

  写在讨论之前

  在阅读本文之前,我们请读者牢记产业经济学上的三个要素:技术、成本与市场需求。因为在FPGA在安全产品的应用进程中,始终离不开这三个支点。

  另外,我们也需要明确以下问题:

  第一,FPGA(Field-Programmable Gate Array,现场可编程门阵列)在现代数字电路设计中发挥着越来越重要的作用。从设计简单的接口电路到设计复杂的状态机,甚至设计“System On Chip”(片上系统),FPGA所扮演的角色已经不容忽视。

  第二,FPGA正越来越多地作为现代电子系统的核心部分。因为FPGA硬件可重新配置且可用性、精密性不断提高,可以轻易配合系统规格随时改变的要求,这样可以为用户带来充足的灵活性。

  第三,FPGA是一种高速可编程电子器件,并非“职业杀手”,其自身的物理特性决定了,有些工作容易发挥其设计优势,而有些则适得其反。

  在明确了上述三个特征之后,接下来记者将会与读者一起分享FPGA在网络安全市场中的故事。同时,我们也非常感谢为本次专题提供芯片技术支持的Xilinx公司,以及我们的合作伙伴:Juniper、神州数码、SINFOR、SonicWall、TipingPoint、WatchGuard。

  FPGA的灵活魅力

  在网络安全产品设计的时候,可以采用多种半导体解决方案,相对来讲,目前主要采用的体系架构包括了X86、NP、ASIC、FPGA四种。相对来讲,CPU与NP的联系更紧密,而ASIC与FPGA的关系更相似。

  不过,若从器件角度分析,传统上大多广义地归结为ASIC和可编程器件两类。在安全产品中,两种类别的主要原理与应用并无多大区别。传统上认为,ASIC可以为固定功能提供较高性能,但灵活度相当恶劣。

  而可编程解决方案可提供较高的系统速率,包括复杂功能(特殊和异常处理)、灵活性。目前在安全产品设计中使用的可编程解决方案主要有两类:NP和FPGA。NP可提供以处理器为中心(即以软件为中心)的可编程特性,而FPGA则提供以硬件为中心的可编程特性。

  Xilinx公司提供的报告指出,NP最初被用于设计网络设备中的现成器件,这些器件在各方面提供灵活性和扩展性的同时,还提供了充分的性能。大多数NP均带有多种经过优化的嵌入式RISC CPU以及适用于通用分组处理功能的类ASIC硬件电路。每个RISC引擎经过优化以执行特定任务。

  相对于NP,FPGA是对数据进行高速并行处理的器件,具有更强的灵活性和扩展性。TippingPoint公司技术经理李臻表示,在其公司IPS产品中采用的 Virtex-II Pro FPGA芯片,已经包含了高性能的可编程架构、嵌入式PowerPC处理器和3.125Gbps收发器。通过增强网络特性,FPGA可提供高性能的数据和安全控制处理功能。目前,网络处理内核和分组处理参考设计均适合于采用FPGA平台设计。此外,FPGA还支持所有的通用并行(单端和差动)和串行系统接口标准,以使其轻松地与任何协议进行接口并与线路卡上的任何器件相连。

  Xilinx公司的FPGA解决方案专家Anil认为,在网络安全产品的开发中,尽管二层和三层处理在ASIC中很容易实现,但为了在类似的传输流中区分不同的优先级,还需要在四层和五层中进行更深层的分组处理。而FPGA仅仅需要一块芯片就可以更深入地处理这些分组,不仅降低了软件的复杂度,而且降低了功耗(相比于NP或ASIC)。这是因为FPGA中的硬件并行处理完全可以同RISC的处理方法相媲美。

  另外,在网络安全产品设计中,升级性仍然是关键问题之一,而这包括了产品体系结构的软、硬两个方面。“事实上,相对于NP开发中的软件难以移植问题,无疑增加了设计上的风险。” Anil表示,“FPGA拥有标准化的基于平台和工具集方法的工具,可以实现软件在各代FPGA中的无缝移植。而在硬件方面,NP只在处理器中提供可编程特性,其类似ASIC的定制硬件并不能直接进行编程,而FPGA则要轻松许多。”

  IPS上的奇葩

  基于FPGA的特性,在IPS上采用的FPGA技术最为有代表。TippingPoint的技术经理李臻表示,在IPS中FPGA擅长把一些安全特征转化成逻辑,在实现过程中能够同时配批上千条规则,其并行速度超过普通CPU,而且相对于并行ASIC,其灵活性占有较大优势。毕竟,各种安全攻击的变化很快,也许今天写的过滤器一个月后就要改写了。

  同时,对于IPS这种采用In Line模式的设备,必须保证最小的误报与漏报率,而基于FPGA实现的移动偏移量检测,则是必须的手段。因为对攻击来说,一般都是混合在正常的网络流量中。换句话说,其在一个IP包里面的位置(偏移量)是不固定的。

  一般IPS需要在流量中不断寻找可疑特征,以便引起触发机制,但要注意,这个可疑特征不一定就是攻击行为。因此IPS必须抓到大量的可疑特征,然后交给CPU进行验证,以便判断是否为攻击。但在这个过程中,最关键的一点就是,这个抓取可疑特征的速度一定要快,否则就会导致漏报。因此如果仅靠CPU做所有的工作,其速度无法保证。而利用FPGA的高速度帮助进行基层筛选,然后交由CPU确认,就可以最大限度地确保设备架构的优化。

  “在整个特征抓取过程中,偏移量可以是不定的,比如内容字节的不定长度。而NP一般只能进行固定偏移量的抓取,比如从IP包头结束开始56个字节地方有特征,然后去查找。但如果需要对整个PageLoad里面1500个字节都扫描一便,NP的开销太大。FPGA利用哈希算法来控制,从PageLoad中取片断,然后做算法,再到表里面去查。”李臻说。

  另外,他觉得在IPS中采用FPGA,可以最大程度保护用户投资。这个投资保护分为两个方面:第一,FPGA的性能优势具有良好的抗小包攻击能力。因为对于X86架构来讲,基于中断的CPU处理方式在对抗小包的时候性能损耗太大。其实这个也很好理解,一般安全设备保护的多为服务器,而服务器的CPU往往要比安全设备中用的好,如果服务器都挡不住小包,安全设备又如何防范?为此,用户往往需要购买单独的防御DDoS的设备,增加了安全成本。而相对于CPU,FPGA在这方面具备很强的性能优势。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何正确使用“网络入侵检测系统”

下一篇:明辨是非 文件关联型木马的特殊化查杀