基于可编程门阵列的高性能入侵防御技术研究与实现

时间:2022-10-21 06:57:22

基于可编程门阵列的高性能入侵防御技术研究与实现

摘要:基于x86架构的入侵防御系统网关已经不能满足高速网络环境下的性能需求。在千兆及以上级别的高速网络环境中,业界多采用网络处理器方案实现入侵防御系统。本文在分析入侵防御系统技术特点的基础上,通过对网络处理器和可编程门阵列各自实现入侵防御系统技术特点的比较,论证了基于可编程门阵列方法具有更好的性能优势,并提出一个基于可编程门阵列的入侵防御系统实现。

关键词:可编程门阵列;网络处理器;入侵防御系统

中图分类号:TP393文献标识码:A文章编号:1007-9599 (2011) 07-0000-01

High-performance Intrusion Prevention Technology Research and Implementation Based on Programmable Gate Array

Yao Lei

(Huaibei Mining Group,Informatization Management Department,Huaibei235000,China)

Abstract:Based on the x86 architecture gateway intrusion prevention system can not meet the high-speed network performance requirements.Level and above in high-speed Gigabit network environment,the industry to use more network processors,intrusion defense system program.This paper analyzes the characteristics of intrusion prevention system technology based on network processors and by the respective programmable gate array technical characteristics of intrusion defense system comparison,demonstrated programmable gate array-based method has better performance advantage,and proposed a Programmable gate array-based intrusion prevention system implementation.

Keywords:Programmable gate array;Network processor;Intrusion Prevention System

一、引言

随着网络带宽的飞速增长,千兆及以上网络已经逐步成为主流的网络环境。网络入侵防御系统(Intrusion Prevent System,IPS)在网络边界处对进入内网的网络数据进行安全检测,阻断恶意入侵数据包,对于保障整个网络的安全性具有意义。和其他网络安全产品相比,IPS对整个网络带宽的影响更为明显。因为入侵防御系统要进行深度数据包检测,根据特定模式匹配整个数据包的内容,其他的网络安全产品例如防火墙,只用处理数据包中包头的内容即可。千兆网络环境下入侵防御技术的难点是性能问题,随着带宽从百兆到千兆的增加,对入侵防御系统的处理能力提出了挑战,基于X86架构的软件模式的系统性能已经不能满足千兆网络要求。目前业界多采用可编程网络处理器方案(Programmable Network Processor,NP)实现入侵防御系统,与其它处理模式相比,这种方法能显著提高入侵防御系统性能。但因为网络处理器架构所限,在偏重应用层功能的入侵防御系统开发中仍存在性能瓶颈,难以满足高性能网络环境下的处理要求。由此可见,进一步提高IPS系统在高速网络环境下的处理性能已经成为一个迫切的技术问题。本文提出了一种基于可编程门阵列(Field Programable Gate Array,FPGA)的入侵防御系统构建方法,克服了传统IPS构建方法的缺陷,可以显著提高IPS系统的处理性能。

二、硬件介绍

(一)可编程网络处理器。可编程网络处理器是一种可编程器件,它既能安放在接口卡的快速通路中,类似于固定功能ASIC;又具有更高级的编程能力,类似于通用CPU的功能。

(二)可编程门阵列。FPGA是可编程逻辑电路器件,可以通过编程实现特定处理功能。

FPGA芯片在内部通过逻辑电路完成功能,可以具有很高的处理性能:

1.数据流模型,消除数据传输及处理瓶颈。

2.多路访问外部内存,消除了内存访问瓶颈。

3.可以直接耦合I/O器件,消除I/O瓶颈。

4.FPGA芯片的指令系统比较高效,目前每个处理单元相当于一个硬编码指令系统处理器,在一个时钟周期内能够完成多重if-else嵌套,判断及赋值。

5.可以实现高度并行流水处理。可在系统中增加新的功能,完全不影响整个系统处理能力,具有高度的可扩展性。

(三)现有IPS构建方法缺陷分析。根据处理模式特点,实现硬件IPS需要考虑扩展性和性能两方面。在这两个方面,NP和FPGA是各有所长,也各有缺点。

微处理引擎数目少,每个微引擎指令空间小。

NP的设计主要是面向包转发的,NP几乎无法应用于TCP协议以上的复杂应用

(四)基于FPGA的IPS实现方案。本文提出了新的基于FPGA的IPS实现方案,避免了现有网络处理器和FPGA芯片的缺点,同时兼顾实现成本和性能两方面。

本文提出的入侵防御实现模型硬件方案为基于带PCI接口的工控机和完成入侵防御功能的PCI板卡。

整个系统由主板卡和PCI接口板卡两部分组成。

主板卡使用x86 CPU,有硬盘和内存,运行Linux操作系统,执行配置功能,通过PCI接口配置IPS功能模块运行参数及各种规则,并从PCI接口板卡处获得日志及告警信息。

主板卡上有RJ45的通讯/响应口和IPS管理控制系。

PCI接口板卡上有监听口接收网络流量。

通过PCI接口接收IPS规则和其他控制命令;把报警信息、状态信息或其他日志信息传送给通讯程序,再传送给控制台。

特点是把TCP重组、IP重组、应用协议界面、DDR RAM控制等关键功能放入FPGA芯片中完成,以达到更高的效率。

1.数据接收模块接收网络中的数据流,发送到接收数据缓存,用队列的形式存储。

2.数据包分类模块做一些基础的检测,根据基于统计的规则、简单的内容匹配规则过滤和报警不合要求的数据包。

3.IPS有TCP阻断功能,需要发送数据包。因此在设计中加入包转发、路由、ARP协议等功能模块,可以实现数据发送。

4.IP重组模块、TCP重组模块实现完整的TCP/IP协议栈。在解码时根据规则定义把对IPS的欺骗报警。

5.IP重组模块、TCP重组模块通过会话状态DDR控制器在DDR RAM中维护会话状态表和重组后内容的缓冲区。设计为类socket结构,应用协议解码模块可以通过会话名和缓冲区指针访问构造好的TCP缓冲区。

6.每个模块在需要做规则匹配时调用规则匹配模块,规则匹配模块返回匹配结果。

五、结语

针对现在IPS系统功能的应用层防护倾向,本文分析了现有的IPS系统构建方法的缺陷,提出了一种新的机遇FPGA的IPS构建方法,给出了设计方法,提高了IPS系统的网络处理性能,增强了IPS系统在现在高速网路环境中的实际可用性。

参考文献:

[1]Xilinx Inc.XC4000Eand XC4000XSeries Field Programma-ble Gate Arrays,1999

[2]Rose Jand Hill D.Architectural and Physical Design Chal-lengesfor One-Million Gate FPGAs and Beyond[C].ACMInt.Symp.on FPGAs,1997

上一篇:公路隧道建设发展与施工质量分析 下一篇:变磁阻式传感器在家庭防盗系统中的应用